Functions


This section describes each File-AID/Batch function, discusses its applications and restrictions, and provides examples of its use. Many of the examples use parameters; each parameter is defined in Parameter Descriptions and fully explained in Parameters. Other examples of functions are provided in Examples.

APRINT (AP)

The APRINT function prints the audit trail file in formatted, character, or hexadecimal format. The audit trail file is created from File-AID online option 2 (Edit) or option 3.6 (Search/Update). If the audit trail file was created using record layouts or XREFs, File-AID prints the audit trail file in formatted format by default. Use the FORM parameter with the option CHAR or HEX to override the default printing format. The input DD (DDxx) must specify an existing valid audit trail file. The report is written to the SYSLIST DD.

Example 1:

$$DD01 APRINT FORM=CHAR

This example prints the audit trail file in character format.


Important

After a generated APRINT or explicit APRINT function, you may have multiple control cards, provided subsequent control cards have a different DD number.

Example 2:

$$DD01 UPDATE EDIT=(1,0,C'WILLIAM',C'BILL '),AUDIT=(Y,PRINT(CHAR))

This example causes a generated APRINT. Note that you cannot use $$DD01 again. You can have $$DD02, $$DDO3, etc.

Example 3:

$$DD00 UPDATE EDIT=(1,0,C'EDWARD',C'EDDY '),AUDIT=(Y,PRINT(HEX))
$$DD01 UPDATE EDIT=(1,0,C'JOSEPH',C'JOE '),LAYOUT=EMPLOYEE,
 AUDIT=(Y,PRINT)
$$DD02 UPDATE EDIT=(1,0,C'WILLIAM',C'BILL '),AUDIT=(Y,PRINT(CHAR))

Here is an example of multiple generated APRINTs. It generates a unformatted APRINT followed by a formatted APRINT, followed by a unformatted APRINT.

Example 4:

$$DD00 APRINT
$$DD01 APRINT

This is an example of multiple explicit APRINTs.

COMPARE

The COMPARE function compares the contents of two files. You can compare a data set of any file organization supported by File-AID to any other supported file organization. Specify the name of the old data set in DDxx and the name of the new data set in DDxxC.

You must also specify the compare criteria against which these files are compared in DDxxCP.

Important

It is highly recommended that you create your compare criteria via the online screens as some parameters may be incompatible with others or may need to be in conjunction with other parameters to function properly. Advanced users can also code it per the specifications in Compare Criteria Control Cards.

Example:

$$DD01 COMPARE

In this example, $$DD01 runs the COMPARE function and creates the compare detail report. For more information, see File-AID/MVS Online Reference on the Compare function and its features.


Note

When using selection criteria with JCL created prior to release 8.7.0, you must duplicate the DDxxSC statement to a DDxxSCN statement. This DDxxSCN statement then applies the selection criteria to the new file. See JCL Required for File-AID Execution.

COPY (C)

The COPY function lets you copy data. To copy specific data set areas, record types, or number of records, use selection and limiting parameters with the COPY function. Use COPY with action parameters, such as EDIT, REPL, or MOVE, to copy a data set and change the content of its records. Specify the CEM parameter to copy empty members of a partitioned dataset.

After completing a COPY function, File-AID reports on SYSPRINT the number of PDS members processed and/or the total number of copied records, the output dataset name, and the output volume serial numbers.


Note

  • If File-AID is executed without any control statements, it defaults to a COPY function for every pair of input and output datasets (DDxx and DDxxO) specified in the JCL.
  • When processing a sequential dataset, the input and output datasets (DDxx and DDxxO) cannot be the same dataset unless it is sequential and has fixed length records. For DDxxO, using the same dataset name is permitted if it is a different physical data set on a different volume. File-AID issues the message: THE INPUT DATASET CANNOT ALSO BE THE OUTPUT DATASET. Either specify a different output dataset or use UPDATE instead of COPY.
  • To process multiple conditional updates (IF REPL, IF EDIT, IF MOVE), while copying all records, use the ALL function modifier (COPYALL(CA)).
  • File-AID/Batch does not support copying a PDS to and from a tape.
  • If the input is a PDSE load library, the output can be either a PDS or PDSE load library. If the output is a PDSE load library then the input must also be a PDSE load library. See also Load Module Copying Rules for additional rules.
  • File-AID enables you to COPY from (but not to) a CA Panvalet, CA Librarian dataset. The CA Panvalet or CA Librarian dataset cannot be the destination data set (DDxxO) in a COPY statement.
  • File-AID supports only 80-character CA Panvalet or CA Librarian members. When greater than 80 characters, File-AID will truncate records greater than 80 characters and issue an error message
  • When the data set is multi-volume, the input and output datasets for the COPY function cannot be the same. File-AID issues the message: OUTPUT DATASET SAMEAS INPUT DATASET NOT ALLOWED.

