如何在Maximo入站集成中通过用户出口类添加子数据?

时间:2018-10-18 03:05:02

标签: integration maximo

我有一个包含3个对象的对象结构。位置>层次结构>可自定义。 在原始源xml -erdata上,我仅获得位置对象的详细信息。我已经获得了有关层次结构和可定制表的信息。

如果我至少有一个用于层次结构和可定制的列值,则可以使用以下代码并填充派生的值。 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 :(得分:0)

明白了,只需要使用另一种createChildrenData方法即可。

  irData.createChildrenData("LOCHIERARCHY",true);

这个骗人。它创建子集并将其设置为当前子集。