Как добавить дочерние данные через пользовательский класс выхода в Maximo входящей интеграции? - PullRequest
0 голосов
/ 18 октября 2018

У меня есть структура объектов с 3 объектами.расположение> иерархия> настраиваемый.В исходном исходном xml -erdata я получаю только детали для объекта местоположения.Я получил информацию для lochierarchy и настраиваемых.

Если у меня есть хотя бы одно значение столбца для lochierarchy и настраиваемых, я могу использовать следующий код и заполнить производные значения.xml

<LOCATIONS>
 <location>1000</location>
 <siteid>xyg</siteid>
 <LOCHIERARCHY>
  <SYSTEMID>abdc</SYSTEMID>
  <PARENT></PARENT>
   <CUSTOMTABLE>
    <DEPT>MECHANICAL</DEPT>
    <OWNER></OWNER>
   </CUSTOMTABLE>
  </LOCHIERARCHY>

 List locHierarchyList =irData.getChildrenData("LOCHIERARCHY");
           int locHrSize=locHierarchyList.size();
           for (int i=0;i<locHrSize;i++)
            {
                irData.setAsCurrent(locHierarchyList,i);
                irData.setCurrentData("PARENT","xyyyyg");

          List customTablerList =irData.getChildrenData("CUSTOMTABLE");
           int custSize=customTablerList .size();
           for (int i=0;i<custSize;i++)
            {
              //set values
            }  

Но я получаю исходный XML только с данными о расположении ниже, и я пытаюсь построить дочерние данные.Я что-то здесь упускаю.

Входящий XML

    <LOCATIONS>
     <location>1000</location>
     <siteid>xyg</siteid>
</LOCATIONS>

Мой код

irData.createChildrenData("LOCHIERARCHY");
   irData.setAsCurrent();

    irData.setCurrentData("SYSTEMID", SYSTEM);
    irData.setCurrentData("PARENT", parentLoc);


    irData.createChildrenData("CUSTOMTABLE");
    irData.setAsCurrent();  

, но это не работает.Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 22 октября 2018

получил, просто пришлось использовать другой метод createChildrenData.

  irData.createChildrenData("LOCHIERARCHY",true);

Этот сделал свое дело.Создает дочерний набор и делает его текущим.

...