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
-
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
ChristophHello 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 -
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,
SteffenHello, 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 appreciaHi,
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
PavanHi 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
prabahi,
I got the answer. -
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
ThomHi,
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, DuncanHi 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 AMHi 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; RegardsHi 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
ramHi 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?
-
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
-
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