For the message: $ACFJ206 ACF2 JES2 SUBTASK UNAVAIL. REASON=1 xx Reason 1 means that the attach for the subtask failed. ("xx" is the return code from the ATTACH.)
The CA ACF2 JES2 interface attaches a subtask, ACFJ2SUB, to validate batch jobs that have not yet been validated (i.e. NJE jobs), and is applicable to the JES2 environment (versus the USER environment introduced by JES2 at the z/OS 1.7 level). The "attach" of ACFJ2SUB does not occur until the first time it is needed. ACFJ2SUB is an alias for ACFJ2ITF. This "attach" failure most commonly indicates a problem with the alias.
It is common for sites to have separate CA ACF2 libraries for their system LPA and system link list concatenations, and to populate them from the CA ACF2 SMP/E maintained target libraries (the CAILPA and CAILOAD libraries).
After applying CA ACF2 JES2 interface maintenance, or after applying IBM JES2 maintenance and running the JXBJ2UM job to update the CA ACF2 JES2 interface, you can either copy (with replace) the entire CAILPA and CAILOAD libraries, or you can selectively copy the newly updated load modules. When copying selected load modules it is important to include all aliases for any of the load modules being copied.
The CA ACF2 JES2 Interface has 4 load modules; ACFJ2ITF, ACFJ2USR, ACFRJES2, and ACFUJES2, plus an alias, ACFJ2SUB (alias of ACFJ2ITF). It is important that whenever ACFJ2ITF is being copied, ACFJ2SUB (the alias) must also be copied.
Whenever ACFJ2ITF is copied from the CA ACF2 SMP/E maintained CAILOAD library to the system link list CAILOAD library, be sure to also copy the ACFJ2SUB alias.
Sample JCL and control cards for selectively copying all of the CA ACF2 JES2 Interface load modules (using IEBCOPY):
//STEP010 EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //SYSUT3 DD UNIT=SYSDA,SPACE=(TRK,(15,15)) //SYSUT4 DD UNIT=SYSDA,SPACE=(TRK,(15,15)) //IN1 DD DISP=SHR,DSN=your.smpe.target.CAILOAD //OUT1 DD DISP=SHR,DSN=your.system.linklist.CAILOAD //SYSIN DD * COPY OUTDD=OUT1,INDD=IN1 SELECT MEMBER=((ACFJ2ITF,,R)) SELECT MEMBER=((ACFJ2SUB,,R)) SELECT MEMBER=((ACFJ2USR,,R)) SELECT MEMBER=((ACFRJES2,,R)) SELECT MEMBER=((ACFUJES2,,R)) //* //* Note that ACFJ2SUB is an alias for ACFJ2ITF //*