Mapping storage areas using DSECT information
By using the DSECT command from within the interactive report, storage areas can be mapped based on PDS or PDSE data set members containing assembler macro or DSECT copybooks.
The DSECT command (see DSECT for syntax), can be entered from the command line of any display, or via PF key assignment. By default, the DSECT command is assigned to PF4.
You can now supply the start address (if not already filled in), and the name of the DSECT to use when mapping the storage area. The Address field is 64-bit enabled. For details, see Specifying 64-bit addresses.
The name of the DSECT can be provided in one of two ways:
- Just the DSECT name can be entered, in which case the IDIDSECT concatenation is searched for a match (see IDIDSECT concatenation for details). If multiple occurrences of the requested DSECT exist in the IDIDSECT concatenation, then press PF4 and select the appropriate one from the resulting list of all available DSECTs. A DSECT is selected from the list using an 'S', or it can be Edited by entering an 'E'.
- The data set and member name where the specified DSECT is stored can be supplied. If a DSECT name is not provided, then it defaults to be the same as the PDS or PDSE member name.
Scroll up/down or right/left as needed to display more DSECT information.
Press PF3 to return from the Storage DSECT Mapping Map display.
IDISYSLB concatenation
The DSECT command and IDIPDSCU utility both use, internally, the assembler to generate ADATA which is then used to determine field names and offsets. The SYSLIB DD, used by the assembler, is dynamically allocated to the same data set as the source DSECT. However this may be insufficient where, for example, an assembler macro is used to generate the DSECT and that macro does not exist in the DSECT data set. To allow for this situation additional SYSLIB data sets can be specified by allocating them to an IDISYSLB DD.
For example, data set MY.DSECTS has 1 member in it, CICSSIT, for generating the CICS DFHSIT DSECT:
000001 * GENERATE THE CICS DFHSIT DSECT
000002 DFHSIT TYPE=DSECT
000003 END
Using this data set or member in the DSECT command or IDIPDSCU utility will not generate a usable DSECT as the DFHSIT macro will not be resolved. Therefore, the IDISYSLB DD can be used. For example:
//UTIL1 EXEC PGM=IDIPDSCU,PARM=('MY.DSECTS')
//SYSPRINT DD SYSOUT=*
//SYSPUNCH DD SYSOUT=*
//IDISYSLB DD DISP=SHR,DSN=CICS.TS61.CICS.SDFHMAC
When using the DSECT command during interactive reanalysis, or when using IDIPDSCU in ISPF, use the TSO ALLOCATE command:
ALLOCATE FILE(IDISYSLB) DS('CICS.TS61.CICS.SDFHMAC') SHR