on 10-30-2008 1:28 PM
Is this possible without BPM? I have a SQL-query that can give n rows, each of these rows should result in one IDOC message (same type, same receiver).
I have done some tests now, and I get the error "Split mapping created no messages". Is this related to something else? Or is this because one cannot have multiple IDOCS in the receiver?
IDOC structure:
The ZBXXX node is 0..unbounded since I have set occurrence to 0..unboounded under message in the Message Mapping. I have mapped the ZBXXXX node to row.
ZBXXXX 0.unbounded
IDOC 1..1
MATNR 1..1
DATE 1..1
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Ketil,
Thanks for your co-operation! Please note that, if you change the messages in message mapping to 0..unbounded, then this concept is Multimapping. If your using IDOC adapter, then Multimapping is not possible in IDOC Adapter.
As Chirag pointed above(Michal's Blog), you need to export yout Custom to your desktop and change the Occurrence of IDOC from 0..Unbounded, and then re-import again as External Definition. Now you need to use this External Definition and you need to do the mapping.
Note: Please don't change target messages occurrences either Message or Interface Mapping. Coz Multimapping is not supported by IDOC adapter.
Please let us know your proceedings, we will be happy to help you out!
Thanks,
raj
Finally! Problem solved, the last error was an error in the JDBC configuration that made the message root-node not compatible with the mapping.
Thank you for all you help.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Sorry, no. Lets diffrensiate between the real custom IDOC, and the one imported as an external definition (as described in Michal's blog). My Interface mapping is like this:
Source Interface: MI_O_System_ObjectName
Target Interface: ZIDOC (This is the real IDOC from Imported objects)
Source Message: MT_ObjectName
Mapping program: MM_SystemAtoSAP
Target Message: ZIDOC (This is also the real IDOC. I would except to use the one imported as external definition for this, but I am not allowed to select that one.)
Since I only use the IDOC imported as an external definition in my Message Mapping I can understand why this goes wrong, I just can't understand how to fix it.
Thank you for all your help so far.
Update: This is the error I am receiving:
cin.sap.aii.utilxi.misc.api.BaseRunetimeException: RuntimeException in Message-Mapping transformation: Cannot produce target element /ZIDOC/IDOC. Check XML instance is valid for source xsd ad targe target field mapping fulfils requirements of target xsd at mappingprogram.start.
Edited by: Ketil Stadskleiv on Nov 2, 2008 2:11 PM
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks a lot for the help so far. I have followed Michal's blog, and now I am getting a "RuntimeException in Message-Mapping-Transformation".
I do understand why (I think) since my interface mapping now is from my source Interface to the (real) IDOC, and this automaticallly includes the real-IDOC as the target message (which makes the message mapping incorrect).
My guess is that i have not followed step 6 correctly (). Can anyone please elaborate on this? Should I create an interface mapping where "specify the source and the target of this interface mapping as the standard IDOC"? This does not make any sense to me, same target as source? Where should I put my original interface "MI_O_System_Message"?
Best regards
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
No, I still have the same problem.
I have the IDOCS as an imported object, not external definition. The root-node of the IDOC is mapped to row. As I said when testing this is the mapping tool it works fine with several messages.
Raj: I tried to change to occurrence of the target interface in the Interface Mapping. Then I got this error when activating: "Mapping program Message Mapping MM_AtoB does not match the interfdace mappin. The number of frequencies of source or target message for the message ampping are not identical to the number or frequencies of source or target interface."
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
u have to follow the below weblog which again i m sharing with u for changing the occurance of IDOC to unbounded.
Not u dont have to use the Imported IDOC instead use as external definition.
check the below log.
after that u need to import the IDOC XSD struture to external definition and use that structure in message mapping which will solve ur problem.
chirag
Ketil,
You don't need to change the occurrence of messages in your target Interface mapping. Only changing the occurrence of the IDOC would solve the issue.
raj.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
In design I have set occurence of the target message (the imported IDOC) to 0..unbounded. In the interface mapping I have set the source interface occurence as 1 and the target interface as 0..unbounded. When I test the mapping in the test-tool the mapping works fine (creating multiple IDOCS).
When looking in the Payload of the message everything seems to work fine from the source. The Payload looks like this:
<resultset>
<row>
<ARTK>543534</ARTK>
<DATE>2008-10-10</DATE>
<NR>123</NR>
</row>
<row>
<ARTK>5555</ARTK>
<DATE>2009-10-10</DATE>
<NR>222</NR>
</row>
I use SAP PI 7.0.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
its possible...without BPM...i guess the error is because of some mapping issues....debug the mapping...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi KETIL.
You can implement 1:n maping using Message Mapping or JAVA Mapping OR xXSL.
i implemented same requirement using Java MAPPING.
1:N Mapping without BPM you can implement easily.
select interface mapping 0 to unbounded
search for thread in sdn you wil find.
and alos explain your requirement so that i wil give the code.
reagards,
raj
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
There is either something wrong with your UDF (SQL Query) or that the mapping for the parent Node of the IDOC is wrong.
Regards,
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
98 | |
11 | |
11 | |
10 | |
10 | |
8 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.