Function Name | Description |
---|---|
createIfHasValue | Produces empty value if argument is not empty; ResultList. SUPPRESS otherwise |
createIfExistsAndHasValue | Produces empty value if argument is not empty and exists; ResultList. SUPPRESS otherwise |
createIfHasOneOfSuchValues | Produces empty value when the first argument has one of the values passed as a constant in the second argument (separated by a semicolon); ResultList. SUPPRESS otherwise |
passIfHasValue | Passes all context values and empty values are replaced by ResultList. SUPPRESS |
assignValueByCondition | Passes a value from the third argument when the corresponding value from the first argument has one of the values contained in the second value (these conditions are separated by a semicolon); passes ResultList. SUPPRESS otherwise |
simpleUseOneAsManyAndSplitByEachValue | Uses the first argument (the context should have exactly one value) as often as the length of the second context indicates and splits the result by each value. |
simpleUseOneAsMany | Uses the first argument (the context should have exactly one value) as often as the length of the second context indicates |
deleteSuppress | Maps every context value to itself when not null and not ResultList. SUPPRESS – maybe the context queue is shorter |
getFirstContextValue | Returns the first non-empty context value or ResultList. SUPPRESS if no such value exists. |
existsAndHasValue | Produces "true" if the argument is not empty; "false" otherwise |
existsAndHasOneOfSuchValues | Produces "true" if the first argument has one of the values passed as a constant in the second argument (separated by a semicolon); otherwise "false" |
contextHasOneOfSuchValues | Produces a single "true" if the first argument (a context queue) contains one of the values passed as a constant in the second argument (separated by a semicolon); otherwise "false" |
useOneContextAsMany | Uses the first argument context as often as values exist in the second argument context. |
concatToOneQueue | Puts all arguments sequentially into one queue |
deleteMultipleContextValues | Removes all multiple values from the context, leaving only the first. |
concatContextValues | Concatenates all values of a context separated by second argument |
formatByContextExample | Format contexts in first queue (input queue) by values (representing contexts) in second queue (example queue); requirement: number of contexts in inputQueue = number of values in example queue |
createMultipleCopies | Duplicates first argument's value as often as value in second argument indicates; contexts must have the same size |
fragmentSingleValue | Fragments the first argument into a max. number of pieces (given by the second argument) of length from the third; the last one may be shorter. All arguments are treated like constants. |
concatTwoQueuesToOne | Puts all arguments sequentially into one queue |
rearrangeByKey | Rearranges the third argument by the corresponding key set in the second argument formatted by the first argument |
getValueByIndex | Returns a value from a context(arg1) by given index(arg2) (starting at 1) |
createNumberRange | Creates an empty string for each number missing between first and second argument values |
createContextsForFixedBlockSize | Splits context in first argument into blocks defined in size by parameter |
buildBlocksAndGetValueByIndex | Splits context in first argument into blocks defined in size by parameter and returns value at index given by second argument |
UDFNodePool Function Library
Hi Yee, I have enjoyed and very much appreciated your superb explanations with the relevant examples! Thank you so much for great teaching work!
I have a question – There are a number of very useful UDFNodePool and UDFUtilsPool functions that were offered in the PI-PO B2B Add-on; however, on SAP CPI, I did not see these functions under the Node functions. The CPI Node functions appear to be the same as the PI-PO standard Node functions.
Assuming that SAP has no plans on getting these UDFNodePool and UDFUtilsPool functions into CPI, can you please write a blog as to if these functions can be written using either XSLT or Groovy Scripts, since SAP has made these modes to develop UDF’s? I think the Java code for these UDFNodePool and UDFUtilsPool functions can be obtained from PI-PO instance that has the B2B Add-on.
It would be a tremendous help to folks involved in SAP CPI development!
Hi Satish, Now with the flexible and easy groovy mapping directly in CPI, prefer to develop in groovy mapping compared to graphical mapping in CPI. So far for my case, not really have a need to re-build UDFNodePool into groovy in CPI. You’re right, PI B2B-AddOn function library able to get the java source code from PI/PO, think should have a way to study the java source code, and try to port it, make it work in groovy in CPI, just so far not have the need/motivation for me to do that yet. Happy new year 2020 to you! 🙂