Mapping multiple source fields to one target field

Hi,
I'd like to take the XML content fromy my outbound message and put this into a single field within my inbound message.
Please can someone suggest a suitable XSL mapping or user defined function I could use to achieve this.
Thanks,
Alan

Hi,
OK, so I now have the XML data in one wrapper tag called inbound but when this is passed to the inbound ABAP proxy I obtain the error as listed below.
Any ideas how I overcome this?
XML payload
<?xml version="1.0" encoding="UTF-8" ?>
  <inbound>
  <![CDATA[ <n0:outbound xmlns:n0="http://homeoffice.gov.uk/immigration/migrant/cas/bulk-cas-re" xmlns:prx="urn:sap.com:proxy:NUD:/1SAI/TASDBA95DB1CF1834B8939A:700:2008/06/25"><ApplicantID>123</ApplicantID><FamilyName>Bloggs</FamilyName><GivenName>Blogs</GivenName><Nationality>GB</Nationality><Gender>1</Gender><CountryOfBirth>GB</CountryOfBirth><PlaceOfBirth>Gloucester</PlaceOfBirth><DateOfBirth><FullDate>1976-06-23</FullDate></DateOfBirth><ApplicantPassportOrTravelDocumentNumber>123</ApplicantPassportOrTravelDocumentNumber></n0:outbound>
  ]]>
  </inbound>
Error
Error during XML => ABAP conversion (Request Message; error ID: CX_ST_MATCH_ELEMENT; (/1SAI/TXS2EC9427C9FBC1EDCA9A0 XML Bytepos.: 48 XML Path: inbound(1) Error Text: System expected the element 'inbound')) System expected the element 'inbound'
Thanks,
Alan

