Skip Headers

Oracle® Application Server ProcessConnect User’s Guide
10g (9.0.4)
Part No. B12121-02
  Go To Table Of Contents
Contents
Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Index
Index

Previous Next  

B Transformation Rules

This appendix describes the datatype transformation map rules, event header rules, and domain value map rules included with Oracle Application Server ProcessConnect.

This appendix contains this topic:

B.1 Transformation Rules

This section describes the transformation rules included with Oracle Application Server ProcessConnect.


See Also:


B.1.1 add:first=decimal,second=decimal->result=decimal

Enables you to add two decimal values.

  • source first decimal

    The first decimal value to add.

  • source second decimal

    The second decimal value to add.

  • target result decimal

    The result of adding the two decimal values.

This example invokes add with decimal values. The result of adding 50.0 to the price is bound to the total:

add( first = 50.0 , second = requisition/items/Item/USPrice -> result = purchaseorder/total )

B.1.2 add:first=float,second=float->result=float

Enables you to add two float values.

  • source first float

    The first source float value to add.

  • source second float

    The second source float value to add.

  • target result float

    The result of adding the two source float values.

This example invokes add with float values. The result of adding packaging weight and item weight is bound to the total weight.

add( first = freight/weight/packaging, second = freight/weight/item -> result = freight/weight/total )

B.1.3 add:first=integer,second=integer->result= integer

Enables you to add two integer values.

  • source first integer

    The first source integer to add.

  • source second integer

    The second source integer to add.

  • target result integer

    The result of adding the two source integer values.

This example invokes add with integer values. This rule increments the map variable counter by one.

add( first = counter , second = 1 -> result = counter )

B.1.4 concat:firstString=string,secondString=string->resultString=string

Enables you to concatenate the second source string to the end of the first source string.

  • source firststring string

    The first source string.

  • source secondstring string

    The second source string.

  • target resultstring string

    The results of concatenating the second source string to the first source string’s end.

This example invokes concat to concatenate Addressline1 and Addressline2 to ADDRLINE.

concat( firstString = PhysicalAddress/addressLine1/FreeFormText, secondString =
PhysicalAddress/addressLine2/FreeFormText -> resultString = ADDRESS/ADDRLINE )

B.1.5 copy:from=binary-to=binary

Enables you to copy a binary value into the target.

  • source from binary

    The source binary value.

  • target to binary

    The target into which a binary value is copied.

This example invokes the copy map to copy a binary value into a target’s LOGICALID field.

copy( source = CONTROLAREA/SENDER/LOGICALID ) ---> ( target = CONTROLAREA/RECEIVER/LOGICALID )

B.1.6 copy:from=boolean->to=boolean

Enables you to copy a Boolean value into the target.

  • source from boolean

    The source Boolean value.

  • target to boolean

    The target into which a Boolean value is copied.

This example invokes the copy map to copy the Boolean value true into the target’s STATUSVL field.

copy( source = true -> target = DATAAREA/CONFIRM_BOD/CONFIRM/STATUSVL )

B.1.7 copy:from=character->to=character

Enables you to copy a character value into the target.

  • source from character

    The source character value.

  • target to character

    The target into which a character value is copied.

This example invokes the copy map to copy the character value ’Z’ into the target’s TIMEZONECHAR field.

