What is context in message mapping

Hi All,
What is context in message mapping?
Thanks,
Anil.

Hi Anil
Go thru the following blogs by Sravya
<a href="/people/sravya.talanki2/blog/2005/08/16/message-mapping-simplified--part-i Mapping Simplified - Part 1</a>
<a href="/people/sravya.talanki2/blog/2005/12/08/message-mapping-simplified-150-part-ii Mapping Simplified - Part 2</a>
Regards
Santhosh

Similar Messages

  • Problem in context changing ( message mapping )

    <u>source structure    </u>
    Message Name        
    Header(1)            
        H1                 
        H2                 
    LineItem(1)         
      Item(1-unbounded)   
        I1                 
        I2     
    <u>target structure</u>
    Message name
    Header(1)
       H1
       status
    LineItem(1)
      Item(1-un)
       I1
       I2     
    The result for status should be as follows
    <i>if h1 = x then status = ‘H1’failed else if h2 = x then status = ‘H2’failed
    else if I1 = x then status = ‘I1’failed else if I2 = x then status = ‘I2’failed.</i>
    Problem :
             It works perfect as long we have only one Item (Unbounded Tab).
    But since it is unbounded  we have more than one item tabs.
    The mapping does not produce the status element.
                      I tried removing the context of all the source fields, but still I coudnt produce the status element. I don’t know where to change the context.
    Can somebody help me with this issue.
    Thanks in advance .
    Disney.

    Hi,
    I was able to do it with the graphical mapping using standard functions only.
    The output will have only one status , the place where the 1st error shows up..like it checks in header fields first, then it takes items one by one.
    It is very big though & would be much simpler to do something like what stefan proposed.
    Just for info this is the Text Preview for the Mapping i did...(Is there a way, if i have this to upload to a mapping?)
    /ns0:MT_TRGT/Header=/ns0:MT_SRC/Header=
    /ns0:MT_TRGT/Header/H1=/ns0:MT_SRC/Header/H1=
    /ns0:MT_TRGT/Header/Status=iF(iF(const(), stringEquals(/ns0:MT_SRC/Header/H1=, const()), iF(const(), stringEquals(/ns0:MT_SRC/Header/H2=, const()), const())), not(stringEquals(iF(const(), stringEquals(/ns0:MT_SRC/Header/H1=, const()), iF(const(), stringEquals(/ns0:MT_SRC/Header/H2=, const()), const())), const())), ifWithoutElse(not(stringEquals(iF(concat(const(), index(/ns0:MT_SRC/Item/Items/I1=)), stringEquals(/ns0:MT_SRC/Item/Items/I1=, const()), iF(concat(const(), index(/ns0:MT_SRC/Item/Items/I2=)), stringEquals(/ns0:MT_SRC/Item/Items/I2=, const()), const())), const())), iF(concat(const(), index(/ns0:MT_SRC/Item/Items/I1=)), stringEquals(/ns0:MT_SRC/Item/Items/I1=, const()), iF(concat(const(), index(/ns0:MT_SRC/Item/Items/I2=)), stringEquals(/ns0:MT_SRC/Item/Items/I2=, const()), const()))))
    /ns0:MT_TRGT/Items=/ns0:MT_SRC/Item=
    /ns0:MT_TRGT/Items/Item=/ns0:MT_SRC/Item/Items=
    /ns0:MT_TRGT/Items/Item/I1=/ns0:MT_SRC/Item/Items/I1=
    /ns0:MT_TRGT/Items/Item/I2=/ns0:MT_SRC/Item/Items/I2=
    Thanks,
    Renjith.

  • Graphical Message mapping complexity in SAP PI 7.31 single stack

    Hi All,
    I have a source structure 1..unbounded
    <Material>
    <row>    1....unbounded
    <Mat_ID>123<Mat_ID>
    <Desc><text</Desc>
    <uom>EA</uom>
    <plant>AB</plant>
    <org>XY</org>
    </row>
    <row>
    <Mat_ID>123<Mat_ID>
    <Desc><text</Desc>
    <uom>ST</uom>
    <plant>CD</plant>
    <org>FG</org>
    </row>
    <row>
    <Mat_ID>123<Mat_ID>
    <Desc><text</Desc>
    <uom>XY</uom>
    <plant>DE</plant>
    <org>ZX</org>
    </row>
    </Material>
    Target Structure
    <Material>
    <row>  --->  1....unbounded
    <Mat_ID>123<Mat_ID>
    <Desc><text</Desc>
    <uomdata> ---> 0 ----unbounded
    <uom>EA</uom>
    <uomdata>
    <uomdata>
    <uom>ST</uom>
    </uomdata>
    <uomdata>
    <uom>XY</uom>
    </uomdata>
    <plantdata> ----> 0 ----unbounded
    <plant>AB</plant>
    </plantdata>
    <plantdata>
    <plant>CD</plant>
    </plantdata>
    <plant>DE</plant>
    </plantdata>
    <orgdata> ---->  0 ----unbounded
    <org>XY</org>
    </orgdata>
    <orgdata>
    <org>FG</org>
    </orgdata>
    <orgdata>
    <org>ZX</org>
    </orgdata>
    </row>
    </Material>
    How do I do message mapping (preferably graphical mapping) to achieve the target structure. The values of each elements are manipulated for easiness. There are more than one fields under each node in real scenario. Please let me know
    thx
    mike

    Beautiful..Thx...
    I will try out and let you know Amit
    One more request.
    I have to do this mapping first and use it in receiver interfaces of ICO using an operation mapping and inbound interface as usual.
    Now, I have to add 2 more inbound interfaces in the receiver interfaces and maintain order at Runtime to execute the above mapping first always and then execute the 2 additional inbound interfaces based on some condition.
    The condition has to be something like this (source structure <flag> field value dependent condition)
    /Material/row/flag  = 'N'       call the second inbound interface to execute a operation mapping
    /Material/row/flag  = 'N'       call the third interface to execute another operation mapping
    Now the complexity here is:
    If the source structure is like this below
    <Material>
    <row>    1....unbounded
    <Mat_ID>123<Mat_ID>
    <Desc><text</Desc>
    <uom>EA</uom>
    <plant>AB</plant>
    <org>XY</org>
    <flag>N</flag>  -- this is the flag field for the first material
    </row>
    <row>
    <Mat_ID>123<Mat_ID>
    <Desc><text</Desc>
    <flag>N</flag> -- this is the flag field for the first material again
    <uom>ST</uom>
    <plant>CD</plant>
    <org>FG</org>
    </row>
    <row>
    <Mat_ID>345<Mat_ID>
    <Desc><text</Desc>
    <flag>N</flag> --this is the flag field for the second material
    <uom>XY</uom>
    <plant>DE</plant>
    <org>ZX</org>
    </row>
    and so on
    </Material>
    The target structure for the additional 2 inbound interface are shown below
    2nd inbound interface target structure
    <Material>
    <Mat_ID>123</Mat_ID> 
    <flag>N</flag>  - constant value 'N'
    <Mat_ID>345</Mat_ID>
    <flag>N</flag> - constant value 'N'
    </Material>
    3rd inbound interface target structure
    <Material>
    <Mat_ID>123</Mat_ID> 
    <flag>Y</flag>  - constant value 'Y'
    <Mat_ID>345</Mat_ID>
    <flag>Y</flag>  - constant value 'Y'
    </Material>
    first question: how do I write a condition for checking the source structure <flag> field value for every unique material ?
    second question: what would be the message mapping and operation mapping for the 2nd and 3rd inbound interfaces?
    thx
    mike

  • What is Context and queue?

    Q.1What is context and queue in graphical mapping?
    Q.2What is the difference between context and queue in graphical mapping and how these concepts are useful in mapping?

    Hi,
    Context Change
    Message mapping works internally by using queues
    If no further elements are imported at a particular hierarchy level, a Context Change is inserted in the queue
    Use node functions to handle changes in the message hierarchy.
    Context changes have impact on:
    User-Defined Functions
    Breaking and inserting of hierarchy levels Manipulation of queues ant contexts
    Explicit context selection on source elements and nodes
    Using node functions
    removeContexts: deletes all context changes of a queue
    SplitByValue: insert additional context changes in a queue
    Check this link for all details.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/be05e290-0201-0010-e997-b6e55f9548dd
    A tool to display queues:
    -Upload or create source xmldocument in test mode
    - Right-click on box representing element or function
    - Select “Show queue”
    Also check out this link
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/be05e290-0201-0010-e997-b6e55f9548dd
    Hope this will help you.
    Regards
    Aashish Sinha
    PS : reward points if helpful

  • Message Mapping: Map value from the first element in a context in target el

    Hi experts,
    I have a problem with a message mapping in XI. I hope you can help me. At first I will give you a source and a target structure. Then I will explain the problem.
    <u>Source structure:</u>
    <E1EDP01>
       <E1EDPT1>
          <TDID> ... </TDID>
          <E1EDPT2>
             <TDLINE> ... </TDLINE>
          </E1EDPT2>
       </E1EDPT1>
    </E1EDP01>
    The structure can contain more than one E1EDP01-Elements, more than one E1EDPT1-Elements and more than one E1EDPT2-Elements.
    <u>target structure:</u>
    <LineItem>
       <vendmemo> ... </vendmemo>
    </LineItem>
    For every E1EDP01-Element my mapping creates one LineItem-Element in the target structure. To fill the element <vendmemo> the mapping should do the following steps:
    The mapping should search in E1EDP01 for a E1EDPT1 with the TDID = Z505. And from this E1EDPT1-Element (with the TDID=Z505) the mapping should take the value <TDLINE> from the first E1EDPT2-Element in the context of the E1EDPT1-Element (the E1EDPT1 with the TDID=Z505) and put this value in <vendmemo>.
    The mapping should do this action for every E1EDP01 -> so for every LineItem.
    I tried it with UDF but I didn't found a solution. Can anybody help me?
    best regards
    Christopher

    Hello experts,
    i was wrong ... my mapping isn't still working. I had created a test instance. and only for this test instance the mapping (see above) works.
    Can anybody help me? I'm trying the whole day but I can't find a solution. Here a second description of my problem:
    <u>Source Structure:</u>
    <E1EDP01>
       <E1EDPT1>
          <TDID> ... </TDID>
          <E1EDPT2>
             <TDLINE> ... </TDLINE>
          </E1EDPT2>
          <E1EDPT2>
             <TDLINE> ... </TDLINE>
          </E1EDPT2>
          <E1EDPT2>
             <TDLINE> ... </TDLINE>
          </E1EDPT2>
       </E1EDPT1>
    </E1EDP01>
    <E1EDP01>
       <E1EDPT1>
          <TDID> ... </TDID>
          <E1EDPT2>
             <TDLINE> ... </TDLINE>
          </E1EDPT2>
          <E1EDPT2>
             <TDLINE> ... </TDLINE>
          </E1EDPT2>
          <E1EDPT2>
             <TDLINE> ... </TDLINE>
          </E1EDPT2>
       </E1EDPT1>
    </E1EDP01>
    <u>Target Structure:</u>
    <LineItem>
       <vendmemo> ... </vendmemo>
    </LineItem>
    <LineItem>
       <vendmemo> ... </vendmemo>
    </LineItem>
    <u>Description of my Problem:</u>
    For each E1EDP01 in the source structure the mapping creates one LineItem in the target structure.
    The element "vendmemo" should be created in any case ... also if it will be empty.
    To fill the element "vendmemo" the mapping should search in E1EDP01 for a E1EDPT1 with the TDID=Z505. If there is an element E1EDPT1 with the TDID=Z505, the mapping should write the TDLINE from the first E1EDPT2 (under the element E1EDPT1 with the TDID=Z505) in the target field "vendmemo".
    The Problem is that TDLINE an TDID are not in the same context. I tried it with setting the context of both to E1EDP01. But it was not working ... have you any idea oder suggestion?
    Thank you very much
    best regards
    Christopher

  • Help with Message Mapping - Context Change

    I need help with the following message mapping.  I am filtering by EMP_STAT in the Message Mapping.  I have this working for the ROW structures, but I can get the HEADER/REC_COUNT field to calculate.  I can do just a record count of ROW and get it to work, but I can't get it to work with the filter EMP_STAT = 'REG' added.  I get a context error.  Could someone send me the mapping code.
    Sender XML----
    <RECORD>
    <ROW>
    <EMPLOYEE>111</EMPLOYEE>
    <EMP_STAT>REG</EMP_STAT>
    </ROW>
    <ROW>
    <EMPLOYEE>222</EMPLOYEE>
    <EMP_STAT>PT</EMP_STAT>
    </ROW>
    <ROW>
    <EMPLOYEE>333</EMPLOYEE>
    <EMP_STAT>REG</EMP_STAT>
    </ROW>
    </RECORD>
    Receiver XML----
    <RECORD>
    <HEADER>
    <REC_COUNT>2</REC_COUNT>
    </HEADER>
    <ROW>
    <EMPLOYEE>111</EMPLOYEE>
    <EMP_STAT>REG</EMP_STAT>
    </ROW>
    <ROW>
    <EMPLOYEE>333</EMPLOYEE>
    <EMP_STAT>REG</EMP_STAT>
    </ROW>
    </RECORD>

    Hello,
    You can use this mapping
    For REC_COUNT:
    EMP_STAT -> equalsS: constant:REG -> ifWithoutElse -> removeContext -> count -> REC_COUNT
                                     EMPLOYEE -> /
    For ROW:
    EMP_STAT -> equalsS: constant:REG -> ifWithoutElse -> removeContext -> ROW
                                     EMPLOYEE -> /
    For EMPLOYEE:
    EMP_STAT -> equalsS: constant:REG -> ifWithoutElse -> removeContext -> SplitByValue -> EMPLOYEE
                                     EMPLOYEE -> /
    For EMP_STAT:
    Constant: REG -> EMP_STAT
    Hope this helps,
    Mark

  • Message Mapping - Initialize counter every context change

    Hi all,
    is there any way to develop a counter customer function in a graphical message mapping so every context change of a field the counter initializes?
    Imagine i have the following structure:
    1 DATA
    1.1 DETAIL
    1.2 DETAIL
    2 DATA
    2.1 DETAIL
    2.2 DETAIL
    and i wanna count DETAIL fields but initialize the counter every DATA field. Is there any way to do it?
    Thanks a lot.

    Hi,
    If your Source structure is
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_DATA xmlns:ns0="http://yash.com.YH1309">
       <DATA>
          <DETAIL/>
          <DETAIL/>
       </DATA>
       <DATA>
          <DETAIL/>
          <DETAIL/>
          <DETAIL/>
       </DATA>
    </ns0:MT_DATA>
    and You want the Target as
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_DATA xmlns:ns0="http://yash.com.YH1309">
       <DATA>
          <DETAIL>COUNTER=1</DETAIL>
          <DETAIL>COUNTER=2</DETAIL>
       </DATA>
       <DATA>
          <DETAIL>COUNTER=1</DETAIL>
          <DETAIL>COUNTER=2</DETAIL>
          <DETAIL>COUNTER=3</DETAIL>
       </DATA>
    </ns0:MT_DATA>
    Create the below UDF with one argument (DETAIL)  and select Execution type all values of a Context
    for (int i =1;i<=DETAIL.length;i++)
    result.addValue("COUNTER=" + i);
    but if you want Your Target as
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_DATA xmlns:ns0="http://yash.com.YH1309">
       <DATA>
          <DETAIL>1</DETAIL>
          <DETAIL>2</DETAIL>
       </DATA>
       <DATA>
          <DETAIL>1</DETAIL>
          <DETAIL>2</DETAIL>
          <DETAIL>3</DETAIL>
       </DATA>
    </ns0:MT_DATA>
    So please Follow abhishek salvi's reply

  • What does the error message "Sorry, but we couldn't create a repair because of the business repair mapping." mean?

    What does the error message "Sorry, but we couldn't create a repair because of the business repair mapping." mean?
    Trying to send it to Apple to get the battery replaced. iPhone 5S iOS 8.0

        StephAnnDLC, thanks for posting. Are you still having issues with the videos? How about the battery issue? Have you tried this http://bit.ly/102vuCF and retested?^SP

  • Not Able to Activate the Message Mapping in XI

    Hi All,
    I am facing error while activating a simple Message Mapping (Mapping which I have created using XI’s graphical mapping tool). What I understood from the error log is that, even though we are doing the graphical mapping, internally XI is creating a java mapping program. And while activation its basically compiling the graphical mapping (internally a java program) and while compilation this java program we are getting the error.
    we have XI 3 with SP17 version java 1.4.2_06 running
    i have copied the part of default.trace file which has the error
    #1.5#0011433286D800590000095B000023BC00041BABC8FCF82A#1156324532170#com.sap.engine.compilation#sap.com/com.sap.xi.repository#com.sap.engine.compilation.ExternalCompiler.compile()#RAKESHR#302#SAP J2EE Engine JTA Transaction : [657ffffffa42600cffffffac]#iscsapapp4w_NW2_106406950#RAKESHR#d9a3dc50328711dbbc700011433286d8#SAPEngine_Application_Thread[impl:3]_40##0#0#Error##Plain###Error while compiling :
    java.io.IOException: CreateProcess: null
    bin
    javac -J-Xmx256m @E:/usr/sap/NW2/DVEBMGS10/j2ee/cluster/server0/./temp/classpath_resolver/Mapec86e9c0328711dbb0ab0011433286d8/O1156324532061.txt @E:/usr/sap/NW2/DVEBMGS10/j2ee/cluster/server0/./temp/classpath_resolver/Mapec86e9c0328711dbb0ab0011433286d8/S1156324532124.txt error=2
         at java.lang.Win32Process.create(Native Method)
         at java.lang.Win32Process.<init>(Win32Process.java:66)
         at java.lang.Runtime.execInternal(Native Method)
         at java.lang.Runtime.exec(Runtime.java:566)
         at java.lang.Runtime.exec(Runtime.java:491)
         at java.lang.Runtime.exec(Runtime.java:457)
         at com.sap.engine.compilation.ExternalCompiler.compile(ExternalCompiler.java:73)
         at com.sap.aii.ib.server.cmpl.Compiler.compile(Compiler.java:192)
         at com.sap.aii.ib.server.mapping.exec.ServiceUtil.compileSourceCode(ServiceUtil.java:203)
         at com.sap.aii.ib.server.mapping.exec.ServiceUtil.compile(ServiceUtil.java:156)
         at com.sap.aii.ibrep.server.mapping.ServerMapService.compileSourceCode(ServerMapService.java:361)
         at com.sap.aii.ibrep.server.mapping.ServerMapService.compileSourceCodeWithoutAndWithArchives(ServerMapService.java:301)
         at com.sap.aii.ibrep.server.mapping.ServerMapService.compileWithoutSave(ServerMapService.java:264)
         at com.sap.aii.ibrep.server.mapping.ServerMapService.compile(ServerMapService.java:222)
         at com.sap.aii.ibrep.server.check.mapping.XiMappingChecker.check(XiMappingChecker.java:113)
         at com.sap.aii.ibrep.server.mapping.xitrafo.XiTransformationChecker.check(XiTransformationChecker.java:114)
         at com.sap.aii.ibrep.server.check.mapping.InternalCheckServiceImplXiTransformation.checkObject(InternalCheckServiceImplXiTransformation.java:37)
         at com.sap.aii.ib.core.check.CheckServiceProvider$CheckServiceImpl.checkObject(CheckServiceProvider.java:98)
         at com.sap.aii.ib.server.oa.ServerObjectAccess.checkBeforeIntegrate(ServerObjectAccess.java:2205)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmtImpl.releaseChangeList(ChangeListMgmtImpl.java:767)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmtImpl.submitChangeList(ChangeListMgmtImpl.java:217)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmt.submitChangeList(ChangeListMgmt.java:132)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmt.submitChangeList(ChangeListMgmt.java:124)
         at com.sap.aii.ib.sbeans.clmgmt.ChangeListMgmtBean.submitChangeList(ChangeListMgmtBean.java:92)
         at com.sap.aii.ib.sbeans.clmgmt.ChangeListMgmtRemoteObjectImpl10.submitChangeList(ChangeListMgmtRemoteObjectImpl10.java:435)
         at com.sap.aii.ib.sbeans.clmgmt.ChangeListMgmtRemoteObjectImpl10p4_Skel.dispatch(ChangeListMgmtRemoteObjectImpl10p4_Skel.java:343)
         at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:309)
         at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:194)
         at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:122)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    #1.5#0011433286D800590000095D000023BC00041BABC8FDCA9D#1156324532217#XIREP.com.sap.aii.ib.server.mapping.exec.ServiceUtil#sap.com/com.sap.xi.repository#XIREP.com.sap.aii.ib.server.mapping.exec.ServiceUtil#RAKESHR#302#SAP J2EE Engine JTA Transaction : [657ffffffa42600cffffffac]#iscsapapp4w_NW2_106406950#RAKESHR#d9a3dc50328711dbbc700011433286d8#SAPEngine_Application_Thread[impl:3]_40##0#0#Error#1#/Applications/ExchangeInfrastructure/Repository#Plain###Compilation process error : CreateProcess: null
    bin
    javac -J-Xmx256m @E:/usr/sap/NW2/DVEBMGS10/j2ee/cluster/server0/./temp/classpath_resolver/Mapec86e9c0328711dbb0ab0011433286d8/O1156324532061.txt @E:/usr/sap/NW2/DVEBMGS10/j2ee/cluster/server0/./temp/classpath_resolver/Mapec86e9c0328711dbb0ab0011433286d8/S1156324532124.txt error=2
    Thrown:
    MESSAGE ID: com.sap.aii.ib.server.cmpl.CompilerException
    com.sap.aii.ib.server.cmpl.CompilerException: Compilation process error : CreateProcess: null
    bin
    javac -J-Xmx256m @E:/usr/sap/NW2/DVEBMGS10/j2ee/cluster/server0/./temp/classpath_resolver/Mapec86e9c0328711dbb0ab0011433286d8/O1156324532061.txt @E:/usr/sap/NW2/DVEBMGS10/j2ee/cluster/server0/./temp/classpath_resolver/Mapec86e9c0328711dbb0ab0011433286d8/S1156324532124.txt error=2
         at com.sap.aii.ib.server.cmpl.Compiler.compile(Compiler.java:209)
         at com.sap.aii.ib.server.mapping.exec.ServiceUtil.compileSourceCode(ServiceUtil.java:203)
         at com.sap.aii.ib.server.mapping.exec.ServiceUtil.compile(ServiceUtil.java:156)
         at com.sap.aii.ibrep.server.mapping.ServerMapService.compileSourceCode(ServerMapService.java:361)
         at com.sap.aii.ibrep.server.mapping.ServerMapService.compileSourceCodeWithoutAndWithArchives(ServerMapService.java:301)
         at com.sap.aii.ibrep.server.mapping.ServerMapService.compileWithoutSave(ServerMapService.java:264)
         at com.sap.aii.ibrep.server.mapping.ServerMapService.compile(ServerMapService.java:222)
         at com.sap.aii.ibrep.server.check.mapping.XiMappingChecker.check(XiMappingChecker.java:113)
         at com.sap.aii.ibrep.server.mapping.xitrafo.XiTransformationChecker.check(XiTransformationChecker.java:114)
         at com.sap.aii.ibrep.server.check.mapping.InternalCheckServiceImplXiTransformation.checkObject(InternalCheckServiceImplXiTransformation.java:37)
         at com.sap.aii.ib.core.check.CheckServiceProvider$CheckServiceImpl.checkObject(CheckServiceProvider.java:98)
         at com.sap.aii.ib.server.oa.ServerObjectAccess.checkBeforeIntegrate(ServerObjectAccess.java:2205)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmtImpl.releaseChangeList(ChangeListMgmtImpl.java:767)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmtImpl.submitChangeList(ChangeListMgmtImpl.java:217)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmt.submitChangeList(ChangeListMgmt.java:132)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmt.submitChangeList(ChangeListMgmt.java:124)
         at com.sap.aii.ib.sbeans.clmgmt.ChangeListMgmtBean.submitChangeList(ChangeListMgmtBean.java:92)
         at com.sap.aii.ib.sbeans.clmgmt.ChangeListMgmtRemoteObjectImpl10.submitChangeList(ChangeListMgmtRemoteObjectImpl10.java:435)
         at com.sap.aii.ib.sbeans.clmgmt.ChangeListMgmtRemoteObjectImpl10p4_Skel.dispatch(ChangeListMgmtRemoteObjectImpl10p4_Skel.java:343)
         at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:309)
         at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:194)
         at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:122)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Root cause:
    com.sap.engine.compilation.CompilerProcessFailureException: Compilation process error : CreateProcess: null
    bin
    javac -J-Xmx256m @E:/usr/sap/NW2/DVEBMGS10/j2ee/cluster/server0/./temp/classpath_resolver/Mapec86e9c0328711dbb0ab0011433286d8/O1156324532061.txt @E:/usr/sap/NW2/DVEBMGS10/j2ee/cluster/server0/./temp/classpath_resolver/Mapec86e9c0328711dbb0ab0011433286d8/S1156324532124.txt error=2
         at com.sap.engine.compilation.ExternalCompiler.compile(ExternalCompiler.java:77)
         at com.sap.aii.ib.server.cmpl.Compiler.compile(Compiler.java:192)
         at com.sap.aii.ib.server.mapping.exec.ServiceUtil.compileSourceCode(ServiceUtil.java:203)
         at com.sap.aii.ib.server.mapping.exec.ServiceUtil.compile(ServiceUtil.java:156)
         at com.sap.aii.ibrep.server.mapping.ServerMapService.compileSourceCode(ServerMapS

    are you facing the problem for every mapping created ? Else try to delete the existing mapping and recreate the same.

  • Message mapping in sap pi 7.3

    Hi all,
    I am using SAP PI 7.3. In ESR, I have declared one source data type & message type and one target data type & message type. I have also completed message mapping. But in message mapping, If I do right click on the target message type, I am getting one option "Add variable" in the context.
    Can anyone tell me what is the use of it?
    Thanks & Regards,
    Moumita

    Hi Moumita
    This is mainly used to store some values in it and then use it later in the same mapping.
    For example suppose there is a field which contains amount and it occurs in many times in the source structure.
    So we can populate the sum of all this fields into this variable and later used that for populating any target field.
    Another example is suppose we want to make an RFC look up in PI to store some data in ECC tables.
    In that also we map the RFC look up function to this variable.
    This variable will be not present in the map output.
    Check this
    SAP PI 7.1 Mapping Enhancements Series: Using Graphical Variable

  • Message Mapping Logical Problem

    Hi there I have an issue with my message mapping. My source structure looks like this.
    IDOC
    -Seg1
    ---Element1
    ---Element2
    ---Seg2
    ElementA
    ElementB
    Ok so I have to map the IDOC to a flat file. Seg 1 is the Header and Seg2 is the Details. For each flat file there will only be 1 Seg1 but there can be X amount of Seg2s' in the flat file. My problem is mapping Element 1 to Element A. Element A has the value of Element 1 and 2 combined. It appears I cannot map a lower hierarchy to an higher hierarchy? I tried changing the context but with no luck.
    Any idea?
    Thanx,
    Jan

    My problem is mapping Element 1 to Element A.
    What do you mean by this? I guess you want the Element1 to appear with each Segment occurrence. If yes, you may use standard function useOneAsMany as shown.
    /people/sravya.talanki2/blog/2005/12/08/message-mapping-simplified-150-part-ii
    Regards,
    Prateek

  • Message Mapping - IDOC to http

    Hi ,
    I am creating Message mapping for IDOC to Http scenario.
    In which i have the following requirement. For a partner Role in segment E1BPDLVPARTNER we need to get the Address_No value
    and then with that we need to get the address from segment E1BPADR1
      <E1BPDLVPARTNER>
          <PARTN_ROLE>AG</PARTN_ROLE>
         <PARTNER_NO>0007745359</PARTNER_NO>
      </E1BPDLVPARTNER>
      <E1BPDLVPARTNER SEGMENT="1">
        <PARTNER_NO>0007745359</PARTNER_NO>
        <ADDRESS_NO>0000267775</ADDRESS_NO>
      </E1BPDLVPARTNER>
       <E1BPDLVPARTNER SEGMENT="1">
         <PARTNER_NO>0007759123</PARTNER_NO>
         <ADDRESS_NO>9000001048</ADDRESS_NO>
      </E1BPDLVPARTNER>
      <E1BPADR1 SEGMENT="1">
         <ADDR_NO>000075</ADDR_NO>
         <NAME>BRIDT HOSPITAL INC</NAME>
       </E1BPADR1>
       <E1BPADR1 SEGMENT="1">
         <ADDR_NO>00775</ADDR_NO>
          <NAME>BRIDGA</NAME>
       </E1BPADR1>
       <E1BPADR1 SEGMENT="1">
        <ADDR_NO>05</ADDR_NO>
        <NAME>BRIDL INC</NAME>
       </E1BPADR1>
    Can you provide inputs on this.
    Thanks,
    Vishal

    For the Address No 0007745359 in E1BPDLVPARTNER we need to go to the E1BPADR1 segment and get the address from
    it and populate the target. Also the data above is test one
    Me a bit confused about your requirement!
    In your structure Partner_Number is having the value 0007745359
    What i get is you have to check for PartnerNo in E1BPDLVPARTNER and if that value matches then go to E1BPADR1 segment and get the Address......but to go to a particular E1BPADR1 you need to check for some field within it.....
    Your mapping logic will be something like:
    PartNum/ AddrNum -->
                                  --->equalS --->
    Constant(0007745359)
                                                              ----> And ----> IfWithoutElse --->    Target
    Field_of_E1BPADR1 (validation logic) -->             Then(Field_of_E1BPADR1)
    Context of PartNum/ AddrNum to be raised and also that of Field_of_E1BPADR1 (the one on which validation is imposed.
    If possible get some more details from your technical lead on how to select the E1BPADR1 ...
    Regards,
    Abhishek.

  • 1: N multi mapping -----Message Mapping Error

    Hi,
    I am doing this scenario
    Various multi-mappings and Optimizing their Implementation in Integration Processes (BPM) in XI.
    In the design part of the mapping.
    How can I perform the message mapping
    Step 1. We are controlling occurrence of Output Piyush_msg_out_3 by mapping it with element2 with message context.
    Step 2.
    We are using u201CUseOneAsManyu201D under category node functions (SP14). It has three inputs ;
       1. Element which is going to be used for multiple times. In our case it is Element1 with message context.
       2. The element which is going to define how many times it will be replicated. Important thing, context should be same.
       3. Same as second input but with its own context in our case it is Element2.
    For Step 1,
    I have mapped piyush_msg_out_3 with Element2 (context is root)
    For Step 2,
    I have mapped
    Element1(context root)----
    |
    Element2(context root)----
    |   useOneAsMany -
    >Element1
    Element2(context root)----
    |
    subelement------> subelement
    I did not do root mapping.
    when do the test I am getting the following error
    Start of test
    Compilation of MM_multimappingandoptimizing successful Cannot produce target element
    /ns0:Messages/ns0:Message1/ns1:piyush_msg_out_3[2]/root/Element1. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd Cannot produce target element
    /ns0:Messages/ns0:Message1/ns1:piyush_msg_out_3[2]/root/Element1. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
    End of test
    I thought error generated due to Parent Node condition fails, How do I map the Top node,
    even though I mapped root------->root, I am  getting the same error in the instance test
    Please give me some suggestions
    my message mapping is correct or do I need to change the context of the node  or what should I have to do ?
    thanks
    manian

    Hi Praveen,
    I have checked the XSD tab of Source and Target message types. I can see the complete XSD.
    Source Message Type XSD:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:mlr:multimappingandoptimizing" targetNamespace="urn:mlr:multimappingandoptimizing">
         <xsd:element name="piyush_msg_in_1" type="piyush_msg_in_1" />
         <xsd:complexType name="piyush_msg_in_1">
              <xsd:annotation>
                   <xsd:appinfo source="http://sap.com/xi/TextID">
                   f1fd03a0cddd11ddc1c4001cc01cef0d
                   </xsd:appinfo>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="root">
                        <xsd:annotation>
                             <xsd:appinfo source="http://sap.com/xi/TextID">
                             99ffb9e0cd1a11ddc6b0001cc01cef0d
                             </xsd:appinfo>
                        </xsd:annotation>
                        <xsd:complexType>
                             <xsd:sequence>
                                  <xsd:element name="Element1" type="xsd:string">
                                       <xsd:annotation>
                                            <xsd:appinfo source="http://sap.com/xi/TextID">
                                            99ffb9e1cd1a11dd8843001cc01cef0d
                                            </xsd:appinfo>
                                       </xsd:annotation>
                                  </xsd:element>
                                  <xsd:element name="Element2" maxOccurs="unbounded">
                                       <xsd:annotation>
                                            <xsd:appinfo source="http://sap.com/xi/TextID">
                                            99ffb9e2cd1a11dd8f7a001cc01cef0d
                                            </xsd:appinfo>
                                       </xsd:annotation>
                                       <xsd:complexType>
                                            <xsd:sequence>
                                                 <xsd:element name="subelement" type="xsd:string">
                                                      <xsd:annotation>
                                                           <xsd:appinfo source="http://sap.com/xi/TextID">
                                                           99ffb9e3cd1a11dd8ff2001cc01cef0d
                                                           </xsd:appinfo>
                                                      </xsd:annotation>
                                                 </xsd:element>
                                            </xsd:sequence>
                                       </xsd:complexType>
                                  </xsd:element>
                             </xsd:sequence>
                        </xsd:complexType>
                   </xsd:element>
              </xsd:sequence>
         </xsd:complexType>
    </xsd:schema>
    Target Message Type XSD:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:mlr:multimappingandoptimizing" targetNamespace="urn:mlr:multimappingandoptimizing">
         <xsd:element name="piyush_msg_out_3" type="piyush_msg_out_3" />
         <xsd:complexType name="piyush_msg_out_3">
              <xsd:annotation>
                   <xsd:appinfo source="http://sap.com/xi/TextID">
                   058e2b60cdde11ddaffd001cc01cef0d
                   </xsd:appinfo>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="root">
                        <xsd:annotation>
                             <xsd:appinfo source="http://sap.com/xi/TextID">
                             7fb0d7d0cd1b11dd99ae001cc01cef0d
                             </xsd:appinfo>
                        </xsd:annotation>
                        <xsd:complexType>
                             <xsd:sequence>
                                  <xsd:element name="Element1" type="xsd:string">
                                       <xsd:annotation>
                                            <xsd:appinfo source="http://sap.com/xi/TextID">
                                            7fb0d7d1cd1b11ddc07e001cc01cef0d
                                            </xsd:appinfo>
                                       </xsd:annotation>
                                  </xsd:element>
                                  <xsd:element name="Element2">
                                       <xsd:annotation>
                                            <xsd:appinfo source="http://sap.com/xi/TextID">
                                            7fb0d7d2cd1b11dd9385001cc01cef0d
                                            </xsd:appinfo>
                                       </xsd:annotation>
                                       <xsd:complexType>
                                            <xsd:sequence>
                                                 <xsd:element name="subelement" type="xsd:string">
                                                      <xsd:annotation>
                                                           <xsd:appinfo source="http://sap.com/xi/TextID">
                                                           7fb0d7d3cd1b11dda9d7001cc01cef0d
                                                           </xsd:appinfo>
                                                      </xsd:annotation>
                                                 </xsd:element>
                                            </xsd:sequence>
                                       </xsd:complexType>
                                  </xsd:element>
                             </xsd:sequence>
                        </xsd:complexType>
                   </xsd:element>
              </xsd:sequence>
         </xsd:complexType>
    </xsd:schema>
    thanks
    manian

  • Message Mapping: Douplicate Nodes of source XML

    Hi,
    I do some message mapping in the design. I've loaded a test XML into the test tab to actually see what's going on in my mapping. A piece of it looks like the following snippet (the REFERENCE element is also embedded in a whole bunch of other elements and yes, its correct, that AUTHOR and YEAR elements appear nested in themselves):
    <REFERENCE>
      <set>
        <AUTHOR>
          <AUTHOR>Test Author 1</AUTHOR>
        </AUTHOR>
        <YEAR>
          <YEAR>2000</YEAR>
        </YEAR>
      </set>
      <set>
        <AUTHOR>
          <AUTHOR>Test Author 2</AUTHOR>
        </AUTHOR>
        <YEAR>
          <YEAR>2001</YEAR>
        </YEAR>
      </set>
    </REFERENCE>
    I've placed the lowest AUTHOR element in the design pane, I right click it, set the context to "AUTHOR" (the surrounding AUTHOR element obviously), an then click on "Show queue" I get all AUTHOR elements double. I.e. I get "Test Author 1" twice and "Test Author 2" twice.
    Ok, I thought probably something I don't understand concerning contexts, so I added "removeContexts" after the AUTHOR node. Surprise: I get "Test Author 1" once and "Test Author 2" twice when I click on "Show queue" on "removeContexts".
    As this behaviour is getting worse, the more mapping steps I arrange in a chain, the mapping becomes quite useless, until I can resolve this issue...
    Anybody an idea, why my "Test Authors" get listed twice and why "removeContexts" doesn't work as expected?
    Tnx,
    Martin.

    You will see the value in queue twice for AUTHOR because the first one in white is the actual value and the second one in gray is the context change. Similarly when you do remove context and see the queue, you will see TestAuthor1 Test Author2 and again TestAuthor2 which is the context.
    Regards,
    Ravi

  • Message Mapping - Flat structure to more complex structure

    Hi,
    Whats the best approach to map from
    <resultset>
      <row>
        <CONTENTS>H1xxx</CONTENTS>
      </row>
      <row>
        <CONTENTS>P1-1xxx</CONTENTS>
      </row>
      <row>
        <CONTENTS>P1-2xxx</CONTENTS>
      </row>
      <row>
        <CONTENTS>H2xxx</CONTENTS>
      </row>
      <row>
        <CONTENTS>P2-1xxx</CONTENTS>
      </row>
    </resultset>
    to
    <Payment>
      <header>
        <CONTENTS>H1xxx</CONTENTS>
      </header>
      <items>
        <CONTENTS>P1-1xxx</CONTENTS>
        <CONTENTS>P1-2xxx</CONTENTS>
      </items>
    </Payment>
    <Payment>
      <header>
        <CONTENTS>H2xxx</CONTENTS>
      </header>
      <items>
        <CONTENTS>P2-1xxx</CONTENTS>
      </items>
    </Payment>
    i.e. map Contents to header if it starts with H, to item if it starts with P
    Payment consists of one header plus the items that follow it.
    I can't seem to get the contexts in the target message correct

    Thanks for all responses.
    Hi Baz!
    Yes, I've looked at SplitByValue, could never get exactly what I wanted though.
    Praveen, I'll give XSLT a go then.
    Stefan, Unfortunately the source message is coming through the JDBC not the file adapter. I agree, a file would be much easier to handle with the advantage of the FCC options

Maybe you are looking for

  • Client Auto-Update questions

    We just updated our Dev system to SP5 with Patch 2, but the clients are not updating automatically. I have checked that the Client and Admin boxes are checked for auto-update and can see nowhere else that this can be done. I double-checked with the M

  • How to run form in the background from command line

    please can anybody tell me to how to run form in the background from command line vishal

  • Can't sync as not enough room in itunes? what's that all about?

    I've just tried to sync my iphone to do a back up (hasn't been done in ages) as my new iphone should arrive tomorrow.  It did all its syncing (I thought) then gave me the message that there wasn't enough room (in itunes) and it wasn't able to sync. A

  • Some Songs Cut Out

    Some random songs will cut off when playing back from my iTouch...when the same song will play completely OK from the computer's iTunes. I have wiped the iTouch completely and re-sync'ed it, but i still have the same problem. Am I alone in this issue

  • How to backup photo and contact information only

    I have iPhone 5, wondering to to back up only phone photo and contact information to external HD or iCloud, thank you