Basic System Problem Analysis - August 2003
14
Job/Session Management Structures: continued
The same thing can be accomplished using the native mode types:
$1e1 ($21d) nmdat > fv pcbx(pin) 'pcbx_type.pxglob,true'
CRUNCHED RECORD
DL_MINUS_A : 128
DB_MINUS_A : 180
USER_ATT : bfbf
JMAT_INDEX : bc0
JPCNTINDEX : 731
JCUTINDEX : 0
STUNBIT : FALSE
RESTART : FALSE
JOBTYPE : 2
DUPLICATIVE : FALSE
INTERACTIVE : FALSE
ALLOWMASK : FALSE
JSMSTATE : TRUE
JSMCHANGE : FALSE
FILLER1 : 0
STACKDUMP_FLAGS :
STACKDUMP_INT : 0
FILLER2 : 0
NATIVE_LANG : 0
JOB_INPUT_LDN : 4001
JOB_OUTPUT_LDN : 4000
JDTDST : 40da
JITDST : 40d8
END
You want to do an FT on PCBX_TYPE to see where the “.PXGLOB” came from.
Further you will see that the field PXGLOB is of type PXGLOB_TYPE. A format type
on that shows that the less useful record variant appears first, a crunched array of 12
BIT16’s. That will be the variant used unless another is explicitly specified. That’s what
you need to do in this case hence the “,TRUE” added to the format virtual command.
Now that we know the JIT and JDT DST numbers we can use the DSTVA function to
translate that to a virtual address and finally format the type:
$1e3 ($21d) nmdat > fv dstva(40da.0) 'jdt_header_type'
See HELP DSTVA for additional details.