cancel
Showing results for 
Search instead for 
Did you mean: 

Idoc multi mappings in a single interface

Former Member
0 Kudos

Hello Folks

I have to send three different types of Idocs (MATMAS, CLFMAS, BOMMAT) from R/3 to XI.

The sender application sends only one file and I need to map the data relevant to each of these Idocs and post in R/3 separately in a defined sequence. Customer wants me to incorporate all of these idocs in a single interface. How can I achieve this?

If I want to create the interfaces separately in XI for each Idocs, then how can I use the same inbound file to XI for all of the Idoc interfaces?

Which is the best way to achieve this type of scenario? I would like to know the solution without BPM preferably.

Thanks

Ricky

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Ricky,

your query is slightly confusing..

Well what I can make out of this is:

We are getting a file and we need to send 3 different IDocs to the target SAP system.

If this is the case, you need a single scenario.

you will have one sender interface and 3 reciever interfaces.

In Integration Repository,

you can use 3 message mappings & 3 interface mappings, "1 for each file to Idoc" to reduce any complexity.

In Integration Directory,

you will have

1 Receiver Determination

3 Interface Determinations (One for each Idoc types) here you can specify the specific interface mapping.

1 Sender Agreement

3 Receiver Agreements

and you can use the same communication channel in these rcvr agreements.

If you need any more help , please let me know.

Regards

Pushkar

Former Member
0 Kudos

Thanks Pushkar for the reply. A very helpful answer. Given points. My scenario is from File->XI->R3 and a single file is coming into XI for all the three message and interface mappings.

In this case, if one of the message mappings fail, then does it stops the other processes too? Since each Idoc interface is an independent process, I don't want all the idocs to stop processing if one of the them fails.

How can I resend the message if one of the idocs fail? If I resend out of failure, then all the interfaces (success and failure) processes again right?

I have one more question related to roll back of Idocs in R/3

The Idocs are send in a sequence to R/3. (MATMAS, CLFMAS, BOMMAT). I want to roll back all of the Idocs if one of them fails. Is it possible to do in R3 or XI.

Thanks

Ricky

Former Member
0 Kudos

hey

>>In this case, if one of the message mappings fail, then does it stops the other processes too? Since each Idoc interface is an independent process, I don't want all the idocs to stop processing if one of the them fails.

u can do a simple 1 to n multi mapping using BPM .

also can u specify ur requirement a bit more,do u have to split the sender file in between three IDOC's of u want to send whole of the File to all three IDOC's

thanx

ahmad

Message was edited by:

Ahmad

Message was edited by:

Ahmad

moorthy
Active Contributor
0 Kudos

HI,

Probably the option is to use BPM to split the one message into Multiple IDOCs. Because without BPM, you can not split the messages for the IDOC adapter. (1:N mapping)

As suggested, if you want to post these IDOCs in sequence, either you can get the ALEAUD ack from SAP for each IDOC in the BPM, then proceed or you can go with sending the IDOC messsages in BPM in sequence..

Hope this helps,

Rgds,

Moorthy

Former Member
0 Kudos

Thanks Moorthy for the reply. Can you detail the steps in BPM? Is there any other way without using BPM to achieve the solution?

The sequence is not a worry for me in R3 since there is a way to define serialization group in R3 and include these Idoc types in a specific sequence.

My worry is to roll back the Idocs posted and updated in the R3 data base if one of these idocs fail. How can I achieve this? The main query and worry is for rolling back the idocs posted by deleting the entry from the data base table which I cannot do directly hitting the data base but by using some other standard SAP procedure or controlling using XI or R3 wait before commit process..I don't have much idea about how to do this...Any help is appreciated

Thanks

Ricky

Former Member
0 Kudos

hey

for ur first question,we can't do this scenario without BPM ,1 to n message mapping is possible without BPM for other interfaces but not for IDOC and HTTP(as they are not on adapter engine)

thanx

ahmad

Message was edited by:

Ahmad

Former Member
0 Kudos

And the steps in BPM?

Former Member
0 Kudos

and the steps

/people/pooja.pandey/blog/2005/07/27/idocs-multiple-types-collection-in-bpm

Former Member
0 Kudos

This is from Idocs to File. Can I get File to Idocs?

moorthy
Active Contributor
0 Kudos

Hi,

About ur Error handling strategy:

I think better option is to handle this external to PI. That means, using the SAP standard Transactions to view the IDOC error reports, reprocessing the errored IDOC etc.

Also developing a Custom utility in ABAP is also not a bad idea.

because it is not prefer to do in the PI.

BTW, your requirement is of type Simulation right ?? So in this case, you can try out some existing BAPIs for simulation. After the result, you can run a batch job to commit..

Hope this helps,

rgds,

Moorthy

Former Member
0 Kudos

/people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible

the design and config steps will be done in same way,only difference is that u need to use BPM in ur case

Message was edited by:

Ahmad

Former Member
0 Kudos

What custom report in R3 to roll back the posted idocs? It looks a bit complex for me. I am using standard SAP program to process the inbound Idocs. In this case, where can I use the BAPIs which you are talking about? And where can I use the custom utility?

moorthy
Active Contributor
0 Kudos

<i>What custom report in R3 to roll back the posted idocs?</i>

>>>You need develop if required...

<i>In this case, where can I use the BAPIs which you are talking about?</i>

>>>This I am talking about if you use BAPIs... Anyway in your scenario, it is not applicable. The reason I mentioned this, there are some cases, where need to simulate the SALES order using available SAP standard BAPI and then post it with manual intervention via EP.. This quite complex business process.

