Dialog animation not working in CA-ADS Alive
search cancel

Dialog animation not working in CA-ADS Alive

book

Article ID: 27958

calendar_today

Updated On:

Products

IDMS IDMS - Database IDMS - ADS

Issue/Introduction

After setting up the animation for an ADS dialog in ADS Alive and executing the dialog the animation process that displays the lines of code being executed is not being done.

Environment

Release:
Component: ADSLIV

Resolution

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

  1. 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.

  2. 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.

  3. 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

  4. 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:
    1. Go into SYSGEN compiler
    2. Signon dictname system
    3. is system system-number
    4. MOD SYSTEM system-number.
      MOD TASK ADS
      LOCATION ANY.
      GENERATE.

  5. Program ADSOMAIN must be resident. Check in the SYSGEN.
    1. Go into SYSGEN compiler
    2. Signon dictname system
    3. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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".