Information

This site will undergo a brief period of maintenance on Friday, 18 December at 12:30 AM Central/12:00 PM IST. During a 30 minute window, site availability may be intermittent.

DMAC Print utility (DMAC_PRINT command)


The DMAC Print utility is a command-driven function used to print the contents of the DMAC block for an area.

The function can be used in either online or offline mode.

When DMAC_PRINT executes in offline mode, the input to the function can be the area data set or an image copy. Specify the image copy or area data set name on the areaname DD statement. The DMAC_PRINT utility determines which input is specified. The utility prints the contents of the DMAC constructed by merging the values from the DMB (from the ACB library or directory) with the DMAC block from the area data set or image copy.

Related topics

Specifying the database and areas

The DBD keyword identifies the name of the DEDB (DBD name) for which a DMAC block or blocks will be printed.

The DBD keyword is required when executing the DMAC Print utility in offline mode.

For online execution, the DBD name is supplied as an execution parameter, and the DBD keyword can be omitted. If the DBD keyword is coded for an online execution of the DMAC Print utility, it must specify the same DBD name as supplied in the execution parameter.

Error
Warning

If the DBD keyword does not specify the same DBD name as supplied in the execution parameter when executing the DMAC Print utility in online mode, an error message is issued and the function terminates.

The IAREA keyword can be used to select specific areas for which DMAC blocks will be printed. If you omit the IAREA keyword, DMAC blocks will be printed for all areas defined in the DEDB.

Areas can be specified on the IAREA keyword by using any combination of area names, area numbers, or area ranges. The following parameters are available for the IAREA keyword:

  • IAREA=ALL (default) or IAREA=* – Specify all areas of the DEDB.
  • IAREA=areaName – Specify one or more areas by using the one-character to eight-character area name for each area specified. Multiple area names must be enclosed in parentheses and separated by commas.
  • IAREA=areaNumber – Specify one or more areas by using the one-character to five-character area number for each area specified. Multiple area numbers must be enclosed in parentheses and separated by commas.
  • IAREA=(RANGE=(startArea,endArea)) – Use this syntax to specify a consecutive range of areas using either areaName or areaNumber parameters. The area number associated with startArea must be less than the area number associated with endArea.

An asterisk (*) can be used to specify all areas of the DEDB. When the * character is used with the RANGE keyword, it can be used to specify the beginning or ending range for specific areas of the DEDB.

Offline and online examples

In the example in the following figure, the area data sets and ACB library are dynamically allocated.

DMAC blocks will be printed for all areas in the DEDB.

Using the offline DMAC_PRINT command to print DMAC blocks for all areas

//PFP  EXEC  PGM=PFPMAIN,REGION=0M
//STEPLIB  DD  DISP=SHR,DSN=BMC.PFP.LOAD
//         DD  DISP=SHR,DSN=IMS.RESLIB
//PFPSYSIN DD *
  DMAC_PRINT DBD=<dbdname>
/*

When DMAC_PRINT executes in online mode, the input to the function is the online area data set. The utility prints the contents of the DMAC in use by the IMS control region. This DMAC is often referred to as 'the in-core DMAC.'

An example of an online DMAC_PRINT is shown in the following figure. This control statement uses a combination of area names and area numbers to request that DMAC blocks are to be printed for each of the specified areas. The DBD keyword is not specified (not required) because the DBD name is specified as an execution parameter. DMAC blocks will be printed for the areas named AREANAM1 and AREANAM3, and for all consecutive areas from area number 5 to area number 8 (area5area6area7 and area8).

Using the online DMAC_PRINT command to print DMAC blocks for specified areas

//PFP  EXEC   PGM=DFSRRC00,REGION=0M,
//            PARM=(IFP,<dbdName>,DBF#FPU0)
//STEPLIB  DD DISP=SHR,DSN=BMC.PFP.LOAD
//         DD DISP=SHR,DSH=IMS.RESLIB
//PFPSYSIN DD *
  DMAC_PRINT IAREA=(AREANAM1,AREANAM3,RANGE=(5,8))
/*

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

Fast Path/EP products reference information 4.1