DTRHELP.HLB  —  Value Expressions, Concatenated Expressions
       DEC DATATRIEVE allows you to join value expressions to form a
       concatenated expression. You can use a concatenated expression
       anywhere the syntax of a DEC DATATRIEVE statement allows a
       character string literal. When DEC DATATRIEVE concatenates
       value expressions, it converts their values to character string
       literals.

       DEC DATATRIEVE provides three types of concatenated expressions:

       o  value-expression | value-expression

       o  value-expression || value-expression

       o  value-expression ||| value expression

       In each case, DEC DATATRIEVE converts the values of each value
       expression to a character string literal and joins the literals
       to form a longer literal. The differences among the three forms
       of concatenated expression lie in the way they treat trailing
       spaces of the first literal, and whether they add any spaces
       between the literals:

       o  A single bar leaves the literals as they are. For example:

          "ABC"|"DEF"    "ABC  "|"DEF"    "ABC"|"  DEF"    "ABC  "|" DEF"
           ABCDEF         ABC  DEF         ABC  DEF         ABC    DEF

       o  A double bar suppresses trailing spaces of the first literal
          and does nothing to the leading spaces of the second literal.
          For example:

          "ABC"||"DEF"   "ABC  "||"DEF"   "ABC"||"  DEF"  "ABC  "||"  DEF"
           ABCDEF         ABCDEF           ABC  DEF        ABC  DEF

       o  A triple bar suppresses trailing spaces of the first literal,
          inserts one space, and does nothing to the leading spaces of
          the second literal. For example:

          "ABC"|||"DEF"  "ABC  "|||"DEF" "ABC"|||"  DEF"  "ABC  "|||"  DEF"
           ABC DEF        ABC DEF         ABC   DEF        ABC   DEF

       You can use concatenated expressions for assigning values to
       lengthy fields or variables. Concatenated expressions provide
       the only method for assigning values to fields or variables whose
       lengths exceed 255 characters. The following example combines
       the T edit string, *.prompt value expressions, and character
       string literals to assign a value to a long variable. You can use
       similar assignment statements in the USING clauses of the STORE
       and MODIFY statements:

       DTR> DECLARE STR PIC X(300) EDIT_STRING IS T(50).
       DTR> STR = *.L1|*.L2|*.L3|*.L4|*.L5
       Enter L1: This string contains the first part of a long character
       Enter L2: string. This string is so long that you can't use just
       Enter L3: one character string literal to assign a value to it.
       Enter L4: You need concatenated expressions to increase the length
       Enter L5: of this string beyond the limit of 255 characters.
       DTR> PRINT STR

                              STR

       This string contains the first part of a long
       character string. This string is so long that you
       can't use just one character string literal to
       assign a value to it.  You need concatenated
       expressions to increase the length of this string
       beyond the limit of 255 characters.

       DTR>
Close Help