Changing Value for Varying-length-request |Teradata® Mainframe-Attached Systems - Changing Value for Varying-length-request - Teradata Tools and Utilities

Teradata® Call-Level Interface Version 2 Reference for Mainframe-Attached Systems - 17.20

Deployment
VantageCloud
VantageCore
Edition
Enterprise
IntelliFlex
Lake
VMware
Product
Teradata Tools and Utilities
Release Number
17.20
Published
June 2022
ft:locale
en-US
ft:lastEdition
2023-11-17
dita:mapPath
oxw1641281447623.ditamap
dita:ditavalPath
obe1474387269547.ditaval
dita:id
vfj1470443597526
lifecycle
previous
Product Category
Teradata Tools and Utilities
When the value for Varying-length-request is not appropriate for the application, you should perform the following procedure before calling DBCHCL.
  1. Set Change-options to 'Y'.
  2. Change the value for Varying-length-request as follows.
    If the length information is to... Then change the value for Varying-length-request to...
    precede immediately the data to which it applies Y
    be supplied separately from the data to which it applies N

    The following figures show what the DBCAREA must contain in either of the these cases.

    If Varying-length-request is set to this value... Then the address supplied in the appropriate pointer field points to...
    Y a two-byte (in binary) area that precedes the data.

    The corresponding DBCAREA length field (for example, Request-length, Run-length, and so on) is not used.

    The length value reflects only the length of the data, and does not include the two bytes of its own length, as shown in the following figure.

    N the beginning of the data.

    The length of the data is supplied in the appropriate DBCAREA length field, as shown in the following figure.

    If the Maximum-parcel option is set to H, then the two-byte length is considered to be an unsigned value. Because PL/I does not support unsigned integers, you cannot use the Varying-length-request option to allow the PL/I VARYING attribute for the Request-pointer or the USING-data-pointer for requests greater than 32767.

    Since the maximum value that can be contained in the two-byte length is 65535, larger lengths cannot use Varying-length-request.



The setting of Varying-length-request affects the request string, logon string, run string, using data string, and input data string.

Note that the fragments of the string must be in the following order, if applicable:

  1. two-byte length information
  2. n-byte indicator information
  3. bytes containing the text or value information

The only string to which all three fragments apply is a data string if Varying-length-request is 'Y' and Use-presence-bits is 'Y'.

In situations in which only two fragments apply, they must be in the the same order.

In all cases, the pointer to the string must contain the address of the first fragment that is supplied.