Changing the Value for Variable-length-request - Call-Level Interface Version 2

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

Product
Call-Level Interface Version 2
Release Number
16.10
Published
May 2017
Language
English (United States)
Last Update
2018-05-07
dita:mapPath
jen1488824663137.ditamap
dita:ditavalPath
Audience_PDF_include.ditaval
dita:id
B035-2417
lifecycle
previous
Product Category
Teradata Tools and Utilities

When the value for Variable-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 Variable-length-request as follows.
    If the length information is to... Then change the value for Variable-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 above cases.

    If Variable-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 Variable-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 Variable-length-request.



The setting of Variable-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 Variable-length-request is 'Y' and Use-presence-bits is 'Y'.

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

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