copy( source = ’Z’ -> ( target = CONTROLAREA/DATETIME/TIMEZONECHAR )

B.1.8 copy:from=dateTime->to=dateTime

Enables you to copy a dateTime value into the target.

  • source from dateTime

    The source dateTime value.

  • target to dateTime

    The target into which a dateTime value is copied.

This example invokes the copy map to copy the DateTime value into the target’s DATETIME field.

copy( source = ORDER/EXECUTION/DATETIME -> target = SHIPPING/DATETIME )

B.1.9 copy:from=decimal->to=decimal

Enables you to copy a decimal value into the target.

  • source from decimal

    The source decimal value.

  • target to decimal

    The target into which a decimal value is copied.

This example invokes the copy map to copy the decimal value 250.0 into the target’s USPrice field.

add( source = 250.0  ->  target = requisition/items/Item/USPrice )

B.1.10 copy:from=double->to=double

Enables you to copy a double value into the target.

  • source from double

    The source double value.

  • target to double

    The target into which a double value is copied.

This example invokes the copy map to copy the value 47.2367895 into the target’s value field.

copy( source = 47.2367895 -> target = currency/USD/value )

B.1.11 copy:from=float->to=float

Enables you to copy a float value into the target.

  • source from float

    The source float value.

  • target to float

    The target float to which the value is copied.

This example invokes the copy map to copy the value 63.4 into the target’s price field

copy( source = 63.4 -> target = locale/currency/USD/price )

B.1.12 copy:from=integer->to=integer

Enables you to copy an integer value into the target.

  • source from integer

    The source integer value.

  • target to integer

    The target integer to which the value is copied.

This example invokes the copy map to copy the value 52 into the target’s avgPrice field.

copy( source = 52 -> target = todays/trade/ORCL/avgPrice )

B.1.13 copy:from=string->to=string

Enables you to copy a string value into the target.

  • source from string

    The source string to copy.

  • target to string

    The target string to which the value is copied.

This example invokes the copy map to copy a string value Oracle into the target’s company_name field.

copyString( from=‘Oracle’ -> to= expense-BE/Payload/company_name 
) 

B.1.14 copy:from=xmlOpaque->to=xmlOpaque

Enables you to copy an XMlOpaque value into the target XMlOpaque. The XMlOpaque type models the XMLSchema datatype xsd:any. It can hold strings, numbers, character objects (CLOB), binary objects (BLOB), and so on.

  • source from XMlOpaque

    The source XMlOpaque value to copy.

  • target to XMlOpaque

    The target XMlOpaque to which the value is copied.

This example invokes the copy map to copy a buyer’s address to a purchaser’s address. The XMLSchema datatype for Address is xsd:any.

copy( source = Buyer/Address -> target = Purchaser/Address )

B.1.15 decimalToInteger:source=decimal->result=integer

Returns the integer value of the source decimal value.

  • source source decimal

    The source decimal value.

  • target result integer

    The integer value of the source decimal value.

This example invokes decimalToInteger to convert decimal 23.45 to populate integer 23 in the target field.

decimalToInteger( source = 23.45 -> target = Purchaser/invoice/NoOfItems )

B.1.16 divide:first=decimal,second=decimal->result=decimal

Returns the result of dividing the first decimal value by the second decimal value.

  • source first decimal

    The first decimal value.

  • source second decimal

    The second decimal value.

  • target result decimal

    The value returned by dividing the first decimal value by the second decimal value.

This example invokes the divide map to divide 23.45 by 4.5 and bind the target map variable with the resulting decimal.

divide( first = 23.45 , second = 4.5 ) -> ( result = MapVariable )

B.1.17 divide:first=float,second=float->result=float

Returns the value of dividing the first float value by the second float value.

  • source first float

    The first float value.

  • source second float

    The second float value.

  • target result float

    The value returned by dividing the first float by the second float.

This example invokes the divide map to divide 23.45678 by 4.5 and bind the target map variable with the resulting float.

divide( first = 23.45678 , second = 4.5 -> result = MapVariable )

B.1.18 divide:first=integer,second=integer->result=integer

Returns the value of dividing the first integer value by the second integer value.

  • source first integer

    The first integer value (the numerator).

  • source second integer

    The second integer value with which to divide (the denominator).

  • target result integer

    The value returned by dividing the first integer by the second integer.

This example invokes the divide map to divide 25 by 5 and bind the target map variable with the resulting integer.

divide( first = 25 , second = 5 -> result = MapVariable )

B.1.19 doubleToDecimal:source=double->result=decimal

Returns the decimal value of the source double value.

  • source source double

    The source double value.

  • target result decimal

    The target decimal value of the source double value.

This example invokes doubleToDecimal to convert a double 23.45678 into a decimal value.

doubleToDecimal( source = 23.45678976 -> result = MapVariable )

B.1.20 doubleToFloat:source=double->result=float

Returns the float value of the source double value.

  • source source double

    The source double value.

  • target result float

    The target float value of the source double value.

This example invokes doubleToFloat to convert a double 23.45678 into a float value.

doubleToFloat( source = 23.45678976 -> result = MapVariable )

B.1.21 doubleToInteger:source=double->result=integer

Returns the integer value of the source double value.

  • source source double

    The source double value.

  • target result integer

    The target integer value of the source double value.

This example invokes doubleToInteger to convert a double 23.45678 into an integer value. The result of this map is 23.

doubleToInteger( source = 23.45678976 -> result = MapVariable )

B.1.22 endsWith:sourceString=string,sourceSuffix=string->resultFoundSuffix=boolean

Returns true if the sourceString is suffixed with the suffixString. Otherwise, false is returned.

  • source sourceString string

    The source string.

  • source sourceSuffix string

    The source suffix string.

  • target resultFoundSuffix boolean

    Returns true if the source string ends with the suffixString. Otherwise, false is returned.

This example invokes endsWith to verify if the string ’Hello World’ ends with ‘World’. The result of this map is true.

endsWith( sourceString = ‘HelloWorld’ , sourceSuffix = ‘World’ -> resultFoundSuffix = MapVariable )

B.1.23 endsWith:sourceString=string,sourceSuffix=string,sourceBeginOffset=integer->resultFoundSuffix=boolean

Returns true if the source string ends with the suffixString.

  • source sourceString string

    The source string.

  • source sourceSuffix string

    The source suffix string.

  • source sourceBeginOffset integer

    The offset from which to start the check for the suffix string within the source string.

  • target resultFoundSuffix boolean

    Returns true if the source string ends with the suffixString.

This example invokes endsWith to verify if the string ‘Hello World’ ends with ‘World’ starting from character number 5. In this case, it returns true.

endsWith( sourceString = ‘HelloWorld’ , sourceSuffix = ‘World’, sourceBeginOffset = 5 -> resultFoundSuffix = MapVariable )

B.1.24 floatToInteger:source=float->result=integer

Returns the integer value of the source float value.

  • source source float

    The source float value.

  • target result integer

    The integer value of the source float value.

This example invokes floatToInteger to convert a float 23.45 and bind the resulting integer 23 to the target MapVariable.

floatToInteger( sourceString = 23.45  -> result = MapVariable )

B.1.25 format:date=dateTime,formatPattern=string->resultString=string

Returns the string representation of the input dateTime in the required format.

B.1.25.1 Date and Time Patterns

Date and time formats are specified by date and time pattern strings. Within date and time pattern strings, unquoted letters from A to Z and from a to z are interpreted as pattern letters representing the components of a date or time string. Text can be quoted using single quotes (') so that it is taken literally ( represents a single quote). All other characters are not interpreted; they are simply copied into the output string during formatting or matched against the input string during parsing.

The pattern letters shown in Table B-1 are defined (all other characters from A to Z and from a to z are reserved).

Table B-1 Date and Time Patterns

Letter Date or Time Component Presentation Examples
G Era designator Text AD
y Year Year 1996; 96
M Month in year Month July; Jul; 07
w Week in year Number 27
W Week in month Number 2
D Day in year Number 189
d Day in month Number 10
F Day of week in month Number 2
E Day in week Text Tuesday; Tue
a Am/pm marker Text PM
H Hour in day (0-23) Number 0
k Hour in day (1-24) Number 24
K Hour in am/pm (0-11) Number 0
h Hour in am/pm (1-12) Number 12
m Minute in hour Number 30
s Second in minute Number 55
S Millisecond Number 978
z Time zone General time zone Pacific Standard Time; PST; GMT-08:00
Z Time zone RFC 822 time zone -0800
O Hour in time zone (0-23) ISO 8601 08
o Minute in time zone ISO 8601 45

Pattern letters are usually repeated, as their number determines the exact presentation:

  • Text

    For formatting, if the number of pattern letters is four or more, the full form is used. Otherwise a short or abbreviated form is used if available. For parsing, both forms are accepted, independent of the number of pattern letters.

  • Number

    For formatting, the number of pattern letters is the minimum number of digits, and shorter numbers are zero-padded to this amount. For parsing, the number of pattern letters is ignored unless it's needed to separate two adjacent fields.

  • Year

    For formatting, if the number of pattern letters is two, the year is truncated to two digits. Otherwise, it is interpreted as a number.

  • Month

    If the number of pattern letters is three or more, the month is interpreted as text. Otherwise, it is interpreted as a number.

  • General time zone

    Time zones are interpreted as text if they have names. For time zones representing a GMT offset value, the following syntax is used:

              GMTOffsetTimeZone:
                      GMT Sign Hours : Minutes
              Sign: one of
                      + -
              Hours:
                      Digit
                      Digit Digit
              Minutes:
                      Digit Digit
              Digit: one of
     0 1 2 3 4 5 6 7 8 9

Hours must be between 0 and 23, and Minutes must be between 00 and 59. The format is locale-independent and digits must be taken from the Basic Latin block of the Unicode standard.

For parsing, RFC 822 time zones are also accepted.

  • RFC 822 time zone

    For formatting, the RFC 822 4-digit time zone format is used:

                   RFC822TimeZone:
                          Sign TwoDigitHours Minutes
                   TwoDigitHours:
                          Digit Digit

TwoDigitHours must be between 00 and 23. Other definitions are as for general time zones.

For parsing, general time zones are also accepted.

  • ISO 8601 time zone

    For formatting, the ISO 8601 4-digit time zone format is used:

                  ISO8601TimeZone:
                          SignTwoDigitHours:Minutes
                  TwoDigitHours:
                          Digit Digit

TwoDigitHours must be between 00 and 23. Other definitions are as for general time zones.

B.1.25.2 Parameters

  • source date dateTime

    The current system date.

  • source formatPattern string

    The required format of the system date.

  • target resultString string

    Returns the system date in the required format as a string.

This example invokes the format map to format a dateTime Ò1997-05-01T13:20:59.333+5:30Ó in ISO 8601 format to a format Òyyyy-MMÓ and bind the result string to a MapVariable. The result of this map is a string Ò1997-05Ó.

format ( date = 1997-05-01T13:20:59.333+5:30, formatPattern = Òyyyy-MMÓ  ) -> ( resultString = MapVariable )

B.1.26 format:value=decimal,formatPattern=string->resultString=string

Returns a string representation of the input decimal value in the format specified.

B.1.26.1 Patterns

DecimalFormat patterns have the following syntax:

      Pattern:
              PositivePattern
              PositivePattern ; NegativePattern
      PositivePattern:
              Prefixopt Number Suffixopt
      NegativePattern:
              Prefixopt Number Suffixopt
      Prefix:
              any Unicode characters except \uFFFE, \uFFFF, and special characters
      Suffix:
              any Unicode characters except \uFFFE, \uFFFF, and special characters
      Number:
              Integer Exponentopt
              Integer . Fraction Exponentopt
      Integer:
              MinimumInteger
              #
              # Integer
              # , Integer
      MinimumInteger:
              0  
              0 MinimumInteger
              0 , MinimumInteger
      Fraction:
              MinimumFractionopt OptionalFractionopt
      MinimumFraction:
              0 MinimumFractionopt
      OptionalFraction:
              # OptionalFractionopt
      Exponent:
              E MinimumExponent
      MinimumExponent:
              0 MinimumExponentopt

A pattern contains a positive and negative subpattern, for example, "#,##0.00;(#,##0.00)". Each subpattern has a prefix, numeric part, and suffix. The negative subpattern is optional. If absent, then the positive subpattern prefixed with the localized minus sign (code>'-' in most locales) is used as the negative subpattern. That is, "0.00" alone is equivalent to "0.00;-0.00". If there is an explicit negative subpattern, it serves only to specify the negative prefix and suffix. The number of digits, minimal digits, and other characteristics are all the same as the positive pattern. That means that "#,##0.0#;(#)" produces precisely the same behavior as "#,##0.0#;(#,##0.0#)".

The prefixes, suffixes, and various symbols used for infinity, digits, thousands separators, decimal separators, and so on can be set to arbitrary values, and they appear properly during formatting. However, ensure that the symbols and strings do not conflict, or parsing is unreliable. For example, either the positive and negative prefixes or the suffixes must be distinct for DecimalFormat.parse() to distinguish positive from negative values. (If they are identical, then DecimalFormat behaves as if no negative subpattern was specified.) Another example is that the decimal separator and thousands separator must be distinct characters, or parsing is impossible.

The grouping separator is commonly used for thousands, but in some countries it separates ten-thousands. The grouping size is a constant number of digits between the grouping characters, such as 3 for 100,000,000 or 4 for 1,0000,0000. If you supply a pattern with multiple grouping characters, the interval between the last one and the end of the integer is the one used. Therefore, "#,##,###,####" == "######,####" == "##,####,####".

B.1.26.2 Special Pattern Characters

Many characters in a pattern are taken literally. They are matched during parsing and output unchanged during formatting. Special characters, however, stand for other characters, strings, or classes of characters. They must be quoted, unless noted otherwise, if they are to appear in the prefix or suffix as literals.

The characters listed in Table B-2 are used in nonlocalized patterns. Localized patterns use the corresponding characters taken from this formatter's DecimalFormatSymbols object instead, and these characters lose their special status. Two exceptions are the currency sign and quote, which are not localized.

Table B-2 Special Pattern Characters

Symbol Location Localized? Meaning
0 Number Yes Digit
#
Number Yes Digit, zero shows as absent
. Number Yes Decimal separator or monetary decimal separator
- Number Yes Minus sign
, Number Yes Grouping separator
E Number Yes Separates mantissa and exponent in scientific notation. It does not need to be quoted in the prefix or suffix.
; Subpattern boundary Yes Separates positive and negative subpatterns.
%
Prefix or suffix Yes Multiply by 100 and show as percentage.
\u2030 Prefix or suffix Yes Multiply by 1000 and show as for each mille. (Mille is the equivalent of ten to the power of minus three.)
¤ (\u00A4) Prefix or suffix No Currency sign, replaced by currency symbol. If doubled, it is replaced by the international currency symbol. If present in a pattern, the monetary decimal separator is used instead of the decimal separator.
' Prefix or suffix No Used to quote special characters in a prefix or suffix, for example, "'#'#" formats 123 to "#123". To create a single quote itself, use two in a row: "# o''clock".

B.1.26.3 Scientific Notation

Numbers in scientific notation are expressed as the product of a mantissa and a power of ten. For example, 1234 can be expressed as 1.234 x 10^3. The mantissa is often in the range of 1.0 <= x < 10.0, but it does not need to be. DecimalFormat can be instructed to format and parse scientific notation only through a pattern. There is currently no factory method that creates a scientific notation format. In a pattern, the exponent character immediately followed by one or more digit characters indicates scientific notation. For example, "0.###E0" formats the number 1234 as "1.234E3".

  • The number of digit characters after the exponent character gives the minimum exponent digit count. There is no maximum. Negative exponents are formatted using the localized minus sign, not the prefix and suffix from the pattern. This allows patterns such as "0.###E0 m/s".

  • The minimum and maximum number of integer digits are interpreted together:

    • If the maximum number of integer digits is greater than their minimum number and greater than one, it forces the exponent to be a multiple of the maximum number of integer digits, and the minimum number of integer digits to be interpreted as one. The most common use of this is to generate engineering notation, in which the exponent is a multiple of three (for example, "##0.#####E0"). Using this pattern, the number 12345 formats to "12.345E3", and 123456 formats to "123.456E3".

    • Otherwise, the minimum number of integer digits is achieved by adjusting the exponent. For example, 0.00123 formatted with "00.###E0" results in "12.3E-4".

  • The number of significant digits in the mantissa is the sum of the minimum integer and maximum fraction digits, and is not impacted by the maximum integer digits. For example, 12345 formatted with "##0.##E0" is "12.3E3". To show all digits, set the significant digits count to zero. The number of significant digits does not impact parsing.

  • Exponential patterns may not contain grouping separators.

B.1.26.4 Rounding

Rounding uses half-even rounding for formatting. Use rounding mode to round toward the nearest neighbor unless both neighbors are equidistant. In that case, round toward the even neighbor. For example, if a pattern is Ò0000Ó and the number to format is 234.55, the resulting formatted value is Ò0235Ó. If the number to format is 234.50, the resulting value is Ò0234Ó. If the number to format is 233.50, the resulting value is Ò0234Ó.

B.1.26.5 Parameters

  • source value decimal

    The current decimal format.

  • source formatPattern string

    The required format of decimals.

  • target resultString string

    Returns a string representation of the input decimal value formatted to the specified pattern.

This example invokes format to convert a decimal Ò23.45Ó to a format Ò##.##Ó and bind the resulting string to a MapVariable. The result of this map is a string Ò23.45Ó.

format ( value = 23.453, formatPattern = Ò##.##Ó  -> resultString = MapVariable )

B.1.27 format:value=double,formatPattern=string->resultString=string

Returns a string representation of the input double value in the format specified. Patterns accepted are the same as for the format map taking source value decimal.

  • source value double

    The current double format.

  • source formatPattern string

    The required format of double values.

  • target resultString string

    Returns a string representation of the input double value formatted to the specified pattern.

This example invokes format to convert a double Ò23456.789Ó to a format Ò##.##E0Ó and bind the resulting string to a MapVariable. The result of this map is a string Ò23.46E3Ó.

format ( value = 23456.789, formatPattern = Ò00.00E0Ó  -> resultString = MapVariable )

B.1.28 format:value=float,formatPattern=string->resultString=string

Returns a string representation of the input float value in the format specified.

Patterns accepted are the same as for the format map taking source value decimal.

  • source value float

    The source float value.

  • source formatPattern string

    The required pattern of float values.

  • target resultString string

    Returns a string representation of the input float value formatted to the specified pattern.

This example invokes format to convert a float 234.5 to a format Ò##.##Ó and bind the resulting string to a MapVariable. The result of this map is a string Ò234.50Ó.

format ( value = 23.45, formatPattern = Ò00.00Ó  ) -> ( resultString = MapVariable )

B.1.29 format:value=integer,formatPattern=integer->resultString=string

Returns an integer in the format specified.

Patterns accepted are the same as the patterns accepted for the format map taking a decimal source value.

  • source value integer

    The source integer value.

  • source formatPattern string

    The required format of integer values.

  • target resultString string

    Returns a string representation of the input integer value formatted to the specified pattern.

This example invokes format to convert an integer Ò234Ó to a format Ò0000Ó and bind the resulting string to a MapVariable. The result of this map is a string Ò0234Ó.

format ( value = 234, formatPattern = Ò0000Ó  -> resultString = MapVariable )

B.1.30 generateGUIDString:->GUIDString=string

Enables you to generate a unique global unique identifier (GUID) string.

  • target GUIDString string

    Returns the generated GUID string.

This example invokes the generateGUIDString map to get a unique reference ID that is bound to header/MessageID.

generateGUIDString (  -> GUIDString = header/MessageID )

B.1.31 getPartyContactInformation:partyName=string,contactInfoType=string-contactInfo=string

Enables you to get the party name contact information for the source partner name based on contactInfoType input.

  • source partyName string

    The source party name.

  • source contactInfoType string

    The type of contact information required (for example, e-mail).

  • target contactInfo string

    The contact information method for the source party string.

This example invokes getPartyContactInformation to get ‘Email’ of the party. The ‘Email’ is bound to a MapVariable.

getPartyContactInformation ( partyName = ÒOracle IDCÓ, contactInfoType = ÒEmailÓ  -> contactInfo = MapVariable )

B.1.32 getPartyIdentification:partyName=string,partyIdentificationType=string->partyIdentification=string

Enables you to get the party identification number for the source party name.

  • source partyName string

    The source party name.

  • source partyIdentificationType string

    The party identification method.

  • target partyIdentification string

    The party identification type for the source party value.

This example invokes getPartyIdentification to get the "DUNS" number of the party. The DUNS number retrieved is bound to a MapVariable.

getPartyIdentification ( partyName = ÒOracle IDCÓ, partyIdentificationType = ÒDUNSÓ  -> partyIdentification = MapVariable )

B.1.33 getSystemDate:->systemDate=dateTime

Returns the system date of the server.

  • target systemDate dateTime

    Returns the system date.

This example invokes getSystemDate to get the server’s current date. The value retrieved is bound to a MapVariable.

getSystemDate ( -> systemDate = MapVariable )

B.1.34 getTradingPartnerNameFromIdentifier:identifierNumber=string,identifierType=string->tradingPartnerName=string

Returns a partner name given an identification number, given the identification type. If the trading partner name is not found, no exception is raised and no target parameter is set (that is, the result is an implicit null value).

  • source identifierNumber string

    The source identification number.

  • source identifierType string

    The party identification type.

  • target tradingPartnerName string

    Returns the target trading partner name for the source identification number.

This example invokes getTradingPartnerNameFromIdentifier to get a trading partner’s name, given the trading partner’s identifier and identifier type. The value retrieved is bound to a MapVariable.

getTradingPartnerNameFromIdentifier ( identifierNumber = PAYLOAD/PARTNRIDX  , identifierType = ÒEDI Location CodeÒ -> tradingPartnerName = MapVariable )

B.1.35 indexOfString:sourceString=string,searchString=string,beginOffset=integer->resultIndex=integer

Returns the index of a search string within the source string starting from a given start index. If the search string is not found, a value of -1 is returned. The index starts from 0.

  • source sourceString string

    Returns the index of a search string within the source string starting from a given start index.

  • source searchString string

    The string for which to search within the source string.

  • source beginOffset integer

    The index from which to begin the search. The index starts from zero.

  • target resultIndex integer

    The result index. The index is the starting character of the search string within the source string.

This example invokes indexOfString to get the index of first occurrence of the search string within the source string beginning from the given offset. The result of this map, 7, is bound to IndexMapVariable, a map variable.

indexOfString ( sourceString = Ò123-456-567Ò , searchString = Ò-Ò , beginOffset = 4 -> resultIndex = IndexMapVariable )

B.1.36 indexOfString:sourceString=string,searchString=string->resultIndex=integer

Returns the index of the starting character of the search string within the source string. If the search string is not found, a value of -1 is returned. The index starts from 0.

  • source sourceString string

    The source string.

  • source searchString string

    The search string.

  • target resultIndex integer

    The source string in which the index is returned.

This example invokes stringCompareToIgnoreCase map to compare two strings while ignoring the case. The result of this map is 6.

indexOfString( sourceString = ÒHello WorldÓ , searchString = ÒWorldÓ -> resultEquals = MapVariable )

B.1.37 lastIndexOfString:sourceString=string,searchString=string->resultIndex=integer

The resultIndex has the index of the last (right most) occurrence of the starting character of the searchString within the sourceString. If the searchString is not found within the sourceString, the resultIndex is -1.

  • source sourceString string

    The source string.

  • source searchString string

    The search string.

  • target resultIndex integer

    The result index. The index is the starting character of the search string within the source string.

This example invokes lastIndexOfString to get the index of the last occurrence of the search string within the source string. The result of this map is 12, the start index of the search string.

lastIndexOfString ( sourceString = ÒHello World WorldÓ , serachString = ÒWorldÓ -> resultString = LastIndexMapVariable )

B.1.38 lastIndexOfString:sourceString=string,searchString=string,beginOffset=integer->resultIndex=integer

Returns the index of the last occurrence of the starting character of the searchString within the sourceString searching backward starting at the specified index. If the searchString is not found within the sourceString, the resultIndex is -1.

  • source sourceString string

    The source string.

  • source searchString string

    The search string.

  • source beginOffset integer

    The index from which to begin the search.

  • target resultIndex integer

    Returns the result index. The index is the starting character of the search string within the source string.

This example invokes lastIndexOfString to get the index of the last occurrence of the search string within the source string from the given offset. The result of this map is 6, the start index of the search string.

lastIndexOfString( sourceString = ÒHello World WorldÓ , serachString = ÒWorldÓ , beginOffset = 11 -> resultString = LastIndexMapVariable )

B.1.39 leftTrim:sourceString=string->resultString=string

Returns a string with leading white space omitted.

  • source sourceString string

    The source string.

  • target resultString string

    A string with leading white space omitted or, if it has no leading white space, the source string itself.

This example invokes leftTrim to get the result string devoid of leading white spaces. The result of this map is ÓHello World Ó.

leftTrim( sourceString = Ò    Hello World Ó -> resultString = MapVariable )

B.1.40 lowerCase:sourceString=string->resultString=string

Returns a string with all letters in lower case.

  • source sourceString string

    The source string.

  • target resultString string

    The resulting string in lower case.

This example invokes lowerCase to get the result string in lower case. The result of this map is Óhello worldÓ.

lowerCase( sourceString = ÒHEllo WOrldÓ -> resultString = MapVariable )

B.1.41 multiply:first=decimal,second=decimal->result=decimal

Returns the value of multiplying the first decimal with the second decimal.

  • source first decimal

    The first decimal.

  • source second decimal

    The second decimal.

  • target result decimal

    The value returned by multiplying the first decimal with the second decimal.

This example invokes multiply to multiply decimal 12.3 with 45.67, and the result 561.741 is stored in a map variable.

multiply( first = 12.3 , second = 45.67 -> result = MapVariable )

B.1.42 multiply:first=float,second=float->result=float

Returns the value of multiplying the second float value with the first float value.

  • source first float

    The first source float value.

  • source second float

    The second source float value.

  • target result float

    The value returned by multiplying the first float value with the second float value.

This example invokes the multiply map to multiply float 12.345 with 67.890 and store the result of 838.10205 in a map variable.

multiply( first = 12.345 , second = 67.890 -> result = MapVariable )

B.1.43 multiply:first=integer,second=integer->result=integer

Returns the result of multiplying the first integer with the second integer.

  • source first integer

    The first integer.

  • source second integer

    The second integer with which to multiply.

  • target result integer

    The result of multiplying the first integer with the second integer.

This example invokes the multiply map to multiply integer 12 with 3456 and store the result of 41472 in a map variable.

multiply( first = 12 , second = 3456 -> result = MapVariable )

B.1.44 rightTrim:sourceString=string->resultString=string

Returns a string with trailing white space omitted.

  • source sourceString string

    The source string.

  • target resultString string

    A string with trailing white spaces omitted or, if it has no trailing white space, the source string itself.

This example invokes rightTrim to get the result string devoid of trailing white spaces. The result of this map is Ó Hello WorldÓ.

rightTrim( sourceString = Ò    Hello World   Ó -> resultString = MapVariable )

B.1.45 startsWith:sourceString=string,sourcePrefix=string->resultFoundPrefix boolean

Returns true if the sourceString starts with prefixString. Otherwise, false is returned.

  • source sourceString string

    The source string.

  • source sourcePrefix string

    The prefix string to check for in the source string.

  • target resultFoundPrefix boolean

    Returns true if the source string starts with the prefix string. Otherwise, false is returned.

This example invokes startsWith to verify if the source string starts with the source prefix. The result of this map is true.

startsWith( sourceString = ÒHi Hello WorldÓ , sourcePrefix = ÒHiÓ -> resultFoundPrefix = MapVariable )

B.1.46 startsWith:sourceString=string,sourcePrefix=string,sourceBeginOffset=integer->resultFoundPrefix boolean

Returns true if the prefixString character sequence is the same as that of the sourceString starting from the index specified. Otherwise, false is returned.

  • source sourceString string

    The source string.

  • source sourcePrefix string

    The prefix string for which to check.

  • source sourceBeginOffset integer

    The start index to search from within the source string. The index starts from zero.

  • target resultFoundPrefix boolean

    Returns true if the source string starts with the prefix string starting from the start index. Otherwise, false is returned.

This example invokes startsWith to verify if the source string starts with the source prefix from the given offset. The result of this map is false.

startsWith( sourceString = ÒHi Hello WorldÓ , sourcePrefix = ÒHiÓ , sourceBeginOffset = 3 -> resultFoundPrefix = MapVariable )

B.1.47 stringCompareTo:sourceString=string,sourceCompareTo=string->resultEquals=integer

Enables you to compare two strings lexicographically. The comparison is based on the unicode value of each character in the strings. The character sequence represented by the sourceString string is compared lexicographically to the character sequence represented by the sourceCompareTo string. The result is a negative integer if sourceString lexicographically precedes sourceCompareTo. The result is a positive integer if sourceString lexicographically follows the sourceCompareTo string. The result is zero if the strings are equal.

This is the definition of lexicographic ordering. If two strings are different, then they have different characters at some index that is a valid index for both strings, or their lengths are different, or both. If they have different characters at one or more index positions, let k be the smallest such index. The string whose character at position k has the smaller value, as determined by using the < operator, then lexicographically precedes the other string. In this case, compareTo returns the difference of the two character values at position k in the two strings; that is, the following value:

sourceString.charAt(k)- sourceCompareTo.charAt(k)

If there is no index position at which they differ, then the shorter string lexicographically precedes the longer string. In this case, sourceCompareTo returns the difference of the lengths of the strings; that is, the following value:

sourceString.length()- sourceCompareTo.length()

  • source sourceString string

    The source string.

  • source sourceCompareTo string

    The string with which to be compared.

  • target resultEquals integer

    The value zero is returned if the argument string is equal to this string. A value less than zero is returned if sourceString is lexicographically less than the sourceCompareTo string. A value greater than zero is returned if sourceString is lexicographically greater than the sourceCompareTo string.

This example invokes stringCompareTo to compare two strings. The result of this map is -15.

stringComapreTo( sourceString = ÒHello WorldÓ , sourceCompareTo = ÒWorld HelloÓ -> resultEquals = MapVariable )

B.1.48 stringCompareToIgnoreCase:sourceString=string,sourceCompareTo=string->resultEquals=integer

Enables you to compare two strings lexicographically, ignoring case differences. This method returns an integer whose sign is that of calling string sourceCompareTo with normalized versions of the strings where case differences have been eliminated.

  • source sourceString string

    The source string.

  • source sourceCompareTo string

    The string with which to be compared.

  • target resultEquals integer

    A negative integer, zero, or a positive integer as the sourceCompareTo string is greater than, equal to, or less than sourceString, ignoring case considerations.

This example invokes stringCompareToIgnoreCase to compare two strings while ignoring the case. The result of this map is 0.

stringCompareToIgnoreCase( sourceString = ÒHello WorldÓ , sourceCompareTo = Òhello worldÓ -> resultEquals = MapVariable )

B.1.49 stringLength:sourceString=string->resultLength=integer

Enables you to compute the length of the source string. The value is copied into the target.

  • source sourceString string

    The source string value.

  • target resultLength integer

    The target integer parameter that holds the length of the source string.

This example invokes stringLength to compute the length of the source string. The result of this map is 11.

stringLength( sourceString = ÒHello WorldÓ -> resultEquals = MapVariable )

B.1.50 stringToBoolean:source=string->result=boolean

Returns the Boolean value of the source string value.

  • source source string

    The source string value.

  • target result boolean

    The Boolean value of the source string value.

This example invokes stringToBoolean to convert a string ÒtrueÓ to a Boolean. The result of this map is Boolean true.

stringToBoolean( source = ÒtrueÓ -> result = MapVariable )

B.1.51 stringToCharacter:source=string->result=character

Returns the character value of the source string value.

  • source source string

    The source string value.

  • target result character

    The character value of the source string value.

This example invokes stringToCharacter to convert a string ÒCÓ to a character. The result of this map is a character ‘C’.

stringToCharacter( source = ÒCÓ -> result = MapVariable )

B.1.52 stringToDateTime:source=string->result=dateTime

Returns the date and time format for the input source string.

  • source source string

    The source string.

  • target result dateTime

    Returns the date and time format for the source string.

This example invokes stringToDateTime to convert an ISO 8601 string to dateTime. The result of this map is a dateTime.

stringToDateTime( source = Ò2003-05-16Ó -> result = MapVariable )

B.1.53 stringToDateTime:source=string,pattern=string->result=dateTime

Returns the dateTime representation by parsing the input string in the given pattern. If the pattern is null, it assumes the source string is in ISO 8601 format.

  • source source string

    The source string.

  • source pattern string

    The pattern to which the source string conforms.

  • target result dateTime

    Returns the date and time format for the source string.

This example invokes stringToDateTime to convert a source in ISO 8601 string format to dateTime. The result of this map is a dateTime.

stringToDateTime( source = Ò2003-05-16 08:24:56.789 GMT+5:30Ó , pattern = Òyyyy-MM-dd hh:mm:ss.SSS ZÓ -> result = MapVariable )

B.1.54 stringToDecimal:source=string->result=decimal

Returns the decimal value of the source string.

  • source source string

    The source string.

  • target result decimal

    The decimal value of the source string.

This example invokes stringToDecimal to convert a string to a decimal.

stringToDecimal( source = Ò56.789Ó -> result = MapVariable )

B.1.55 stringToDouble:source=string->result=double

Returns the double value of the source string value.

  • source source string

    The source string.

  • target result double

    The double value of the source string value.

This example invokes stringToDouble to convert a string to double.

stringToDouble( source = Ò56.8945Ó -> resultEquals = MapVariable )

B.1.56 stringToFloat:source=string->result=float

Returns the float value for the source string value.

  • source source string

    The source string.

  • target result float

    The float value of the source string value.

This example invokes stringToFloat to convert a string to double.

stringToFloat( source = Ò56.894567Ó -> result = MapVariable )

B.1.57 stringToInteger:sourcestring=string->resultinteger=integer

Returns the integer value for the source string value.

  • source sourcestring string

    The source string.

  • target resultinteger integer

    The integer value of the source string value.

This example invokes stringToInteger to convert a string to an integer.

stringToInteger( sourceString = Ò56Ó -> resultInteger = MapVariable )

B.1.58 subString:sourceString=string,beginIndex=integer,endIndex=integer->resultString=string

Enables you to copy the portion of the source string specified by the indexes beginIndex and endIndex into the resultString. The result string is composed of characters starting from beginIndex to endIndex - 1. Character beginIndex starts from zero.

  • source sourceString string

    The source string.

  • source beginIndex integer

    The beginning source index (inclusive).

  • source endIndex integer

    The ending source index (exclusive).

  • target resultString string

    The target string that holds the substring value.

This example invokes stringToInteger to convert a string to an integer. The result of this map is ÒHello WoÓ.

subString( sourceString = ÒHello WorldÓ, beginIndex = 0 , endIndex = 7 -> resultString = MapVariable )

B.1.59 subString:sourceString=string,beginIndex=integer->resultString=string

Enables you to copy the portion of the source string with the starting character at the specified beginIndex to the end of the source string into the resultSting. The character beginIndex starts from zero.

  • source sourceString string

    The source string.

  • source beginIndex integer

    The beginning source index (inclusive).

  • target resultString string

    The target string parameter that holds the substring value.

This example invokes stringToInteger to convert a string to an integer. The result of this map is ÒWorldÓ.

subString( sourceString = ÒHello WorldÓ, beginIndex = 6 -> resultString = MapVariable )

B.1.60 subStringAfter:sourceString=string,delimiter=string->resultString=string

Returns a string with all characters after the specified delimiter string.

  • source sourceString string

    The source string.

  • target delimiter string

    The delimiter string.

  • target resultString string

    The result string.

This example invokes subStringAfter to get a string with all characters after the specified delimiter string. The result of this map is ÒASÓ.

subStringAfter( sourceString = ÒOracle 9iASÓ , delimiter = Ò9iÓ -> resultString = MapVariable )

B.1.61 subStringBefore:sourceString=string,delimiter=string->resultString=string

Returns a string with all characters before the specified delimiter string.

  • source sourceString string

    The source string.

  • target delimiter string

    The delimiter string.

  • target resultString string

    The result string.

This example invokes subStringBefore to get a string with all characters before the specified delimiter string. The result of this map is ÒOracle Ó.

subStringBefore( sourceString = ÒOracle 9iASÓ , delimiter = Ò9iÓ -> resultString = MapVariable )

B.1.62 subtract:first=decimal,second=decimal->result=decimal

Returns the result of subtracting second decimal from the first decimal.

  • source first decimal

    The first decimal.

  • source second decimal

    The second decimal.

  • target result decimal

    The value returned by subtracting the second decimal value from the first decimal value.

This example invokes subtract to subtract decimals. The result of this map is decimal 2.0.

subtract( first = 12.34, second = 10.34 -> result = MapVariable )

B.1.63 subtract:first=float,second=float->result=float

Returns the result of subtracting the second source float value from the first source float value.

  • source first float

    The first source float value.

  • source second float

    The second source float value.

  • target result float

    The value returned by subtracting the second float value from the first float value.

This example invokes the subtract map to subtract a float. The result of this map is float 2.0.

subtract( first = 12.3456, second = 10.3456 -> result = MapVariable )

B.1.64 subtract:first=integer,second=integer->result=integer

Returns the result of subtracting the second integer from the first integer.

  • source first integer

    The first integer from which to subtract.

  • source second integer

    The second integer to subtract from the first integer.

  • target result integer

    The result of subtracting the second integer from the first integer.

This example invokes the subtract map to subtract integers. The result of this map is 2.

subtract( first = 12, second = 10 -> result = MapVariable )

B.1.65 trim:sourceString=string->resultString=string

Returns a string, with leading and trailing white space omitted. White space characters are supported for the following:

  • '\t' '\u0009' HORIZONTAL TABULATION

  • '\n' '\u000A' NEW LINE,

  • '\f' '\u000C' FORM FEED,

  • '\r' '\u000D' CARRIAGE RETURN,

  • ' ' '\u0020' SPACE

This rule uses these sources and targets.

  • source sourceString string

    The source string.

  • target resultString string

    A string, with leading and trailing white space omitted or, if it has no leading or trailing white space, the source string itself.

This example invokes trim to remove leading and trailing white spaces. The result of this map is ÒOracle IDCÓ.

trim( sourceString = Ò    Oracle IDC    Ó -> resultString = MapVariable )

B.1.66 upperCase:sourceString=string->resultString=string

Returns a string with all letters in upper case.

  • source sourceString string

    The source string.

  • target resultString string

    The resulting string with all letters in upper case.

This example invokes uppperCase to convert lower case letters to upper case letters. The result of this map is ÒORACLE 9IASÓ.

stringToInteger( sourceString = ÒOracle 9iASÓ -> resultString = MapVariable )

B.2 Event Header Rules

This section describes the event header rules included with Oracle Application Server ProcessConnect.


See Also:


B.2.1 setToParty

Sets the ToParty name in the selected event’s header.

  • source toPartyName string

    The party name to set in the event header.

This example invokes setToParty to set the to party’s name in the selected event.

setToParty( toPartyName = ÒIPQ-NHEÓ )

B.2.2 setFromParty

Sets the FromParty name in the event header.

  • source fromPartyName string

The party name to set in the event header.

This example invokes setFromParty to set the to party’s name in the selected event.

setFromParty( fromPartyName = ÒIPQ-HEÓ )

B.2.3 getToParty

Gets the ToParty name from the event header.

  • target toParty string

    The ToParty name in the event header.

This example invokes getToParty to get the to party’s name from the selected event.

getToParty( -> toParty = FTP-Initiating-ET-OUT/Payload/to )

B.2.4 getFromParty

Gets the FromParty name from the event header.

  • target fromParty string

    The fromParty name in the event header.

This example invokes getFromParty to get the from party’s name from the selected event.

getFromParty( -> fromParty = FTP-Initiating-ET-OUT/Payload/from )

B.3 Domain Value Map Rules

This section describes the domain value map rules included with Oracle Application Server ProcessConnect.


See Also:



Note:

You must create a domain value map before you can select a domain value map rule as a statement type.

B.3.1 lookupPartyDomainWithDefaultValue

Given the party name and the value invalue to be looked up, this function returns the corresponding value from the party domain. If a corresponding value for the inValue is not found in the party domain, the value corresponding to the input parameter defaultValue is returned.

  • source Party string

    The party name.

  • source inValue string

    The input parameter containing the source value.

  • source defaultValue string

    The value to return if the input value cannot be mapped to the party domain.

  • target outValue string

    The return value containing the looked-up value from the party domain.

This example invokes lookupPartyDomainWithDefaultValue with a default value of "none". The target is bound to a map variable.

lookupPartyDomainWithDefaultValue( InValue = reason/FreeFormText, defaultValue = ÒnoneÓ -> outValue = MapVariableReasonCode )

B.3.2 lookupPartyDomain

Given the party name and the value to be looked up, this function returns the corresponding value from the party domain.

  • source Party string

    The party name.

  • source InValue string

    The input parameter containing the source value.

  • target outValue string

    The return value containing the looked-up value from the domain party.

This example invokes lookupPartyDomain to get the discount day of the month for the given term ID.

lookupPartyDomain ( InValue = DATAAREA/PROCESS_PO/POORDERHDR/POTERM/TERMID -> outValue = Purchasing Order/FinancingTerms/Discounts/discountDay/DayOfMonth )

B.3.3 lookupBusinessViewDomainWithDefaultValue

Given the party name and the value to be looked up, this function returns the corresponding value from the business view (common view) domain. If a corresponding value for the InValue is not found in the business view, the value corresponding to the input parameter defaultvalue is returned.

  • source Party string

    The name of the party.

  • source InValue string

    The input value to look up.

  • source defaultValue string

    The value to return if the input value cannot be mapped to the business view domain.

  • target outValue string

    The corresponding value returned after lookup from the business view domain.

This example invokes lookupBusinessViewDomainWithDefaultValue with a default value as "host_trading_partner". The target is bound to a path PARTNRIDX.

lookupBusinessViewDomainWithDefaultValue( Party = MapVariableFromParty, inValue = ÒnameÓ, defaultValue = Òhost_trading_partnerÓ -> outValue = PARTNRIDX )

B.3.4 lookupBusinessViewDomain

Given the party name and the value to be looked up, this function returns the corresponding value from the business view (common view) domain.

  • source Party string

    The party name.

  • source InValue string

    The input value to look up.

  • target outValue string

    The corresponding value returned after lookup from the business view domain.

This example invokes lookupBusinessViewDomain to get the purchase order type given the party and the order type code. The output is bound to a path DATAAREA/ACKNOWLEDGE_PO/POORDERHDR/POTYPE.

lookupBusinessViewDomain ( Party = MapVariableFromParty, inValue = ÒPurchaseOrder/GlobalPurchaseOrderTypeCode -> outValue = DATAAREA/ACKNOWLEDGE_PO/POORDERHDR/POTYPE )

B.4 Appendix Summary

This appendix describes and provides examples of the transformation rule, event header rules, and domain value map rules.