<i>And where can I use the custom utility?</i>

>>Will be used in R/3 side after the XI processing. So these all, you need to develop a custom ABAP program to handle the required functionality (similar like transaction BD84, BD20 etc)..

All are external to PI processing,,.

Rgds,

Moorthy

Former Member
0 Kudos

Thanks Moorthy for clarifying that.

There is an Idoc UPSMAS01 which I heard can be used for a bundle of Idoc types such as MATMAS, CLFMAS, ECMREV, BOMMAT as a group together and use in XI in the mapping. Once it reaches R3, it will be splitted to MATMAS, CLFMAS, ECMREV, BOMMAT and gets posted using Inbound processing program.

Is there any way you have used it or heard it before.

Thanks

Ricky

Former Member
0 Kudos

Anybody?

Thanks

Former Member
0 Kudos

Moorthy,

The ALEAUD message you are talking about is a good idea to follow for roll back and error handling. I never used this message before. What does it exactly do and how can I get the message back from R/3 for the status of Idoc and get in XI for mapping or figuring out to do the next step based on it. Can you elaborate me the steps of BPM too using ALEAUD for my scenario. I am getting lost or stuck in between BPM using ALEAUD synchronizing with other steps.

Thanks

Ricky

justin_santhanam
Active Contributor
0 Kudos

Ricky,

You can go through this document , it might be helpful.

https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f6d2d790-0201-0010-9382-b50...

Ricky also one more thing if you want help in configuring BPM part , lemme know, I'll help you out.

Best Regards,

raj.

Former Member
0 Kudos

Yeah I need help in configuring the steps in BPM Can u let me know the different steps involved in the BPM for the scenario.

Former Member
0 Kudos

Hi Raj

This is the scenario again

Send a single File from a sender application.

Receive the file in BPM.

Create three message mappings/interface mappings for MATMAS, CLFMAS and BOMMAT in XI repository separately for each.

The file has the data for these three idocs. I wil keep the file message type as the same source for these three interfaces in the mapping and change the target message type accordingly.

Create a interface determination with three interface mappings involved.

Create a receiver determination

Create a receiver R/3 at the end to receive the messages.

For all these three idoc interfaces, I am going to use a single receiver agreement and sender agreement

In this BPM, the ALEAUD message should also be incorporated. When the MATMAS is send across to R/3, I need to receive the ALEAUD from R/3 and find the status of this. If it is success, then send the CLFMAS to R3 or else, roll back the MATMAS idoc sent and end the process. If CLFMAS is also success, then send the BOMMAT idoc or else, roll back the BOMMAT idoc and end the process. If BOMMAT is also success, then end the process.

In R/3, I have to run the report RBDSER04 to generate and post the idocs based on serialization group. Here I am not sure about how to use the roll back of Idocs sent to R3 in BPM since the idoc is only generated and posted together when this report is executed. SO what do we do to roll back the message sent from XI to R/3?

Thanks

Ricky

Former Member
0 Kudos

Raj,

Please let me know the BPM steps in detail for the process described

Thanks

justin_santhanam
Active Contributor
0 Kudos

Ricky,

I'm working on that , The BPM designing part is easy the only stuff we needed to add is the ALEAUD response,I haven't worked on that part. I'll solve it ASAP and let you know.

Best regards,

raj.

Former Member
0 Kudos

Raj,

did you solve the roll back in BPM

Please let me know the BPM design steps so that I can start working on that

Thanks

justin_santhanam
Active Contributor
0 Kudos

Ricky,

The rollback part is little bit tricky. Even I asked my colleagues, its not possible for them to give an idea. But let me suggest you an idea, you tell me whether it will work out for you..

Mapping Transformation for MSGTYPE 1 -send to R/3 - Get the ALEAUD Response, I've seen this ALEAUD has DOCNUM field in it. ( Consider its success)

<i>Assign the docnum to container element</i>

Mapping Transformation for MSGTYPE 2 -send to R/3 - Get the ALEAUD Response, (If its failed) . I have seen one FM EDI_DOCUMENT_DELETE, it gets the docnum as input, so we can give the doc num which is assigned in the container element and it will delete the IDOC.

Do you think it will solve the issue, kindly provide your feedback. We will start working on it.

Best regards,

raj.

Former Member
0 Kudos

Thanks Raj for the effort you guys putting to resolve this. I knew this solution before but there will be an overlap which comes in between here. In R/3, I schedule report RBDSER04 for generating idocs and posting for the Serialization Group defined. There is a chance of generating some idoc before the EDI_DELETE function module cal in R/3 at a point of time. If this is resolved, then we can think about going with this idea. Please let me know the container and BPM design at front so that I can propose the same to my customer with a sample demo in the system

Thanks and Appreciate your help

Ricky

Former Member
0 Kudos

Hi,

Please send across the BPM design.

Thanks

Ricky

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

Since it is a 1->n scenarion and the number of IDocs on the target side is fixed you could also use multi-mapping with standard interface determination to achieve the objective.

Please browse through this link for info on multimapping.

http://help.sap.com/saphelp_nw70/helpdata/en/21/6faf35c2d74295a3cb97f6f3ccf43c/frameset.htm

Thanks,

Anand

justin_santhanam
Active Contributor
0 Kudos

Ricky,

<i>The sender application sends only one file...</i>

Is it your scenario File-XI-R/3, or the otherway around. Can u please clarify it.

Best regards,

raj.