Example 1:

$$DD01 COPY IF=(6,EQ,C’12345’),OUT=60,PRINT=5

Example 1 copies the first 60 input records that contain the string 12345 beginning in location 6, to the output dataset, and prints the first five records selected.

Example 2:

$$DD01 COPY REPL=(12,EQ,C’X’,C’Z’),DUMP=100

Example 2 copies the input dataset, replaces any character X located in location 12 with a character Z, and dumps the first 100 records copied.

Example 3:

$$DD01 COPY ACCUM=(8,5,C,’QUANTITY FIELD’)

Example 3 copies the input dataset while accumulating five bytes of zoned numeric character data beginning in location 8. The resulting total is labeled QUANTITY FIELD, and is printed on the SYSTOTAL DD if it is defined. If no SYSTOTAL DD is provided, the totals appear on SYSPRINT.

Example 4:

$$DD01 COPY SELECT=4,OUT=100,IF=(1,EQ,X’010C’)

Example 4 creates an extract file of every fourth input record that contains a hexadecimal value of 010C beginning in location 1. A maximum of 100 records are copied.

DROP (DR)

The DROP function eliminates unwanted records from a data set while copying it. Use the IF, AND, and ORIF selection parameters to specify the records to be dropped. Specify the CEM parameter to copy empty members of a partitioned dataset. Use the IN, OUT, or DROP limiting parameters to stop DROP processing. After completing a DROP function, File-AID reports the number of dropped records on the SYSPRINT output.


Note

  • The DROP function is not an update-in-place. The input and output files cannot be the same file unless it is sequential and has fixed length records. For DDxxO, using the same dataset name is permitted if it is a different physical data set on a different volume. File-AID issues the message: THE INPUT DATASET CANNOT ALSO BE THE OUTPUT DATASET
  • The DROP function is not supported for PDS or PDSE load libraries.

Example 1:

$$DD01 DROP IF=(4,7,NEP)

Example 1 copies all of the input dataset records and drops any record that does not contain a valid 7-byte packed field beginning in location 4.

Example 2:

$$DD01 DROP IF=(15,EQ,P’1,2’),DROP=200

Example 2 copies the input dataset to the output dataset, and stops after dropping the first 200 records containing a valid packed field of any length, that begins in location 15, and has an arithmetic value equal to 1 or 2. For more information on packed data testing, see Packed Data.

Example 3:

$$DD01 DROP IF=(1,EQ,C’A,B’),ORIF=(19,LT,P’101’),OUT=15

To create an extract file, Example 3 copies the input dataset and drops any record that either contains the letter A or the letter B in location 1, or contains a packed data value less than 101 in location 19. Processing stops when 15 records are copied.

DUMP (D)

The DUMP function prints data sets or portions of data sets in character and vertical hexadecimal format. It also displays record number, record length, RBA address (VSAM) or RRN (VSAM RRDS and BDAM), block size, and physical location (disk files). SYSLIST DUMP Request Output is an example of the output produced by the DUMP function. DUMP output is presented 100 characters at a time, on four lines (CHAR, ZONE, NUMR and scale). A column scale is printed under each 100 characters to help you locate data. The column scale print is controlled by the FORM parameter.

Use parameters to control the number, or selection, of records to print. When no limiting parameters are specified, an installation default maximum of 250 records are dumped. This default prevents you from accidentally generating a large volume of print. Use the OUT=n parameter to override the default. Use the MOVE parameter to print only selected portions of each record.

Example 1:

$$DD01 DUMP OUT=5

Example 1 prints the first five records from the input data set in a format that shows both the character and hexadecimal data. This application of DUMP is useful for packed and other nonprintable data.

Example 2:

$$DD01 DUMP REPL=(110,EQ,P’50’,P’200’),OUT=25

Example 2 prints the first 25 records containing a packed value of 50 in location 110. The print shows the replacement of the value 50 with the value 200 without actually changing the input data. Using the DUMP function instead of the UPDATE function lets you see your changes before you apply them.

FPRINT (FP)

The FPRINT function prints records in formatted mode, presenting the data according to a COBOL or PL/I record layout like the formatted display of online File-AID Browse or Edit. Use the SHOW parameter to control the format of the information presented for each layout field. SHOW=FORMAT, SHOW=NUMBER, SHOW=OFFSET, and SHOW=PICTURE are valid options for the SHOW parameter. Example FPRINT output is in FPRINT Request.

Use parameters to control the number, or selection, of records to print. When no limiting parameters are specified, an installation default maximum of 250 records is printed in format mode. This default prevents you from accidentally generating a large volume of print. Use the OUT=n parameter to override the default.

