In ST, the function is called as follows:
out := SPLIT_LDT(IN:LDATE_AND_TIME, YEAR=>ANY_INT, MONTH=>ANY_INT, DAY=>ANY_INT, HOUR=>ANY_INT, MINUTE=>ANY_INT, SECOND=>ANY_INT, MILLISECOND=>ANY_INT, MICROSECOND=>ANY_INT, NANOSECOND=>ANY_INT);
All parameters have to be specified in the exact order. The IN parameter has to be passed non-formal (without specification of the formal parameter name). All output parameters (YEAR, MONTH, DAY, etc.) have to be passed formal, i.e., the formal parameter name must be explicitly specified.
Example:
out := SPLIT_LDT(LDT#2016-11-14-16:31:04.120_100, YEAR=>yearVar, MONTH=>monthVar, DAY=>dayVar, HOUR=>hourVar, MINUTE=>minVar, SECOND=>secVar, MILLISECOND=>milVar, MICROSECOND=>micVar, NANOSECOND=>nanVar); (* results in yearVar = 2016, monthVar = 11, dayVar = 14, hourVar = 16, minVar = 31, secVar = 4, milVar = 120, micVar = 99, nanVar = 100 *)