BPM - doubt in N:1 mapping of IDOCs
Is there any DETAILED document on Mapping multiple Idocs into a single Idoc package using BPM.My doubt is in the latter part in this process(During Receiver Determination) :
Scenario : CRM->XI->R3
We will download the CREMAS03 and then make changes in the xml so that it can hold multiple IDOCs.
and then we will be collecting the Idocs(say 3 idocs at a time)...that is, appending the IDOCS(CREMAS03) into a multiline container of type CREMAS03.
In the transformation step, the multiline container containing CREMAS03 IDOCs is transformed to IDOC PACKAGE(N:1 Mapping).
In Integration Directory,We will create 2 RECEIVER DETERMINATIONS :
1.CRM->BPM :
Receiver Service :BPM Object
Inbound Interface :CREMAS
Interface Mapping :Maps the Outbound interface (vendor_out_interface) to CREMAS(Abstract Asynchronous)
2.BPM->R3 :(I have my doubt here!)
Sender Service : CREMAS_COLLECT_PACKAGE(BPM Object)
Outbound Interface : CREMAS_package(Abstract Async, Message is the modified Multi-CREMAS PACKAGE)
Receiver Service : R3
Inbound Interface : CREMAS.CREMAS03
Interface Mapping : NONE (WHY is that No Interface mapping is needed ???...Please elaborate)
1.HOW will the XI engine MAP the CREMAS_package to CREMAS.CREMAS03 at the end of BPM PROCESS ?
2.In BPM we have Transformed the individual Idocs into a IDOC Package BUT then at BPM->R3 Receiver Determination WHY are we mapping the CREMAS Package into Individual CREMAS Idoc ??
3.Does the R3 receive the IDOCs as a Package OR does it receive it as individual Idocs ?And when we say a Package does it mean it will contain 1 Control record & multiple Data Records(EDID) ??
4.If the R3 receives the IDOCs as a PACKAGE, THEN How does the R3 System separate the Idocs into Individual Idocs ??
Is there any specific configuration in the partner profile at the R3 side to process A IDOC package ??.
5.Also when I compare Posting Function Module IDOC_INPUT_CREDITOR and IDOC_OUTPUT_ORDERS , It seems that IDOC_INPUT_CREDITOR can process multiple Idocs at a time while IDOC_OUTPUT_ORDERS CAN process only ONE IDOC at a time.Am I right ?)
It would be great if someone has the patience to give a detailed reply.Looking forward to the reply !!
Thanks,
Arun.
Hi Arun,
You dont need a BPM for ur requirement. All you need to do is IDOC Message pacakages. where the IDOC are sent as a single package. here is the link to the page that details on hwo to do idoc packaging.
http://help.sap.com/saphelp_nw04/helpdata/en/99/2653429392ab53e10000000a1550b0/content.htm
you also refer to Michals weblog on IDoc pacakaging. But the approach i have jsut mentioned to you is more efficent and the one suggested by SAP. Michel was supposed to write one more weblog describing this approach.
Cheers,
Naveen
Similar Messages
-
Multi-Mapping in IDOC without using BPM ?
Hi ,
Please check ..
Can below given blog can be used to achive Multi-mapping in IDOC without using BPM ?
/people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible
Regards
PSSolved .. Thx every one .
Approache Used :
1. Created mapping with Change signature on target Message type(idoc) with 1..N Occurence.
2. Operation mapping with change Occurence on Target Operation(1..Unbounded) .
3. Used same Operation mapping in Interface Determination with 0..unbounded(Multiplicity). -
Multi Mapping - Receiver IDOC & Mail with BPM
Hi,
Is it possible to use BPM with Multi Mapping for IDOC & Mail receivers sent parallely..
Appreciate your help ..
Thanks,
vasanth.Hi Michal,
Thanks Michal,
We are using PI 7.1, Our Scope to do File to IDOC & Mail scenario in between we have to do RFC Lookups..
Could you pls guide me thru the steps fo BPM,
1 SA -> OB to AA
2 ID -> OB to AA & AA to Recv
3.RD -> OB to AA & AA to Recv
4.RA -> AA to IB & AA to IB
Correct me if i'm wrong..
Clarification : Is there is any way out to implement this scenario with out BPM.
We already implemented this scenario with 2 MM & 2 OM, Scenario works fine...but we have to use 1 Mapping..
Appreciate your help in advance..
Thanks,
vasanth. -
Mapping problem: IDOC - XI - File
Hi,
in my scenario (Z-IDOC - XI - File) I have problems with the mapping:
Z-IDOC :
ZFIBUCH1
_IDOC
___Begin
___EDI_DC40
___Z1L061 (0..999999999)
_____Z1L062 (0..999999999)
example
L061 18000 DE 0101 23236318 050605 EUR
__L062 18000 XXX XXX
__L062 18000 XX1 CCC3
L061 87000 DE 0101 050605 EUR
__L062 87000 XXX XXX
__L062 87000 XX1 XAA4
the result should look like this :
L061 18000 DE 0101 23236318 050605 EUR
L062 18000 XXX XXX
L062 18000 XX1 CCC3
L061 87000 DE 0101 050605 EUR
L062 87000 XXX XXX
L062 87000 XX1 XAA4
I tried the following (target)-data types in the mapping but nothing didnt work very well :
MT_ZIFUCH_FILE
__ row
_____L061
_______L062
or
MT_ZIFUCH_FILE
__ row
_____L061
_____L062
or
MT_ZIFUCH_FILE
_____L061
_____L062
Do I need here a BPM? Or should I use XSLT-Mapping??
Or knows somebody a easyer way?
Regards
ChristophHi,
As per my understanding to have a flat file struture you would require a flat structure at the target side.One similar to the second structure mentioned by you.
DT_Target
|_Header
|______L61.....segment (child of header)
|______L62.....segment (child of header)
Using the mapping we convert the idoc structure to flat structure and then use content conversion like this :
Recordset structure : L61,L62
L61.fieldSeparator = ,(for you this value should be space)
L62.fieldSeparator = ,
I have not been able to convert the Target hierarchial structure to a flat file via content conversion.
when i tried I got the values as
L61,1800,...EUR,L62,8700,......
Hope this helps,
Regards,
Sulakshana -
Mapping: Each IDoc Segment to single new IDoc
Hi, can someone provide me with infos on how to solve this problem?!
Do i have to use BPM and when, is there any tutorial on this?!
We have two different Segments in IDoc and for each occurance they should be collected in two different IDocs, so that each contains one type of segment.
Can u please help?!
brHi Fritz,
You can use collect pattern when there is requirement of collecting multiple messages .For example i have an applicaion where i can send purchase order from different vendors.Now i wish that at the end of day i get one consolidated purchase order for each vendor instaed of multiple orders from a particular vendor then i can utilise it.Correlation will be required as the messages have to be grouped based upon a particular Information like in our example its vendor
Collection of IDoc to Single File
IDOCs (Multiple Types) Collection in BPM
Collecting IDocs without using BPM By Stefan grube's
Collecting IDocs without using BPM
BPM CollectPattern..
http://help.sap.com/saphelp_nw2004s/helpdata/en/08/16163ff8519a06e10000000a114084/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/de/766840bf0cbf49e10000000a1550b0/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/cb/15163ff8519a06e10000000a114084/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/08/16163ff8519a06e10000000a114084/content.htm
Illustration of Multi-Mapping and Message Split using BPM in SAP Exchange Infrastructure
Posting multiple IDocs with Acknowledgement
Also have a look at these seminars,
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/daea5871-0701-0010-12aa-c3a0c6d54e02
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/e8515171-0701-0010-be98-e37bec4706cc
IDOCs (Multiple Types) Collection in BPM - Collection of IDoc to Single File
Using a BPM to collect messages for a set interval of time
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/30ea2fdf-f047-2a10-d3a2-955a634bde6b
Also this link,
http://help.sap.com/saphelp_nw04/helpdata/en/08/16163ff8519a06e10000000a114084/content.htm
Regards,
Vinod. -
Advanced mapping from IDOC to SOAP with reversed 3 level context change
Hi everyone.
I am having a though time mapping the HRMD_A01 IDOC into a SOAP message. The reason is that the reciever expects an xml structure where the root node is cost center instead of employee which is the case in the IDOC.
Mapping from:
IDOC (1..1)
E1PLOGI (1..unb)
SEGMENT (String)
OBJID (String)
E1PITYP (1..unb)
E1P0001 (1..unb)
SEGMENT (String)
KOSTL (String)
To this structure:
List (1..1)
CostCenters (1..unb)
KOSTL (String) ----> Mapped against KOSTL above
Employees (1..unb)
OBJID (String) ----> Mapped against OBJID above
I expect several occurances of E1PLOGI which states multiple employees sent in the IDOC. I also expect several occurences of E1P0001 containing cost centers.
My conclusion is that I need an advanced mapping and I have created one which collects all KOSTL for the IDOC context, deletes duplicates, and creates the CostCenters segment. This is now working. But my problem is that I can't create the employees segment in the right place. They are only created once under the first CostCenters node.
Here's the java-code for mapping between KOSTL and CostCenters/KOSTL:
public void costCenters(String[] var1, ResultList result, Container container) throws StreamTransformationException{
Set set = new HashSet(Arrays.asList(var1));
String[] array2 = (String[])(set.toArray(new String[set.size()]));
Arrays.sort(array2);
for (int i = 0; i < array2.length; i++) {
result.addValue(array2<i>);
Any ideas on how to proceed?
Best RegardsHi,
Do the mapping like below.
UDF should be select as context.
List (1..1)
CostCenters (1..unb)
KOSTL (String) ----> Mapped against KOSTL above
Employees (1..unb)
OBJID (String) ----> Mapped against OBJID above
Mapping:
KOSTL(RightSelectChange the context to E1PITYP)--UDF--Removecontext--CostCenters
KOSTL(RightSelectChange the context to E1PITYP)--UDF--SplitbyValue(Each Value)--KOSTL
constant---Employees
OBJID----------------------------------------------Use One As Many---SplitByValue (EachValue)----------OBJID
KOSTL(RightSelectChange the context to E1PITYP)--UDF---
KOSTL(RightSelectChange the context to E1PITYP)--UDF---
Regards,
Prakasu.M
Edited by: prakasu on May 20, 2009 3:28 PM -
Payload in String need Java mapping to IDOC structure
Hi
I have a payload in a field and that payload needs to be mapped to IDOC sturcture. As per my understanding I will have to write java mapping for the same.
I don't have any background of java, can anyone help me do this stuff or give me some inputs for the same.
Regards
RiaDear Ria,
Does the Source field consists of payload, then there must be original payload for which you have created Source Structure in XI right.
I think your source structure look like this if I'm not wrong:
<Data Type>
< Field>
<Field>
<Field-Payload>
</Field-Payload>
</Field>
</Field>
</DataType>
If this is so, you can split the values in the field by FCC. If your field consists of simple payload you can use String functions to extract the value and map it to IDOC field.
Best Regards
Praveen K -
Hi,
I am doing mapping for IDoc to file scenario.
Idoc is INVOIC02.
Source field is KRATE from segment E1EDP05
Target field is Rate.
Mapping rule is as follows.
zero when Condiditon type (E1EDP05-KSCHL ) = YCSE ( enter total 15 digits without any decimal in it. The last 2 digits will be treated as digits after decimal )
Can someone explain the mapping?
I have to map KRATE and Rate but where does KSCHL comes into this?
Please explainTAKE HELP FROM THESE LINKS : These links can be helpful for you.
http://help.sap.com/saphelp_nw04/helpdata/en/43/c4cdfc334824478090739c04c4a249/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/5d/db0e83e8e74202a5bff527055ab7e5/content.htm
Regards,
Sandeep Kaushik -
Fields to be mapped for Idoc/Xi interface
For customer collaboration we need to map the Idoc/Xi interface for following things
In FS what field should be mentioned for following
u2022 Integration SNC with R/3:
u2022 ORDERS (PI) (Order Creation)
u2022 ORDERSP (PI) (Order Confirmation)
u2022 DESADV (PI) (ASN)
u2022 Integration with the customer
o PROACT = new integration with SNC (PI)
o Product Forecast Notification
o ( Order ID Notification ) - To be evaluated for PO nrs.
o ORDERSP = AS IS
o DESADV = AS IS
o Proof of DeliveryI am closing this Thread
Thanks -
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 -
Header Mapping in Idoc scenarios
What is the use of Header Mapping in IDOC based scenarios?
Hi,
Header maping can be used to determine the destination in the interface based upon any particular field .If the field is populated with the value then that value can be used for receiver determination to send message for example you have one file that can be mapped to any one pf the multiple IDOCs then based upon the header value you can determine the destination or the IDOC goin to be used
Ckeck this link this will help you a lot
reg:HEADER MAPPING
Check these links also
Header Mapping in File to IDoc
Header mapping while using IDoc as receiver communication
Thanks
Vikranth
Edited by: Khimavath Vikranth on May 28, 2008 9:30 PM -
I facing one situtation in mapping Custmosied IDOC a new segment is add t
HI Gurus
I facing one situtation in mapping Custmosied IDOC a new segment is add to that IDOC.... i want to display values in queues in mapping test.. but queue is empty it showing ,,,
already i have checked IDX2 .. in that it is updated about the segement .. let me know solutiuon y it is not populate in that segemnt ..\
thanks in advance.Hi ,
Have you imported the IDOC into ESR after the changes were done in the ECC side?
Is the mapping done for the new segment/fields properly?
Please check what values are passed in the segment from ECC?Try triggering a message from WE19 with test values and check if you are receiving the same?
Please explain little more on this...
Regards,
Srinivas -
Multi mapping before BPM and then message routing to different IDocs
I am working on PI 7.0.
I have a scenario where a message from a third party needs to be split and then mapped to multiple IDocs in the target. This decision happens based on an RFC call to SAP ECC. Before the message passes to BPM, I have done a multi mapping to make the RFC call and split the message into multiple messages. Subsequently I have taken a multi line container inside the BPM to receive these messages and process them Parforeach and then a switch is applied to handle the rest of the scenario.
Problem is when I am trying to execute the scenario, it fails in first step(multi mapping) before the BPM, it is not able to create the node for the multiple message.
To explain a bit more, Message type say M1 is linked to Message interface MI1_OB. Then I have created an abstract message interface MI1_ABS and made it as 0---unbounded. Similarly in the message mapping I have changed the occurrence of the target message type (same as source message type)Hi Ambrish Mishra,
Please check "Performing Several Multi-Mappings in a Series" [Link|http://help.sap.com/saphelp_nwpi711/helpdata/en/21/6faf35c2d74295a3cb97f6f3ccf43c/frameset.htm] . According it, second mapping should be able to accept this structure as input
<?xml version="1.0" encoding="UTF-8"?>
<sm:Messages xmlns:sm="http://sap.com/xi/XI/SplitAndMerge">
<Message1>
</Message1>
<MessageN>
</MessageN>
</sm:Messages>
Regards,
Raghu_Vamsee -
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. -
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
Maybe you are looking for
-
Firefox keeps crashing. May be a plugin or flash issue.
Firefox crashes from time to time. Its hard for me to troubleshoot this because I can't reason out why it is crashing. Usually happens when flash related things are concerned. Sometimes it also crashes in general. I already tried most of the suggesti
-
How to get a new power cord? (iPod warranty)
I need a new power cord, thanks for your help!
-
How to get rowtype of a ref cursor?
Hello again, I need your help once more. I have a function in a package which returns a SYS_REFCURSOR. Now I am trying to open that cursor from the application (currently sql_developer) to show the data. For starting I have a simple query in the stat
-
Hi, In PO Price History (Tx Me1P) system is showing all the items including deletion flag items also but we dont want to compare with deletion flag items hence how to get this? we have to use z report na? Thanks Prasad
-
Problems with the print module
I was trying to print through the LR Print Module for the first time (I normally use CS4) This is LR 2 and all updates are current. The print settings dialogue box is supposed in the lower left corner of the print module It os not present. How do i f