Positions 33-39 (To Position / Length)

Free-Form Syntax
To Position
Use the POS keyword to specify the From position, and use the length parameter of the data-type keyword to specify the length in characters or digits.
Length
Length parameter of the data-type keyword.
Entry
Explanation
Blank
If positions 33-39 are blank:
  • a named constant is being defined on this specification line, or
  • the standalone field, parameter, or subfield is being defined LIKE another field, or
  • the standalone field, parameter, or subfield is of a type where a length is implied, or
  • the subfield's attributes are defined elsewhere, or
  • a data structure is being defined. The length of the data structure is the maximum value of the subfield To-Positions. The data structure may be defined using the LIKEDS or LIKEREC keyword.
nnnnnnn
Positions 33-39 may contain a (right-justified) numeric value, from 1 to 9999999, as follows:
  • If the From field (position 26-32) contains a numeric value, then a numeric value in this field specifies the absolute end position of the subfield within a data structure.
  • If the From field is blank, a numeric value in this field specifies :
    • the length of the entire data structure, or
    • the length of the standalone field, or
    • the length of the parameter, or
    • the length of the subfield. Within the data structure, this subfield is positioned such that its starting position is greater than the maximum to-position of all previously defined subfields in the data structure. Padding is inserted if the subfield is defined with type basing pointer or procedure pointer to ensure that the subfield is aligned properly.
    Note:
    1. For graphic or UCS-2 fields, the number specified here is the number of graphic or UCS-2 characters, NOT the number of bytes (1 graphic or UCS-2 character = 2 bytes). For numeric fields, the number specified here is the number of digits (for packed and zoned numeric fields: 1-63; for binary numeric fields: 1-9; for integer and unsigned numeric fields: 3, 5, 10, or 20; ).
    2. For float numeric fields the number specified is the number of bytes, NOT the number of digits (4 or 8 bytes).
    3. If you want to define a character, UCS-2 or graphic definition with a length greater than 9999999, use the LEN keyword instead of specifying the Length entry. If you want to explicitly position a subfield whose length is defined with the LEN keyword, use the OVERLAY keyword. You code the data structure name in the first parameter of the OVERLAY keyword, and the desired start position of the subfield in the second parameter of the OVERLAY keyword.
+|-nnnnn
This entry is valid for standalone fields or subfields defined using the LIKE keyword. The length of the standalone field or subfield being defined on this specification line is determined by adding or subtracting the value entered in these positions to the length of the field specified as the parameter to the LIKE keyword.
Note:
  1. For graphic or UCS-2 fields, the number specified here is the number of graphic or UCS-2 characters, NOT the number of bytes (1 graphic or UCS-2 character = 2 bytes). For numeric fields, the number specified here is the number of digits.
  2. For float fields, the entry must be blank or +0. The size of a float field cannot be changed as with other numerics.
  3. For timestamp fields, if you specify a length, it must be 19, or 21 to 32.
Reserved Words
If positions 26-32 are used to enter special reserved words, this field becomes an extension of the previous one, creating one large field (positions 26-39). This allows for reserved words, with names longer than 7 characters in length, to extend into this field. See Positions 26-32 (From Position), 'Reserved Words'.