The CTS procedure provided with this version uses member TMELBLS in CAI.CTAPEARL to create labels. The following example shows the code contained in the TMELBLS member with a discussion of the various sections. If modification of this is required to customize labels for your site, you can modify this code or make a copy for modification. Verify that the LBL parameter in the CTS procedure points to the name of the member that you want to use.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! SAMPLE OUTPUT LABELS FOR REELS AND CARTRIDGES ! ! 1 ! ! THE FOLLOWING FORMATS ARE BEING PRODUCED IN THIS SAMPLE: ! ! ! ! REELS: ! ! ....+....1....+....2....+....3....+....4....+....5....+....6 ! ! ! ! 1 DSN......................................... ! ! 2 ! ! 3 CJOB.... CDATE..... ! ! 4 ! ! 5 DEN. TRTC LRECL. BLKSIZ RCFM EXPDT..... ! ! 6 ! ! 7 VOLSER VSEQ LBL UNIT ! ! ! ! CARTS: ! ! ....+....1....+....2....+....3....+....4....+....5....+....6 ! ! ! ! 1 DSN......................................... ! ! 2 ! ! 3 ! ! 4 CJOB.... CDATE..... ! ! 5 EXPDT..... ! ! 6 DEN. TRTC LRECL. BLKSIZ RCFM ! ! 7 ! ! 8 VOLSER VSEQ LBL UNIT ! ! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
OPTION NODUMP 2 COPY LABELDEF
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! OUTPUT LABEL IMAGE 10 ROWS BY 80 COLUMNS ! ! ! ! "ROWS" DEFINE THE NUMBER OF LINES IN EACH LABEL FROM ! ! THE FIRST LINE OF ONE LABEL TO THE FIRST LINE IN THE ! ! NEXT LABEL. ! ! ! ! "COLUMNS" DEFINE THE NUMBER OF CHARACTERS IN EACH ROW. ! ! ! ! "LINE" DEFINES THE INDIVIDUAL ROW IN THE ARRAY. ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
DEF OUTPUT_LABEL (X 802) = ' ' 'OUTPUT' 'LABEL' 3
4
DEF ROWS = OUTPUT_LABEL 001-001 B 'ROWS'
DEF COLUMNS = OUTPUT_LABEL 002-002 B 'COLUMNS'
DEF LINE ARRAY 10 = OUTPUT_LABEL 003-082 X 5
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! WORK LINES FOR LABEL REEL IMAGE - 80 COLUMNS WIDE ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
DEF WORK_LINE (X 80) = ' '
DEF REEL01_DSN = WORK_LINE 001-044 X
DEF REEL03_CJOB = WORK_LINE 005-012 X DEF REEL03_CDATE = WORK_LINE 031-040 X
DEF REEL05_DEN = WORK_LINE 002-005 X DEF REEL05_TRTCH = WORK_LINE 007-010 X DEF REEL05_LRECL = WORK_LINE 012-017 N DEF REEL05_BLKSIZE = WORK_LINE 019-024 N 6 DEF REEL05_RECFM = WORK_LINE 026-029 X DEF REEL05_EXPDT = WORK_LINE 031-040 X
DEF REEL07_VOLSER = WORK_LINE 016-021 X DEF REEL07_VOLSEQ = WORK_LINE 023-026 N DEF REEL07_LABEL = WORK_LINE 028-030 X DEF REEL07_LUNIT = WORK_LINE 037-040 X
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! WORK LINES FOR LABEL CART IMAGE - 80 COLUMNS WIDE ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
DEF CART01_DSN = WORK_LINE 001-044 X DEF CART04_CJOB = WORK_LINE 002-009 X DEF CART04_CDATE = WORK_LINE 015-024 X DEF CART05_EXPDT = WORK_LINE 015-024 X DEF CART06_DEN = WORK_LINE 002-005 X DEF CART06_TRTCH = WORK_LINE 007-010 X DEF CART06_LRECL = WORK_LINE 012-016 N DEF CART06_BLKSIZE = WORK_LINE 019-024 N DEF CART06_RECFM = WORK_LINE 026-029 X DEF CART08_VOLSER = WORK_LINE 002-007 X DEF CART08_VOLSEQ = WORK_LINE 009-012 N DEF CART08_LABEL = WORK_LINE 014-016 X DEF CART08_LUNIT = WORK_LINE 024-027 X
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! THE FOLLOWING ROUTINE WILL GENERATE AND PRINT 10 CART SETUP LABELS ! ! USING SETUP OUTPUTS DEFINED IF THE VALUE IN 'SETUP_REQUESTED' = 'Y'.! ! ! ! IF REEL SETUP LABELS ARE PREFERRED, CHANGE THE VALUE IN THE ! ! 'SETUP_TYPE' FIELD TO 'REEL'. ! ! ! ! IF MORE THAN 10 SETUP LABELS ARE DESIRED, CHANGE THE VALUE IN THE ! ! 'SETUP_MAXIMUM' FIELD TO THE DESIRED VALUE. ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
DEF SETUP_REQUESTED (X 1) = 'Y' DEF SETUP_TYPE (X 4) = 'CART' DEF SETUP_COUNT (P 2.0) = 0 7 DEF SETUP_MAXIMUM (P 2.0) = 10
IF SETUP_REQUESTED NOT = 'Y'
GOTO GETTAG
ENDIF
SET SETUP_REQUESTED = 'N'
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! THE FOLLOWING OUTPUT ASSIGNMENTS ARE USED FOR 'SETUP LABELS' ONLY. ! ! ! ! NOTE: OUTPUT ASSIGNMENTS ARE SET HERE FOR 'SETUP LABELS' AND LATER ! ! FOR ALL INPUT 'LABEL REQUESTS'. ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! SET PRT1_REQ = 'N' NOTE - SET PRINTER1 FILE SET PRT2_REQ = 'N' NOTE - SET PRINTER2 FILE SET PRT3_REQ = 'N' NOTE - SET PRINTER3 FILE SET WTO1_REQ = 000 NOTE - SET WTO ROUTE CODE 8 SET WTO2_REQ = 000 NOTE - SET WTO ROUTE CODE SET WTO3_REQ = 000 NOTE - SET WTO ROUTE CODE SET CCI_DEST = ' ' NOTE - SET CCI DESTINATION
SETUP_LOOP:
SET SETUP_COUNT = SETUP_COUNT + 1
IF SETUP_COUNT > SETUP_MAXIMUM
GOTO GETTAG
ENDIF
IF SETUP_TYPE = 'CART'
SET OUTPUT_LABEL = ' '
SET ROWS = 10
SET COLUMNS = 80
SET WORK_LINE = ' '
SET CART01_DSN = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
SET LINE(/1/) = WORK_LINE
SET WORK_LINE = ' '
SET CART04_CJOB = 'XXXXXXXX'
SET CART04_CDATE = 'XXXXXXXXXX'
SET LINE(/4/) = WORK_LINE
SET WORK_LINE = ' '
SET CART05_EXPDT = 'XXXXXXXXXX' 9
SET LINE(/5/) = WORK_LINE
SET WORK_LINE = ' '
SET CART06_DEN = 'XXXX'
SET CART06_TRTCH = 'XXXX'
SET CART06_LRECL = 999999
SET CART06_BLKSIZE = 999999
SET CART06_RECFM = 'XXXX'
SET LINE(/6/) = WORK_LINE
SET WORK_LINE = ' '
SET CART08_VOLSER = 'XXXXXX'
SET CART08_VOLSEQ = 9999
SET CART08_LABEL = 'XXX'
SET CART08_LUNIT = 'XXXX'
SET LINE(/8/) = WORK_LINE
SET REQUEST = 'L'
CALL CTSLBLOT USING OUTPUT_LABEL COMM_AREA
GOTO SETUP_LOOP
ENDIF
IF SETUP_TYPE = 'REEL'
SET OUTPUT_LABEL = ' '
SET ROWS = 10
SET COLUMNS = 80
SET WORK_LINE = ' '
SET REEL01_DSN = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
SET LINE(/1/) = WORK_LINE
SET WORK_LINE = ' '
SET REEL03_CJOB = 'XXXXXXXX' 10
SET REEL03_CDATE = 'XXXXXXXXXX'
SET LINE(/3/) = WORK_LINE
SET WORK_LINE = ' '
SET REEL05_DEN = 'XXXX'
SET REEL05_TRTCH = 'XXXX'
SET REEL05_LRECL = 999999
SET REEL05_BLKSIZE = 999999
SET REEL05_RECFM = 'XXXX'
SET REEL05_EXPDT = 'XXXXXXXXXX'
SET LINE(/5/) = WORK_LINE
SET WORK_LINE = ' '
SET REEL07_VOLSER = 'XXXXXX'
SET REEL07_VOLSEQ = 9999
SET REEL07_LABEL = 'XXX'
SET REEL07_LUNIT = 'XXXX'
SET LINE(/7/) = WORK_LINE
SET REQUEST = 'L'
CALL CTSLBLOT USING OUTPUT_LABEL COMM_AREA
GOTO SETUP_LOOP
ENDIF
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! THE FOLLOWING STATEMENTS READ THE NEXT INPUT RECORD ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
GETTAG: GET TAPEDB
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! IF END-OF-FILE IS REACHED - CALL CTSLBLOT TO CLOSE ALL FILES ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
IF TAPEDB = 'E'
SET REQUEST = 'C'
CALL CTSLBLOT USING LABEL_RECORD COMM_AREA
GOTO EOJ
ENDIF
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! IF A SPINOFF REQUEST IS READ - CALL CTSLBLOT TO PROCESS IT ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
IF REQUEST = 'S'
CALL CTSLBLOT USING LABEL_RECORD COMM_AREA
GOTO GETTAG
ENDIF
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! SELECT (OR BYPASS) INPUT RECORDS AT THIS POINT 11 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! THE FOLLOWING OUTPUT ASSIGNMENTS ARE USED FOR 'LABEL REQUESTS' ONLY.! ! ! ! NOTE: OUTPUT ASSIGNMENTS ARE SET HERE FOR ALL 'LABEL REQUESTS' AND ! ! IN THE SETUP LABELS SECTION FOR 'SETUP LABELS'. ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! SET PRT1_REQ = 'N' NOTE - SET PRINTER1 FILE SET PRT2_REQ = 'N' NOTE - SET PRINTER2 FILE SET PRT3_REQ = 'N' NOTE - SET PRINTER3 FILE SET WTO1_REQ = 000 NOTE - SET WTO ROUTE CODE SET WTO2_REQ = 000 NOTE - SET WTO ROUTE CODE 12 SET WTO3_REQ = 000 NOTE - SET WTO ROUTE CODE SET CCI_DEST = ' ' NOTE - SET CCI DESTINATION
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! IF A LABEL IMAGE IS READ - CALL CTSLBLOT TO PRINT THE LABEL IMAGE ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
IF REQUEST = 'L'
CALL CTSLBLOT USING LABEL_RECORD COMM_AREA
GOTO GETTAG
ENDIF
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! IF A VOLUME OR DATA RECORD IS READ AND IT CONTAINS A CARTRIDGE ! ! DENSITY, FORMAT A LABEL IMAGE FOR CARTRIDGES. ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
IF REQUEST = 'V' OR REQUEST = 'D'
IF DEN = '38K' OR DEN = '38KC' 13
SET OUTPUT_LABEL = ' '
SET ROWS = 10
SET COLUMNS = 80
!!!!!!!!!!!!!!!!!! ! FORMAT LINE-1 ! 14 !!!!!!!!!!!!!!!!!!
SET WORK_LINE = ' '
SET CART01_DSN = DSN
SET LINE(/1/) = WORK_LINE
!!!!!!!!!!!!!!!!!! ! FORMAT LINE-4 ! 15 !!!!!!!!!!!!!!!!!!
SET WORK_LINE = ' '
SET CART04_CJOB = CJOB
SET FUNCTION = 'TO_EXTERNAL'
CALL CTSEDATE USING FUNCTION CART04_CDATE CDATE DATE_FMT
SET LINE(/4/) = WORK_LINE
!!!!!!!!!!!!!!!!!! ! FORMAT LINE-5 ! !!!!!!!!!!!!!!!!!!
SET WORK_LINE = ' '
SET FUNCTION = 'TO_EXTERNAL'
CALL CTSEDATE USING FUNCTION CART05_EXPDT EXPDT DATE_FMT
SET LINE(/5/) = WORK_LINE
!!!!!!!!!!!!!!!!!! ! FORMAT LINE-6 ! !!!!!!!!!!!!!!!!!!
SET WORK_LINE = ' '
SET CART06_DEN = DEN
SET CART06_TRTCH = TRTCH
SET CART06_LRECL = LRECL
SET CART06_BLKSIZE = BLKSIZE
SET CART06_RECFM = RECFM
SET LINE(/6/) = WORK_LINE
!!!!!!!!!!!!!!!!!! ! FORMAT LINE-8 ! !!!!!!!!!!!!!!!!!!
SET WORK_LINE = ' '
SET CART08_VOLSER = VOLSER
SET CART08_VOLSEQ = VOLSEQ
SET CART08_LABEL = LABEL_TYPE
SET CART08_LUNIT = LUNIT
SET LINE(/8/) = WORK_LINE
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! CALL CTSLBLOT WITH A LABEL REQUEST TO PRINT THE LABEL IMAGE ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
16
SET REQUEST = 'L'
CALL CTSLBLOT USING OUTPUT_LABEL COMM_AREA
GOTO GETTAG
ENDIF
ENDIF
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! IF ANY OTHER VOLUME OR DATA RECORD IS PROCESSED, ASSUME IT CONTAINS ! ! A REEL DENSITY AND FORMAT A LABEL IMAGE FOR REELS. ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
IF REQUEST = 'V' OR REQUEST = 'D'
SET OUTPUT_LABEL = ' '
SET ROWS = 10
SET COLUMNS = 80
17
!!!!!!!!!!!!!!!!!! ! FORMAT LINE-1 ! !!!!!!!!!!!!!!!!!!
SET WORK_LINE = ' '
SET REEL01_DSN = DSN
SET LINE(/1/) = WORK_LINE
!!!!!!!!!!!!!!!!!! ! FORMAT LINE-3 ! !!!!!!!!!!!!!!!!!!
SET WORK_LINE = ' '
SET REEL03_CJOB = CJOB
SET FUNCTION = 'TO_EXTERNAL'
CALL CTSEDATE USING FUNCTION REEL03_CDATE CDATE DATE_FMT
SET LINE(/3/) = WORK_LINE
!!!!!!!!!!!!!!!!!! ! FORMAT LINE-5 ! !!!!!!!!!!!!!!!!!!
SET WORK_LINE = ' '
SET REEL05_DEN = DEN
SET REEL05_TRTCH = TRTCH
SET REEL05_LRECL = LRECL
SET REEL05_BLKSIZE = BLKSIZE
SET REEL05_RECFM = RECFM
SET FUNCTION = 'TO_EXTERNAL'
CALL CTSEDATE USING FUNCTION REEL05_EXPDT EXPDT DATE_FMT
SET LINE(/5/) = WORK_LINE
!!!!!!!!!!!!!!!!!! ! FORMAT LINE-7 ! !!!!!!!!!!!!!!!!!!
SET WORK_LINE = ' '
SET REEL07_VOLSER = VOLSER
SET REEL07_VOLSEQ = VOLSEQ
SET REEL07_LABEL = LABEL_TYPE
SET REEL07_LUNIT = LUNIT
SET LINE(/7/) = WORK_LINE
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! CALL CTSLBLOT WITH A LABEL REQUEST TO PRINT THE LABEL IMAGE ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
SET REQUEST = 'L'
CALL CTSLBLOT USING OUTPUT_LABEL COMM_AREA
GOTO GETTAG
ENDIF
END
The first part of the code is a comment section showing the output format of labels produced by default. Refer to Label formats for REELS and CARTS for additional information.
The COPY command brings in the CA Earl label and record definitions from members LABELDEF, CTEARLCM and CTEARLCN from CAI.CTAPECPB.
This section of code defines the storage array for the labels. The definition may be larger than the actual storage requirements.
The size for OUTPUT_LABEL is calculated by (rows * columns)+2.
The LINE array should be set to the number of rows used to calculate OUTPUT_LABEL.
DEF OUTPUT_LABEL (X 1282) = ' ' 'OUTPUT' 'LABEL' . . DEF LINE ARRAY 16 = OUTPUT_LABEL 003-082 X
This defines a storage area that can accommodate labels up to 16 rows by 80 columns.
Defines the work lines used to build the label array. For ease in understanding the variable names in this section are defined as ttttnn-ffff where tttt indicates REEL or CART, nn is the two-digit line number within the label and ffff describes the value to be printed.
The variables are defined as sub-strings of WORK_LINE at the positions indicated.
The fourth line of the cartridge label displays the creating job in columns 2-9 and the create date in columns 15-24.
The program allows you to produce setup labels if they are desired. The delivered sample automatically produces 10 setup labels in a CART format. If the REEL format is preferred, the number of setup labels needs to be changed or the setup labels are to be bypassed entirely, modify the default values in this section.
Defines the output routine setup labels only. The values can be changed manually in this member or by SMP using USERMOD TMELBLS.
Note: For more information about the values, see Output Assignments.
This is the code to produce CART setup labels. If you have modified the actual label output and want the setup labels to reflect your changes, you must modify this code also.
The code to produce REEL setup labels. If you have modified the actual label output and want the setup labels to reflect your changes, you must modify this code also.
Logic can be added at this point to select or bypass labels based on input information. For example, TMSLBLPR is producing labels for an audit shared between three CPUs - XE01, XE02, PD03. PD03 is a test machine so no labels are required for those tapes.
IF CPUID='PD03' GOTO GETTAG ENDIF
This bypasses records based on the CPUID field (PD03) in the input record.
Defines the output routine for non-setup labels. The values can be changed manually in this member or by SMP using USERMOD TMELBLS.
Note: For more information about the values, see Output Assignments.
These SET commands determine the actual number of rows and columns to be used and can be modified to site standards. Verify that the data fields defined at 6 are contained within the new label size.
The SET OUTPUT_LABEL statement clears the storage area.
The beginning of the section that moves the data into the work line and stores the completed line into the corresponding element of the array named LINE.
CTSEDATE is the CA Earl date function. The DATE_FMT parameter indicates the date format to be used on your label. The default is defined by the CA 1 parameter DATEFMT in the TMOOPTxx member of hlq.CTAPOPTN. If you want a specific format for the label, use the SET command before the CALL to indicate the format.
SET DATE_FMT = 'mmmdd yyyy'
This example produces a label with a create date in the format AUGDD YYYY.
Set the request indicator to L and print the label image.
Begins the section for REEL tape labels. The logic for this section is the same as 14 through 16 above.
|
Copyright © 2013 CA Technologies.
All rights reserved.
|
|