One IDOC to multiple XML messages

Hi! I am using the graphical mapper in XI to map the SHPMNT03 IDOC to an XML message. The IDOC has a shipment node and potentially multiple delivery nodes, for example:
E1EDT20
  - E1EDL20
  - E1EDL20
  - E1EDL20
I need to create one XML message per E1EDL20 node. I figured I could do this in the mapper but when I execute the map for an IDOC with multiple E1EDL20 nodes, I get a 'Cannot cast 2 to boolean' error. The map executes fine when there is a single E1EDL20 in the IDOC.
As always, help is very much appreciated and points awarded.
Thx, Duncan

Hi Duncan,
Can you just check if this is what you have done,
IR
1. Message Mapping -- Occurence of the Destination message type ( file ) is unbounded
2. Interface Mapping -- Occurence of the Destination Interface ( File ) is unbounded
ID
1. No sender communication channel , sender agreement
2. Receiver communcation channel for FIle with appropriate FILE CONSTRUCTION MODE
3. Receiver Determination  and Interface Determination with Sender Interface as the IDOC interface and Receiver Interface as the FILE INTERFACE.
I think there is some misunderstanding on this front.
Multimapping will work if you are trying to  do an IDOC to FILE with a 1:N split
just check this and let me know if you ve missed something.
Regards,
Bhavesh