You must supply a DDxxRL DD JCL statement to define a record layout. Use the LAYOUT or MAP parameter to specify the DDxxRL dataset member containing the source record layout. Optionally, if you want to use a File-AID XREF member to automatically select layouts to format the data, include the DDxxXR DD JCL statement identifying the XREF dataset and member to use. The DDxxRL is still required when using an XREF and it must identify a valid source library not an explicit member.

Example:

$$DD01 FPRINT OUT=20,LAYOUT=EMPLOYEE,SHOW=FORMAT

This example prints the first 20 records in formatted mode, using the EMPLOYEE layout from the DD01RL DD.

Important

  • If the DDxxXR is present to identify a File-AID XREF member, each record type is automatically formatted using the record layout in the DDxxRL member as specified in the XREF logic.
  • Installations using alternate copy libraries, such as LIBRARIAN and PANVALET, and installations using Hiragana, Katakana, or Kanji character sets are supported only when the appropriate File-AID/Batch installation options are set as described in the File-AID Installation and Configuration Guide.
  • The FPRINT function does not list redefinitions.

LIST (L)

The LIST function prints alphanumeric input data only and does not show record number or any other record information. It is generally used to list JCL, card images, and other character data. The LIST function prints packed and binary data as blanks. Because File-AID lists 100 bytes of data per line, LIST displays records larger than 100 bytes on multiple lines as shown in SYSLIST LIST Request Output and Tags. No column scale is printed under each line when using the LIST function. However, a column scale heading may be requested with the FORM=SHORT parameter.

Use parameters with the LIST function to control the number, or selection, of records to list. When no limiting parameters are specified, an installation default maximum of 250 records is listed. This default prevents you from accidentally generating a large volume of print. Use the OUT=n parameter to override the default. Use the MOVE parameter to print only selected portions of each record.

When listing input records that are 80 bytes or smaller, File-AID can be directed to format 80 character print lines. Either direct SYSLIST to a data set with an LRECL=80, or specify PARM=TSO (see TSO Execution Parameters) on the EXEC JCL statement.

Example:

$$DD01 LIST OUT=5

This example prints the first five records from the input dataset in a format that shows only the character data.

LMODCLAS (LMC)

The LMODCLAS function lists heading information for the specified load module(s) followed by a list of all PDSE Binder Classes for this load module. The list contains details of the main characteristics for each class. If binder data (link date, linking program and version) is not available for a load module (no B_IDRB record), the following message displays:

NO BINDER DATA EXISTS FOR THIS PROGRAM OBJECT

Optional parameters AMODE, RMODE, and LINKDATE enable you to select specific modules based on address or residency mode and/or link date range. Optional parameters MBRNAME, MEMBER, and MEMBERS enable you to select specific members for processing. The input DD (DD01) must specify an existing valid PDSE load module file. The report is written to the SYSLIST DD.

Example:

$$DD01 LMODCLASS RMODE=64

This example lists all classes for each module in the data set with a residency mode of 64.

LMODDIR (LMD)

The LMODDIR function lists the directory entry(ies) of member(s). It supports both data and load PDSs. The optional parameters enable you to select specific members for processing. The parameters that are valid depend on the data type of the PDS. MBRNAME, MEMBER, and MEMBERS are valid for both data and load files. CHANGED and CREATED are valid only for data PDSs. AMODE, LINKDATE, and RMODE are valid only for load PDSs. The report is written to the SYSLIST DD.

Example:

$$DD01 LMODDIR CREATED=(00/01/01,00/03/31)

This example lists all directory entries of members in the data set with a creation date on or between January 1, 2000 and March 31, 2000.

LMODMAPA (LMA)

The LMODMAPA function lists modules (maps CSECTs) in address order. Optional parameters AMODE, RMODE, and LINKDATE enable you to select specific modules based on address or residency mode and/or link date range. Optional parameters MBRNAME, MEMBER, and MEMBERS enable you to select specific members for processing. Optional parameter CPLRO enables you to request a listing of compiler options (COBOL or Enterprise PL/I) used. The input DD (DD01) must specify an existing valid load module file. The report is written to the SYSLIST DD.


Important

  1. When File-AID detects long program names in a PDSE load object, it uses a two-line display per SD (Section Definition) or LD (external Label Definition) entry. For readability, SD entries contain the SD name followed by hyphens.
  2. If the module was processed for DDIO or ESS, Tname2 displays:

    1. *DDIO* when a DDIO member was generated in a DDIO data set and ESS records were not generated.
    2. *DDIO+ESS* when both DDIO member and ESS records were generated.
    3. *ESS* when ESS records were generated into the load module and no DDIO member was saved.

    and Tdate2 displays the time (hh:mm:ss) that the DDIO member and/or ESS records were produced. Refer to the Compuware Shared Services User/Reference Guide for more information on DDIO and ESS.

Example:

$$DD01 LMODMAPA AMODE=31

This example lists all modules in the data set with an address mode of 31 in address order.

LMODMAPN (LMN)

