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.

Similar Messages

  • Message Mapping IDoc-segment

    Hello,
    In my scenario I will do the following mapping with an source structure to an ORDERS05 Idoc:
    file structure:
    #E1EDP01|10|33|ST
    #E1EDP20|33|20050823
    inbound message:
    <?xml version="1.0" encoding="utf-8" ?>
    <ns:MT_ORDERS_OUT xmlns:ns="http:/ /ORDERS">
      <E1EDP01>
      <IDENTIFIER>#E1EDP01</IDENTIFIER>
      <POSEX>10</POSEX>
      <MENGE>33</MENGE>
      <MENEE>ST</MENEE>
      </E1EDP01>
      <E1EDP20>
      <IDENTIFIER>#E1EDP20</IDENTIFIER>
      <WMENG>33</WMENG>
      <EDATU>20050823</EDATU>
    </E1EDP20>
    </ns:MT_ORDERS_OUT>
    MT_ORDERS_OUT    to      IDOC ORDERS05 :
    E1EDP01     ___>     E1EDP01
    POSEX   ____>           - POSEX
    MENGE   ____>           - MENGE
    MENEE   ____>           - MENEE
    E1EDP20 ______>               E1EDP20
    WMENG   ________>                  - WMENG
    EDATU   _________>                  - EDATU
    configuration of the file adapter:
    recordsetstructure: E1EDP01,,E1EDP20,
    keyfield:  IDENTIFIER
    E1EDP01.keyFieldValue     = #E1EDP01
    E1EDP01.endSeparator      = 'nl'
    E1EDP01.fieldSeparator    = |
    E1EDP01.fieldNames        = IDENTIFIER,POSEX,MENGE,MENEE
    E1EDP20.keyFieldValue     = #E1EDP20
    E1EDP20.endSeparator      = 'nl'
    E1EDP20.fieldSeparator    = |
    E1EDP20.fieldNames        = IDENTIFIER,WMENG,EDATU
    With this configuration, the result is only a mapping of the E1EDP01 fields.
    I can't see the E1EDP20 fields in the IDoc.
    Did I  something wrong?
    Regards
    Christoph

    Hello Shravan,
    I guess my file adapter is not doing the correct conversion.
    The payload of the inbound message must look as follow:
    <E1EDP01>
    <IDENTIFIER>#E1EDP01</IDENTIFIER>
    <POSEX>10</POSEX>
    <MENGE>33</MENGE>
    <MENEE>ST</MENEE>
    <E1EDP20>
    <IDENTIFIER>#E1EDP20</IDENTIFIER>
    <WMENG>33</WMENG>
    <EDATU>20050823</EDATU>
    </E1EDP20>
    </E1EDP01>
    my actuel payload looks like:
    <E1EDP01>
    <IDENTIFIER>#E1EDP01</IDENTIFIER>
    <POSEX>10</POSEX>
    <MENGE>33</MENGE>
    <MENEE>ST</MENEE>
    </E1EDP01>
    <E1EDP20>
    <IDENTIFIER>#E1EDP20</IDENTIFIER>
    <WMENG>33</WMENG>
    <EDATU>20050823</EDATU>
    </E1EDP20>
    Who can help me, with the conversion?
    Christoph

  • IDOC in Message mapping

    Hi folks,
    I am working on file to idoc scenario.   I Imported the IDOC to my scenario. In Messaga Mapping IDOC structure displaying fields as a documention. but i need techincal names of those fields.
    for Example:   In my IDOC 1 field is showing companycode but I want to see that field as a BUKRS.
    How to see the technical names of IDOC fields in Message Mapping.
    Your help is highly appreciated.
    Thanks,
    Anitha.

    Hi bavesh...
    thank you so much for very your quick responses..
    i got xsd as source..based on xsd i created external definition for source xsd  and  i created outbound interface based on source external deifinition <b>MI_OUT_WearUnits</b>.
    and i imported Idoc and exported as xsd and changed occurance to unbounded and again imported as external definition.
    i did mapping between these two external definitions.
    and i selected standard idoc for source and target interface for interface mapping  and given message mapping of previous step.
    In ID
    sender agreement :
                    sender service :BS_external
                    sender interface :<b>MI_OUT_WearUnits</b>
    receiver agreement:
                  receiver service :R/3
                  receiver interface :  standard Idoc
    Interface determination:
    sender service :BS_external
    sender interface :<b>MI_OUT_WearUnits</b>
    reciever service :R/3
    and clicked create
    inbound interface : Standard IDOc
    i am not getting Interface mapping which i created in IR.
    i tried Enhance interface determination also..
    please guide me....
    waiting for your help.
    regards
    ram

  • Problem in message Mapping SAP PI 7.1

    Hi Experts,
    I have a problem in my Message Mapping,
    Design: [Design|http://www.life-4-music.de/prob.jpg]
    Messagemapping: [MappingTest|http://www.life-4-music.de/probII.jpg]
    The Problem is, that ElementC from SourceMessage occours "0 to n" times in Element A, but I need to check every ElementC in ElementA to TargetElementA with a IF Statement.
    I tried a lot of things, like change the CONTEXT of the ELEMENT or use SPLIT BY VALUE but without success.
    Rgds,
    Steffen

    Hello, thanks a lot for the fast awnser. I tried this allready to change the Context of the Elements "system" in this Mapping: Changed Context
    For Example in one field I check for Entry "ERP" in Source Field "system" , if "ERP" is in the first ELEMENT then it will be mapped correctly: Example ERP works
    But If "ERP" is in an element below, then it doesn´t work, so it seems to be, that he only map the first occurrence of the Elements. : Example SCADA don´t work
    Here is the View of the QUEUE from the don´t working Example: Show QUEUE of not working Example
    maybe u have a tip for me again , because I´m allready desperate
    Thanks a lot.
    Rgds,
    Steffen

  • Need help on message mapping screen

    Hi folks,
    I am working on file to idoc scenario.   I Imported the IDOC to my scenario. In Messaga Mapping IDOC structure displaying fields as a documention. but i need techincal names of those fields.
    for Example:   In my IDOC 1 field is showing companycode but I want to see that field as a BUKRS.
    How to see the technical names of IDOC fields in Message Mapping.
    Your help is highly apprecia

    Hi,
    I dont think we would be able to see the data element names of the IDOC in XI. Even the imported XSD of Idoc doesnot contain data element name.
    We would be only dealing with the field names/ structure of the IDOC for field message mappings. The field names are internally mapped to the data element names in SAP R3 system.
    To view the internal mapping between field names and data element names of the Idoc fields, you can go to the transaction 'WE30'. Give the basic type of the Idoc and go to the segment editor. You can find the data element names for each field name  there.
    Thank you.
    Regards,
    Subbu

  • Issue with message mapping.

    HI All,
    I am working on a JDBC-XI-RFC scenario.
    I have two data types, two message types and two message interfaces.
    now, i have created the message mapping and mapped the fields of both sender and reciever message types.
    To test with sample data now, if i press the "test" tab, in the right side, i can see the "Instance" with the sender message type and its fields.
    Later i entered the values to test the sample.
    Affter this move, i am not able to see anything in the right side of the screen (RESULT)...
    What might be the reason for this....???
    Please help me......
    Regards
    Pavan

    Hi Pavan,
    Start Transformation button is used to execute the object. Its on the left hand bottom of the scrren, near to Trace Level you will find a button named "Start Transformation". Click on this and you will get the output once the transformation is complete.
    There is some problem in the Sender message mapping named: sender_mm | http://jdbcrfcns
    Please check where is the problem.
    Regards,
    Subhasha

  • PI 7.11: IDoc Message mapping

    Hi there,
    I'm currently working on a graphical message mapping using IDoc HRMD_A06 as source structure (HR master data transferred via PFAL).
    In my result structure I have to fill a field CostCenter with the following logic:
    If field KOSTL (cost center) is filled in node E1P0315, map this field to CostCenter in result structure, otherwise take KOSTL of node E1P0001.
    The end date (ENDDA) has to be '99991231' in each case.
    This is how the result structure looks like:
    <e>                       [1...1]
      <CostCenter>            [1...1]
    </e>
    This is the simplified source structure:
    <E1PLOGI SEGMENT="1">
      <E1PITYP SEGMENT="1">                        [0...n]
         <E1P0001 SEGMENT="1">                     [0...n]
           <INFTY>0001</INFTY>                     [0...1]
           <ENDDA>99991231</ENDDA>                 [0...1]
           <KOSTL>0000012345</KOSTL>               [0...1]
        </E1P0001>
      </E1PITYP>
      <E1PITYP SEGMENT="1">                        [0...n]
        <E1P0315 SEGMENT="1">                      [0...n]
          <INFTY>0315</INFTY>                      [0...1]
          <ENDDA>99991231</ENDDA>                  [0...1]
          <KOSTL>0000024001</KOSTL>                [0...1]
        </E1P0315>
      </E1PITYP>
    </E1PLOGI>
    How can I do the check if field KOSTL of node E1P0315 is null?
    I've tried an existence check for the whole node (E1P0315->exists), but then it fails, because all E1PITYP nodes are processed.
    I hope my problem is clear to you.
    Would it be better to use another mapping type?
    As I'm an ABAP developer, I would of course prefer some lines of code to this graphical drag&drop thing.
    Thanks in advance!

    Cheers, guys!
    I did it now like that:
    http://www.abload.de/image.php?img=mappingflknz.jpg
    Click on the image to enlarge it!
    The logic is as following (ABAP Pseudo-code ):
    IF 0315_KOSTL and 0315_ENDDA are populated.
      IF 0315_ENDDA equals '99991231'.
        map 0315_KOSTL to Cost_Center.
      ENDIF.
    ELSE.
      IF 0001_KOSTL and 0001_ENDDA are populated.
        IF 0001_ENDDA equals '99991231'.
          map 0001_KOSTL to Cost_Center.
        ENDIF.
      ENDIF.
    ENDIF.
    Is that a good way to do that mapping?
    Do I also have to use the removeContexts function or is it ok like that?
    Could I also do that with an ABAP mapping program?
    Thanks in advance!

  • Doubt in fields - message mapping (file 2 idoc scenario)

    while doing message mapping in file 2 idoc scenario, i could not able find the values for some field names
    ( i am following this wiki help
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/profile/2007/05/11/fileToIDOC& )
    cremas04 idoc
    vendorNo LIFNR
    vendor name Name1
    Pur_org   ? ( I could not able locate field with the similar desc in idoc MT side)
    Company code  ?
    Acc_Grp  ?
    Search term MCOD1
    Address ADRNR
    City ORT01
    Pin_code PSLTZ
    could you help me out with this?
    Message was edited by: praba
            praba

    hi,
    I got the answer.

  • I have a scenario,  ECC-PI-Message broker. ECC sending IDOC to  PI, PI execute mapping and  sending data to Message borker.(with almost one to one mapping)., IDOC(AAE)-PI-JMS. Now my requirement is., from PI  after mapping we need to save file in SAP fold

    I have a scenario,  ECC-PI-Message broker. ECC sending IDOC to  PI, PI execute mapping and  sends data to Message borker(thru JMS channel).(with almost one to one mapping)., IDOC(AAE)-PI-JMS. Now my requirement is., from PI  after mapping we need to create file with same data what ever send to Message broker and put the file in SAP folder without touching mapping. Is it possible? Please advise with the steps. We are using the ICO for this senario. Quick response is appriciated.

    Hi Pratik,
         http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/502991a2-45d9-2910-d99f-8aba5d79fb42?quicklink=index&overridelayout=true
    This link might help.
    regards
    Anupam

  • Message Mapping of IDOC "MATMAS.MATMAS05"

    Hi!
    I would like to execute the following message mapping for  IDoc
    MATMAS05 <--> MATMAS05.
    What are the recommended fields to map?
    Is the a button to automatically map the fields with the same names?
    Thank you very much!
    regards
    Thom

    Hi,
    you could use the button "Map Selected Fields and Substructures if Names Are Identical"
    it's explained here:
    http://help.sap.com/saphelp_nw04/helpdata/en/49/1ebc6111ea2f45a9946c702b685299/frameset.htm
    Or if you do it without a mapping:
    simple IDoc to IDoc scenario with SAP PI
    Regards
    Patrick

  • Capture message ID / IDOC numbers (IDOC-XI-HTTP)

    Hi! I am running a IDOC-XI-HTTP scenario and am trying to figure out a way to capture the XI message ID and the IDOC number to which it is linked and send this to back to the source system such that the user can see the data. This is needed to support easy follow up on issues.
    Does anyone have experience on how to grab this kind of data at runtime? I know I can output the message as a file to the filesystem but this is not an option.
    Any bright ideas would be much appreciated!
    Thx, Duncan

    Hi Prakash
    Really really helpful. Can grab the message ID now. However, I am still not my end point. Basically, my scenario is as follows:
    Source SAP --> IDOC --> XI --> Map --> XML --> External Party
    I don't want to the put the message ID in the message to the External Party but rather write it back - probably via RFC - to it source SAP system. Net, dusire scenario is as follows:
    Source SAP --> IDOC --> XI --> Map --> XML --> External Party
    + Message ID --> Source SAP
    Any ideas? Will award points for your previous reply as that already helped a whole lot.
    Thx
    Duncan

  • Create IDoc from flat file - How to do the message mapping

    Hi everybody,
    I want to create an IDoc from a flat file.
    The file structure looks like this:
    MT_XYZ
    - Node001       0...1
      - Leaf001
    - Node002       0...unbounded
       - Node003    0...1
          - Leaf002
          - Leaf003
       - Node004    0...1
          - Leaf004
       - Node005    0...1
          - Leaf005
    I have created a mapping and all the other stuff to set up the IDoc adapter.
    Now when I try to test the interface the IDoc is created properly but obviously no information from the nodes "Node003" to "Node005" is inserted in the IDoc. Only the information kept in the elements (leafs) of "Node001" are inserted.
    All IDoc segments and their "Segment" elements are linked to the root node of the file structure "MT_XYZ". I tried to link some IDoc segments only to "Node002" but then this segment is not created.
    So how can I set up the message mapping in a way that the information from "Node003" to "Node005" is transported to the IDoc? Can anyone help me here?
    Thanks in advance for all answers!
    Regards,
    Torben
    Edited by: Torben Hönemann on Dec 14, 2009 4:26 AM

    Hi Torben,
    >>I want to create an IDoc from a flat file.
    So you are using File content Conversion on the sender side. Right?
    >>no information from the nodes "Node003" to "Node005" is inserted in the IDoc.
    Are these information available in the source XML (you can check in transaction SXMB_MONI-> Input Payload).. There is a limitation in File Content Conversion of File adapter and it is that I can make an XML structure of 3 level.. Since these nodes details are in level 4 and 5 they should be missing in Source XML structure itself (after content conversion of File adapter). check that
    >>So how can I set up the message mapping in a way that the information from "Node003" to "Node005" is transported to the IDoc? Can anyone help me here?
    So you need to take an alternate approach where you do File Content Conversion and make 3 level structure.. then using a mapping convert this three level structure to your 5 level one and then try to map with the idoc.
    Check this blog for an idea
    http://www.riyaz.net/blog/xipi-file-content-conversion-for-complex-structures/
    http://www.riyaz.net/blog/xipi-convert-flat-file-to-deeply-nested-xml-structures-using-only-graphical-mapping/
    Regards
    Suraj

  • Problem in message mapping (outbound IDOC ORDERS05 from SAP R/3)

    Hi to all,
    I have an outbound interface from sap r3
    sap r3 --> XI --> ftp server
    idoc --> XI --> text file
    Using IDOC orders05
    The problem is in segment E1EDP01/E1EDP19
    Segment E1EDP01 is unbounded and i map it well. If it contains E1EDP19, works fine. But in some cases, E1EDP19 not appears at E1EDP01segments. So then XI fails at mapping:
    IDOC OUTPUT (OK)
    1-E1EDP01/E1EDP19
    2-E1EDP01
    3-E1EDP01/E1EDP19
    4-E1EDP01
    XI WRITES (FAILURE)
    1-E1EDP01/E1EDP19
    2-E1EDP01/E1EDP19 (INFORMATION FROM LINE 3)
    3-E1EDP01 (WRONG)
    4-E1EDP01 (WRONG)
    You can take a look of Mapping mode here:
    <a href="http://img505.imageshack.us/my.php?image=orders05mappingcj8.jpg">[IMG]http://img505.imageshack.us/img505/1536/orders05mappingcj8.th.jpg[/IMG]</a>
    We don't use BPM and wanna use a solution without it.
    Pls ask me for more information if necessary.
    Thanks a lot for your help; Regards

    Hi all,
    The mapping function includes an exists and a mapwithdefault.
    Now the creation of the segment is handled ok, but not as well its fields. Its unable to determine the write of the second E1EDP19 segment and it does:
    1- OK
    2- OK
    3- Writes E1EDP20 but not the 19
    4- OK
    Thanks for your interesting

  • In Idoc bundling ...message mapping not found

    Hi XI Friends..
    In my File to Idoc scenario..i want to send multiple IDOCs from the XI without a BPM .
    I am following blog by Michal.
    <a href="///people/michal.krawczyk2/blog/2005/12/04/xi-idoc-bundling--the-trick-with-the-occurance-change:///people/michal.krawczyk2/blog/2005/12/04/xi-idoc-bundling--the-trick-with-the-occurance-change
    I have xsd for source ..so i created one external definition .and message interface for outbound.
    following the above blog by michal..
    i imported  idoc ..and i exported that idoc into xsd and i changed the occurance of idoc to unbounded and again imported as external definition.
    i created  the message mapping between these two external definitions.and tested ..
    As in michal 's blog..
    In Interface mapping..i given source and target interface as standard idoc.and clicked on Read interface then i am not finding  the message mapping created in previous step..
    i refreshed cache also..
    please guide me.....
    regards
    ram

    Hi bavesh...
    thank you so much for very your quick responses..
    i got xsd as source..based on xsd i created external definition for source xsd  and  i created outbound interface based on source external deifinition <b>MI_OUT_WearUnits</b>.
    and i imported Idoc and exported as xsd and changed occurance to unbounded and again imported as external definition.
    i did mapping between these two external definitions.
    and i selected standard idoc for source and target interface for interface mapping  and given message mapping of previous step.
    In ID
    sender agreement :
                    sender service :BS_external
                    sender interface :<b>MI_OUT_WearUnits</b>
    receiver agreement:
                  receiver service :R/3
                  receiver interface :  standard Idoc
    Interface determination:
    sender service :BS_external
    sender interface :<b>MI_OUT_WearUnits</b>
    reciever service :R/3
    and clicked create
    inbound interface : Standard IDOc
    i am not getting Interface mapping which i created in IR.
    i tried Enhance interface determination also..
    please guide me....
    waiting for your help.
    regards
    ram

  • Error in message mapping of IDoC Invoic02

    Hi,
    i have imported the invoic02 idoc into PI system. i have mapped the required field os idoc with standard XSD which is imported through ED. I'm able to most of the fields with idoc and XSD. however, some of the node in xsd are repaeting.
    so here the part of xsd with which i'm mapping.
    (first_node)ListOfTaxSummary                      0..1
    (second_parent_node)TaxSummary                   1..unboubed
    (child_node) tax                                 1..1
    (element)TaxAmount                                0..1
    (element)TaxCategoryCoded                         0..1
    here the i have mapped  ListOfTaxSummary    with the idoc node E1EDS01
    TaxSummary  with E1EDS01
    tax with E1EDS01.
    i tried all possibilities with different mapping. but i'm able to get the tax node under taxsummary with the element. the problem its been repeated as  E1EDS01 idoc repeats.
    please help us in solving this problem.
    Thanks
    Kind regards,
    Lalitkumar.

    Could someone tell me is there any relation for the above error in XML messages and to the message mapping?
    The error mentions that you have used an IDOC in your mapping program which is not found in the ESR....you need to check if the IDOC is present in the ESR and is present under the correct SWCV.
    Once you have done the check do some dummy change to the mapping and activate it (if in DEV) and then check the CACHE.

Maybe you are looking for

  • Will this hard drive work/fit in my macbook 5.1

    http://www.newegg.ca/Product/Product.aspx?Item=N82E16822152234 I have a macbook 5.1 with a 160GB harddrive and I was thinking about upgrading it a bit. I would prefer a 320GB/500GB harddrive that would work, but my friend said this one might too. If

  • New search feature in iOS 4.2 not working

    The new search feature is not working because my search box says "Google" and defaults to a Google search. How do I get the "search" box to replace the "Google" box?

  • Keys in the table

    I am new to writing SQL queries to pull the data from more than one table. how many keys can a table have. Can there be a combination of more than one key to identify a unique record in a table. How will I know which keys should be used to join the t

  • Client copy cancelled in postprocessing phase

    Dear experts, could you please suggest me: I've copied client from QAS system to DEV system with SAP_ALL profile. All tables were imported successfully. But during postprocessing phase process was cancelled due to rdisp/max_wprun_time. Program SBDLS3

  • Mail will not stop loading, twirling rainbow icon will not stop, cannot close mail application then.

    Just downloaded OS X Mountain Lion and on my Mac Book Pro (mid 2009).  When I select the mail application this problem occurs: the rainbow icon that twirls will not stop, and then I cannot close the mail program at all.  No clue what to do next, than