среда, 16 декабря 2015 г.

Мы хотим ALPHA в живой справочник!

se16 -> RSDCHABAS -> фильтруем инфообъекты

Выделяем строки, редактирование -> CONVEXIT = 'ALPHA', LOWERCASE = 'X' -> сохранить -> перенос записей

Делаем перенос содержимого данной таблицы.

Далее, формируем запрос с активацией нужного инфо-объекта и всеми трансформациями, в которые он включен (иначе в трансформациях не обновится код обработки ALPHA).

Переносим всё это дело и идём дальше, искать другие косяки.

вторник, 15 декабря 2015 г.

Активировать инфо-объект

t-code SE37
BAPI_IOBJ_ACTIVATE_MULTIPLE

Добавление записей переноса с удалением объектов

Допустим, перенесли объект в ошибочной версии, и необходимо его удалить в целевой системе, но при этом оставить в исходной.
На конкретном примере: изменили тип инфообъекта с CHA на KYF. При переносе падаем в дамп с ошибкой класса CL_RSD_KYF (т.к. в цели наш объект является признаком). Необходимо удалить объект как признак, перенести и добавить как показатель.
  1. Добавляем запись переноса с удалением:
  •      Блокируем инфообъект в запрос: “rsa1 → инфообъект → дополнительная информация → записать запрос на перенос” или “se10 → изменить запрос → вставить строку R3TR<tab>IOBJ<tab><iobjname>”

  • Изменяем тип операции на удаление: se16 → E071 → TRKORR = <номер запроса>, OBJECT = ‘IOBJ’, OBJNAME = <имя объекта> → F8. Выделяем нужные строки, через /h переходим в режим редактирования и изменяем значение поля OBJFUNC = ‘D’.


  • Открываем запрос в se10 – нужные объекты помечены на удаление при переносе


  1. 2.    Чтобы перенос прошел успешно, необходимо, чтобы инфообъект переносился тем же типом, что и на целевой системе (иначе опять дамп). Для этого:
  •      Изменяем тип инфообъекта на признак: se16 → RSDIOBJ IOBJNM = <имя инфообъекта>, OBJVERS = ‘A’ (переносится активная) → F8. Выделяем необходимые строки, открываем на редактирование, изменяем тип на CHA (в целевой системе инфообъект – «признак»). Сохранить.



  1. 3.    Деблокируем наш запрос. Первое деблокирование происходит с ошибкой: «Инфо-объект ZTAREW является новым - сначала активируйте.» Повторно запускаем деблокирование, все проходит ок. Переносим на целевую систему. Перенос проходит с корректным типом инфообъекта, объект удаляется в цели.


  1. 4.    Изменяем тип инфообъекта обратно на корректный (см. п. 2, тип KYF в данном случае).



пятница, 11 декабря 2015 г.

Нарезка xml-файла по нодам

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl ="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:saxon="http://icl.com/saxon"
    extension-element-prefixes ="saxon"
    exclude-result-prefixes ="xs"
    version ="1.0">
   
<xsl:template match="*" >
       
<xsl:for-each select="/lcdata/*" >
           
<saxon:output href ="C:\Temp\LC_Splitted\{name(.)}.xml">
               
<lcdata>
                   
<xsl:for-each select ="../@*">
                       
<xsl:attribute name= "{name(.)}">
                           
<xsl:value-of select= "."/>
                       
</xsl:attribute>
                   
</xsl:for-each>
                   
<xsl:copy-of select ="current()"/>
               
</lcdata>
           
</saxon:output>
       
</xsl:for-each>
   
</xsl:template>

</xsl:stylesheet>