z/OS DFSMSrmm Implementation and Customization Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Modifying DFSMSrmm label output

z/OS DFSMSrmm Implementation and Customization Guide
SC23-6874-00

Use the EDG_EXIT100 installation exit to modify the label that DFSMSrmm produces as part of disposition processing. You can set new values for the number of rows, the length of each row in the label. You cannot exceed the maximum label area size of 2000 characters. You can set an LRECL other than the default LRECL of 80. The LRECL you set must be the same length or less than the number of columns in each row in the label. You can change the values by modifying the label area passed to the EDG_EXIT100 exit based on the PL100_LABDATA field. PL100_LABPTR is the address of the label DFSMSrmm has prepared. You use the EDGSLAB mapping macro to map the label area. The label area starts with control information as shown in Figure 1. You set the LRECL to your selected output label LRECL, and decide how many columns and rows you will have in your label. The number of columns can be less than the LRECL

Figure 1. Sticky label area
SLABENT  DS    0D                  ** BEGIN OF SLAB                  **
SLABID   DS    CL8'EDGSLAB'        ** SLAB EYECATCHER                **
SLABSPL  DS    XL1                 ** SLAB SUBPOOL NUMBER            **
SLABSIZE DS    XL3                 ** SLAB TOTAL SIZE                **
SLABKEY  DS    XL1                 ** SLAB PROTECTION KEY            **
SLABVER  DS    XL1                 ** SLAB VERSION                   **
SLABLRECL DS  XL1                  ** SLAB OUTPUT FILE LRECL         **
SLABTYPE DS    CL1                 ** SLAB LABEL TYPE                **
SLABTYPE_CART EQU X'80'            ** SLAB CARTRIDGE LABEL BUILT     **
SLABTYPE_REEL EQU X'40'            ** SLAB REEL      LABEL BUILT     **
SLABCOL  DS    XL1                 ** SLAB NUMBER OF COLUMNS         **
SLABROW  DS    XL1                 ** SLAB NUMBER OF ROWS            **
SLABLAB  DS    0F                  ** SLAB STICKY LABEL              **
         ORG   SLABLAB             ** SLAB MAXIMUM LABEL LAYOUT      **
SLABMAX  DS    CL2000              **                                **

Once you have decided on your label size, you must decide on the layout of the data fields. Each row in the label can have none, one, or more data fields mapped to them. EDGSLAB shows you how DFSMSrmm lays out the labels for cartridges and tape reels. The sample EDGUX100 exit module also shows you how to map your own labels over the SLABLAB label area. You can easily customize the label area by adapting the sample label area in EDGUX100. See Figure 2 for how the label area can be addressed and updated.

Figure 2. Addressing the sticky label area
         L     R5,PL100_LABPTR     Do we have a prepared label?    @17M
         LTR   R5,R5                                               @17M
         BZ    DSPCNT2             NO, CONTINUE                    @17M
         TM    PL100_INFO,PL100_INFO_DISPLAB                       @17C
         BZ    DSPCNT_OPT2         NO, CONTINUE with option 2      @17C
         USING SLAB,R5                                             @L6A
 ...
*---------------------------------------------------------------------*
* CREATE CUSTOM STICKY LABEL                                          *
*   Remove comments in the following code to activate or customize@17A*
*---------------------------------------------------------------------*
DSPCNT0  DS    0H                                                  @K4A
*        LR    R1,R3                                               @K4A
*        LA    R2,SLABMAX              CLEAR PREPARED STICKY LABEL @K4A
*        LA    R3,2000                                             @K4A
*        LA    R6,@CC00506                                         @K4A
*        ICM   R7,15,@CB07614                                      @K4A
*        MVCL  R2,R6                                               @K4A
*        LR    R3,R1                                               @K4A
*        MVI   SLABCOL,80              SET ROW/COLUMN              @K4A
*        MVI   SLABLRECL,80                                        @K4A
*        MVI   SLABROW,10                                          @K4A
*        MVC   SLABUUSR,PL100_LAB_USERDATA                         @K4A
*        MVC   SLABUDSN,PL100_DSN                                  @K4A
*        MVC   SLABUJBN,PL100_JOBNAM                               @K4A
*        MVC   SLABUVSL,PL100_VOLSER                               @K4A

Also, see Figure 3 for how you can overlay the label mapping over the SLABLAB area. First, define the rows/records for the labels, and then for each row, overlay the data fields you want to use. Refer to the sample EDGUX100 exit module for the complete sample solution.

Figure 3. Mapping a custom sticky label
         EDGSLAB LIST=YES,DSECT=YES                                @K4A
         ORG   SLABLAB                                             @L6A
SLABULN1 DS    CL80                RECORD 1                        @L6A
SLABULN2 DS    CL80                RECORD 2                        @L6A
SLABULN3 DS    CL80                RECORD 3                        @L6A
SLABULN4 DS    CL80                RECORD 4                        @L6A
SLABULN5 DS    CL80                RECORD 5                        @L6A
SLABULN6 DS    CL80                RECORD 6                        @L6A
SLABULN7 DS    CL80                RECORD 7                        @L6A
SLABULN8 DS    CL80                RECORD 8                        @L6A
SLABULN9 DS    CL80                RECORD 9                        @L6A
SLABULNA DS    CL80                RECORD 10                       @L6A
         ORG   SLABULN1            LAYOUT RECORD1                  @L6A
SLABUDSN DS    CL44                SLAB USER LABEL DSNAME          @L6A
         ORG   SLABULN2            LAYOUT RECORD2                  @L6A
SLABUUSR DS    CL69                SLAB USER USER DATA             @K4C
         ORG   SLABULN3            LAYOUT RECORD3                  @L6A
 ... 

You can also suppress the production of labels by setting the PL100_SET_NOLABEL bit to B'1'. DFSMSrmm checks for this bit at CLOSE time. See Selecting the method used for label processing for information about modifying labels.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014