The LMODMAPN function lists modules (maps CSECTs) in name order. Optional parameters AMODE, RMODE, and LINKDATE enable you to select specific modules based on address or residency mode and/or link date range. Optional parameters MBRNAME, MEMBER, and MEMBERS enable you to select specific members for processing. Optional parameter CPLRO enables you to request a listing of compiler options (COBOL or Enterprise PL/I) used. The input DD (DD01) must specify an existing valid load module file. The report is written to the SYSLIST DD.


Important

  1. When File-AID detects long program names in a PDSE load object, it uses a two-line display per SD (Section Definition) or LD (external Label Definition) entry. For readability, SD entries contain the SD name followed by hyphens.
  2. If the module was processed for DDIO or ESS, Tname2 displays:

    1. *DDIO* when a DDIO member was generated in a DDIO data set and ESS records were not generated.
    2. *DDIO+ESS* when both DDIO member and ESS records were generated.
    3. *ESS* when ESS records were generated into the load module and no DDIO member was saved.

    and Tdate2 displays the time (hh:mm:ss) that the DDIO member and/or ESS records were produced. Refer to the Compuware Shared Services User/Reference Guide for more information on DDIO and ESS.

Example:

$$DD01 LMODMAPN LINKDATE=(2000/01/01,2000/06/30)

This example lists all modules in the data set with a link date on or between January 1, 2000 and June 30, 2000 in name order.

PRINT (P)

The PRINT function prints alphanumeric data and labels each record with its record number, record length, RBA address (VSAM) or RRN (VSAM RRDS and BDAM), block size, and physical location (disk files). The PRINT function prints packed or binary data as blanks. Because File-AID prints 100 bytes of data per line, the PRINT function displays records larger than 100 bytes on multiple lines. A column scale is printed under each line to help you locate data. The column scale print is controlled by the FORM parameter. Example PRINT output is shown in SYSLIST PRINT Request Output.

Use parameters with the PRINT function to control the number, or selection, of records to print. When no limiting parameters are specified, an installation default maximum of 250 records is printed. This default prevents you from accidentally generating a large volume of print. Use the OUT=n parameter to override the default. Use the MOVE parameter to print only selected portions of each record.

Example:

$$DD01 PRINT OUT=5

This example prints the first five records from the input dataset in a format that shows the character data, the record number, record length, and other information about each record.

REFORMAT (R)

The REFORMAT function reformats data as it is being copied. This function requires a reformat definition created with the Reformat utility of File-AID. You must supply a DDxxRF DD statement to point to the PDS member containing the reformat definition. The OUT and REFOUT parameters are the only parameters that can be specified with the REFORMAT function. For more information on the Reformat utility, see File-AID/MVS Online Reference.

The REFORMAT function is not supported in interactive execution.

RLPRINT (RLP)

The RLPRINT function prints a COBOL or PL/I record layout displaying the field level, field name, format, field number, start location, end location, and field length. You must specify a DDxx DD JCL statement to define the record layout input dataset. You must specify the MEMBER parameter. You can print the record layouts of multiple members by specifying additional members on the MEMBER parameter.

Concatenated input datasets are supported for RLPRINT. CA Librarian data sets, however, cannot be concatenated.

Example:

$$DD01 RLPRINT MEMBER=EMPLOYEE

This example prints record layout information for the member EMPLOYEE.

SCPRINT (SCP)

The SCPRINT function prints the data set containing the selection criteria created from File-AID online functions. You must specify a DDxx DD JCL statement to define the selection criteria primary input dataset. You must specify the MEMBER parameter. You can print multiple selection criteria members by specifying additional member names on the MEMBER parameter.

Concatenated input datasets are not supported for SCPRINT.

Example:

$$DD01 SCPRINT MEMBER=EMPSELC

This example prints the selection criteria dataset member EMPSELC.

SPACE (S)

The SPACE function moves the current record pointer forward or backward (SPACEBACK), skipping over sections of any data set, and positioning the pointer at a specific record for a subsequent function. This position is maintained only if the subsequent function processes the file in the same direction. Reversing the processing direction causes File-AID to reset the pointer to either the beginning or end of the file.

Example:

$$DD01 SPACE IN=100

In this example, File-AID opens the data set for input and reads the first 100 records. Any function (except UPDATE) can now be coded to begin processing with record 101.

Following the SPACE or SPACEBACK function with an UPDATE function also causes File-AID to reset its record pointer and lose its position in the file. Positioning in the file cannot be maintained because the UPDATE function requires the data set to be closed and reopened for update. To establish position in a file before applying an UPDATE function, the following example coding may be used:

$$DD01 UPDATE IN=100                       ESTABLISH POSITION
$$DD01 UPDATE REPL=(10,EQ,C’ABC’,C’XYZ’)   EXAMPLE OF CHANGE