Similar Messages

  • HR - XI - External System: one IDOC to multiple XML Files

    Hi,
    I have a scenario where I need, out of one HRMD_A07 IDOC send multiple XML files:
    The IDOC and the XML files can the Master data for many employee (IDOC has max of 200 as of SAP, external system, max of 1000).
    The IDOC will be generated with change pointers with all the needed filters (I can add/remove if needed).
    My goal is to generate 3 types of XML files:
    - 1 for the persons (containing basic info like name, firstname, persnr,etc)
    - 1 for the various unit (with basic info of unit like number, description & name)
    - 1 for the links between persons and units (this person is linked with that unit)
    The structures of the 3 XML files are know and can be imported via XSD definition.
    Do I need to use BPM for doing so or is there a way to do that with simple mapping?
    If BPM is needed, as I new to that, if you have a link to a begginer guide, fell free to send it
    Cheers,
    greg

    hi,
      For your scenario there is no need of BPM.
      In message mapping select the message tag.
      In the target add 3 message types.
      Just map the fields.Go to Interface mapping add the 3 message in the target.
      Get the mapping.
      In ID sender agreement,Receiver Determination is same.
      In Interface Determination select extended.Get the mapping.
      Create 3 Receiver agreement for each Receiver.
    Regards,
    Prakasu

  • Puttin the name of the file in one tag of the xml message

    Hi all,
    does anybody kowns how to put the name of the file in one tag of the xml message in the adapter, without using a java mapping to get the file name.
    Thanks.

    H Antonio,
    You can  use ASMA( Adapter Specific Message Attributes) for acccessing the file name, along with Dynamic Configuration. You can follow the following blog for that. If you do not want to use the same file name for the reciever, dont select the File Name check box.
    /people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
    Thanks and Regards,
    Sanjeev.

  • One IDOC to multiple messages

    Hi Experts,
    I am working on IDOC to File Scenario
    I have to send three messages using one idoc.
    Could any one let me know whether is it possible to send with out using BPM or any suggest any other way.
    Thanks in Advance.
    Regards,
    Vijay

    Hi
    If u want to send the three message at the receiver side then u have to make the occurence for the target is 0..unbounded. and use the 1:n mapping in the message mapping.
    To make the 1:N mapping in the message mapping go to the messages tab and put the occurence for the target message as 0..unbounded. when u do this it will creath the multiple message at the receiver side.
    Remember u also have to make the same changes in the interface mapping also.
    To give differnt names to all the file u can use the Addtime Stamp option in the file adfapter so it will create the file with the name as time stamp.
    If u still face the problem please reply me back.
    Thanks
    Rinku

  • Mapping Issue: one IDoc to multiple IDocs concerning incoming segments

    Hi,
    i want to devide one incoming IDoc to two or more outgoing IDoc's of same type concerning the appearance of one segment.
    Incoming is:
       <IDOC BEGIN="">                   1...1
          <EDI_DC40 SEGMENT="">
          </EDI_DC40>
          <..>
          <Z1MOV SEGMENT="">  0..99999
          </Z1MOV>
       </IDOC>
    Target should be:
    for each Z1MOV one IDOC.
       <IDOC BEGIN="">                   1...1
          <EDI_DC40 SEGMENT="">
          </EDI_DC40>
          <..>
          <Z1MOV SEGMENT="">  0..1
          </Z1MOV>
       </IDOC>
    I already did the occurance change, like imported target IDoc with changed attribute maxOccurs="unbounded".
    I mapped the segment Z1MOV to IDOC but when Z1MOV occurs more than one time the target gets generated only one time. I changed the occurance of the IDoc to maxOccurs="unbounded".
    What do i have to do to make it run?!
    br

    Can someone help?
    When i switch to debug while testing message mapping i get following:
    Close tag
    Close tag
    Start tag
    Targetelement /ZIDOC/IDOC[2]/BEGIN kann nicht angelegt werden. Prüfen Sie, ob die XML-Instanz für die Ausgangs-XSD und die Zielfeldzuordnung die Anforderungen der Ziel-XSD erfüllt. Zielelement /ZIDOC/IDOC[2]/BEGIN kann nicht angelegt werden. Prüfen Sie, ob die XML-Instanz für die Ausgangs-XSD und die Zielfeldzuordnung die Anforderungen der Ziel-XSD erfüllt.
    I hope you can get the idea of this error because i can't tanslate.
    But the BEGIN is required for each message so how to get rid of it. This also concerns the SEGMENT-tag under each Segment of the IDoc.
    br

  • Plan-driven proc. Simultaneously access to one SC from some XML messages.

    Hi SRM gurus.
    We've implemented plan-driven procurement scenario and have caught an error. I explain error on example:
    ERP generates via PI 5 XLM messages for update 5 positions of SRM SC. When the first XML locks SC for update, the second XML trying to lock SC and cannot do it and therefore get out an error. When i restart processing XML marked as error manually all works fine.
    So question is - How to ensure step by step processing XML messages which belong to one ERP PR. I played with parameters in SMQR with XTBR* queue but it was unsuccessfully.
    P.S. We've got some ABAP ideas about adding XML messages to separate queue based on ERP PR but it looks too hard.

    Dear Poster,
    As no response has been provided to the thread in some time I must assume the issue is resolved, if the question is still valid please create a new thread rephrasing the query and providing as much data as possible to promote response from the community.
    Best Regards,
    SDN SRM Moderation Team

  • Handling multiple XML message types in a webservice

    My below scenario is
    I have a webservice that receives XML messages from third party. The webservice populates 3 database tables through Mediator and DBAdapter from these XML files. Data for each table comes in a single XML file. How will I design the single werbservice to receive all the three different types of messages. eg: Customer, Order, OrderItem.
    My WSDL is given below:
    <?xml version= '1.0' encoding= 'UTF-8' ?>
    <wsdl:definitions
    name="receiveData"
    targetNamespace="http://xmlns.oracle.com/sca/soapservice/receiveData"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:inp1="http://xmlns.oracle.com/pcbpel/adapter/db/top/Order"
    xmlns:tns="http://xmlns.oracle.com/sca/soapservice/ESTAProcessing/receiveData" >
    <wsdl:types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" >
    <import namespace="http://xmlns.oracle.com/pcbpel/adapter/db/top/Order" schemaLocation="xsd/Order.xsd" />
    </schema>
    </wsdl:types>
    <wsdl:message name="requestMessage">
    <wsdl:part name="request" element="inp1:Order"/>
    </wsdl:message>
    <wsdl:portType name="execute_ptt">
    <wsdl:operation name="execute">
    <wsdl:input message="tns:requestMessage"/>
    </wsdl:operation>
    </wsdl:portType>
    </wsdl:definitions>
    Any similar example will be really good. Let me know if it does make sense. Here what I am looking for is whether a single operation can handle all three types of XML schema defintions and if yes how to put that in the WSDL

    Technically you can do with XSD switch option however you should rethink towards your design of accepting three different message in single web service. specially the case you have taken customer and order.

  • Splitting single idoc into multiple xml's

    Hello,
    My requirement is such that, i need to split an custom IDoc into three xml which will be picked up by MDM, as i am new to PI 7.1 kindly guide me through the process.
    and the second requirement is, i need to map the same custom IDoc into three different MDM repositories pls guide me through the process

    Hi Abhishek,
    [quote]My requirement is such that, i need to split an custom IDoc into three xml which will be picked up by MDM, as i am new to PI 7.1 kindly guide me through the process
    For this, you have to go for multimapping.
    The links for it are already provided in the above posts.
    and the second requirement is, i need to map the same custom IDoc into three different MDM repositories pls guide me through the process
    Can you please explain this requirement further?
    -Supriya.

  • One swf loading multiple xml?

    so- I have a gallery that pulls in an xml file... I'm trying
    to have that gallery called and have a var as a placeholder for the
    xml so i can use the same .swf and any xml based on whatever button
    is pushed... i'm not sure how to do so- i have the gallery working
    fine- i just need the 'xmlData' to be dynamic... if anyone could
    help out- i've never had to do this before and it's a bit
    stressful.
    as is- and working fine... the gallery.fla has this to pull
    in the xml:
    xmlData = new XML();
    xmlData.ignoreWhite = true;
    xmlData.onLoad =loadXML;
    xmlData.load("xml/projects.xml");
    i just need to figure out how to have the buttons in a
    master.swf open the gallery.swf and a corresponding .xml file...
    which i know how to do in the master.fla- i just don't know how to
    set up the second fla to parse the corresponding xml based on which
    button is pushed... would i set up an array that included all the
    possible xml files?
    pretty much this is what i'm trying to make happen:
    projects_mc.onRelease - loads gallery.swf with projects.xml
    staff_mc.onRelease - loads gallery.swf with staff.xml
    etc...
    thanks for reading!

    If i understand correctly...
    there are 2 options
    number one -
    use the loadmove function with 2 swf's
    ex:
    on(release) {
    loadmovie("1.swf", 0)
    One frame 1 of the 1.swf put in the as:
    xmlData2 = new XML();
    xmlData2.ignoreWhite = true;
    xmlData2.onLoad =loadXML;
    xmlData2.load("xml/projects2.xml");
    then do the same for the second button (easier if there small
    files i think)
    solution 2 (more problematic) -
    use the loadmove function with 1 swf
    ex:
    on(release) {
    var xmlfile = "1"
    loadmovie("1.swf", 0)
    One frame 1 of the 1.swf put in the as:
    if xmlfile = 1 {
    xmlData2 = new XML();
    xmlData2.ignoreWhite = true;
    xmlData2.onLoad =loadXML;
    xmlData2.load("xml/projects2.xml");
    } else {
    xmlData3 = new XML();
    xmlData3.ignoreWhite = true;
    xmlData3.onLoad =loadXML;
    xmlData3.load("xml/projects3.xml");

  • Idocs are not equal to XML message generated

    hi ,
            i am facing problem when i using XI.its not generated idocs equal to XML message generated.

    idocs equal to XML message
    Do u mean that in ur file to idoc scenario, the no of messages sent by file is not equal to no of idocs generated? If yes, then first check in tcode sxmb_moni at XI for presence of message and check for error there
    Please describe ur scenario a bit.
    Regards,
    Prateek

  • Messagesplit of IDOC to several XML messges

    Hello Folks,
    I have a following issue:
    I want to split an INVOICE Idoc to several XML Messages with the following condition:
    If INVOICE belongs to country  then the  xml message should be created..
    It works only if the INVOIC.xml belongs only to one country, but if the INVOIC.xml includes several IDOCs to several countries, then the message split does not work. All needed Information are mapped only to the first message instead to split to message 2 or message 3, which is found. How can I solve this?
    For instance salesorg in invoice belongs to UK  or Ireland, then the target-xml should be created see the mapping for the first message 1 below.
    But if there several IDOCs see Picture 3 which includes IDOCs for GB, Portugal and Italy for instance, it does not work. How should the mapping step should be correct? I also change the context of the ORG field to the IDOC Segment, because it refer to E1EDK14.
    Thanks in advance for your help
    Kind regards,
    Erkan

    Hi Erkan,
    Can you try with below logic,
    Invoice filed-----RemoveContext--------SplitByValue(Valuechange)-------Idoc
    Cheers,
    Giri

  • Mapping multiple xml attachments

    Dear all,
    We have a scenario where we receive multiple xml messages in a zip file. It is possible to unzip this file using the standard PayloadZipBean, and the xml messages are added as attachments to my PI message.
    Now I want to map each attachment to a target message. What is the best way to achieve this?
    I have seen this thread for accessing the attachments in the graphical map:
    /people/yugapreetha.t/blog/2009/08/24/read-the-attachments-of-the-input-xi-message-in-the-message-mapping
    However, should I develop an additional UDF for parsing the data? How can I achieve this?
    Any suggestions?
    Regards,
    Rudy

    > Each xml attachment should result in one service call.
    In that case I recommend to unzip the file with an OS command and process the XML files individually.
    But when you say, you have a sync call, what do you want to do with the response message?

  • Namespace Element within Outbound XML Message

    Hi there,
    I am using XI 2.0 and trying to map an IDoc to an XML message to be passed onwards via JMS to a 3rd Party MQ System.
    I've created the mapping without too many issues but the 3rd Party says that I need to remove the namespace element tag from my final message as they don't want to see this (It's not in their DTD). Is there any way in XI 2.0 to suppress this part of the XML output so that you only get the main XML definition tag...
    i.e. rather than the final message being...
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MessageType xmlns:ns0="namespace">
    <first_tag>Data<first_tag/>...
    Instead produce...
    <?xml version="1.0" encoding="UTF-8"?>
    <first_tag>Data<first_tag/>...
    Any help would be much appreciated.
    Regards,
    Gordon

    Gordon--
    I think I have some good news, and some bad news.
    The good news is that you should be able to remove the namespace alias declaration attribute ('xmlns:ns0=...')  and namespace qualifiers ('ns0:[tagname]').  You can do this by writing a dispatcher function and adding it to the JMS adapter.
    The bad news is that this means you'll have to code the transformation that removes the tags.  Dispatchers are essentially the 'user exits' of XI.  This transformation can be either Java or XSLT -- XSLT is probably easier for a case like this.
    There is a touch of documentation about how to do this in the adapter engine online help (or the 'Adapter Engine' guide for XI 2.0 SR1).  See the sections for the JMS adapter for help on installing your dispatcher transformation.  See the section "Using the Dispatcher: Example" for a bit of help on using dispatchers.
    If you do it in Java, your dispatcher class will have to be accessible in the adapter engine classpath.  If you do it in XSLT, I'm not sure where the .xsl file goes -- perhaps in the Adapter Engine working directory?
    --Dan King
    Capgemini

  • File Multiple XML

    Hi,
    We have an scenario with a File Adapter. The structure of file is the next
    label.
    ¿It is possible read a XML file with multiple XML message with a file adapter?
    Regards
    Javier López

    Hi,
    In your case you need to do something like this
    <?xml version="1.0" encoding="UTF-8"?>
    <records>
    <cXML payloadID="[email protected]" timestamp="2006-07-05T08:32:02-07:00" xml:lang="es-ES">
    </cXML>
    <cXML payloadID="[email protected]" timestamp="2006-07-05T10:56:29-07:00" xml:lang="es-ES">
    </cXML>
    </records>
    Thanks,
    Prakash

  • Split an inbound xml message in to multiple o/b idocs

    HI,
    We have a requirement to split an XML message(Source) into multiple idocs with different order nos and respective item details. We are working on XI 3.0 and we have a restriction not to use the BPM. Could you please let me know whether its possible to do 1:n mapping in XI 3.0 and how can we do this ?
    Thanks,
    Hari

    Then how you can do that in PI,we should know how many Target IDocs required,then we can import it in to PI.
    if you want to genarate same IDoc multiple times then we can do this,like change IDoc occurace to 0 to Unbounded then import as a external def and use it in mapping,logic you have to write in mapping.
    Regards,
    Raj

Maybe you are looking for