Professional Documents
Culture Documents
Fdocuments - in - Sap Pi 10 Nodes
Fdocuments - in - Sap Pi 10 Nodes
removeContexts
replaceValue
exists
splitByValue
collapseContexts
useOneAsMany
mapWithDefault
formatByExample
createIf
Description:” I have criteria for existing”. It is used when you want to create target node or element
based on some condition.
Fig.1
Figure depicts createIf node functionality. ID is mapped to MT_Reciever_Minor using createIf function.
Fig.2
Figure depicts result of mapping in Fig.1.As, the value of ID is less than 25, MT_Reciever_Minor node is
created in target side.
Fig.3
Figure depicts createIf node functionality. ID is mapped to MT_Reciever_Major using createIf function.
Fig.4
Figure depicts result of mapping in Fig.3.As, the value of ID is greater than 25, MT_Reciever_Major node
is created in target side.
removeContext
Description: Removes all immediate level contexts of a source field. In this way, you can delete all
hierarchy levels and generate a list.
Fig.5
Figure depicts result of mapping in Fig.5.By applying removeContexts, all the Cust_NAME fields came in
one context.
replaceValue
Description: Replaces the value of element with a value that you can define in the dialog for the function
properties.
Fig.7
replaceValue will replace the value of Cust_NAME element with the value defined i.e.20Name.
exists
Description: This is the most frequently needed when mapping IDoc structure to file structure. Lot of
times we come across a scenario where the fields (occurrence=0) are not mandatory in the IDocs are not
populated in the source XML and they are required in the target XML (occurrence =1) which gives a
mapping run time exception that target element cannot be created. We can handle the error by checking
whether the source tag exists and if it does not we can pass an empty value, which generates the
required target field.
Fig.9
Figure depicts exists functionality. ID (source field) is checked for its existence by using exists function.
Fig.10
Figure depicts the existence of ID (source field), so same value is populated in target file.
Fig.11
Figure depicts the non-existence of ID (source field), so same the constant value defined is populated in
target file.
splitByValue
Description: splitByValue() is the counterpart to removeContexts(): Instead of deleting a context, you can
insert a context change in the source value queue.
You can insert a context change in the queue after each value or after each change to the value, or after
each tag without a value.
1. EACH VALUE
Fig.12
Fig.14
Figure depicts the splitByValue (Value Change) functionality.
Fig.15
Fig.16
Figure depicts the splitByValue (Empty Value) functionality.
Fig.17
Figure depicts the splitByValue (Empty Value) mapping result.
collapseContext
Description: It takes the first value from all the contexts and put them into a context on the target side,
So that all values come under one context.
Empty contexts are replaced by empty strings.
Fig.18
Description: As shown in the figure below the maximum occurrence of the header node in the source is
1 and the target is unbounded. So we have only one occurrence of MatNo & MatDesc, which has to be
replicated for every line Item.
https://blogs.sap.com/2015/02/20/useoneasmany-in-sap-pi/
Fig.20
Number of time Item node appears (repeats), same number of time Header node will appear in target
side. So, source Item node is mapped to Target Header node.
Fig.23
In above fig, Item node is duplicated twice in the source structure. Accordingly, Header is repeating twice
in the target side i.e. MatNo & MatDesc.
sort & sortByKey
Description: The element Cust_Name shall be sorted the same way as the element Cust_ID.
but with two inbound parameters to sort (key/value) pairs. The sort process can be compared to that of a
table with two columns
Fig.25
As the functions sort and sortByKey only sort the elements within the same context, we have to use the
functionremoveContexts before sort. After sort we have to restore the original contexts. We do this with
the node functionsplitByValue
Fig.26
sortByKey: take two arguments, first argument acts as key for sorting the second argument.
Fig.27
Description: This function provides a default value, whenever the source element is not available.
Fig.28
Description: This function has two arguments, which must both have the same number of values. To
generate the target, the function takes the values from the first argument and combines them with the
context changes from the second argument.
This function allows grouping of values of a tag (Cust_NAME) according to values of another tag
(Cust_ID).
Fig.30
Fig.33
In the fig above, Cust_NAME is grouped in 2 context based on Cust_ID in the target structure.