ACFMERGE - Merge Password Information in Database
Describes the ACFMERGE merge password information in a database utility.
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.
- SYSPRINTACFMERGE 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.
- BACKUPSpecifies the backup sequential logoni dataset to be used.
- UPDATEACFMERGE 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.
ACFMERGE returns the following codes:
- 0Every logonid attempted to update successfully
- 4There was at least 1 error message updating logonids
- 8A 'PARM=' was specified in the job but was not valid
- 12Submitting logonid is not a security officer
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