Reg:Mapping  (IDOc Segment)

Hi Guys,
In my mapping has many segmants at sender but i need to map one field from one segment to one target filed thats fine if ,but i want to map same fields from all segments to target field.
please give me solution
Thanks

In my mapping has many segmants at sender but i need to map one field from one segment to
one target filed thats fine if ,but i want to map same fields from all segments to target field.
If your Target Field is 0..unbounded then you can duplicate the target node and then map each node to each of the source node
If your target node is 0...unbounded and you dont know how many times the source node is going to repeat then just directly map the source node to target...so that target will repeat as many time as the source repeats....
If your Target node is 0..1...then make sure that the parent node containing this node is repeating....map the source node to the parent node and also to the target node.....you will need to increase the Context of the source node in this case....when you map it to the parent node...
Regards,
Abhishek.

Similar Messages

  • How to map idoc segment field E1IDB02-FIIKONTO with BSEG-ESRNR.

    Hi,
    I have searched for lot of threads in the forum , and also i tried myself but i am not able to map this fields segment with my logic, so please anyone kindly contribute in mapping idoc segment field  with the logic given below:
    idoc type :PAYEXT  outbound idoc.
    message type: PEXR2002
    This is my logic: i need to populate the ISR number(BSEG-ESRNR  ) in idoc segment field( E1IDB02-FIIKONTO)
    DATA : str1 TYPE string,
          len1  TYPE i,
          len2  TYPE i,
          str2  TYPE string,
          str3  TYPE string.
    str1 = '01-1234-4'. ---> BSEG-ESRNR  "ISR Subscriber Number
    REPLACE FIRST OCCURRENCE OF '-' IN str1 WITH '_'.
    REPLACE ALL OCCURRENCES OF  '-' IN str1 WITH space.
    CONDENSE str1.
    len1 = STRLEN( str1 ).
    IF len1 LT '9'.
    len2 = '9' - len1.
    CASE len2.
       WHEN '1'.
         REPLACE ALL OCCURRENCES OF '_' IN str1 WITH '00'.
       WHEN '2'.
         REPLACE ALL OCCURRENCES OF '_' IN str1 WITH '000'.
       WHEN '3'.
         REPLACE ALL OCCURRENCES OF '_' IN str1 WITH '0000'.
       WHEN '4'.
         REPLACE ALL OCCURRENCES OF '_' IN str1 WITH '000000'.
       WHEN OTHERS.
    ENDCASE.
    ELSEIF len1 EQ '9'.
    REPLACE ALL OCCURRENCES OF '_' IN str1 WITH '0'.
    ELSEIF len1 GT '9'.
    REPLACE ALL OCCURRENCES OF '_' IN str1 WITH space.
    CONDENSE str1.
    ENDIF.
    Thanks in Advance.

    Resolved.

  • How to map idoc segments to multiple output structures

    Dear experts,
    On Pi I need to map segments from an Idoc to 2 different outputstructures. My scenario is as follows:
    incoming Idoc on PI -> if segment eq 'X' then map to outputstructure '1'; if segment eq 'Y' then map to outputstructure '2'
    Idoc structure is as follows:
    - 1 header segment
    - 1..n detail segments (which I need to map to outputstructure 1)
    - 1 summarisation segment (which I need to map to outputstructure 2)
    Output needs to be a .txt file.
    I would like to use the graphical message mapping on PI, how can I map the Idoc to multiple output structures?
    Thanks in advance,
    William

    Hi
    You can do 1:n multimapping
    in message mapping in messages tab ..add both the structures in target tab and do the mapping
    and in operation mapping add both the message interface on the target side
    PLease go through this blog
    /people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible

  • How to map IDoc segment with qualifiers

    Hi everyone!
    I have the following problem: In an IDoc of type DESADV01 there can be several segments of type E2EDS01. Each segment has a different qualifier, which is the value of the field SUMID in this case. My target structure (type EDIFACT) now has several segments, each again with a sort of qualifier. Now I have to map the values of certain source segments to the respective target segments.
    Exaple (in XML format):
    Source
      <E1EDS01 SEGMENT="1">
        <SUMID>021</SUMID>
        <SUMME>0000000001.000</SUMME>
        <SUNIT>KGM</SUNIT>
      </E1EDS01>
      <E1EDS01 SEGMENT="1">
        <SUMID>022</SUMID>
        <SUMME>0000000001.000</SUMME>
        <SUNIT>KGM</SUNIT>
      </E1EDS01>
    Target
      <S_MEA>
        <C_C502>
          <D_6313>N</D_6313>
        </C_C502>
        <C_C174>
          <D_6411>KGM</D_6411>
          <D_6314>1</D_6314>
        </C_C174>
      </S_MEA>
      <S_MEA>
        <C_C502>
          <D_6313>G</D_6313>
        </C_C502>
        <C_C174>
          <D_6411>KGM</D_6411>
          <D_6314>1</D_6314>
        </C_C174>
      </S_MEA>
    (i have omitted several details here, but I'm only interested in the general procedure anyway).
    So in general the source segment with qualifier "021" should be mapped to a target structure with qualifier "N" etc.
    How can this be done using standard XI mapping techniques?
    Regards, Joerg

    Hi everyone!
    Thanks for your input data - unfortunately this wasn't quite what I was looking for. However I thik I solved my original problem and I just wanted to share this solution with you - maybe it helps others, maybe some of you have suggestions what I could do differently.
    To sum up the requirement: There can be multiple input segments, each with a certain qualifier. These input segments have to be mapped to the target segments, respectively - however, the qualifiers change. There can be several segments with qualifiers that do not match the requirement, and required segments might be missing.
    So here's what I came up with:
    Use the qualifier of the source segments as an input to a <b>FixValues</b> function. In this function, map the desired qualifiers to the value <b>true</b>, use <b>false</b> as the default value. Map the output of the <b>FixValues</b> function to a <b>createIf</b> function and use this to create the desired output segment. This way, for each of the required segments, one target segment will be created. All other segments (with unwanted qualifiers) will be removed.
    So far, this technique worked for me - do you have improvements/suggestions?
    Regards, Joerg

  • 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

  • Leaving mapped idoc segments out of plain text output

    Hello all,
    I mapped a customer IDoc with one header and detail lines to a message maping with one header and detail lines. The value's in the header are used for variable substitution for the file name.
    The has to be writen as csv to a ftp server. I do this by using the file content conversion. Now I only want the detail lines to be written to the file so I only mensioned the detail line as the record set structure.
    When I look at the output the header is stil part of the csv file.
    Is there a way to prevent the header line being part of the output ? (of course without deleating it from the message type structure)
    Regards,
    Jasper

    check this link
    http://help.sap.com/saphelp_nw04/helpdata/en/1d/756b3c0d592c7fe10000000a11405a/frameset.htm
    Try Using the following
    Customer.addHeaderLine = 0
    Customer is the structure here.
    Reward if helpful.
    Sachin

  • Inbound idocs segment fields

    Hi,
    Iam new to idocs and a functional consultant. I need to know whenever we receive the inbound idocs and if i see the segments of the inbound idoc, do the fields which i see in the segments are the sap fields.????/ for instance if the inbound idoc needs to create a sales order, then the fields of the segments of such an inbound idoc are the normal sap sales order fields ??
    do i need to give functional specs to the abapers that whenever the inbound idocs is received the segments fields need to be mapped to sales order fields if such an idoc needs to create a sales order ??
    regards
    sachin

    Hi Sachin,
    Most of the IDoc segment fields are simmilar to SAP transaction fields e.g. most of the ORDERS IDoc segment fields will be simmilar to what you can see in VA01/VA02 screen fields.
    Some fields may have different names.
    In the case of few segments which may repeate in IDoc with different qualifiers (such as partner details, date segments), fields will be same but different qualifier value decides where these field values will be populated in the Order.
    If you are using standard function module to create Order, it will take care of mapping IDoc segment fields to VA01/VA02 screen fields. But if it is a Z function module, then you need to specify the mapping.
    Hope this information will help you.
    Regards,
    Mahesh Pakhale

  • Mapping multi-segment IDOC to multiple JDBC INSERT statements

    Hi Everyone,
    This is probably going to be easy for the experienced PI developers out there but I'm just starting out in this technology. We are running PI 1.11 and the scenario is as follows. We have a bespoke IDOC message type ZSTOCK which can contain 1-many segments with the following field content:
    WERKS
    MATNR
    VBELN
    ACT_LABST
    AVL_LABST
    For each segment in the source IDOC, I want to generate an INSERT statement to insert a row in an SQL table via the JDBC adapter with the following columns:
    Plant
    Material
    SalesOrd
    ActStock
    AvlStock
    Basically, each field on the source IDOC segment maps directly onto the target column of the SQL table. The problem is, on a multi-segment IDOC only the first segment is generating a row in the SQL table. I've seen a number of threads on this forum that seem to tackle the same issue but the solution is either missing or unclear. I think the solution lies somwhere in the occurrences of the STATEMENT node in my target message type and perhaps specific definitions in the message mapping. Can anyone help solve this mystery?
    Thanks,
    Gary

    Hi Gary
    If you created a data type, try to change occurrence of STATEMENT node to 0..unbounded or 1..unbounded.
    In the message mapping, map the target STATEMENT node with the source 1-many segment.
    You can find [here|http://help.sap.com/saphelp_nw70/helpdata/en/4d/8c103e05df2e4b95cbcc68fed61705/content.htm] more informations about the JDBC structure
    Regards,
    Giuseppe

  • IDOC Segment mapping change

    Hi,
    How can i change the field attached to a IDOC segment.
    Actually we have this Invoice IDOC,in which the E1EDK03 012(Qualifier) is passing the IDOC creation date instead of Billing date.
    So i need to change this mapping to Billing date.
    Please help.

    Hi Salz,
    I just checked my version of SAP (4.7) and you should get an invoice date.  Check out the subroutine FILL_E1EDK03 in function module IDOC_OUTPUT_INVOIC.  The first section of this code creates an E1EDK03 segment with the invoice date (if there is an invoice date), with qualifyer 026.
    Is there a possibility that in fact you are getting an E1EDK03 segment with the invoice date, but you are also getting other E1EDK03 segments (such as the one you mention with qualifyer 012) and they are obscuring the one you are looking for?
    If there are definitely none being created then can I suggest that you debug the subroutine FILL_E1EDK03 in function module IDOC_OUTPUT_INVOIC to check what is happening.  You may need to change the timing of your output record to 1 and run the program RSNAST00 online to get the breakpoint to be hit correctly. 
    If, in your version, the code doesn't include this date, then you have an exit function module EXIT_SAPLVEDF_002 (called via the subroutine CUSTOMER_FUNCTION in function module IDOC_OUTPUT_INVOIC) where you can actually add your own segment data.  For example you an change the contents of an existing segment (as per your original request), or append your own E1EDK03 segment with your own data.  I would recommend adding your own segment rather than changing whats there.
    It is possible to extend idocs to add your own custom segments (eg Z1EDK03), but I wouldn't recommend it in your case, because in later versions of SAP the date is provided and by not creating a new segment (Z1EDK03) you will have no mapping changes to do when you upgrade.  You can just delete your userexit code.
    Hope that all makes sense and helps you with your problem.
    Cheers,
    Brad

  • XI Mapping to Idoc - Multiple Identical Idoc Segments

    I am debuuging XI mapping. I see the same idoc segments in the mapping multiple times. However, the way the fields are mapped in each one is different.
    Why? Is this to handle different scenarios?
    Thanks.

    in IDOCs each segment could occur multiple times. Lets say if its a address segment, u could see it multiple times for billing, shipping etc etc. so, depending on business logic the mapping will change. Some fields you'll map to one segment and some fields to some other segment.
    --Archana

  • Mapping Items in XML string to multiple IDOC segments

    I would like to map an XML tag  <Text>Line1Line2Line3Line4</Text>
    to an IDOC segment E1ED1TEXT . Defined as occurring 0 to 999999.
    I would like to map each item separated by a tilde into a separate occurence of the IDOC text segment. Is ther anyway to repeat the mapping without duplicating the subtree.
    E1ED1TEXT
    Text_Id - "ZTXT"
    Text_Line = Line1
    E1ED1TEXT
    Text_Id - "ZTXT"
    Text_Line = Line2
    E1ED1TEXT
    Text_Id - "ZTXT"
    Text_Line = Line3

    Hello,
    This is only possible using UDF
    mapping is like this:
    Text -> UDF -> splitByValue:eachValue -> Text_Id
    UDF is of context type
    argument is input
    String temp[] = input[0].split("~");
    for(int a=0;a<temp.length;a++){
    result.addValue(temp[a]);
    Hope this helps,
    Mark

  • Inbound Invoice idoc segment feilds mapping to SAP feilds

    Hi,
    Could you please help me to find out the tables and feilds in SAP for the inbound invoice idoc type INVOIC01. I need to map the idoc segment fields with SAP fields and respective tables.
    Thanks in Advance
    Satish

    Hi Satish,
    That's quite a big case to get such mapping - why would you need it really? You can process Idoc with std process codes and you will see the std mapping then happening.
    You can also go through logic of processing modules:
    Function Module Name          Short text for function module
    IDOC_INPUT_INVOIC_FI           EDI: Invoice Receipt (INVOICE)
    IDOC_INPUT_INVOIC_MM           EDI: Invoice Receipt (INVOICE)
    IDOC_INPUT_INVOIC_MRM
    For sure you will get RBKP for header, RSEG for items, RBTX for taxes and some more, depending on what you get in the invoice and what are your booking and matching processes.
    Best Regards,
    Tomek

  • Reg IDOC Segments

    Hi All,
    Could you please anybody assist me, My requirement is to identfying Idoc segment which contains 'Source List' (ME01)information.
    For example: Segment E1MARAM Contains Material Master data.
    If anybody knows please assist me. Thanks in advance.
    Thanks & Regards.
    Reddy Prasad.

    hi,
    segments for source list.
    E1EORDH                     Source List: Header Data
    E1EORDM     Source List Record

  • Abap mapping - IDoc structure

    Hi,
    I realize an Abap mapping for "IDoc -> XI -> File" and I want to "play" with idoc segments and idoc fields...
    Thus in my coding, I need to define some internal structures which are exactly the same than IDoc segments (e.g E2LFA1M for supplier).
    Such a structure exists in R/3 (cf. tcode SE11), but this one does NOT exist in XI. It seems there is only the table IDXEDSAPPL with the list of all fields for one segment.
    Is is possible to import and use directly this structure (e.g E2LFA1M) from R/3 to XI ?
    or must I define manually in my code the same structure than in R/3 ?
    Regards.
    Mickael

    Hi Mickael,
    I have the same problem.
    How did you solve this problem?
    Regards
    Elsa

  • Mapping idoc to flat file

    Hi Friends
    I Have to map one idoc to cvs flat  file , the file structure has 10 fields , those 10 fields have to be repeated as many times as there is segments in the idoc for instance
    the first line takes segmenta A and the second line takes segment B and so on
    segment A goes to line 1  f1 f2 f3 f4 f5 f6 f7 f8 f9 f10
    segment B goes to line 2  f1 f2 f3 f4 f5 f6 f7 f8 f9 f10
    segment n goes to line n   f1 f2 f3 f4 f5 f6 f7 f8 f9 f10
    how ca I best do that and does any one have a solution example.
    many thanks in advance.

    Do like this,
    Create the target structure like this:
    <b>Records</b>     with 0.....unbound
    -<b>Line1</b>      with 0---unbound
    Field1   with 0:1
    Field2   with 0:1
    Field3   with 0:1 (and so on...upto Filed10)
    ---<b>Line2</b>
    Field1   with 0:1
    Field2   with 0:1
    Field3   with 0:1 (and so on upto Field10)
    uto n..
    Now map the IDOC segments to Line1, Line2...upto n.. & aslo map the respective fields of idoc to field1, field2, and so on....
    Use FCC in ID to convert it into CSV see the below mentioned blog.
    <b>File Receiver with Content Conversion</b>
    /people/arpit.seth/blog/2005/06/02/file-receiver-with-content-conversion
    I hope it will help you to get your result.
    Regards,
    Sarvesh
    ****Rewards Points for helpful ans..

Maybe you are looking for

  • How do I increase the resolution of the texturization preview window?

    Hello, Illustrator noob here with a question regarding the texturization window. For some reason, every texture included (as well as one that I made in Photoshop), shows up in the Texturization window with a resolution of  about 20 x 20 pixels. Even

  • Java.security.ProviderException: unable to parse algorithm params.

    java.security.ProviderException: unable to parse algorithm params. Anyone any idea how to get around this problem? Is it something to do with the java.security file?

  • ITunes won't stay minimised

    anyone else experiencing iTunes not staying minimised either to the system tray or the taskbar in Vista? .. I keep minimising it and it keeps popping back up again (just when you least expect it) - get's to be quite irritating when you're trying to d

  • SSIS package truncating fields only from certain machines

    I created an SSIS package that fails based on one field being truncated, but ONLY if run from one particular workstation. We have two VM Workstations, A and B, and the database server, C.  The SSIS package takes data from an Excel file and loads it i

  • Problem with spam filter on my macbook air mail app

    My spam filter just stopped working one day- lots of messages getting through.  I tried monkeying around with the preferences but have not seen any results.  I don't actually know what all the setting s mean so I have probably messed it up good.  Ple