ADASAF - ADAEOPTB Updates with ADA83x

If you have upgraded (or will be) to Adabas v83 and use Adabas SAF Security (AAF, ADASAF) to protect your database from unauthorized operator commands, this may interest you.

There are a few new operator commands that are not listed in the ADAEOPTB for Adabas SAF Security. For example, the new DSPACE command is not in the source table member ADAEOPTB. A protected database will return the “AAF102 No ADAEOPTB” message and does not allow the command.

In order to fix this, you simply add the new command(s) to the ADAEOPTB source member and use SAGI060 reassemble/link into ADAIOR (which I did). If you are using a vanilla ADAIOR (no ADAEOPTB in it), it should be fine. However, if the ADAIOR has been previously linked with ADAEOPTB (and ADAEOPV), the new commands in module ADAEOPTB are not included into the ADAIOR module - it will use the existing (old) ADAEOPTB command table that exists in ADAIOR.

After some head scratching and IE-eyeball processing (checking JCL and load modules), I found that I needed to add the “REPLACE ADAEOPTB” line in the link step to force it to use the new copy of ADAEOPTB. Note: this command is not in the sample SAGI060 job that is provided.

The link step should resemble this:

//SYSLIN DD *
MODE AMODE(31),RMODE(24)
REPLACE ADAEOPV
REPLACE ADAEOPTB <== use updated cmd table
INCLUDE ADALIB(ADAIOR)
INCLUDE AAFLIB(ADAEOPV) OPERATOR COMMAND EXIT
INCLUDE YOULIB(ADAEOPTB) OPERATOR COMMAND MAPPING TABLE
NAME ADAIOR(R)
/*

I hope this helps anyone else that runs into a similar issue.