on 05-02-2011 7:06 PM
I have a scenario RFC to Soap. I'm with issues in Message Mapping.
RFC structure:
T_ORDER[] 1..N
T_REG[] 1..N
The relationship between tables is Order Id. For wich T_ORDER.Order_ID I can have lot of T_REG.
Example:
T_ORDER.ORDER_ID = 1
T_ORDER.ORDER_ID = 2
T_REG.ORDER_ID = 1
T_REG.REGCODE = 1
T_REG.ORDER_ID = 1
T_REG.REGCODE = 2
T_REG.ORDER_ID = 2
T_REG.REGCODE = 1
T_REG.ORDER_ID = 2
T_REG.REGCODE = 2
And in my expected Soap Receiver Structure is:
Soap Structure:
- Order 1
- Order ID 1
- REGCODE 1
- REGCODE 2
- Fields
- Order 2
- Order ID 2
- REGCODE 1
- REGCODE 2
- Fields
How can I do this mapping T_REG to the respective Order ID?
Thanks
Maicon.
HI Mark,
Thanks a lot. You solved my problem.
Now, I am with another issue in the same Interface.
The issue is:
In the RFC structure I have a fields
T_ORDER.ORDER_ID = 1
*T_ORDER.CODETEXT1*
*T_ORDER.TEXT1*
*T_ORDER.CODETEXT2*
*T_ORDER.TEXT2*
*T_ORDER.CODETEXT3*
*T_ORDER.TEXT3.*
An in the Soap Receiver is:
- Order
-- Order ID
-- REGCODE 1
-- REGCODE 2
*-- Texts 0..N*
---Text
--- CodeText
I need to transfer the Field CODETEXT and TEXT to the deep structure in the Soap Structure.
Example:
T_ORDER.ORDER_ID = 1
*T_ORDER.CODETEXT1 = codetext1*
*T_ORDER.TEXT1 = text1*
*T_ORDER.CODETEXT2 = codetext2*
*T_ORDER.TEXT2 = text2*
*T_ORDER.CODETEXT3 = codetext3*
*T_ORDER.TEXT3 = text3*
An in the Soap Receiver is:
- Order
-- Order ID = 1
-- REGCODE 1 = 1
-- REGCODE 2 = 2
-- Texts 0..N
--- Text = text1
--- CodeText = codetext1
-- Texts 0..N
--- Text = text2
--- CodeText = codetext2
-- Texts 0..N
--- Text = text3
--- CodeText = codetext3
Any idea to solve this?
Thanks a lot.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello,
An in the Soap Receiver is:
- Order
-- Order ID = 1
-- REGCODE 1 = 1
-- REGCODE 2 = 2
-- Texts 0..N
--- Text = text1
--- CodeText = codetext1
-- Texts 0..N
--- Text = text2
--- CodeText = codetext2
-- Texts 0..N
--- Text = text3
--- CodeText = codetext3
In your message mapping screen, right-click on the Texts node and then select duplicate subtree. Do this until you have thee Texts node. And then you can map accordingly e.g for first Texts node, use the values in codetext1 and so on
Hope this helps,
Mark
Mark
Worked now with your suggestion, but I need to do this mapping just when the Fields in RFC are filled.
Like this:
T_ORDER.CODETEXT1 = '1' -
Order.CodeText[1]
T_ORDER.CODETEXT2 = empty -
I can't map the node
T_ORDER.CODETEXT3 = '3' -
Order.CodeText[2]
Any suggestion?
I am trying to use CreateIF or Exists Functions but don't work.
Thanks again.
Maicon
Hello,
This mapping is based on the assumption that the ORDERID for TREG is already sorted (as was provided in your example). Otherwise, additional logic should be implemented by using sort and sortByKey.
For Order
ORDER_ID(T_ORDER) -> removeContext -> Order
For REGCODE
REGCODE -> removeContext -> formatByExample -> REGCODE
ORDER_ID(T_REG) -> removeContext -> splitByValue:ValueChanged -> /
Hope this helps,
mark
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
95 | |
11 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.