Similar Messages

  • Mapping multiple source value to one target value in value mapping

    Hello experts,
    In my scenario, i need to map more than one source value to one target value in value mapping. Like:
    1        TenderPickup
    2        TenderLoan
    7        TenderPickup
    101     TenderPickup
    102     TenderLoan
    107     TenderPickup
    But when I enter the same target value for the second time and try to save it, it gives me an error saying value mapping already exists.
    But this should logically be allowed. How can this be done. Please provide a solution.
    Thanks,
    Yash

    Hi Prabhu,
    When i right click on the target field, it gives me only 3 options:
    1) Insert Row
    2) Delete Value Mapping
    3) Value Mapping in all agencies
    I dont see nay option for duplicating rows.
    What I hae done is in ID i clicked on TOOLS and then VALUE MAPPING. I checked the option "Value Mapping Agencies" and gave my source and target agencies detials. Then i clicked on DISPLY and in the next page I have 3 columns - Value for <source agency>, Value for <target agency> and Group name.
    When I give duplicate values in the column Vlaue for <target agency>, it doesnt allow me to and if i right click in this column, i get the above mentioend options.
    Please point out where i m going wrong.
    Thanks,
    Yash

  • Issue-Mapping Multiple Source Occurence to Single Target Occurence

    Hi Gurus,
    I have a requirement where the source has occurence 0 to 4 where as the target has occurence 1 to 1 .
    Let the source segment be S where the child elements for S are S1 and S2 .
    S1 takes the values 1 , 2 & 3 .
    S2 takes the values X , Y & Z .
    I need to map S2 to target field T1 if and only if S1 has the value "2" .
    How can we achieve this ? I tried using the node functions but couldn't achive as i want the 2nd value of S2 from the given set of values ( X , Y & Z ) .
    Please help me out in this issue.
    Thanks in advance .
    Regards,
    Sarat

    Hi,
    You can use this mapping:
    S1 --> removeContext --> equalsS --> ifWithoutElse --> removeContext (used to remove suppressed values) --> T1
    constant: 2 -
    > / ____________/
    S2 > removeContext--
    > /
    Hope this helps,
    Edited by: Mark Dihiansan on Nov 11, 2009 1:44 PM

  • How to map multiple source structures to single target structure

    Hi all,
    I have the scenario of 2 input files so i am using BPM for it. I have created the message types of the 3 input files. I have to finally generate an XML file which will contain the data of all the 2 files. That is i have to do 3:1 mapping.
    Source Structure of File 1:
    <b>DT_PWC_Customer</b>
    <i>RECORDSET</i>
      <u>CUSTOMER</u>
       <i><b>REF_NO</b></i>
       <i><b>CUSTOMER_NO</b></i>
    Source Structure of File 2:
    <b>DT_PWC_Customer</b>
    <i>RECORDSET</i>
      <u>METER</u>
       <i><b>REF_NO
       METER_NO</b></i>
    Target Structure of Final Output File:
    <b>DT_PWC_CustomerMeterData</b>
    <i>RECORDSET</i>
      <u>CUSTOMER_METER</u>
       <i><b>REF_NO
       CUSTOMER_NO
       METER_NO</b></i>
    Above nodes i have shown in a heirarchical order..nodes with same indentation are at same level.
    Can anybody tell me how to do this mapping in IR in graphical editor.
    RAJEEV GUPTA

    Hi,
    To elaborate my requirement, I want to tell that since i will be having 2 input files- one for Customer & one for Meter. I want to finally generate one XML file which will have data from both these 2 input files. That is, if Customer file has 3 records(3 REF_NO, 3 CUSTOMER_NO) and Meter file has 4 records(4 REF_NO, 4 METER_NO), the final output XML file  will   have 7 records(7 REF_NO, 3 CUSTOMER_NO,4 METER_NO).
    Thanks,
    Rajeev Gupta

  • Message mapping - Map 2 source contexts into one target context

    Hi,
    I have an issue as follows:
    Source context 1 (defined as 1.....unbounded)
    Source context 2 (defined as 1.....unbounded)
    Target context 1 (defined as 1.....unbounded)
    I need to map both source contexts into the single target contexts.
    For example....
    Source context 1 has 3 entries
    Source context 2 has 2 entries
    Target context would have 5 entries in total (Source context 1 and Source context 2)
    I have only limited knowledge of working with multiple contexts so need a bit of advice.
    Can someone provide an easy way to do this ? I'm sure there is.
    Cheers
    Colin.

    The answer is quite simple.
    Right-click on the target node in the mapping editor and select the option "duplicate subtree".
    You will then have two destination nodes.
    Now you can map source1 to target1 and source2 to target2

  • 6 IF-THEN and OR conditions for one target field mapping

    Hi Mapping experts,
    I have a validation condition involving 2 source fields and 1 target field only, however the number of conditions is 6 (OR)
    Source Fields:
    TYPE
    PONUM
    Target Field:
    BELNR
    If TYPE = 1st value   then   BELNR = PONUM substring (0, 8)  0=start position, 8=character count
    OR
    If TYPE = 2nd value   then   BELNR = PONUM substring (2, 8)
    OR
    if TYPE = 3rd value  then  BELNR = PONUM substring (4, 8) ..........  up to the 6th Validation Condition.
    When I do this using graphical mapping only (multiple IF-THEN and OR's) the validation is successful only on the 1st IF-THEN statement, then it passes the substringed value to the 1st OR function.....    When I "Display Queue" the 1st OR function the substringed value is taken as null (or:in1 <null>)  Is this because OR function is expecting Input as "True or False" value only and not a string value?
    For my requirement above, can I achieve this using graphical mapping only?    or do I have to use UDF for this?
    If it's better to use UDF for this, would anyone give me a jumpstart on the code?  (I have no experience yet in UDFs)
    Thanks, and hoping that somebody will respond accurately and completely.

    Create UDF with two inputs as TYPE & PONUM and use bleow code there..
    String out = "";
    if( TYPE.equals("1"))
    out = PONUM.substring(0,8);
    return out;
    else if( TYPE.equals("2"))
    out = PONUM.substring (2,8);
    return out;
    else if( TYPE.equals("3"))
    out = PONUM.substring (4,8);
    return out;
    else if( TYPE.equals("4"))
    out = PONUM.substring (4,8);
    return out;
    else if( TYPE.equals("5"))
    out = PONUM.substring (4,8);
    return out;
    else if( TYPE.equals("6"))
    out = PONUM.substring (4,8);
    return out;
    return "";
    Note: change the substring range as per your need in above code.
    Now do your mapping as shown below
    TYPE ------>|
                | -----> UDF ---> BELNR
    PONUM----->|

  • Source selection derived from target field Cons Chart of Accts is empty

    Dear,
    When I run the LDS, The system issues this error message :
    "Source selection derived from target field Cons Chart of Accts is empty"
    Although, mapping of Cons Chart of Accts   in LDS for this method is defined as constant value.
    I can't load data from raw data cube. What can be the reason ?
    Thanks,

    Source selection derived from target field Cons Chart of Accts is empty
    Message no. UCT8257
    Diagnosis
    The system derives the source selection from the selection for target field Cons Chart of Accts. The resulting source selection is empty.
    System Response
    The system cannot read any source data.
    Procedure
    Examine the mapping rule for field Cons Chart of Accts. Make sure that the inversion of the mapping rule does not produce an empty selection or lead to conflicting values.

  • Combine two date field into one timestamp field

    Hello all,
    I need help combining two date fields into one timestamp field.
    I have separate Date and Milliseconds fields and want to
    combine to one Timestamp field can some suggest sql???

    This is my data
    01 JAN 1989 12:01:00.001 AM
    this is my insert drag_time is a timestamp field in another schema
    INSERT
    INTO DRAG (drag_time)
    SELECT to_char(drag_time, 'DD MON YYYY HH12:MI:SS')||(drag_second)||to_char(drag_time, ' AM')
    FROM sa.drag;
    This is the error
    ERROR at line 3:
    ORA-01855: AM/A.M. or PM/P.M. required

  • Mapping Multiple Source fields to Single Target Fields with differnt Values

    Hello Friends,
    I am having a senario  where I have to mapped multiple fileds from source str. to same Idoc Fields with ( differnt default values )
    E.g Source Str.
    - ShopNO
    - OrderTyp
    Has to mapped to Idoc Str E1EDK14-Orgid.
    E.g Mapping:
    So when ShopNo will mapped to E1EDK14-Orgid the default value should be "MOP" & E1EDK14-Qualf should be 019
    and when OrderType will be mapped to E1EDK14-Orgid the default value should be "STD" & E1EDK14-Qualf should be 012
    So I tried of using node "UseOneAsMany".....but there I cant define the vaule of field orgid, and seconly how to specify the values of field Qualf?
    Do i need to write my own specify function ? or I can sovle this issue using standard avaiable functions ?
    Regards,

    Hi Ravi,
    Thanks for your reply....
    I am facing following problem... when I try to duplicate the segment and do mapping....... and then when I save, I got following error msg:
    The source or target structure has been changed or could not be found in the Integration Repository. The mapping definition contains elements or attributes that do not exist in the changed structure. The relevant entries will be deleted
    Target structure has no such path: /ZARVO_ORD/IDOC/E1EDK05[1]/KSCHL. Skipping mapping
    Target structure has no such path: /ZARVO_ORD/IDOC/E1EDK05[1]/KRATE. Skipping mapping
    Any suggestion ?
    in other words, when I do duplicate it creates me the segment, but when I save it, it gets disappered .........
    Regards,
    Edited by: Shah H on Oct 26, 2009 3:17 PM

  • Mapping Issue. Parsing problem to target Fields based on condition.

    Hi All,
    File to Idoc scenario.
    My file looks like below.
    HD 89650 28/01/11 "Presciber tan"
    AF "disc-rsn"
    RK "007287001" A
    KE disc-code "007287"
    KE addr-num "001"
    DF fax-num ""
    DF in-out "I"
    DF phone-2 "23221"
    AF "drs"
    RK "007287" A
    KE dr-num "00221"
    KE addr-num "001"
    DF affil "OPSM"
    DF rec-stat "A"
    DF phone-2 "12444"
    AF "disc-rsn"
    RK "dr-addraddress-1 17287|1EN" A
    KE disc-code "008287"
    KE field-name "address-1"
    KE element " 1"
    DF in-out "I"
    DF phone-2 "1232"
    DF post-code "3109"
    DF provider-num "5349201J"
    DF rec-stat "A"
    T         24
    I need to capture and create target segments only for the values "AF "disc-rsn"".And pass all the relavant rows (RK,KE,DF...) which are under "AF "disc-rsn"" to the target fields.
    I'm struggling to parse the value to the output structure as RK,KE,DF will be present under anywhere like "AF drs", "AF disc-rsn" etc.
    I'm able to create the target segments (2 Zdisc segments as 2 "AF disc-rsn" present in the file), but unable to parse the field values to the target fields.
    Ex: DF phone-2 is present in 8th, 15th,22nd row. I need to pass only 8th and 22nd rows to the target fields.
    After content conversion, My Source XML looks like below.
    <?xml version="1.0" encoding="utf-8" ?>
    - <MT_DiscountDetails>
    - <HD>
      <KeyField>HD</KeyField>
      <HDRow>89650 28/01/11 "Presciber tan"</HDRow>
      </HD>
    - <AF>
      <KeyField>AF</KeyField>
      <AFRow>"disc-rsn"</AFRow>
      </AF>
    - <RK>
      <KeyField>RK</KeyField>
      <RKRow>"007287001" A</RKRow>
      </RK>
    - <KE>
      <KeyField>KE</KeyField>
      <KERow>disc-code "007287"</KERow>
      </KE>
    - <KE>
      <KeyField>KE</KeyField>
      <KERow>addr-num "001"</KERow>
      </KE>
    - <DF>
      <KeyField>DF</KeyField>
      <DFRow>fax-num ""</DFRow>
      </DF>
    - <DF>
      <KeyField>DF</KeyField>
      <DFRow>in-out "I"</DFRow>
      </DF>
    - <DF>
    Is there any way I can acheive my  mapping based on the above condition?? Kindly suggest me.
    Thank you for your time.
    Regards
    Deepthi

    Not required. Using Java function. Solved the issue.

  • Mapping Issue with 7 source tables and one target table in one step

    Hi,
    Request for a small help in OWB.
    I am trying to map 7 source tables to a single target table in one step.These source tables are in Oracle 10G database but dont have PK and FK relation ship.
    I am able to link one table to the target by pointing some of the columns. But when coming to the second table it is giving some error message :
    Ap18003: Connection target attribute group is already connected to a incompatible data source. Use a joiner or set operator to join the upstream data first before connection it to this operator.
    As per the error message I used a Join operator and tried to map the second table to the target but still giving me the same error message. Could some body give me a hand to give out from this step.
    Thanks for your help in advance.
    Cheers,
    Krishna.

    Hi,
    like this:
    Ingroup1
    - id -> Number(9,0)
    - name -> VARCHAR2(500)
    Ingroup2
    - my_id -> Number(9,0)
    - name -> VARCHAR2(500)
    Outgroup
    - id -> point to target_table.id
    - name -> point to target_table.name
    Not:
    Ingroup1
    - id -> Number(9,0)
    - name -> VARCHAR2(500)
    Ingroup2
    - name -> VARCHAR2(500)
    - my_id -> VARCHAR2(9)
    Regards
    Detlef
    null

  • Multiple source values to single target in value mapping

    Hi Experts,
    I have to acheive below thing using value mapping.
    Source                        Target
    ABC                            111
    CBA                            111
    XYZ                             222
    ZYX                             222
    When I am trying to do this in ID, It is not allowing me.
    Is there a way to do this?
    Regards,
    Prasad

    Source            Target
      ABC               111
      CBA               111
      XYZ               222
      ZYX               222
    For the above source and target you have to create 2 value mapping groups.
    In more detail I want to say is,
    1. Just create your value mapping by using Source & target Agency & Schema.
    2. Create your first value mapping group which will return the traget value as '111'.
    3. Create your second value mapping group within the same  Agency & Schema which will return you '222'.
    While creating it If get any warning just ignore it..
    Note: You can add multiple value mapping groups if you have different outputs for different sources.
    Regards,
    Sarvesh

  • PROBLEM  TRANSFERRING   MULTIPLE   DATA  ENTRIES    FOR  ONE KEY-FIELD.

    DEAR   EXPERTS ,
       I  HAVE  TRANSFERRED  DATA  FROM  THE  FINAL  INTERNAL  TABLE  OF  MY  ABAP REPORT (NOT ALV)  TO  CUSTOM  Z-TABLE  CREATED  IN  SE11.
    BUT  MY  PROBLEM  IS  :  I   COULD  NOT   TRANSFER  MULTIPLE   DATA  ENTRIES   FOR  A  PARTICULAR  FIELD.
    FOR  EXAMPLE :  IN  TABLE  EKKO  THERE  ARE   FOUR  EBELN-4900006375  AND  FOR  THAT  DIFFERENT  EBELP S  ARE
    PRESENT.  I  COULD  TRANSFER  ONLY  THE  FIRST  ENTRY ,  THAT  IS :  EBELN -  4900006375  AND   EBELP - 0010,
    AFTER  THAT  THE  ZTABLE  IS  NOT  GETTING  UPDATED  TO  EBELN-4900006375 FOR  EBELP - 0020  AND  SO ON.
    I  HAVE  TRIED  ALL  THE  '  MODIFY, INSERT,  UPDATE  '  STATEMENTS.  I  HAVE  USED  AT - USERCOMMAND - HIDE  AND  CHECKBOXES.
       PLEASE   SUGGEST   A   SAMPLE   CODE   FOR   THIS.
    Moderator message: please post again, but not in all upper case.
    [Rules of engagement|http://wiki.sdn.sap.com/wiki/display/HOME/RulesofEngagement]
    Edited by: Thomas Zloch on Jun 19, 2011 10:05 PM

    There are actually 5 queries in this report now. From what I understand about a union query, I don't think it will work here because the data being returned in each of the queries is so different. I basically need to know how to make all the criteria for each individual to be displayed before proceeding to the next data set, which will include the same data as the first, but for the next employee, and so on. I need to basically create a repeating frame with each individual's respective data I guess, but every time I do, it tells me that it's referencing an invalid group.

  • Problem in work flow of PE while mapping 2 source structure into 1 target

    We have scenario in BPM where in we have to mapp 2 source structure's into target.
    To be more specific one structure occurance is 0 to unbounded and other one is of single occurance.
    We have done the mapping with target structure and tested it manually in mapping . its working fine..
    While testing it in Configuration scenario, In the workflow process i.e PE process flow, we were not able to get one of the source message structure as the input Message. Instead of two source messages, it is seen only one. Please guide us in this issue.

    actually we are receiving only one message, henece we do not need a correleation. But once we receive this message we are splitting into multiple messages in the transformation step. and we use these split messages in different transformation steps. but in one of the transformation steps we are unable see one of the split messages in the transformation step(though we have used the proper container element.). Please let me know if any ideas on this.

  • How to map multiple occurrences of a source field into a target field

    Hi friends
    I need multiple occurences of  MATNR field, of idocs collected, to be concatenated into a single field on target side.
    Warm Regards
    Arjun Ghose

    Hi Priyanka
    I am using the below code
    String material ="";
    for(int i=0; i<MATNR.length();i++)
                   material = material +MATNR<i>;     //var(i)
    result.addVAlue(material);
    But I am getting the below errors:
    Activation of the change list canceled Check result for Message Mapping COND_A_COND_A01_TO_File_PriceDataIntermediate_Warehouse | urn:bp:xi:dwn:lu:common:Logistics:100:  Starting compilation  Source code has syntax error:  C:/usr/sap/IXV/DVEBMGS01/j2ee/cluster/server0/./temp/classpath_resolver/Map11a81744fef611e0a49b000000aa1a4a/source/com/sap/xi/tf/_COND_A_COND_A01_TO_File_PriceDataIntermediate_Warehouse_.java:123: array required, but java.lang.String found material = material +MATNR<i>; //var(i) ^ C:/usr/sap/IXV/DVEBMGS01/j2ee/cluster/server0/./temp/classpath_resolver/Map11a81744fef611e0a49b000000aa1a4a/source/com/sap/xi/tf/_COND_A_COND_A01_TO_File_PriceDataIntermediate_Warehouse_.java:126: cannot resolve symbol symbol : variable result location: class com.sap.xi.tf._COND_A_COND_A01_TO_File_PriceDataIntermediate_Warehouse_ result.addVAlue(material); ^ 2 errors
    Edited by: GhoseArjun on Oct 25, 2011 12:57 PM

Maybe you are looking for