ACFMERGE - Merge Password Information in Database

Describes the ACFMERGE merge password information in a database utility.
acf2src
The ACFMERGE utility is a batch job that updates the logonid database with the most current password. It does this by reading the backup sequential dataset and comparing the PSWD-TOD for each logonid with the PSWD-TOD of the same logonid in the live logonid database. If the PSWD-TOD is more current in the sequential backup, then the live database is updated with the new PASSWORD and PSWD-TOD for that user. If the live database is more, then no update takes place. The userid used for validation for the batch job has to be a security officer.
Files
  • SYSPRINT
    ACFMERGE Routes all generated messages to SYSPRINT. The first message will indicate whether updates to the live database were performed, dependent on the input parameters specified. Since ACFMERGE is driven by the sequential backup dataset, there is a message for each logonid record read indicating whether an update was performed or if there was any type of error encountered. Each message will display the logonid followed by the message. The most common message will be ACF02010 RECORD NOT FOUND indicating the logonid exists on the sequential backup but does not exist on the live database. There should be the same number of lines in the SYSPRINT as the backup sequential dataset, plus the initial informational message.
  • BACKUP
    Specifies the backup sequential logoni dataset to be used.
Parameters
  • UPDATE
    ACFMERGE accepts only one input parameter. If 'PARM=UPDATE' is specified, it will make the needed password updates to the live database. To see what logonids may get updated, run ACFMERGE without specifying any parameter. In this case, all messages will be routed to SYSPRINT as if updates were to take place and no physical updates will be done.
Return Codes
ACFMERGE returns the following codes:
  • 0
    Every logonid attempted to update successfully
  • 4
    There was at least 1 error message updating logonids
  • 8
    A 'PARM=' was specified in the job but was not valid
  • 12
    Submitting logonid is not a security officer
Examples
The following is an example of a batch job that updates the database.
//LOGON EXEC PGM=ACFMERGE,PARM=UPDATE //STEPLIB DD DSN=CAI.CAILOAD,DISP=SHR //SYSPRINT DD DSN=USER.OUTPUT,DISP=(NEW,CATLG),SPACE=(CYL,(1,1)), // UNIT=3390,VOL=SER=xxxxxx //BACKUP DD DSN=SYS1.ACF.BKLIDS,DISP=SHR
The following is an example of a batch job that shows what logonids would be updated
if parm=update were specified.
//LOGON EXEC PGM=ACFMERGE //STEPLIB DD DSN=CAI.CAILOAD,DISP=SHR //SYSPRINT DD DSN=USER.OUTPUT,DISP=(NEW,CATLG),SPACE=(CYL,(1,1)), // UNIT=3390,VOL=SER=xxxxxx //BACKUP DD DSN=SYS1.ACF.BKLIDS,DISP=SHR