Idocs mapping in FICO
can anybody guide me how to map idocs in FICO
hi
http://help.sap.com/erp2005_ehp_03/helpdata/EN/1a/0e34f0539911d1898b0000e8322d00/frameset.htm
http://help.sap.com/search/search_overview.jsp
http://www.sap-img.com/basis/difference-between-edi-and-idoc.htm
http://www.sap-img.com/abap/reads-an-existing-idoc-and-dispays-the-contents-in-a-spreadsheet-format.htm
nagesh
Similar Messages
-
Hello,
We'd like to store the idoc data extracted from EDI 852 inbound transaction in an infocube for DP. SAP Note 154604 suggests that trx <b>/sapapo/map_tser</b> can be used for specifying the infocube.
However, in SCM 4.1, this trx has a field for PA only, not infocube. I was wondering how to pull the data into infocube.
Any suggestions would be appreciated.
Thank you,
MalliHello,
I'm afraid that i can not help you.
I am witting you because i am trying to get information about VMI/ SMI implementation, for ex. IDOC mapping, best practices, etc.
I will be appreciate if you can provide me this information.
Thanks&Rgds
Angélica -
Need to generate 2 idoc"mapping issue"
Hi Experts,
When the Purchase_order_type is coming like HIGH,REGULAR,NEW,BOUNCED. In this case i need to generate 2 idoc, based on HIGH is one and Other than HIGH is one, even though if it's REGULAR,NEW,BOUNCED.
I can't generate. pl suggest
rgds
selvamHi,
Please make sure you will sort the data in your select query.
Now, you need to have two idocs in mapping. Click on Duplicate Subtree to have second IDOC. Now lets assume, your first IDOC represents mapping when ORDER TYPE is HIGH and your second IDOC represents mapping when your ORDER TYPE is not equal to HIGH that is NEW, BOUNCED, REGULAR etc.
I have defined Source and Target data type as follows.
Source Data Type:
SDN
<Row>
<CQ_NO/>
<ORDER_TYPE/>
<LINE_NO/>
</Row>
Target Data Type:
SDNTarget
<IDOC>
<Node>
<CQ_NO/>
<ORDER_TYPE/>
<ItemNode>
<LINENO/>
</ItemNode>
</Node>
</IDOC>
Mapping for IDOC 1:
IDOC:
Order Type -->Fix Values --> remove context
Fix Values (This should have default u201Cfalseu201D and HIGH = true)
Concatenate Output of point 1 with CQ_NO (Context of CQ_NO should be at SDN)
Output of point 3 --> Split by value (value changed) -->collapse context
Output of point 4 will be first input to u201CStart withu201D function and second input will be constant u201Ctrueu201D
Output of Point 5 --> create if --> IDOC
Node:
Map with constant
CQ_NO:
Order Type --> Fix Values --> remove context
Fix Values (This should have default u201Cfalseu201D and HIGH = true)
Concatenate Output of point 1 with CQ_NO (Context of CQ_NO should be at SDN)
Output of point 3 --> Split by value (value changed)
User Format By example. Pass CQ_NO (Context of CQ_NO should be at Row) as first input and second input should be output of point 4.
Pass Output of format by example that is point no 5, to collapse context --> Split by value (Each Value) --> CQ_NO
ORDER_TYPE
Order Type --> Fix Values --> remove context
Fix Values (This should have default u201Cfalseu201D and HIGH = true)
Concatenate Output of point 1 with CQ_NO (Context of CQ_NO should be at SDN)
Output of point 3 --> Split by value (value changed)
User Format By example. Pass ORDER_TYPE (Context of CQ_NO should be at Row) as first input and second input should be output of point 4.
Item Node:
Order Type --> Fix Values --> remove context
Fix Values (This should have default u201Cfalseu201D and HIGH = true)
Concatenate Output of point 1 with CQ_NO (Context of CQ_NO should be at SDN)
Output of point 3 --> Split by value (value changed)
Output of point 4 will be first input to u201CStart withu201D function and second input will be constant u201Ctrueu201D
Output of Point 5 --> create if --> IDOC -
Issue in segment creation for File to IDOC mapping
Hi,
I have file with many feilds, i need to create a segment in IDOC for unique combination of 2 feilds.
eg:
408
430050
segment
208
430050
segment
208
430050
208
460100
segment
208
452010
segment
408
432000
segment
208
432000
segment
the value for the combination of first column and 2nd column are equal it should trigger one segment instead of 2segments else(for different combination) trigger the segment
eg from table:
in table for 208,430050 is occuring twice but it should trigger only one segment(unique combinations of 2 columns), for all other combinations it should trigger one segment for each.Hi Swapna,
You can use below mapping.
UDF:
Execution type : All Values Of Context
public void removeDuplicates(String[] context, ResultList result, Container container) throws StreamTransformationException{
HashSet<String> hashSet = new HashSet<String>();
for (int i = 0; i < context.length; i++) {
if (hashSet.add(context[i]))
result.addValue(context[i]);
else {
result.addSuppress();
Reards,
Praveen. -
IDOC mapping 1 to 0..unbounded problem in PI 7.1
All,
We've recently implemented SAP PI 7.1 but we face an issue at the moment. Let me describe the case
We have a Source message which is the DEBMAS IDOC.
Within the IDOC we use mappings for Header data and for Detail Data.
Mapping the header data is no issue that is a 1 to 1 message mapping to our canonical data.
BUT
When we want to use the message split mapping in order to extract the detail data PER line we have discovered a problem.
When within a message mapping or within the operation mapping we use as Source the IDOC ( occurancy 1 ) and the target we take our detail canonical message (occurancy 0..unbounded) we are getting the message in our mapping that the IDOC cannot be resolved.
When we change the target occurancy to 1 then the mapping works well.
Is there any one facing the same issues as we do.
thanks in advanceThis is an issue with queues with different length. You should always avoid this, as you cannot be sure, what happens.
Instead of assigning a single entry queue to a target that expects a multiple entry queue, you should go for a generating function. A generating function delivers as many queue entries as requested.
In your scenario, just use an empty constant. Of you have a value to be repeated, use CopyValue.
Regards
Stefan -
Help required in Idoc mapping!!
Hi,
I have an idoc to file scenario:
Idoc looks like this
Idoc
Header
E1BPE1WLMV (0.....999)
field1
E1BPE1MALG (0.....999)
field2
Target
Details
field3
My requirement is that :
field 3 should b mapped to only the first occurence of field1. (and not the subsequent occurences).
Please suggest how can i proceed ?Thanks guys...but I have got some more inputs for my requirement now:
Source:
Idoc
Header
E1BPE1WLMV (0.....999)
field1
E1BPE1MALG (0.....999)
field2
Target:
Details
field3 (= field1)
field4 (=field2)
The Details should be created for unique combination of field1 and field 2. For e.g.
Field 1 comes 2,3,4
Field 2 comes 1,5
Then detail should be created 6 times for
field1= 2 & field2= 1
field1= 2 & field2= 5
field1= 3 & field2= 1
field1= 3 & field2= 5
field1= 4 & field2= 1
field1= 4 & field2= 5
Could you please help ?
Edited by: jayagupta21 on Apr 14, 2011 7:24 AM -
Flat file to idoc mapping issue
Hi Gurus,
i had a flat file format in sender side as below:
H_ID TYP_CODE line_elemet Quantity
5896 STANDARD 1.transmitter 1
5896 STANDARD 2.xxxxxxxxx 1
5896 STANDARD 3.yyyyyyyyy 2
6895 STANDARD 1.aaaaaaaaa 1
9436 STANDARD 1.bbbbbbbbb 4
9436 STANDARD 2.ggggggggg 3
The above file need to be send to an Idoc.
for which same header_ID values should create only one header segment, under that many a line segments should create as many line items appear on that header_id value.
Here my query is how to suppress the repetetive header values to create onlyone header segment. And how to create as many line_item segments as the number of line items appear.
points obvoius for the response
Thanks in advance,
Sekhar.About map problem I suggest youn to see the following link that are really helpful to improve knowledge about mapping:
/people/sravya.talanki2/blog/2005/08/16/message-mapping-simplified--part-i
/people/sravya.talanki2/blog/2005/12/08/message-mapping-simplified-150-part-ii
I suggest you to see the following link to learn more about mapping:
Mapping functionality in XI
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/9202d890-0201-0010-1588-adb5e89a6638
SAP Exchange Infrastructure - Graphical_Mapping
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/6658bd90-0201-0010-fbb6-afe25fb398d3
SAP Exchange Infrastructure - Graphical Mapping Exercise
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/fd5ebd90-0201-0010-d697-91374d5b5190
SAP Exchange Infrastructure - Graphical Mapping - Advanced
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/be05e290-0201-0010-e997-b6e55f9548dd
SAP Exchange Infrastructure: Mapping Patterns - Understand Context Handling in Message Mapping - Webinar Powerpoint
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f59730fa-0901-0010-df97-c12f071f7d3b
SAP NetWeaver Exchange Infrastructure Mapping Troubleshooting - Webinar Powerpoint
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e01e9400-9e81-2910-20a5-a862945a5e98
Mapping Lookups a RFC API
Mapping lookups - RFC API
XI 3.0 New Mapping Features
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/8a57d190-0201-0010-9e87-d8f327e1dba7
I hope these links will be usefull.
Regards,
Salvatore -
Hello everybody,
I have the next scenario Oracle DB-> XI-> Idoc PAYEXT, now the problem is that I get the error in the message mapping that Mapping not sufficiently defined, my strcutures look fine, so is there a way to know all the required fields for an Idoc, there is no fields in red as in other ocassions indicates mapping required, any suggestions????, thanks in advance.
Regards,
Julio CesarHi Julio,
As Aamir suggested, you can used TC :WE60 to check the idoc structure and mandatory fields.
Just in addition to Aamir, In most of the idocs when you assign constant to a idoc segment in order to generate segment you need to populate the mandatory fields of that segment as well. So you need to assign values to mandatory fields of segment only if you want to generate that particular segment ( By assigning constant / mapping input element value for repeatation.)
In you case can you please check if you are trying to generate some segment, but you havent mapped mandatory fields of that segment.
Hope this will help.
Let us know if you need more detals.
Nilesh -
Automatic (EDI) vendor posting fails - can I update the IDOC mapping?
Hi -- I am testing a new intercompany sales process and having trouble with returns. The INVOIC01 IDOC for the vendor posting (document type VC - Vendor Credit FI) is failing because text is required on the line item (field SGTXT on BSEG). So it appears that the IDOC doesn't have this text field mapped.
If I can identify a field in the existing IDOC to use for the text, is there a way that I can add that mapping? For example, let's say I want to populate the BSEG text with field BELNR on segment E1EDP01, is there a way to specify in the INVOIC01 idoc that this field should be plugged into BSEG-SGTXT? I don't have EDI experience, so this is all new to me!
Thanks
AllisonHi Allison,
Since it's just for testing, just change the Text field on FI field status group become optional entry. It will solve your problem rather than modifying the standard IDOC
Regards,
Gumanti -
IDOC mapping issue (calculation using parent and child fields)
We are mapping an IDOC to a file for output to a third party. The IDOC has many segments, some of which are embedded. This is where I'm having the issue. I am trying to perform a calculation on a field from the parent node (E1EDP01-MENGE) with the field from the child node (E1EDP05-KRATE) to determine the total tax for that line (qty X rate).
<b>Issue:</b> The mapping that is in place is using the same MENGE value for all calculations, even where the E1EDP01 segment is not a parent of the E1EDP05 segment.
Please review the screen prints and explain how I can correctly group the E1EDP05 child segments rate field (KRATE) with the corresponding parent segment E1EDP01 quantity (MENGE).
<b>Example:</b>
Parent segment, E1EDP01 / Child segment E1EDP05 (There are many E1EDP05 segments for 1 E1EDP01 segment)
E1EDP01 (parent node)
E1EDP05 (child node)
<b>Target structure</b>
ITEM (parent) --->E1EDP01 is mapped at node level
-->ITEM_DATA --->E1EDP01 is mapped at node level
-->ITEM_TAX --->E1EDP01 is mapped at node level
-->(fields for item_tax)
-->Record type
-->Invoice number
-->Line total
-->etc...
I am mapping (E1EDP01-MENGE) for calculation with (E1EDP05-KRATE) to determine tax at the line item level. I have the context set at each Node, E1EDP01 for MENGE and E1EDP05 for KRATE. I was using CopyValue, but this was using the frist occurence of MENGE for all line items.
<b>mapping example</b>
<u><b>*I am using MENGE (Copy_Value) then multiplying by KRATE to get the line item total. This was causing the same MENGE (because of Copy_Value) for all line items.</b></u>
E1EDP01-MENGE|Copy_Value|MULT--->TAX_ITEM-LINE_TOTAL
E1EDP05-KRATE|
I removed the CopyValue and now I'm getting the following error:
Cannot produce target element /ns0:MT_DTN_INVOICE1/INVOICE/ITEM/ITEM_TAX[3]/LINE_TOTAL. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
How can I map this so the child records (E1EDP05) are grouped with the correct parent records (E1EDP01)?
Thanks in advance!
MichaelCheck this blog:
/people/claus.wallacher/blog/2006/04/17/replication-of-nodes-using-the-graphical-mapping-tool
Regards
Stefan -
Is graphical mapping best for a large IDoc mapping to file?
Hello,
I have to map an IDoc to a file and 450+ lines are mandatory or needed to go a file output. A lot of the lines need some value mapping. Is XSLT or Java mapping better for this task?
John XiHi,
If you require to do a lot of lookups and for large payloads, it would make sense to go for a Java mapping as in this case it would improve performance to some extent.
For large messages, please refer the follwong link to improve system performance.
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/2016a0b1-1780-2b10-97bd-be3ac62214c7?quicklink=index&overridelayout=true
Regards -
Hi,
I am mapping a flat file to idoc in xi. If I execute the test data it works fine. But in actual run, it gave me the following mapping error:
com.sap.aii.utilxi.misc.api.BaseRuntimeException thrown during application mapping com/sap/xi/tf/_MM_MT_APPayment_to_FIDCCP02_: Runt
imeException in Message-Mapping transformatio~
Exception of class CX_XMS_SYSERR_MAPPING
Is it due to some mapping error or some basis config issue?
Thanks,
JassiHi Jassi,
This may be a mapping issue, try this:
a)in interface mapping see if grids are formed at source and target after executing the test option,
b)also take the xml of the idoc from sxmb_moni , copy it and paste it at the source of the mapping ( use the src tab now) and execute the mapping, is your file structute formed?
Check the following link:
/people/michal.krawczyk2/blog/2005/09/16/xi-how-to-test-your-mapping-in-real-life-scenarios
Amaresh -
Hi all,
i'm getting an error from SXMB_MONI in a scenario File to Idoc.
I have done the mapping from source file and Idoc CREMAS03, when i try to test from Integration Repository it's all ok, but when the scenario is executed i find this error in Idoc Adapter :
<SAP:P1>MSGGUID EF7E2140A08811DDBE1202004C4F4F50: Tag #TEXT found instead of tag IDOC BEGIN=</SAP:P1>
The field BEGIN in idoc structure is filled with constant value 1, than i dont understand the error.
This is the xml source file :
<?xml version="1.0" encoding="UTF-8" ?>
- <ns0:Vendor xmlns:ns0="urn:tbit40:workshop:group01:legacy">
- <Address>
<Country>IT</Country>
<Zip>001</Zip>
<City>ROMA</City>
<Street>SATTA</Street>
</Address>
<Currency>USD</Currency>
<SearchTerm>TEST</SearchTerm>
<LastName>GUIDA</LastName>
<VendorNumber>44332</VendorNumber>
</ns0:Vendor>
Any help is really appreciated.
Thanks.Hi all and thanks for your answer.
My problem is that for what i can see all Idoc attribute (like the attribute BEGIN) are mapped with constant value.
In taget source i can see : BEGIN = Constant([value=1])
What i dont understand is why when i execute the scenario it ends with this message :
<SAP:P1>MSGGUID EF7E2140A08811DDBE1202004C4F4F50: Tag #TEXT found instead of tag IDOC BEGIN=</SAP:P1>
It seem to me that the tag BEGIN is not filled with value, i also tried to copy the source xml file directly from SXMB_MONI (from payload) and test it in Integration Repository mapping section, but here is all ok and the test end succesfully. -
Gurus,
I have a flat txt file of following format
Doc# Whse Item Matnr date code
3256999 WH20 1001 861927 09/12/200713:24 9596 2
3256999 WH20 1002 861928 09/12/200713:24 9596 2
3256999 WH20 1003 861929 09/12/200713:24 9596 2
3257169 WH20 2000 861964 09/12/200713:24 9596 2
The first 2 columns are header fields rest all are item fields. How do i map this to an Idoc, so as to move doc# and whse to header segment and rest of columns to add multiple item segments on the same idoc ? So for above file i should get 2 idocs only.You can navigate thru these links to get more information:
/people/sravya.talanki2/blog/2005/12/08/message-mapping-simplified-150-part-ii
http://help.sap.com/saphelp_nw04/helpdata/en/ef/df564b6aa24fc9ab0d685460747de5/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/ee/bf9640dc522f28e10000000a1550b0/frameset.htm
Do your want the source and target structures to resemble the structures below?
Source:-
<source_file>
<row_1>
<item_a>
<item_b>
<item_c>
</row_1>
<row_2>
<item_p>
<item_q>
<item_r>
</row_2>
<row_3>
<item_x>
<item_y>
<item_z>
</row_3>
</source_file>
Target:-
<target_idoc>
<item_a>
<item_b>
<item_c>
<item_p>
<item_q>
<item_r>
<item_x>
<item_y>
<item_z>
</target_idoc>
If so, then all you need to do is to use the node function: "remove context" for all the items under your rows. In other words,do the following mapping:-
*source_file mapped to target_idoc
*map each of the items under all the three rows in the following way:-
"source item" mapped to "remove context" (node function) mapped to (corresponding) "target item".
Also check the occurences for each of your variables in both source and target structures.
/people/ravikumar.allampallam/blog/2005/03/03/creating-purchase-order-idoc-through-xi
Regard's
-Prabhakar.A -
hi,
I have a file to idoc scenario. Have a header and 5 line items segment on the source. After doing mapping when i test, the message mapping does not ouput all the corresponding nodes in the Idoc structure for each item segment on the source side. The output is only displaying the first two segment from the source. Could someone help with this?
thx,
PradipHi Pradip,
just check the cardinality of target node - which is mapped to your line item.....it should be 0..unbounded
moreover, the target node if it under some other node then check the cardinality of the above node, it should also be 0..unbounded
if you are using any condition for target node generation, then check the condition again.....
Thanks,
Rajeev Gupta
Maybe you are looking for
-
Where did the AirPlay button in the video app go in iOS 8?
I Used the quick AirPlay button in the video app quite often. I just upgraded to iOS 8. I noticed that it is gone. Am I missing it anywhere? Why would this be removed?
-
I tried using the recovery tool for mp3 players and it fried my Microphoto 8gig!!! It was checking and uploading the firmware and it locked up.. not my comp locked up, but the Creative Recovery thing. I left it for a while and now my zen's hardware i
-
2's comp binary Exponent/Mantissa
How do I handle a 64 bit word where the exponent is at the beginning of the Binary? I have 4 - 16 bit words that comprise a GPS Time stamp. The format is as follows Binary Format: SEEEEEEEEmmmmmmm....m S: sign E: 8 bit exponent m: 55 bit mantissa Exp
-
How to get iCloud Reading list on Windows 7
I can see various blogs/ support website explaining how to sync the bookmarks between Apple devices (iMac/iPhone/iPad) and Windows using iCloud. What is not clear is that whether this also supports the 'Reading List' sync. Even on the iCloud support
-
Macbook does not see time capsule
I just purchased a time capsule to use as router an d backup. I connect using a DSL modem. I set everything up as instructed but could not find the time capsule using the time machine utility. I had to plug in an ethernet cable from time capsule to m