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,
YashHi 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,
SaratHi,
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 GUPTAHi,
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
DeepthiNot 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,
PrasadSource 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 PMThere 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 GhoseHi 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
-
My MacBook won't connect to the Internet, but it's connected to my router. When I go to network preferences, it says that it has a self assigned ip address, and can't connect to the Internet. How can I fix this? Please help!
-
Outlook 2011 for MAC Email problems
Good Evening, I have recently purchased microsoft office and have been keen to set up Microsoft Outlook 2011 - although all my emails download initially I have encountered three problems (despite following the guide to set up outlook on mac for BT M
-
ERROR: insufficient privileges while using EXPLAIN PLAN command
Hi, I have a table named TEST and i ran following command on this table. SQL> EXPLAIN PLAN FOR 2 SELECT NAME FROM TEST; SELECT NAME FROM TEST ERROR at line 2: ORA-01031: insufficient privileges So which privilege do i need to give for using EXPLAIN P
-
Hi, I have a report that displays the net price in foreign and local currency The processing happens in an internal table where the field containing the suppose to be price in local currency is like ekpo-netwr with 'JPK' as the currency key. On the
-
Drawback of 'Maintain Bidirectional Relationship'
I recently came to this understanding which changes the way we are trying to use TopLink. I thought I'd share it in an attempt to spare others some of the difficulties we've had, and also to elicit any further clarifications or corrections as necessa