Previous Topic: How You Use EDIF to Determine Authorized ProgramsNext Topic: How You Prevent Unauthorized Programs from Reading Protected Data Sets


How You Allow EDIF to Identify Authorized Programs During Utility Verification

EDIF can identify authorized programs during utility verification if you omit the AUTHORIZED parameter on all statements that affect a data set. This lets you create lists of authorized programs and make EDIF determine which list to use, based on data set characteristics.

EDIF compares the data set organization and record format values in the DSCB of the data set with the values on the UTILITY statement to see if they match. If they match, then all programs listed on that UTILITY statement are authorized to update the data set. The following UTILITY statement parameters provide EDIF with the data set characteristics that it uses to identify authorized programs:

DSORG

Tells EDIF what data set organization to use

RECFM

Tells EDIF what record format to use

Note: When you omit the RECFM parameter, but specify the DSORG parameter, EDIF will still match the UTILITY statement, based on the DSORG parameter only.

For example, suppose that you specified the following statements:

DSORG NAME=PO OPTION(UTILITY,ABEND)
UTILITY NAME=SOURCE RECFM=FB DSORG=PO PROGRAMS=(EDIT,IEBUPDTE)
UTILITY NAME=CLIST RECFM=VB DSORG=PO PROGRAMS=EDIT
UTILITY NAME=LOAD RECFM=UNDEFINED DSORG=PO PROGRAMS=(IEWL,SPZAPLIB)

In this example, EDIF uses the UTILITY statement named SOURCE for the SYS1.MACLIB data set (because its record format and data set organization match this statement), the statement named LOAD for the SYS1.LINKLIB data set, and the statement named CLIST for the TSO.CLIST data set. The abbreviation PO stands for PARTITIONED OPTION.

Example: Preventing Unauthorized Updates

Suppose that you want EDIF to perform the following tasks for data sets that have the suffix .PAYROLL:

To do this, specify the following statements in the EDIPARMS member:

SUFFIX NAME=.PAYROLL OPTION=(UTILITY,SMF,ABEND)
DATASET NAME=SYS1.PAYROLL AUTHORIZED=(PROGRAMS=(S1PAY,S2PAY))