15.10 - Variable Length Request - Call-Level Interface Version 2

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

prodname
Call-Level Interface Version 2
vrm_release
15.10
category
Programming Reference
featnum
B035-2417-035K

Variable Length Request is a one byte field that specifies the location of the length information for the data (for example, the request string, logon string, logon‑mechanism data string, using data string, or input data string session‑desc or Workload).

 

In this language...

The variable name for Variable Length Request is...

COBOL

DBCAREA‑VAR‑LEN‑REQ

PL/I

VAR_LEN_REQ

C

var_len_req

IBM Assembler

DBORVAR

 

This routine...

Does this for Variable Length Request...

DBCHINI

writes

DBCHCL

reads (CON; RSUP; IWPF; IRQ; CRQ)

 

Variable Length Request is used by...

To...

applications

write

Variable Length Request is initialized by DBCHINI to the default value provided for Variable Length Request in the HSHSPB.

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: 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.