CALL DATA statement

CALL DATA statements provide IMS with information normally supplied in the I/O area for that type of call function.

CALL DATA statements must follow the last CALL FUNCTION statement. You must enter an L in column 1, the keyword DATA in columns 10 through 13, and code the necessary data in columns 16 through 71. You can continue data by entering a nonblank character in column 72. On the continuation statement, columns 1 through 15 are blank and the data resumes in column 16. The following table shows the format for a CALL DATA statement.

Table 1. CALL DATA statement
Column Function Code Description
1 Identifies control statement L CALL DATA statement.
2 Increase segment length K Adds 2500 bytes to the length of data defined in columns 5 through 8.
3 Propagate remaining I/O indicator P Causes 50 bytes (columns 16 through 65) to be propagated through remaining I/O area.
Note: This must be the last data statement and cannot be continued.
4 Format options b Not a variable-length segment.
    V For the first statement describing the only variable-length segment or the first variable-length segment of multiple variable-length segments, LL field is added before the segment data.
    M For statements describing the second through the last variable-length segments, LL field is added before the segment data.
    P For the first statement describing a fixed-length segment in a path call.
    Z For message segment, LLZZ field is added before the data.
    U Undefined record format for GSAM records. The length of segment for an ISRT is placed in the DB PCB key feedback area.
5-8 Length of data in segment nnnn This value must be right justified but need not contain leading zeros. If you do not specify a length, DFSDDLT0 will use the number of DATA statements read multiplied by 56 to derive the length.
9 Reserved b  
10-13 Identifies CALL DATA statement DATA Identifies this as a DATA statement.
14-15 Reserved b  
16-71

or

Data area xxxx Data that goes in the I/O area.
16-23

or

Checkpoint ID   Checkpoint ID (SYNC).
16-23

or

Destination name   Destination name (CHNG).
16 DEQ option   DEQ options (A,B,C,D,E,F,G,H,I, or J).
72 Continuation column b If no more continuations for this segment.
    x If more data for this segment or more segments.
73-80 Sequence indication nnnnnnnn For SYSIN2 statement override.

When inserting variable-length segments or including variable-length data for a CHKP or LOG call:

  • You must use a V or M in column 4 of the CALL DATA statement.
  • Use V if only one variable-length segment is being processed.
  • You must enter the length of the data with leading zeros, right justified, in columns 5 through 8. The value is converted to binary and becomes the first 2 bytes of the segment data.
  • You can continue a CALL DATA statement into the next CALL DATA statement by entering a nonblank character in column 72. For subsequent statements, leave columns 1 through 15 blank, and start the data in column 16.

If multiple variable-length segments are required (that is, concatenation of logical child and logical parent segments, both of which are variable-length) for the first segment:

  • You must enter a V in column 4.
  • You must enter the length of the first segment in columns 5 through 8.
  • If the first segment is longer than 56 bytes, continue the data as described for inserting variable-length segments.
    Exceptions:
    • The last CALL DATA statement to contain data for this segment must have a nonblank character in column 72.
    • The next CALL DATA statement applies to the next variable-length statement and must contain an M in column 4 and the length of the segment in columns 5 through 8.

You can concatenate any number of variable-length segments in this manner. Enter M or V and the length (only in CALL DATA statements that begin data for a variable-length segment).

When a program is inserting or replacing through path calls:

  • Enter a P in column 4 to specify that the length field is to be used as the length the segment will occupy in the user I/O area.
  • You only need to use P in the first statement of fixed-length-segment CALL DATA statements in path calls that contain both variable- and fixed-length segments.
  • You can use V, M, and P in successive CALL DATA statements.

For INIT, SETS, ROLS, and LOG calls:

  • The format of the I/O area is
    LLZZuser-data
    where LL is the length of the data in the I/O area, including the length of the LLZZ portion.
  • If you want the program to use this format for the I/O area, enter a Z in column 4 and the length of the data in columns 5 through 8. The length in columns 5 through 8 is the length of the data, not including the 4-byte length of LLZZ.