The SPACE function can also be used for counting occurrences of data in a file (when used with the EDIT or REPL parameters) without updating the file.

TALLY (T)

The TALLY function lets you combine groups of selection parameters with ACCUM parameters to provide audit-type totals for entire files. To place the titles and totals produced by a TALLY function on a separate output dataset, define the SYSTOTAL dataset in the JCL job stream. If SYSTOTAL is undefined, the TALLY output appears on the SYSPRINT dataset along with the other program messages. The TALLY function always processes all parameter groups for each input record, as if the ALL modifier had been specified. Thus, TALLYALL is not valid.

Example:

$$DD01 TALLY IF=(10,EQ,C’90’),ACCUM=(16,’TOTALS 1990’),
             IF=(6,EQ,C’08’),IF=(10,EQ,C’90’),ACCUM=(16,’AUGUST 1990’)

This example locates any record that has a value of 90 in locations 10 and 11, and accumulates the packed field that begins in location 16. If locations 6 and 7 contain a value of 08, File-AID takes a second accumulation. After execution, the resulting accumulation totals are labeled TOTALS l990 and AUGUST 1990 when printed on the SYSTOTAL dataset.

Accumulation Comment Cards

Comment cards can be used to generate headings for accumulations printed on the SYSTOTAL output dataset. Comment cards are optional and can be entered at any time. Because they are printed in the order in which they are coded, place the comment cards immediately before the control cards that process the accumulation.

Code accumulation comment cards with an asterisk (*) in location 1.

Example:

* GENERAL LEDGER CREDIT TOTAL - JUNE
$$DD01 TALLY IF=(12,EQ,C’06’),ACCUM=(8,3,C,’SUBTOTAL’)

File-AID prints the accumulation comment cards first. It then produces a two-line data set identification message after the comment and before the accumulation.

The first line is the statement:

FOLLOWING TOTALS DEVELOPED FROM

The second line is the input dataset name and volume serial number.

The next line contains the accumulation output totals. See SYSTOTAL Output for examples of accumulation output.

UPDATE (UP)

The UPDATE function updates records in place that have been altered with action parameters such as EDIT or REPL. Use UPDATE to make permanent changes to an existing data set rather than to a copy of that data set. The OUT parameter is ignored when used with the UPDATE function.

You can use the optional hardcopy print parameters, DUMP or PRINT, to produce a report of your changes. You can preview a report of your changes by first using a printing function (such as DUMP, LIST, PRINT, FPRINT, or VPRINT) with your EDIT and REPL change parameters. Then, if all changes look good, change the printing function to UPDATE and resubmit the job to apply the changes.

When using the FORM=JCL parameter with the PRINT function, extra lines maybe added on the output. Be aware that these additional lines will not be added during an update function.


Warning

File-AID allows multiple update access on a data set when the input file is allocated with DISP=SHR. To avoid updates to a data set by more than one user at the same time, use DISP=OLD in the JCL.

When the UPDATE function is used on a PDS, a member or group of members can be specified with the MEMBER or MEMBERS parameters. To specify one or more specific members, use the MEMBER parameter. The entire data set is read for update when MEMBER or MEMBERS are not used. After UPDATE is executed, the number of updated members and records are listed on the function statistics lines printed on the SYSPRINT dataset.


Important

  • The UPDATE function requires that a parameter be specified on the first control card.
  • To process multiple conditional updates (IF REPL, IF EDIT), use the ALL function modifier (UPDATEALL(UA)). See ALL (A).
  • The OUT parameter is not ignored when used with an IF.
  • The UPDATE function is not supported for:
    • concatenated data sets
    • PDSE load libraries.
    • VSAM LDS or z/OS UNIX zFS files
    • files with LRECL=X

USER (US)

The USER function is a form of COPY that creates new records or data sets. USER allows greater control when writing output records and data sets. USER can perform three tasks:

  • Insert new records at any point in a data set
  • Repeat records with changed data
  • Write multiple output datasets from a single input dataset.

New records are built by copying the input record, or by moving data to the output record with the MOVE parameter. File-AID automatically copies the input record to the output when executing a USER function, except when a MOVE parameter is used. With the MOVE parameter, File-AID initializes the output area to binary zeros, and assumes that the parameter statements build the entire record. (Use the PADCHAR parameter to override the default initialization value of binary zero.) If a location has no data moved to it, binary zeros remain. The output area is not reinitialized between writes.

The USER function always processes all parameter groups for each input record, as if the ALL modifier had been specified. Thus, USERALL is not valid.


Important

  • An installation default forces the USER function to close all of its output datasets after each use. This allows the output from a USER function to be used as input to another function in the same job step. See the File-AID Installation and Configuration Guide for information on changing this default.
  • For the USER function, the input and output files cannot be the same file unless it is sequential and has fixed length records. For DDxxO, using the same dataset name is permitted if it is a different physical data set on a different volume. File-AID issues the message: THE INPUT DATASET CANNOT ALSO BE THE OUTPUT DATASET.
  • The USER function is not supported for PDS or PDSE load libraries.
  • If you intend to write the USER function output to tape, read Example 35 and Example 36.

