on 04-30-2010 9:27 AM
Hi,
i have created following scenario within mapping of 10 tables:
SAP => PI => JDBC adapter => Oracle DB
It could be that not all tables were filled from the source.
So how can i manage it to skip the mapping if several tables empty?
(because in this case the xml-format for the posting in the DB do not have any entry)
Regards,
Lutz
You can implement it either using If-Then-Else statements where you can check if the value coming from the target is empty or not. If its not empty then pass the desired value otherwise skip it.
The other solution is, You create a UDF and use that function as a check before passing values from source to target.
I hope that helps.
Thanks,
Arkesh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
>>i have created following scenario within mapping of 10 tables:
I believe you have created 10 Statement nodes in your mapping.
If you dont need to populate all 10 tables, just dont fill the corresponding Statement nodes in the mapping. That is create only 7(depending on the source) Statement nodes in your mapping.
Thanks
Jai
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
>>Your suggestion is to check if the node is empty. Can i use for that the <if> function in graphically mapping?
You can use exists function.
>>And: Which node do you mean? The STATEMENT (highest) node?
You should be having 10 Statement nodes in your mapping. May be if you can give the sample xml created from mapping, I could guide you better.
You can use exists function
even an empty instance of the source node will cause the [Exists function|http://help.sap.com/saphelp_nwpi71/helpdata/EN/db/83f7b88528424c9113b15d5e0fb516/content.htm] to give output as true......we cannot use it to check if the node has or does not have data inside it.
Hi,
thanks all for your support.
For better understanding here the mapping:
source structure:
MSG1
tab1
item1
field11
field12
tab2
item2
field21
field22
...
target structure:
MSG1
statement1
record1
action
table
access1
field11
field12
statement2
record2
action
table
access2
field21
field22
...
mapping:
MSG1 => MSG1
tab1 => statement1
item1 => access1
field11 => field11
...
tab2 => statement2
item2 => access2
...
At which node i have to use the graphically mapping with the if-then-else function, so
that the target table will skip?
Do i have to use the if-the-else mapping at each node or only at one (highest) node?
Thx,
Lutz
Is your requirement to stop the processing if there is no data in source structure? If yes, then you have to implement a check in Receiver Determination.
Regards,
Abhishek.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
7 | |
7 | |
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.