Introduction
This is a checklist of things to check for if dialog animation is not working in CA-ADS Alive, (i.e. break-points have been set but the dialog is not stopping as expected).
Instructions
- Check that task USGAFIX has been defined in the SYSGEN as an AUTOTASK. To verify; at the Enter Next Task Code (ENTC); enter this command:
DCMT DIS TASK USGAFIX
Task Code USGAFIX
Program/Map USGAFIX
Map/Nomap NOMAP
Input/Noinput NOINPUT
Priority 100
Status ENABLED AND INSRV
Print Key PF12
Stall Intv OFF
External Wait 00300
Resource Intvl OFF
Resource Progm RHDCBYE
Times Called 0000001
Current Threads 00000
Max Concurrent OFF
Term Output NOSAVE
Autotask START
Location ANY
Storage Limit SYSTEM
Lock Limit SYSTEM
Call Limit SYSTEM
DBIO Limit SYSTEM
If Autotask states START; then the task is correct. If not; to make this task an AUTOTASK, in the SYSGEN:
ADD AUTOTASK USGAFIX
INVOKED AT STARTUP.
- If using r18.0 or later, exit 333 (which was required prior to r18.0), must NOT be implemented in RHDCUXIT.
If using r17.0 or earlier, exit 333 must be implemented in exit RHDCUXIT, as follows:-.
The copy of RHDCUXIT with exit 333 should be in CDMSLIB loadlib.
At the ENTC;
LOOK PROGRAM=RHDCUXIT
RHDCUXIT was #LOADed From --> CDMSLIB <=====
Entry Point Offset +50 - Reentrant - AMODE 24 - RMODE 24
27,672 Bytes in Load Module RHDCUXIT loaded at 000B3200
Module Offset Date Time
RHDCUXIT +0 011031 1448USFEXTD +740 990407 1220USFEXTF +EE0 990407 1220USFEXTW +1A20 990225 1741USFEXT0 +1E58 990407 1220USFEXT3 +2AF8 990407 1221USFEXT4 +3570 990407 1221USFEXT5 +44F0 990407 1221USG2333 +5A78 990225 1750 <=====
If module USG2333 is not in RHDCUXIT please locate the JCL in the Tools Installation guide, JOB10 in SAMPJCL. Also verify that RHDCUXIT is linked AMODE = ANY and RMODE = 31. This program needs to be linked above the line which is where ADS/ALIVE runs.
- Program USGAMEN should be enabled. To verify; at the ENTC; enter this command:
DCMT DIS PROGRAM USGAMEN
Program Name USGAMEN Ddname CDMSLIB
Type PROGRAM Type LOADLIB
Language ASM Dictname
Size (bytes) 00000000 Dictnode
ISA size 00000000 Database key NOT IN DICT
Status ENABLED AND INSRV Storage Prot NO
Dynamic ALLOWED Residence NOT IN POOL
Reusable YES Threading CONCURRENT
Reentrant FULLY REENTRANT Overlayable YES
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 142101C0 MPmode SYSTEM
If the Status is not ENABLED AND INSRV; enter this command to vary it:
DCMT VARY PROGRAM USGAMEN ENABLE
- These tasks must have a location mode of ANY:
ADS, ADS2, ADSR (OLQ), all ADS/Alive tasks (USGAFIX, etc). To verify; at the Enter Next Task Code (ENTC); enter this command:
DCMT DIS TASK ADS
Task Code ADS
Program/Map ADSORUN1
Map/Nomap NOMAP
Input/Noinput INPUT
Priority 100
Status ENABLED AND INSRV
Print Key PF12
Stall Intv 00030
External Wait 00300
Resource Intvl 01800
Resource Progm RHDCBYE
Times Called 0000000
Current Threads 00000
Max Concurrent OFF
Term Output SAVE
Autotask NO
Location ANY
Storage Limit SYSTEM
Lock Limit SYSTEM
Call Limit SYSTEM
DBIO Limit SYSTEM
Verify that Location is ANY.
If the Location is not ANY; alter the Task in the SYSGEN:
- Go into SYSGEN compiler
- Signon dictname system
- is system system-number
- MOD SYSTEM system-number.
MOD TASK ADS
LOCATION ANY.
GENERATE.
- Program ADSOMAIN must be resident. Check in the SYSGEN.
- Go into SYSGEN compiler
- Signon dictname system
- DIS SYSTEM system-number WITH NONE.
DIS SYSTEM 1410 WITH NONE.
*+ ADD SYSTEM 1410
*+ SYSTEM ID IS SYS1410
*+ .
DIS PROGRAM ADSOMAIN.
*+ ADD PROGRAM ADSOMAIN
*+ DATE CREATED IS 06/04/93
*+ DATE LAST UPDATED IS 03/21/01
*+ PREPARED BY ###
*+ REVISED BY ###
*+ CONCURRENT
*+ NODYNAMIC
*+ DUMP THRESHOLD IS 0
*+ ENABLED
*+ ERROR THRESHOLD IS 5
*+ ISA SIZE IS 0
*+ LANGUAGE IS ASSEMBLER
*+ MPMODE IS SYSTEM
*+ NOMAINLINE
*+ NEW COPY IS ENABLED
*+ OVERLAYABLE
*+ PROGRAM
*+ PROTECT
*+ REENTRANT
*+ RESIDENT
*+ REUSABLE
*+ NOSAVEAREA
*+ .
If the RESIDENT is in the program alter the Program in the SYSGEN:
d. MOD SYSTEM system-number.
MOD PROGRAM ADSOMAIN
RESIDENT.
GENERATE.
- Only one copy of ADSMAIN is valid. From the ENTC, execute 'DCMT D PRO ADSOMAIN'.
Program Name ADSOMAIN Ddname CDMSLIB
Type PROGRAM Type LOADLIB
Language ASM Dictname
Size (bytes) 00120184 Dictnode
ISA size 00000000 Database key NOT IN DICT
Status ENABLED AND INSRV Storage Prot YES
Dynamic NOT ALLOWED Residence PERMANENT AT 120E0600 <======
Reusable YES Threading CONCURRENT
Reentrant FULLY REENTRANT Overlayable YES
Tasks use ct 000 New Copy ENABLED
Times called 00000002 Times loaded 000001
PGM chk thrh 000 Pgm check ct 000
Dump thrh 000 Dump ct 000
Amode 31 Rmode ANY
PDE address 11BA6FF4 MPmode SYSTEM
If the residence field says 'MULTIPLE COPIES', verify the location of the tasks. Sometimes, inadvertently there are 2 copies of ADSOMAIN; one with LOCATION =ANY and the other created below the line. Delete the copy of ADSOMAIN that has a location of below.
- The dialog source is required for dialog animation by ADS/ALIVE. ADS/ALIVE checks offset x'94' in the FDB for the name of the dictionary in which the dialog was compiled. It then does a DCUF to that dictionary to locate the source to be displayed during animation.
If the source is missing or the dictionary isn't correct because the dialog has been punched from one dictionary to another without the source, the animation process will not work.
- The programmer must set up breakpoints correctly. It is possible to set up a breakpoint in code which is not executed and therefore to believe that animation is not working.
- The symbol and diagnostic tables must be enabled in the dialog when trying to setup animation in ADS Alive otherwise will fail with USG0014E DIALOG MUST BE GENERATED WITH SYMBOL TABLE.
10. Use DCMT D PRO USGANIM to verify that USGANIM is not being varied disabled at startup. It is required for animation.
If APARs have been APPLIED:
Since autotask USGAFIX dynamically applies patches, if no one executes USGAFIX from ENTC, the dynamic patches are not applied to the new copy of ADSOMAIN, and ADSLIV can no longer animate. Also, if you do a DCMT VARY PGM ADSOMAIN NEWCOPY, the dynamic patches applied by USGAFIX are lost as described above, and ADSLIV can no longer animate in this situation either.
Additional Information:
For more information, see the manual "CA ADS Alive for CA IDMS ADS User Guide".