Jump to content

Execute Direct Access Program

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Peterh5322 (talk | contribs) at 23:07, 12 May 2011. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In IBM mainframe operating systems, Execute Direct Access Program (XDAP) is a pseudo access method for accessing direct access datasets on a record by record basis.

Existing records may be read or updated. The dataset may not be created nor extended using XDAP; for that purpose BSAM or BPAM is required. XDAP may coexist with BSAM or BPAM, and several OS components are implemented in this way.

The programmer is responsible for computing the full direct access record identifier, MBBCCHHR. System algorithms are available for calculating the MBBCCHHR from a TTRN. System data, in the form of "track capacity tables", are available for calculating the TTRN from a record number. Later versions of the OS facilitate accessing very large capacity devices by using the TRKADDR macro.

List and Execute forms of XDAP are supported, whereby a prototype form, called the List Form, is expanded as data, and a functional form, called the Execute Form, is expanded as instructions. XDAP is also supported in a conventional form, in which case the two forms are combined, and is expanded as inline data and instructions. The use of List and Execute Forms facilitate the development of re-enterable programs.

XDAP results in the EXCP supervisor call being executed, hence Execute Channel Program (EXCP) is implicitly embedded within XDAP. The IOB, which is the sole parameter to EXCP, is included as a data structure within the XDAP macro expansion as are the channel command words (CCWs).

XDAP must reference an OPENed DCB and a full direct access record identifier. The DCB may be OPENed for input, for output or for input and output, but all outputs must be update writes of existing records as XDAP does not support format writes. BSAM and BPAM are available for executing format writes (writes which add new records to the dataset).

The IOBSPSVC flag is available which causes SAM or PAM appendages to be bypassed. This enhancement, which was implemented with SVS, but was not retrofitted to previous versions of the OS, facilitates processing a dataset OPENed for BSAM or BPAM while using XDAP.