Example 1:

$$DD01 USER WRITE=OUTPUT

Example 1 copies the input dataset and writes it to the data set defined with a DD name of OUTPUT.

Example 2:

$$DD01 USER SELECT=10,IF=(40,NE,C’X,Y,Z’),WRITE=EXTRACT,OUT=25

Example 2 creates an extract file with the DD name of EXTRACT. This data set contains every tenth record on the input dataset that contains a value not equal to the characters X,Y, or Z in location 40. A maximum of 25 records are written to the output extract file.

Example 3:

$$DD01 USER WRITE=A,IF=(1,0,C’CANCEL’),WRITE=A

Example 3 repeats a record. The first WRITE parameter writes all input records to the output dataset with the DD name of A. The IF parameter selects any input record that contains the string CANCEL. The second WRITE parameter writes the record a second time.

Example 4:

$$DD01 USER WRITE=NEWDSN,IF=(21,EQ,P’5’),MOVE=(1,0,1),
            MOVE=(21,P’155’),WRITE=NEWDSN

Example 4 repeats a record with changed data. The first WRITE parameter reads in a record and writes it out. The IF parameter checks to see if the record contains a packed decimal value of 5 beginning in location 21. The first MOVE parameter copies the input record to the output area. The second MOVE parameter moves the two-byte packed decimal value 155 to location 21. The second WRITE parameter then writes the newly built record to the output dataset with the DD name of NEWDSN.

Example 5:

