cancel
Showing results for 
Search instead for 
Did you mean: 

Mapping IDOCS ...

inigo_sacramento
Participant
0 Kudos

Hi.

I want to change the way that vendors are created. Now, vendors are created via BAPI. I map the R3 BAPI table wiht 10 vendors. I want to make something similar, but instead of mapping the BAPI i want to map and IDOC with the 10 vendors.

Here is my doubt. I know i can map an IDOC with 10 vendors and send it to R3 but i don't know how to create 10 vendors via 10 IDOC. I don't understand how i can do this mapping and how it will be implemented in the BPM. This is one of the most important things i'll have to do.

Thanks.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

HI INIGO,

Can you please your query little more clear?

1. are you creating vendor thorugh IDOCS or BAPI?

2. In XI how are you providing the vendor data..is it a xml file containing sufficent data to call the idoc from XI ?

inigo_sacramento
Participant
0 Kudos

Hi Anid.

At the moment, i'm creating vendors via BAPI. I send to the BAPI all the neccessary info to create a vendor. The BAPI accept an internal table with data vendors. The BAPI will make one batch input per vendor.

The new step is trying to substitute this BAPI call. Instead of calling a BAPI that will create the 10 vendors, i want to map this 10 vendor into an IDOC.

Once i've make it, i want to test it other way. If i have 10 vendors in the outbound message (in XML format), i want to map one vendor per IDOC son at the end i'll have 10 IDOCS, one per vendor instead 1 IDOC with 10 vendors.

My XML contains all the neccessary info to create a vendor.

thanks.

Former Member
0 Kudos

Got it buddy,

you have to do it like this.

your xml file containing all vendors data(for 10 vendor or more,no probs).

so it will be like this.

xml file->file adapeter(sender)>xi(begin of BPM)->recv step(to take the multi vendor xml file)>transformation step(it will split the message in 1:n, so if your vendor file contains 10 vendors data, 10 msg will be created here, each containning one vendor data, your target container should be multiline)>processing block(mode par for each)>send step(posting the data to idoc.

so you have two create to type of message,

one for single vendor data (occurence 1) under a "vendor" node,

and one message for multiple vendor data (occurence 0..1)

under "vendor" node.

you make a message mapping 1:n, i think you know how to map 1:n message.

also create one message interface for each messag type (single vendor data, multiple vendor data).

now create a interface mapping betwen this two.

ok..lets move ahead.

in RECV step (in bpm, the 1st step), associate a container (its should not be multiline) which use the message interface of multiple_vendor message.

in transformation step you create one for container (its should be multiline) which use the message interface of single_vendor message.here you will require a interface mapping to be mentioned in the property. you use the the Interfac mapping that you created between interface single and multiple vendor message.

now you introduce a process block (say name: bolck1). set the mode as per for each.

here you use the same multiline container that you already created.

and also craete one more container single_vendor use the message interface of single_vendor message and setting it to "block1" instead of process.

you use this container for current line.

now the final step..the send step.

it should take the already existing container for single_message (with "process", not the "block1" one).

and the target message is the IDOC.

thats it..once you are done with design you can go ahead with configuration.

plz reward points , if my suestion helps you.

Message was edited by: Anid