Where does the CV load the $ACF@TAT module from? There is a load mod in SYSTEM dict (default) dated 02/22/02 and a load mod in DICTAPPL dated 12/01/22. The first one in CDMSLIB is dated 04/29/02.
From the default dictionary…
D MEMORY PROGRAM $ACF@TAT
Program: $ACF@TAT Loadlib: CDMSLIB
<Addr> <Offset> <Hex> <Character>
19411200 00000000 E3C1E35C 5BC1C3C6 7CE3C1E3 F0F461F2 *TAT*$ACF@TAT04/2*
V4 ENTER NEXT TASK CODE: CA IDMS release 19.0 tape GJJ04I node IDMSPREV
I’m assuming since it says CDMSLIB that $ACT@TAT is being loaded form a loadlib and not from a dictionary, plus the partial date matches the 1st 4 bytes of the one I found. And this module does have the $TOOLTCF etc.
If I try a LOOK on that program, it pulls it from the SYSTEM dictionary
What I think you are telling me is that because the module in DICTAPPL does NOT have the $TOOLTCF etc. in it, the keys don’t work correctly – among other things. So, what affect system wise would it have if I renamed the one in DICTAPPL (for now) and loaded the one you sent?
Release : 19.0
That is correct. Wherever $ACF@TAT is being loaded from, CDMSLIB or a dictionary, if it does not contain $TOOLTCF the PFkey functions do not work. Here's an example.
I punched and linked $ACF@TAT into my CUSTOM.LOADLIB then recycled the CV. After this was done any attempt to load $ACF@TAT it is being loaded from APPLDICT. This should be related to SYSLOAD which is the default LOADLIST I'm using.
This is it:
PROGRAM=$ACF@TAT
IDMSLOOK - OPSYS=z/OS Version 19.00.02
PROGRAM=$ACF@TAT
$ACF@TAT was #LOADed From --> APPLDICT
Entry Point Offset +0 - Reentrant - AMODE 31 - RMODE ANY
280 Bytes in Load Module $ACF@TAT loaded at 3F339200
Module Offset Date Time FMID RMID
$ACF@TAT +4 230321 1358
3F339200 +0 E3C1E35C 5BC1C3C6 7CE3C1E3 F0F361F2 TAT*$ACF@TAT03/2
3F339210 +10 F161F2F3 F1F3F5F8 F1F2F9F3 000C0001 1/2313581293....
3F339220 +20 00000000 00000000 00000000 00000000 ................
SAME AS PREVIOUS LINE
3F339240 +40 C1C4E2C1 40404040 5BE3D6D6 D3E3C3C6 ADSA $TOOLTCF
3F339250 +50 0001C1C4 E2C34040 40405BE3 D6D6D3E3 ..ADSC $TOOLT
3F339260 +60 C3C60001 C1C4E2C3 C4D4C540 5BE3D6D6 CF..ADSCDME $TOO
3F339270 +70 D3E3C3C6 0001C1C4 E2D34040 40405BE3 LTCF..ADSL $T
3F339280 +80 D6D6D3E3 C3C60001 C1C4E2D4 40404040 OOLTCF..ADSM
3F339290 +90 5BE3D6D6 D3E3C3C6 0001C2C3 C1404040 $TOOLTCF..BCA
3F3392A0 +A0 4040C2C3 C1404040 40400001 C2C3C440 BCA ..BCD
3F3392B0 +B0 40404040 C2C3C4C5 D4D64040 0001D1C5 BCDEMO ..JE
3F3392C0 +C0 C6C64040 4040D1C5 C6C6C4D7 D3400001 FF JEFFDPL ..
3F3392D0 +D0 D4C1D7C3 40404040 5BE3D6D6 D3E3C3C6 MAPC $TOOLTCF
3F3392E0 +E0 0001E3C1 E2D2E3E2 E340C1C2 C1E3C3C8 ..TASKTST ABATCH
3F3392F0 +F0 40400001 E3C1E2D2 F1404040 E3E2E3C1 ..TASK1 TSTA
3F339300 +100 D7D7D340 0001E3C1 E2D2F240 4040E3E2 PPL ..TASK2 TS
3F339310 +110 E3C1D7D7 D3400001 TAPPL ..
V71 ENTER NEXT TASK CODE: CA IDMS release 19.0 tape GJJ04I node SYSTEM71
Since I have two $ACF@TAT, one in CDMSLIB/CUSTOM loadlib and the other in APPLDICT I also now have two PDE's for it.
D PROGRAM *.$ACF@TAT << I use this to display the 2 PDEs:
Program Name $ACF@TAT Ddname CDMSLIB
Type TABLE Type LOADLIB
Language ASM Dictname
Size (bytes) 00000000 Dictnode
ISA size 00000000 Database key NOT IN DICT
Status ENABLED AND INSRV Storage Prot YES
Dynamic ALLOWED Residence NOT IN POOL
Reusable YES Threading CONCURRENT
Reentrant FULLY REENTRANT Overlayable NO
Tasks use ct 000 New Copy ENABLED
Times called 00000000 Times loaded 000000
PGM chk thrh 005 Pgm check ct 000
Dump thrh 000 Dump ct 000
Amode Rmode
PDE address 3B4D1498 MPmode SYSTEM
Savearea NO Mult Enclave
Program Name $ACF@TAT Version 1
Type TABLE Type DICTIONARY
Language ASM Dictname
Size (bytes) 00000280 Dictnode
ISA size 00000000 Database key 00070376:001
Status ENABLED AND INSRV Storage Prot YES
Dynamic ALLOWED Residence IN POOL AT 3F339200
Reusable YES Threading CONCURRENT
Reentrant FULLY REENTRANT Overlayable NO
Tasks use ct 000 New Copy ENABLED
Times called 00000002 Times loaded 000001
PGM chk thrh 005 Pgm check ct 000
Dump thrh 000 Dump ct 000
Amode ANY Rmode ANY
PDE address 3B51EEC4 MPmode SYSTEM
Savearea NO Mult Enclave
ENTER NEXT TASK CODE: CA IDMS release 19.0 tape GJJ04I node SYSTEM71
V PROGRAM *.$ACF@TAT DIS << to display the APPLDICT PDE so the CDMSLIB can be used:
<number> <type> <source>
1 TABLE LOADLIB
2 TABLE DICTIONARY
MULTIPLE PROGRAMS SATISFY CRITERIA
ENTER <number> TO PROCESS, ANYTHING ELSE TO EXIT
2 << I selected the APPLDICT to disable leaving only the CDMSLIB PDE which will be the only one to be used>
IDMS DC262002 V71 USER:####### PROGRAM $ACF@TAT DICTNAME SYST-DEF DISABLED AND
OUT OF SERVICE
V71 ENTER NEXT TASK CODE: CA IDMS release 19.0 tape GJJ04I node SYSTEM##
PROGRAM=$ACF@TAT
IDMSLOOK - OPSYS=z/OS Version 19.00.02
PROGRAM=$ACF@TAT
Now you see it is being loaded from CDMSLIB:
$ACF@TAT was loaded From CDMSLIB DSN --> ########.CUSTOM.LOADLIB
Entry Point Offset +0 - Nonreentrant - AMODE 31 - RMODE ANY
280 Bytes in Load Module $ACF@TAT loaded at 3F33D400
Module Offset Date Time FMID RMID
$ACF@TAT +4 230321 1358
3F33D400 +0 E3C1E35C 5BC1C3C6 7CE3C1E3 F0F361F2 TAT*$ACF@TAT03/2
3F33D410 +10 F161F2F3 F1F3F5F8 F1F2F9F3 000C0001 1/2313581293....
3F33D420 +20 00000000 00000000 00000000 00000000 ................
SAME AS PREVIOUS LINE
3F33D440 +40 C1C4E2C1 40404040 5BE3D6D6 D3E3C3C6 ADSA $TOOLTCF
3F33D450 +50 0001C1C4 E2C34040 40405BE3 D6D6D3E3 ..ADSC $TOOLT
3F33D460 +60 C3C60001 C1C4E2C3 C4D4C540 5BE3D6D6 CF..ADSCDME $TOO
3F33D470 +70 D3E3C3C6 0001C1C4 E2D34040 40405BE3 LTCF..ADSL $T
3F33D480 +80 D6D6D3E3 C3C60001 C1C4E2D4 40404040 OOLTCF..ADSM
3F33D490 +90 5BE3D6D6 D3E3C3C6 0001C2C3 C1404040 $TOOLTCF..BCA
3F33D4A0 +A0 4040C2C3 C1404040 40400001 C2C3C440 BCA ..BCD
3F33D4B0 +B0 40404040 C2C3C4C5 D4D64040 0001D1C5 BCDEMO ..JE
3F33D4C0 +C0 C6C64040 4040D1C5 C6C6C4D7 D3400001 FF JEFFDPL ..
3F33D4D0 +D0 D4C1D7C3 40404040 5BE3D6D6 D3E3C3C6 MAPC $TOOLTCF
3F33D4E0 +E0 0001E3C1 E2D2E3E2 E340C1C2 C1E3C3C8 ..TASKTST ABATCH
3F33D4F0 +F0 40400001 E3C1E2D2 F1404040 E3E2E3C1 ..TASK1 TSTA
3F33D500 +100 D7D7D340 0001E3C1 E2D2F240 4040E3E2 PPL ..TASK2 TS
3F33D510 +110 E3C1D7D7 D3400001 TAPPL ..
V71 ENTER NEXT TASK CODE: CA IDMS release 19.0 tape GJJ04I node SYSTEM71
The two PDE's, one enabled and in service the other disabled and out of service.
D PROGRAM *.$ACF@TAT
Program Name $ACF@TAT Ddname CDMSLIB
Type TABLE Type LOADLIB
Language ASM Dictname
Size (bytes) 00000280 Dictnode
ISA size 00000000 Database key NOT IN DICT
Status ENABLED AND INSRV Storage Prot YES
Dynamic ALLOWED Residence IN POOL AT 3F33D400
Reusable YES Threading CONCURRENT
Reentrant FULLY REENTRANT Overlayable NO
Tasks use ct 000 New Copy ENABLED
Times called 00000001 Times loaded 000001
PGM chk thrh 005 Pgm check ct 000
Dump thrh 000 Dump ct 000
Amode 31 Rmode ANY
PDE address 3B4D1498 MPmode SYSTEM
Savearea NO Mult Enclave
Program Name $ACF@TAT Version 1
Type TABLE Type DICTIONARY
Language ASM Dictname
Size (bytes) 00000280 Dictnode
ISA size 00000000 Database key 00070376:001
Status DISABLED AND OUTSRV Storage Prot YES
Dynamic ALLOWED Residence IN POOL AT 3F339200
Reusable YES Threading CONCURRENT
Reentrant FULLY REENTRANT Overlayable NO
Tasks use ct 000 New Copy ENABLED
Times called 00000002 Times loaded 000001
PGM chk thrh 005 Pgm check ct 000
Dump thrh 000 Dump ct 000
Amode ANY Rmode ANY
PDE address 3B51EEC4 MPmode SYSTEM
Savearea NO Mult Enclave
ENTER NEXT TASK CODE: CA IDMS release 19.0 tape GJJ04I node SYSTEM71
Does this help?