$$DD01 USER F=JCL,WRITE=NEWJCL,IF=(1,20,C’EXEC’),
            MOVE=(1,80C’ ’),MOVE=(1,C’//SYSUDUMP DD SYSOUT=A’),
            WRITE=NEWJCL

Example 5 builds and inserts new records at specific locations in an output dataset as it is copied from the input dataset. The IF, MOVE, and WRITE parameters are used to insert a SYSUDUMP DD statement after each EXEC statement in a JCL job stream.

The F(FORM) parameter tells File-AID to expect JCL data. The first WRITE parameter copies a complete JCL statement from the input dataset to the output dataset. The IF parameter locates any JCL statement that contains a character string EXEC in the first 20 locations of the statement. When an EXEC is found, the first MOVE parameter places 80 blanks in the output area. The second MOVE parameter loads the required data into the record. The second WRITE parameter writes the newly built record to the data set with the DD name of NEWJCL.


Important

FORM=JCL is not valid with all syntax forms of the MOVE parameter. See MOVE (MV) for more information.

VPRINT (VP)

The VPRINT function prints records in vertical formatted mode, presenting the data according to a COBOL or PL/I record layout like the vertical formatted display of online File-AID Browse or Edit.

The VPRINT report output width is 132 characters. The report format includes spaces separating the fields. When the VPRINT output exceeds the report width, File-AID writes the VPRINT DATA TRUNCATION informational message, VP001-Data truncation occurred while processing VPRINT request to the SYSPRINT log. Use the FIELDS parameter to specify which fields to include in the VPRINT output. See FIELDS.

Important

Use File-AID Option 5.1, Print Data File, to print the contents of a data file in vertical format without data truncation.

Example VPRINT output is in VPRINT Request.

The SHOW parameter controls the format of the column headings presented for each layout field. SHOW=FORMAT, SHOW=NUMBER, SHOW=OFFSET, and SHOW=PICTURE are valid options for the SHOW parameter.

Use parameters to control the number, or selection, of records to print. When no limiting parameters are specified, an installation default maximum of 250 records is printed in vertical format mode. This default prevents you from accidentally generating a large volume of print. Use the OUT=n parameter to override the default.

You must supply a DDxxRL DD JCL statement to define a record layout. Use the LAYOUT or MAP parameter to specify the DDxxRL dataset member containing the source record layout.

Example:

$$DD01 VPRINT OUT=20,LAYOUT=EMPLOYEE,FIELDS=(1-3,6,10)

This example prints the first 20 records in vertical formatted mode, using the EMPLOYEE layout from the DD01RL DD. The FIELDS parameter specifies to include only field numbers 1,2,3,6, and 10 in the output.

Important

  • Installations using alternate copy libraries, such as LIBRARIAN and PANVALET, and installations using Hiragana, Katakana, or Kanji character sets are supported only when the appropriate File-AID/Batch configuration parameters are set as described in the File-AID Advanced Configuration Guide.
  • The VPRINT function does not list redefinitions.
  • File-AID only allows for one OCCURS DEPENDING ON (ODO) in the record layout and it must be the last item in the record layout. Otherwise, File-AID would not be able to produce column headings appropriate for every record.


VSAMDEL (VDL)

The VSAMDEL function deletes a VSAM data set. Applies to CLUSTER/AIX/PATH only.This function is equivalent to File-AID’s online VSAM utility (3.5) option D (Delete). Refer to File-AID/MVS Online Reference for additional information on the VSAM utility.
The VSAM data set to be deleted is specified in the preceding //DD01 DD DSN=abc,DISP=disposition statement.
Example:

//DD01    DD    DSN=USERID09.FASAMP.EMPLOYEE,
//              DISP=SHR
//SYSIN   DD    *
$$DD01  VSAMDEL

This example deletes VSAM cluster FASAMP.EMPLOYEE, including all related data sets.

VSAMDR (VDR)

The VSAMDR function deletes and immediately re-defines VSAM clusters and alternate indexes. Applies to CLUSTER/AIX only, but all related data sets are Delete/Define.
This function is equivalent to File-AID’s online VSAM utility (3.5) option DR (Delete/Define). Refer to File-AID/MVS Online Reference for additional information on the VSAM utility.
The VSAM data set to be deleted is specified in the preceding //DD01 DD DSN=abc,DISP=disposition statement.
Example:

//DD01     DD  DSN=USERID09.FASAMP.EMPLOYEE,
//             DISP=SHR
//SYSIN    DD *
$$DD01 VSAMDR

This example deletes and immediately re-defines VSAM cluster FASAMP.EMPLOYEE, including all related data sets.

VSAMINFO (VI)

The VSAMINFO function produces a report that uses the same layout as the online report and includes general cluster information: Catalog, Cluster name, Data component name and Volume, and for KSDS the Index component name and Volume as well as other more detailed VSAM data set information.

This function is equivalent to File-AID’s online VSAM utility (3.5) option BLANK (Display data set information). Refer to File-AID/MVS Online Reference for additional information on the VSAM utility.

The VSAM data set is specified in the preceding //DD01 DD DSN=abc,DISP=disposition statement.
Example:

//DD01     DD  DSN=USERID09.FASAMP.EMPLOYEE,
//             DISP=SHR
//SYSIN    DD  *
$$DD01 VSAMINFO

This example produces the File-AID VSAM INFORMATION report for FASAMP.EMPLOYEE, including listing all related data sets.

VSAMRN (VRN)

The VSAMRN function renames a VSAM data set. Applies to CLUSTER/AIX/PATH only.

This function is equivalent to File-AID’s online VSAM utility (3.5) option R (Rename component). Refer to File-AID/MVS Online Reference for additional information on the VSAM utility.

Specify the VSAM data set to be renamed in the preceding //DD01 DD DSN=abc,DISP=disposition statement and specify the new name with the NEWNAME (NN) parameter in the $$DD01 VSAMRN statement.
Example:

//DD01     DD    DSN=USERID09.FASAMP.EMPLOYEE,
//               DISP=SHR
//SYSIN    DD    *
$$DD01 VSAMRN NN=USERID09.FASAMP.EMPLOYEE.RENAME

This example renames VSAM cluster FASAMP.EMPLOYEE to FASAMP.EMPLOYEE.RENAME.

VTOCDSN (VTD)

The VTOCDSN function displays VTOC summary information and data set names in alphabetical sequence based on the specified parameters. The summary information identifies the volume serial number and includes VTOC statistics, DSCB, and free space statistics. For each dataset name, the report lists the file organization, the number of tracks, the percentage of tracks used, and the number of extents.

This function is equivalent to File-AID’s online VTOC utility (3.7) option BLANK (List VTOC entries in dataset name sequence). Refer to File-AID/MVS Online Reference for additional information on the VTOC utility.

You must specify either the VOLSER or UNIT parameter. The VOLSTAT and DSNAME parameters are optional. If you want to limit the number of data sets within a volume or unit, use the DSNAME parameter to specify a pattern data set or fully-qualified dataset name. If you want to perform multi-volume processing, combine the VOLSER, UNIT, and VOLSTAT parameters.

Example 1:

$$DD01 VTOCDSN VOLSER=PRD902

This example lists the data sets from and displays summary information about volume PRD902.

Example 2:

$$DD01 VTOCDSN UNIT=3390,DSNAME=+.FASAMP.*

This example lists the data sets from and displays summary information about unit 3390. The DSNAME parameter limits which data set names are included in the report based on the pattern dataset name. Based on this pattern, File-AID ignores any high-level qualifiers and displays only those data sets ending in FASAMP.anything.

VTOCINFO (VTI)

The VTOCINFO function displays volume information including the volume serial number, device type, mount status, percentage of the volume allocated, VTOC statistics, DSCB, and distributed free space statistics. The VTOC statistics include volume size in tracks, percentage of tracks used, and whether or not the volume is indexed. DSCB and distributed free space statistics include the number of data set control blocks, the number of free cylinders, the maximum number of contiguous free cylinders, the number of free tracks, and the maximum number of contiguous free tracks.

You must specify either the VOLSER or UNIT parameter. The VOLSTAT parameter is optional.

The VTOCINFO function is equivalent to File-AID’s online VTOC utility (3.7) option I (List Volume Information). Refer to File-AID/MVS Online Reference for additional information on the VTOC utility.

Example:

$$DD01 VTOCINFO VOLSER=(PROD,WORK02),VOLSTAT=STG

This example displays volume information for all volumes with volume serial numbers that start with the first four letters PROD and for volume serial number WORK02. The information is further limited to those volumes with a volume status of STG (storage).

"VTOC Utility ER398 on Dataset" Error

When the File-AID/Batch VTOCDSN function is issued, File-AID will search the VTOC for the dataset name and attributes for all data sets. If the data set is VSAM or VSAM-like, File-AID will then search the default catalog structure for the attributes of the file.

A PDSE (Org code “POE” - Partitioned Dataset Extended” has a completely different directory than a normal PDS. They are actually very similar to VSAM attributes. When File-AID detects a PDSE, it will first get the file name from the VTOC and then search the default catalog. If the file cannot be found on the default catalog, IBM Services (IGW) sends File-AID an error message (i.e. IGWFAMS FAILED RC R15=0012, REA R0=0805).

File-AID will still print the PDSE dataset name within the output and will give all of its attributes except for %USED. This information can only be obtained from the proper catalog.

In order to determine which data sets received the ER398 message, go through the list of data sets and look for the organization of POE and also look for %USED ?. From this you can gather the data set names that match that criteria and then enter them in separately into the VTOCDSN VOLSER=RES200, DSN=FULL.DATASET.NAME and if you receive the ER398 message, it will confirm that this is the dataset name that failed.

VTOCMAP (VTM)

The VTOCMAP function displays volume and data set information in address location sequence based on the specified parameters. The summary information identifies the volume serial number and includes VTOC statistics, DSCB, and free space statistics. For each dataset name, the report lists the file organization, the number of tracks, the percentage of tracks used, and the number of extents.

You must specify either the VOLSER or UNIT parameter. Use the VOLSTAT parameter to limit the information to volumes with a specified volume status. Use the DSNAME parameter to limit the VTOC processing to data set names that match a unique data set or pattern characters.

This function is equivalent to File-AID’s online VTOC utility (3.7) option M (Map VTOC entries in pack location sequence). Refer to File-AID/MVS Online Reference for additional information on the VTOC utility.

Example:

$$DD01 VTOCMAP UNIT=SYSDA,DSNAME=USERID.FASAMP.*

In this example, File-AID displays volume information and data sets that match the userid.FASAMP.* dataset name pattern in the SYSDA unit.

XMLGEN

The XMLGEN function creates XML documents from existing files using COBOL or PL/I layout fields as the tag names. The XML document is output to an existing, or new, data set using any number of subsequent records.

If your input file is a PDS, you must use the MEMBER or MEMBERS parameter to identify the member(s) to process.

Use the OUT parameters with the XMLGEN function to control the number of records to generate as an XML document. The default is all records. The INVALID parameter specifies how to process data that is inconsistent with the format of the layout field.


Important

Excluded records and fields are not used when generating an XML document. If the file has segmented records defined with an XREF member, File-AID internally issues NEXT commands to format each segment of each record.

REDEFINES and FILLER fields are not used when generating an XML document. If you display only REDEFINES and/or FILLER fields, or the layout contains only these fields, XMLGEN terminates without generating an XML document.

Example:

$$DD01 XMLGEN INVALID=SKIP,LAYOUT=EMPLOYEE

In this example, File-AID generates an XML document for all records in the input file using the EMPLOYEE record layout member and it skips the field data that is invalid.

To use XMLGEN with an XREF, add the DDxxXR DD card naming the XREF dataset name and XREF member name . This is in addition to the DDxxRL DD card for the layout data set. The LAYOUT parameter is not used when an XREF is specified.

XRPRINT (XRP)

The XRPRINT function prints members of the record layout cross reference (XREF) dataset. The XREF dataset must be specified as the primary input data set (DDxx). You must specify the MEMBER or MEMBERS parameter to identify the XREF member(s) to print. Use the RLPRINT parameter to print the associated record layouts. If you use the RLPRINT parameter, specify the record layout dataset name in the DDxxRL DD statement.

Concatenated input data sets are not supported for XRPRINT.

Example:

$$DD01 XRPRINT RLPRINT=Y,MEMBER=(ORDRFILE)

This example prints the XREF member ORDRFILE and the associated record layouts found in the DDxxRL DD statement.


 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*