Module keyword procedure

If your program terminated abnormally or entered a wait or loop, your next keyword in the keyword string is the name of the module in control when the failure occurred.

You need a dump for this procedure. If you did not receive a dump, see Table 1.

If you invoke DFSORT from a COBOL program, you might receive both a COBOL dump and a DFSORT dump. For this procedure, use only the DFSORT dump.

If you are using PL/I, you must specify the NOSPIE and NOSTAE macro at run time to ensure that you receive a DFSORT dump. If you do not, you might receive only a PL/I dump.

You need the abend address to obtain the module’s name:
  1. Find the program status word (PSW) in the dump, and note the instruction address, which is the last 31 bits of the PSW.

    See Figure 1 for an example. The last 31 bits of the PSW (that is, 22D417F2) is the instruction address.

    Figure 1. Finding the Abend Address
    JOB SORT1            STEP S1              TIME 150902   DATE 07085    ID = 000
    COMPLETION CODE      SYSTEM = 0C1      REASON CODE = 00000001
    
      PSW AT ENTRY TO ABEND   078D2000  A2D417F2  ILC  02  INTC  0001
                                               ↑        ↑
                                               |        |
                                               |        instruction length code
                                               |
                                               instruction address    
  2. Obtain the abend address by subtracting the instruction length code (ILC) from the instruction address.
                        22D417F2     instruction address
                       -       2     instruction length code
                        22D417F0     abend address
  3. Go to the abend address and scan backward until you find, on the right side of the dump, the closest name of the form:
     ICEname Z/OSv.rr

    where ICEname is the module name and Z/OSv.rr is the version and release.

    Start of changeIn Figure 2, ICEIPFT Z/OS2.04 is the closest module name, version, and release.End of change

    Figure 2. Finding the Module Name
    22D41700 D3C9C3C5 D5E2C5C4 40D4C1E3 C5D9C9C1    D3E24060 ... *LICENSED MATERIALS - PROPERTY OF*
    22D41720 40C9C2D4 40F5F6F5 F060E9D6 E240C3D6    D7E8D9C9 ... * IBM 5650-ZOS COPYRIGHT IBM CORP*
    22D41740 4B40F1F9 F7F36B40 F2F0F1F2 40404040    40C3D6D7 ... *. 1973, Start of change2019End of change     COPYRIGHT WATSO*
    22D41760 D540D440 C3D6D5D5 C5D940C9 D5C34B40    F1F9F8F3 ... *N M CONNER INC. 1983            *
    22D41780 40C1D3D3 40D9C9C7 C8E3E240 D9C5E2C5    D9E5C5C4 ... * ALL RIGHTS RESERVED.   ICEIPFT *
    
    Start of change22D417A0 E961D6E2 F24BF0F1 F0F561F1 F861F1F1    40F1F44B ... *Z/OS2.0405/28/19 15.16 NONE     *End of change
    22D417C0 41C0F000 4190C800 41909800 D23ADCD0    DCD192CF ... *..0...H....q.K..}.Jk.........{.K.*
    22D417E0 1000C3CC 4110100A 5010DB48 92C9D182    0000D9EE ... *..C.....&...kIJbj.R...{.m.M..0Kq*
                                                    ^
                                                    |
                                                    abend address is 22D417F0

    If you cannot find the module name, the problem might not be with DFSORT. In this case, call your IBM Support Center.

  4. Use the module name as the keyword. For this example, the keyword string would be:
    Keyword string
    5740SM105 Start of changeRP00End of change BLOCKSET SORT ABEND0C1 ICEIPFT

    Check to see that the version and release that appears after the module name is current. If the version and release is not current, ensure DFSORT has been installed correctly.

  5. The next keyword shows the offset. See Figure 1.