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

2 thoughts on “UDFNodePool Function Library

  • January 1, 2020 at 1:27 am
    Permalink

    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!

    Reply
  • January 1, 2020 at 3:09 am
    Permalink

    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! 🙂

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *