Program Painter and Specification Editor keyword (see Keywords)
Define a data structure in the Data Structure Painter format.
-KYWD- 12-*----20---*----30---*----40---*----50---*----60 REC datastructure
|
datastructure |
Valid Data Structure Painter construct. |
|
FD |
File Section (see FD) |
|
SD |
Sort File Description (see SD) |
|
WS |
Working-Storage Section (see WS) |
|
LK |
Linkage Section (see LK) |
-KYWD- 12-*----20---*----30---*----40---*----50---*----60
REC dataname
COPY copybookname
... REPLACING field1 BY field2
Program Painter and Specification Editor keyword (see Keywords)
Batch environments
Name and begin the statement block that defines the report; identify the report name, control fields, and report page characteristics.
-KYWD- 12-*----20---*----30---*----40---*----50---*----60
RED reportname
[CODE literal]
[CONTROL [IS] [FINAL] dataname |
CONTROLS [ARE] [FINAL] dataname1 ... datanameN ]
[WRITE ROUTINE [IS] paragraphname]
[PAGE LIMIT[S] IS|ARE number LINE[S]
[FIRST DETAIL linenumber]
[LAST DETAIL linenumber]
[FOOTING linenumber]] [.]
|
reportname |
Report name of the REPORT clause in the File Section |
For example:
Input REALLY-LONG-REPORT-NAME
Output RLR-NAME-RECORD
-KYWD- 12-*----20---*----30---*----40---*----50---*----60
RED YEAR-END-SALES-SUMMARY
CONTROLS ARE FINAL
REGION REGION-MGR-FLD OFFICE
PAGE LIMIT IS 58 LINES
FIRST DETAIL 9
HEADING 1
FOOTING 58. Data Structure Painter construct (see Data Structures)
Code clauses in your data structures to redefine elements.
dataname REDEF[INES]|R PICformat
|
PICformat |
PICTURE format for data name being redefined |
When identifing controls in the CONTROL clause, dataname must be an elementary data name. In the following example, B cannot be used as a control variable because it is a group data item. To make B into an elementary data item, use the REDEFINES clause.
WS01 A PIC X(2).
WS01 B.
02 B-1 PIC 9(4).
02 B-2 PIC 9(4).
WS01 B-REDEF REDEFINES B PIC X(8).
.
.
.
RED TEST-REPORT
CONTROLS ARE A B-REDEF
Data Structure Painter format:
-LINE- ------- Data Structure Painter -------- 000001 WRK1-FIELD-8 000002 WRK1-FIELD-9 X4 000003 WRK1-FIELD-10 X(30) 000004 WRK1-FIELD-11 R X34
Generated COBOL code:
01 WRK1-FIELD-8.
05 WRK1-FIELD-9 PIC X(4).
05 WRK1-FIELD-10 PIC X(30).
01 WRK1-FIELD-11 REDEFINES WRK1-FIELD-8
PIC X(34). Report Writer clause (see Report Writer Structures and the APS User's Guide chapter Creating Reports with Report Writer.)
Batch environments
Establish summing capability for a non-printing detail item and sum the item in a control footing.
R[EFERENCE] [IS] dataname PIC[TURE] [IS] picclause
[DATA-NAME [IS] fieldname]
|
dataname |
Data item being referenced |
|
DATA-NAME fieldname |
Name a sum accumulator established by a SUM or REFERENCE clause. Do not define fieldname in Working-Storage. At generation, APS inserts fieldname after the level number in the report group. DATA-NAME moves the value of the internal SUM accumulator to fieldname. Code DATA-NAME when a SUM UPON clause references a DETAIL report group, when the program references a sum accumulator, or when a sum accumulator requires a data name for qualification. |
|
PIC picclause |
Specify the format of dataname. If dataname is a report mock-up field instead of a Working-Storage field, the next matching COBOL picture in the report mock-up is the picclause for dataname. |
For example:
-KYWD- 12-*----20---*----30---*----40---*----
01 COST-DETAIL TYPE DETAIL
MOCKUP LINE 9
SOURCE WS-DEPT
SOURCE WS-EMPLOYEE
SOURCE WS-CITY
REFERENCE EMP-CTR PIC 999
01 TYPE CONTROL FOOTING
MOCKUP LINE 9
SOURCE WS-DEPT
SUM EMP-CTR
WS01 EMP-CTR PIC 999 VALUE 1.
If one of the PIC clauses were PIC 9(3), Report Writer would not find a match.
LAST COUNT QUANTITY QUANTITY QUANTITY
LOCATION DATE IN STOCK ISSUED RECEIVED
XXXXXXXXXXXX 99/99/99 ZZZ,ZZ9 ZZZ,ZZ9 ZZZ,ZZ9
------- ------- --------
TOTAL BY LOCATION: Z,ZZZ,ZZ9 Z,ZZZ,ZZ9 Z,ZZZ,ZZ9
TOTAL NUMBER OF SALES BY LOCATION: ZZZ,ZZ9
-KYWD- 12-*----20---*----30---*----40---*----50---*----60
01 DETAIL-LINE TYPE IS DETAIL.
MOCKUP LINE 16
SOURCE WS-LOCATION-CODE GROUP INDICATE
SOURCE WS-LAST-COUNT-MONTH PIC 99
SOURCE WS-LAST-COUNT-DAY PIC 99
SOURCE WS-LAST-COUNT-YEAR PIC 99
SOURCE WS-QTY-IN-STOCK
SOURCE WS-QTY-ISSUED
SOURCE WS-QTY-RECEIVED
REFERENCE WS-NO-OF-SALES PIC 9999
01 TYPE IS CONTROL FOOTING WS-LOCATION-CODE
MOCKUP LINES 17 THRU 20
SUM WS-NO-OF-SALES PIC ZZZ9 Program Painter and Specification Editor keyword (see Keywords)
Supported for COBOL only, not COBOL/2
Create Identification Division Comments: text.
-KYWD- 12-*----20---*----30---*----40---*----50---*----60
REM commentline1
.
.
.
commentlineN S-COBOL structure (see S-COBOL Structures)
Establish a loop for testing; use with WHILE or UNTIL statement to test the loop at the middle or at the end. This construction eliminates the need for GO TO statements and the multiple tests that are required to form similar loops in COBOL.
Format 1:
REPEAT
statementblock
UNTIL|WHILE condition
[ statementblock ]
Format 2:
REPEAT VARYING|LINKING indexname|identifier1
... [FROM indexexpression]|[arithmeticexpression]
... [BY literal]|[identifier2]
statementblock
UNTIL|WHILE condition
[ statementblock ]
Format 3:
REPEAT VARYING indexname|identifier1 ... [FROM indexexpression][arithmeticexpression1] ... [BY literal]|[identifier2] ... [DOWN] TO|THRU arithmeticexpression2 [ statementblock ]
Format 4:
REPEAT LINKING indexname|identifier1 ... [FROM indexexpression][arithmeticexpression1] ... BY identifier2 ... [DOWN] TO arithmeticexpression2 [ statementblock ]
Format 5:
REPEAT VARYING|LINKING clause1
.
.
.
[... VARYING|LINKING clauseN]
[ statementblock ]
UNTIL|WHILE condition
[ statementblock ]
|
arithmeticexpression |
A legal arithmetic relation-condition |
|
indexexpression |
Format can be: literal |
|
identifier2 |
Names a table entry, such as a data name with an OCCURS clause |
REPEAT
statementblock
UNTIL condition
statementblock3
Be careful using this format for reading records--it can read the last record twice.
REPEAT
statementblock
UNTIL condition
statementblock
statementblock3
Read header records from a file, move the relevant data to a table, and then print the table.
-LINE- -KYWD- 12-*----20---*----30---*----40---*----50---*--- 002010 NTRY 002020 LINE-SUB = 1 002030 PRINT-TABLE = SPACES 002040 OPEN INPUT INPUT-FILE 002050 ... OUTPUT PRINT-FILE 002070 /* BEGIN FIRST LOOP 002080 REPEAT 002090 READ INPUT-FILE 002100 UNTIL AT END ON INPUT-FILE 002110 IF REC-TYPE = 'HDR' 002120 WORK-FIELD = INPUT-DATA 002130 IF WORK-FIELD NOT = SPACES 002140 COLUMN-SUB = 0 002150 /* BEGIN SECOND LOOP 002160 REPEAT 002170 COLUMN-SUB = COLUMN-SUB + 1 002180 PRINT-COL (LINE-SUB, COLUMN-SUB) = 002190 ... WORK-FIELD-CHAR (COLUMN-SUB) 002200 UNTIL COLUMN-SUB = COLUMN-SUB-LIMIT 002210 ... OR WORK-FIELD-CHAR (COLUMN-SUB) = 002211 ... '/' 002220 /* END OF SECOND LOOP 002230 LINE-SUB = LINE-SUB + 1 002240 /* END OF FIRST LOOP 002250 002260 PERFORM WRITE-PRINT-TABLE 002270 CLOSE INPUT-FILE PRINT-FILE 002280 002290 PARA WRITE-PRINT-TABLE 002300 LINE-SUB = 1 002310 WHILE PRINT-LINE (LINE-SUB) NOT = SPACES 002320 ... AND LINE-SUB NOT > LINE-SUB-LIMIT 002330 WRITE PRINT-REC FROM PRINT-LINE (LINE-SUB) 002340 LINE-SUB = LINE-SUB + 1
Perform the same function as the second loop in the preceding example, but use VARYING to set and increment COLUMN-SUB.
12-*----20---*----30---*----40---*----50---*----
IF WORK-FIELD NOT = SPACES
REPEAT VARYING COLUMN-SUB FROM 1 BY 1
PRINT-COL (LINE-SUB, COLUMN-SUB) =
... WORK-FIELD-CHAR (COLUMN-SUB)
UNTIL COLUMN-SUB = COLUMN-SUB-LIMIT
... OR WORK-FIELD-CHAR (COLUMN-SUB) = '/'
LINE-SUB = LINE-SUB + 1
Use REPEAT ... VARYING to move data items in diagonal sequence (upper right to lower left) from a two-dimensional table to a one-dimensional table. Terminate the loop when after DOWN THRU.
12-*----20---*----30---*----40---*----50---*----
REPEAT VARYING ROW-SUB FROM 1 BY 1
... VARYING COLUMN-SUB FROM 5 DOWN THRU 1
X-FIELD (ROW-SUB) =
... TABLE-ELEMENT (ROW-SUB, COLUMN-SUB)
Use II as the pointer, MY-CHAIN for the initial setting, BLOCK-LINK for the linking element in the table, and ZERO to establish when to stop.
-KYWD- 12-*----20---*----30---*----40---*----50---*----60
.
01 BLOCK-STRUCTURE.
02 BLOCK OCCURS 250 TIMES.
03 BLOCK-LINK PIC S9(9) COMP SYNC.
03 BLOCK-DATA PIC X(20).
.
NTRY
REPEAT LINKING II FROM MY-CHAIN
... BY BLOCK-LINK TO ZERO
PERFORM PASS-DATA( BLOCK-DATA (II))
.
PARA PASS-DATA(+PASS-DATA-BLOCK)
.
Generated COBOL code:
MOVE MY-CHAIN TO II.
GO TO G--002.
G--001.
MOVE BLOCK-LINK (II) TO II.
G--002.
IF II NOT = ZERO
MOVE BLOCK-DATA (II) TO PASS-DATA-BLOCK
PERFORM PASS-DATA THRU PASS-DATA--XIT
GO TO G--001.
APS uses SET in the generated code if the subscript is an index; otherwise, APS uses MOVE as shown above.
Report layout associated with Report Writer program
Paint report layouts, called mock-ups, in the Report Painter. Define the mock-up by typing literals and output fields to visually represent the report output. Specify the following COBOL and COBOL/2 output edit masks directly within the report mock-up:
1979 WXYZ EXTRA WIZARD
and the following are pictures beside literals:
#99 Literal is #, PIC is 99. l999 Literal is l, PIC is 999. Section-999 Literal is SECTION, PIC is -999.

Report Writer program and Report Painter mock-up
Illustrate Report Writer structures and the use of iterative expressions.
====================================================================================================================================
EGAS,INC.
XXXX YEAR-END PRODUCT SALES SUMMARY
******************************************************************
PAGEZZZZ9
REGION: XXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
----- 1-ST QUARTER ----- ----- 2-ND QUARTER ----- ----- 3-RD QUARTER ----- ----- 4-TH QUARTER -----
PRODUCT JAN FEB MAR TOTAL APR MAY JUN TOTAL JUL AUG SEP TOTAL OCT NOV DEC TOTAL TOTAL
------------------ ----- ----- ----- ------ ----- ----- ----- ------ ----- ----- ----- ------ ----- ----- ----- ------ --------
SALES OFFICE: XXXXXXXXXXXXXXX
MANAGER: XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXX Z,ZZ9 Z,ZZ9 Z,ZZ9 ZZ,ZZ9 Z,ZZ9 Z,ZZ9 Z,ZZ9 ZZ,ZZ9 Z,ZZ9 Z,ZZ9 Z,ZZ9 ZZ,ZZ9 Z,ZZ9 Z,ZZ9 Z,ZZ9 ZZ,ZZ9 $$$$,$$$
TOTAL FOR: ----- ----- ----- ------ ----- ----- ----- ------ ----- ----- ----- ------ ----- ----- ----- ------ --------
XXXXXXXXXXXXXXXX Z,ZZ9 Z,ZZ9 Z,ZZ9 ZZ,ZZ9 Z,ZZ9 Z,ZZ9 Z,ZZ9 ZZ,ZZ9 Z,ZZ9 Z,ZZ9 Z,ZZ9 ZZ,ZZ9 Z,ZZ9 Z,ZZ9 Z,ZZ9 ZZ,ZZ9 $$$$,$$$
TOTAL FOR: ----- ----- ----- ------ ----- ----- ----- ------ ----- ----- ----- ------ ----- ----- ----- ------ --------
XXXXXXXXX Z,ZZ9 Z,ZZ9 Z,ZZ9 ZZ,ZZ9 Z,ZZ9 Z,ZZ9 Z,ZZ9 ZZ,ZZ9 Z,ZZ9 Z,ZZ9 Z,ZZ9 ZZ,ZZ9 Z,ZZ9 Z,ZZ9 Z,ZZ9 ZZ,ZZ9 $$$$,$$$
----- ----- ----- ------ ----- ----- ----- ------ ----- ----- ----- ------ ----- ----- ----- ------ --------
TOTAL Z,ZZ9 Z,ZZ9 Z,ZZ9 ZZ,ZZ9 Z,ZZ9 Z,ZZ9 Z,ZZ9 ZZ,ZZ9 Z,ZZ9 Z,ZZ9 Z,ZZ9 ZZ,ZZ9 Z,ZZ9 Z,ZZ9 Z,ZZ9 ZZ,ZZ9 $$$$,$$$
EGAS! BUY FROM EGAS!
******************************************************************
EGAS! ANOTHER BANNER YEAR!
====================================================================================================================================
REM READS DATA.EXTRACT AND GENERATES A SUMMARY
REPORT BY REGION, OFFICE AND PRODUCT.
IO EXTRACT-FILE ASSIGN TO UT-S-EXTRACT
IO SALES-SUMMARY-FILE ASSIGN TO UT-S-SUMMREPT
IO DEFINITION-FILE ASSIGN TO UT-S-DEFS
FD EXTRACT-FILE
LABEL RECORDS ARE STANDARD
RECORDING MODE IS F
RECORD CONTAINS 90 CHARACTERS
BLOCK CONTAINS 0 RECORDS.
01 EXTRACT-FILE-RECORD
02 EXT-REGION PIC X(9).
02 EXT-OFFICE PIC X(15).
02 EXT-PRODUCT PIC X(18).
02 EXT-SALES-DOLLARS PIC 9(4) OCCURS 12.
FD SALES-SUMMARY-FILE
LABEL RECORDS ARE STANDARD
RECORDING MODE IS F
RECORD CONTAINS 133 CHARACTERS
BLOCK CONTAINS 0 RECORDS
REPORT IS YEAR-END-SALES-SUMMARY.
FD DEFINITION-FILE
LABEL RECORDS ARE STANDARD
RECORDING MODE IS F
RECORD CONTAINS 38 CHARACTERS
BLOCK CONTAINS 0 RECORDS.
01 DEFINITION-RECORD.
02 DEFINITION-TYPE PIC X(3).
02 DEFINITION-REGION PIC X(29).
02 FILLER PIC X(6).
01 DEFINITION-RECORD-2.
02 FILLER PIC X(3).
02 DEFINITION-OFFICE PIC X(35).
WS01 JJ PIC S9(4) COMP SYNC VALUE ZERO.
WS01 II PIC S9(4) COMP SYNC VALUE ZERO.
WS01 FIRST-FLG PIC X(1) VALUE 'T'.
WS01 REGION-DEFINITIONS.
02 REGION-TABLE OCCURS 4 TIMES INDEXED BY REGION-IDX.
03 REGION-NAME PIC X(9).
03 REGION-MANAGER PIC X(20).
WS01 REGION PIC X(9).
WS01 REGION-MGR.
02 REG-MGR OCCURS 20 TIMES
INDEXED BY REG-MGR-IDX
PIC X(1).
WS01 REG-MGR-MAX PIC S9(4) COMP SYNC VALUE +20.
WS01 REGION-MGR-FIELD.
02 REGION-MGR-X OCCURS 30 TIMES INDEXED BY MGR-IDX
PIC X(1).
WS01 REGION-MGR-FLD REDEFINES REGION-MGR-FIELD
PIC X(30).
WS01 REGION-MGR-MAX PIC S9(4) COMP SYNC VALUE +30.
WS01 MANAGER-WORD PIC X(10) VALUE 'MANAGER: '.
WS01 MANAGER-BY-CHAR REDEFINES MANAGER-WORD.
02 MANAGER-LETTER OCCURS 10 TIMES
INDEXED BY LETTER-IDX
PIC X(1).
WS01 MANAGER-WORD-SIZE PIC S9(4) COMP SYNC VALUE +10.
WS01 OFFICE-DEFINITIONS.
02 OFFICE-TABLE OCCURS 14 TIMES INDEXED BY OFFICE-IDX.
03 OFFICE-NAME PIC X(15).
03 OFFICE-MANAGER PIC X(20).
WS01 OFFICE PIC X(15).
WS01 OFFICE-MGR PIC X(20).
WS01 QTR-1-SALES-DOLLARS PIC 9(5) VALUE ZERO.
WS01 QTR-2-SALES-DOLLARS PIC 9(5) VALUE ZERO.
WS01 QTR-3-SALES-DOLLARS PIC 9(5) VALUE ZERO.
WS01 QTR-4-SALES-DOLLARS PIC 9(5) VALUE ZERO.
WS01 YR-SALES-DOLLARS PIC 9(6) VALUE ZERO.
WS01 CURRENT-DATE-X.
02 CURRENT-YEAR PIC 9(2).
02 FILLER PIC X(4).
WS01 REPORT-YEAR.
02 FILLER PIC 9(2) VALUE 19.
02 REPORT-YEAR-X PIC 9(2).
RED YEAR-END-SALES-SUMMARY
CONTROLS ARE FINAL REGION REGION-MGR-FLD OFFICE
PAGE LIMIT IS 58 LINES
FIRST DETAIL 9
HEADING 1
FOOTING 58.
MOCK SUMMARY
01 RH-YEAR-END-SALES-SUMMARY TYPE IS REPORT HEADING
NEXT GROUP IS NEXT PAGE.
MOCKUP LINES 1 THRU 4
LINE 25
SOURCE REPORT-YEAR PIC X(4).
01 PH-YEAR-END-SALES-SUMMARY TYPE IS PAGE HEADING.
MOCKUP LINES 10 THRU 17
SOURCE PAGE-COUNTER PIC ZZZZ9.
SOURCE REGION PIC X(9).
SOURCE REGION-MGR-FLD PIC X(30).
01 CH-REGION TYPE IS CONTROL HEADING
REGION
NEXT GROUP IS NEXT PAGE.
01 CH-OFFICE TYPE IS CONTROL HEADING
OFFICE.
MOCKUP LINES 18 THRU 20
SOURCE OFFICE PIC X(15).
SOURCE OFFICE-MGR PIC X(20).
01 DE-YEAR-END-SALES-SUMMARY TYPE IS DETAIL.
MOCKUP LINE 21
SOURCE EXT-PRODUCT PIC X(8).
SOURCE EXT-SALES-DOLLARS (#1/3) PIC Z,ZZ9
SOURCE QTR-1-SALES-DOLLARS PIC ZZ,ZZ9
SOURCE EXT-SALES-DOLLARS (#4/6) PIC Z,ZZ9
SOURCE QTR-2-SALES-DOLLARS PIC ZZ,ZZ9
SOURCE EXT-SALES-DOLLARS (#7/9) PIC Z,ZZ9
SOURCE QTR-3-SALES-DOLLARS PIC ZZ,ZZ9
SOURCE EXT-SALES-DOLLARS (#10/12) PIC Z,ZZ9
SOURCE QTR-4-SALES-DOLLARS PIC ZZ,ZZ9
SOURCE YR-SALES-DOLLARS PIC $$$$,$$$
01 PF-YEAR-END-SALES-SUMMARY TYPE IS PAGE FOOTING
NEXT GROUP IS NEXT PAGE.
MOCKUP LINE 32
01 RF-YEAR-END-SALES-SUMMARY TYPE IS REPORT FOOTING.
MOCKUP LINE 38
LINE IS 25
01 CF-FINAL TYPE IS CONTROL FOOTING
FINAL.
MOCKUP LINES 29 THRU 31
SUM EXT-SALES-DOLLARS (#1/3) PIC Z,ZZ9
SUM QTR-1-SALES-DOLLARS PIC ZZ,ZZ9
SUM EXT-SALES-DOLLARS (#4/6) PIC Z,ZZ9
SUM QTR-2-SALES-DOLLARS PIC ZZ,ZZ9
SUM EXT-SALES-DOLLARS (#7/9) PIC Z,ZZ9
SUM QTR-3-SALES-DOLLARS PIC ZZ,ZZ9
SUM EXT-SALES-DOLLARS (#10/12) PIC Z,ZZ9
SUM QTR-4-SALES-DOLLARS PIC ZZ,ZZ9
SUM YR-SALES-DOLLARS PIC $$$$,$$$
01 CF-REGION TYPE IS CONTROL FOOTING
REGION.
MOCKUP LINES 26 THRU 28
SOURCE REGION PIC X(9)
SUM EXT-SALES-DOLLARS (#1/3) PIC Z,ZZ9
SUM QTR-1-SALES-DOLLARS PIC ZZ,ZZ9
SUM EXT-SALES-DOLLARS (#4/6) PIC Z,ZZ9
SUM QTR-2-SALES-DOLLARS PIC ZZ,ZZ9
SUM EXT-SALES-DOLLARS (#7/9) PIC Z,ZZ9
SUM QTR-3-SALES-DOLLARS PIC ZZ,ZZ9
SUM EXT-SALES-DOLLARS (#10/12) PIC Z,ZZ9
SUM QTR-4-SALES-DOLLARS PIC ZZ,ZZ9
SUM YR-SALES-DOLLARS PIC $$$$,$$$
01 CF-OFFICE TYPE IS CONTROL FOOTING
OFFICE.
MOCKUP LINES 23 THRU 25
SOURCE OFFICE PIC X(15)
SUM EXT-SALES-DOLLARS (#1/3) PIC Z,ZZ9
SUM QTR-1-SALES-DOLLARS PIC ZZ,ZZ9
SUM EXT-SALES-DOLLARS (#4/6) PIC Z,ZZ9
SUM QTR-2-SALES-DOLLARS PIC ZZ,ZZ9
SUM EXT-SALES-DOLLARS (#7/9) PIC Z,ZZ9
SUM QTR-3-SALES-DOLLARS PIC ZZ,ZZ9
SUM EXT-SALES-DOLLARS (#10/12) PIC Z,ZZ9
SUM QTR-4-SALES-DOLLARS PIC ZZ,ZZ9
SUM YR-SALES-DOLLARS PIC $$$$,$$$
DPAR SUPPRESS CH-REGION SECTION
USE BEFORE REPORTING CH-REGION
DPAR SUPPRESS CH-REGION-PARA
IF FIRST-FLG = TRUE
SUPPRESS PRINTING
PROC
ACCEPT CURRENT-DATE-X FROM DATE
MOVE CURRENT-YEAR TO REPORT-YEAR-X
PERFORM LOAD-DEFINITIONS
OPEN INPUT EXTRACT-FILE
OPEN OUTPUT SALES-SUMMARY-FILE
INITIATE YEAR-END-SALES-SUMMARY
MOVE ZERO TO PAGE-COUNTER
REPEAT
READ EXTRACT-FILE
UNTIL AT END ON EXTRACT-FILE
IF EXT-OFFICE NOT = OFFICE
PERFORM LOCATE-MANAGERS
ADD EXT-SALES-DOLLARS (1) TO QTR-1-SALES-DOLLARS
ADD EXT-SALES-DOLLARS (2) TO QTR-1-SALES-DOLLARS
ADD EXT-SALES-DOLLARS (3) TO QTR-1-SALES-DOLLARS
ADD EXT-SALES-DOLLARS (4) TO QTR-2-SALES-DOLLARS
ADD EXT-SALES-DOLLARS (5) TO QTR-2-SALES-DOLLARS
ADD EXT-SALES-DOLLARS (6) TO QTR-2-SALES-DOLLARS
ADD EXT-SALES-DOLLARS (7) TO QTR-3-SALES-DOLLARS
ADD EXT-SALES-DOLLARS (8) TO QTR-3-SALES-DOLLARS
ADD EXT-SALES-DOLLARS (9) TO QTR-3-SALES-DOLLARS
ADD EXT-SALES-DOLLARS (10) TO QTR-4-SALES-DOLLARS
ADD EXT-SALES-DOLLARS (11) TO QTR-4-SALES-DOLLARS
ADD EXT-SALES-DOLLARS (12) TO QTR-4-SALES-DOLLARS
REPEAT VARYING II FROM 1 BY 1
UNTIL II > 12
ADD EXT-SALES-DOLLARS (II) TO YR-SALES-DOLLARS
GENERATE DE-YEAR-END-SALES-SUMMARY
MOVE FALSE TO FIRST-FLG
MOVE ZEROES TO QTR-1-SALES-DOLLARS
... QTR-2-SALES-DOLLARS QTR-3-SALES-DOLLARS
... QTR-4-SALES-DOLLARS YR-SALES-DOLLARS
TERMINATE YEAR-END-SALES-SUMMARY
CLOSE EXTRACT-FILE SALES-SUMMARY-FILE
PARA LOAD-DEFINITIONS.
SET REGION-IDX TO 1
SET REGION-IDX DOWN BY 1
SET OFFICE-IDX TO 1
SET OFFICE-IDX DOWN BY 1
OPEN INPUT DEFINITION-FILE
REPEAT
READ DEFINITION-FILE
UNTIL AT END ON DEFINITION-FILE
IF DEFINITION-TYPE = 'REG'
SET REGION-IDX UP BY 1
MOVE DEFINITION-REGION TO REGION-TABLE (REGION-IDX)
ELSE-IF DEFINITION-TYPE = 'OFF'
SET OFFICE-IDX UP BY 1
MOVE DEFINITION-OFFICE TO OFFICE-TABLE (OFFICE-IDX)
CLOSE DEFINITION-FILE
PARA LOCATE-MANAGERS.
SET REGION-IDX TO 1
SEARCH REGION-TABLE
WHEN EXT-REGION = REGION-NAME (REGION-IDX)
MOVE REGION-MANAGER (REGION-IDX) TO REGION-MGR
MOVE SPACES TO REGION-MGR-FLD
SET REG-MGR-IDX TO REG-MGR-MAX
WHILE REG-MGR (REG-MGR-IDX) = SPACE
... AND REG-MGR-IDX > ZERO
SET REG-MGR-IDX DOWN BY 1
SET JJ TO REG-MGR-IDX
COMPUTE II =
... (REGION-MGR-MAX - MANAGER-WORD-SIZE - JJ) / 2
ADD 1 TO II
IF II <= ZERO
MOVE 1 TO II
SET REG-MGR-IDX TO 1
SET LETTER-IDX TO 1
REPEAT VARYING MGR-IDX FROM II BY 1
UNTIL MGR-IDX > REGION-MGR-MAX
IF LETTER-IDX <= MANAGER-WORD-SIZE
MOVE MANAGER-LETTER (LETTER-IDX)
... TO REGION-MGR-X (MGR-IDX)
SET LETTER-IDX UP BY 1
ELSE-IF REG-MGR-IDX <= REG-MGR-MAX
MOVE REG-MGR (REG-MGR-IDX)
... TO REGION-MGR-X (MGR-IDX)
SET REG-MGR-IDX UP BY 1
ELSE
SET MGR-IDX TO REGION-MGR-MAX
DISPLAY 'MANAGER INDEXES OUT OF RANGE: '
... EXTRACT-FILE-RECORD
SET OFFICE-IDX TO 1
SEARCH OFFICE-TABLE
WHEN EXT-OFFICE = OFFICE-NAME (OFFICE-IDX)
MOVE OFFICE-MANAGER (OFFICE-IDX) TO OFFICE-MGR
MOVE EXT-REGION TO REGION
MOVE EXT-OFFICE TO OFFICE
% &AP-GEN-VER = 1719
% &AP-PGM-ID = "SUMMARY"
% &AP-GEN-DC-TARGET = "MVS"
% &AP-GEN-DB-TARGET = "VSAM"
% &AP-PROC-DIV-KYWD-SEEN = 1
% &AP-FILE-CONTROL-SEEN = 1
% &AP-SUBSCHEMA = ""
% &AP-APPLICATION-ID = "GLGAP"
% &AP-GEN-DATE = "861204"
% &AP-GEN-TIME = "17142491"
IDENTIFICATION DIVISION.
PROGRAM-ID. SUMMARY.
AUTHOR. AP-SYSTEM GENERATED.
DATE-WRITTEN. 861204.
DATE-COMPILED. &COMPILETIME.
*
*REMARKS.
* READS DATA.EXTRACT AND GENERATES A SUMMARY
* REPORT BY REGION, OFFICE AND PRODUCT.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. &SYSTEM.
OBJECT-COMPUTER. &SYSTEM.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT EXTRACT-FILE ASSIGN TO UT-S-EXTRACT.
SELECT SALES-SUMMARY-FILE ASSIGN TO UT-S-SUMMREPT.
SELECT DEFINITION-FILE ASSIGN TO UT-S-DEFS.
DATA DIVISION.
FILE SECTION.
FD EXTRACT-FILE
LABEL RECORDS ARE STANDARD
RECORDING MODE IS F
RECORD CONTAINS 90 CHARACTERS
BLOCK CONTAINS 0 RECORDS.
01 EXTRACT-FILE-RECORD
02 EXT-REGION PIC X(9).
02 EXT-OFFICE PIC X(15).
02 EXT-PRODUCT PIC X(18).
02 EXT-SALES-DOLLARS PIC 9(4) OCCURS 12.
FD SALES-SUMMARY-FILE
LABEL RECORDS ARE STANDARD
RECORDING MODE IS F
RECORD CONTAINS 133 CHARACTERS
BLOCK CONTAINS 0 RECORDS
REPORT IS YEAR-END-SALES-SUMMARY.
FD DEFINITION-FILE
LABEL RECORDS ARE STANDARD
RECORDING MODE IS F
RECORD CONTAINS 38 CHARACTERS
BLOCK CONTAINS 0 RECORDS.
01 DEFINITION-RECORD.
02 DEFINITION-TYPE PIC X(3).
02 DEFINITION-REGION PIC X(29).
02 FILLER PIC X(6).
01 DEFINITION-RECORD-2.
02 FILLER PIC X(3).
02 DEFINITION-OFFICE PIC X(35).
WORKING-STORAGE SECTION.
$TP-WS-MARKER
01 JJ PIC S9(4) COMP SYNC VALUE ZERO.
01 II PIC S9(4) COMP SYNC VALUE ZERO.
01 FIRST-FLG PIC X(1) VALUE 'T'.
01 REGION-DEFINITIONS.
02 REGION-TABLE OCCURS 4 TIMES INDEXED BY REGION-IDX.
03 REGION-NAME PIC X(9).
03 REGION-MANAGER PIC X(20).
01 REGION PIC X(9).
01 REGION-MGR.
02 REG-MGR OCCURS 20 TIMES
INDEXED BY REG-MGR-IDX
PIC X(1).
01 REG-MGR-MAX PIC S9(4) COMP SYNC VALUE +20.
01 REGION-MGR-FIELD.
02 REGION-MGR-X OCCURS 30 TIMES INDEXED BY MGR-IDX
PIC X(1).
01 REGION-MGR-FLD REDEFINES REGION-MGR-FIELD
PIC X(30).
01 REGION-MGR-MAX PIC S9(4) COMP SYNC VALUE +30.
01 MANAGER-WORD PIC X(10) VALUE 'MANAGER: '.
01 MANAGER-BY-CHAR REDEFINES MANAGER-WORD.
02 MANAGER-LETTER OCCURS 10 TIMES
INDEXED BY LETTER-IDX
PIC X(1).
1 MANAGER-WORD-SIZE PIC S9(4) COMP SYNC VALUE +10.
01 OFFICE-DEFINITIONS.
02 OFFICE-TABLE OCCURS 14 TIMES INDEXED BY OFFICE-IDX.
03 OFFICE-NAME PIC X(15).
03 OFFICE-MANAGER PIC X(20).
01 OFFICE PIC X(15).
01 OFFICE-MGR PIC X(20).
01 QTR-1-SALES-DOLLARS PIC 9(5) VALUE ZERO.
01 QTR-2-SALES-DOLLARS PIC 9(5) VALUE ZERO.
01 QTR-3-SALES-DOLLARS PIC 9(5) VALUE ZERO.
01 QTR-4-SALES-DOLLARS PIC 9(5) VALUE ZERO.
01 YR-SALES-DOLLARS PIC 9(6) VALUE ZERO.
01 CURRENT-DATE-X.
02 CURRENT-YEAR PIC 9(2).
02 FILLER PIC X(4).
01 REPORT-YEAR.
02 FILLER PIC 9(2) VALUE 19.
02 REPORT-YEAR-X PIC 9(2).
REPORT SECTION.
RED YEAR-END-SALES-SUMMARY
CONTROLS ARE FINAL REGION REGION-MGR-FLD OFFICE
PAGE LIMIT IS 58 LINES
FIRST DETAIL 9
HEADING 1
FOOTING 58.
01 RH-YEAR-END-SALES-SUMMARY TYPE IS REPORT HEADING
NEXT GROUP IS NEXT PAGE.
MOCKUP LINES 1 THRU 4
LINE 25
SOURCE REPORT-YEAR PIC X(4).
01 PH-YEAR-END-SALES-SUMMARY TYPE IS PAGE HEADING.
MOCKUP LINES 10 THRU 17
SOURCE PAGE-COUNTER PIC ZZZZ9.
SOURCE REGION PIC X(9).
SOURCE REGION-MGR-FLD PIC X(30).
01 CH-REGION TYPE IS CONTROL HEADING
REGION
NEXT GROUP IS NEXT PAGE.
01 CH-OFFICE TYPE IS CONTROL HEADING
OFFICE.
MOCKUP LINES 18 THRU 20
SOURCE OFFICE PIC X(15).
SOURCE OFFICE-MGR PIC X(20).
01 DE-YEAR-END-SALES-SUMMARY TYPE IS DETAIL.
MOCKUP LINE 21
SOURCE EXT-PRODUCT PIC X(8).
SOURCE EXT-SALES-DOLLARS (#1/3) PIC Z,ZZ9
SOURCE QTR-1-SALES-DOLLARS PIC ZZ,ZZ9
SOURCE EXT-SALES-DOLLARS (#4/6) PIC Z,ZZ9
SOURCE QTR-2-SALES-DOLLARS PIC ZZ,ZZ9
SOURCE EXT-SALES-DOLLARS (#7/9) PIC Z,ZZ9
SOURCE QTR-3-SALES-DOLLARS PIC ZZ,ZZ9
SOURCE EXT-SALES-DOLLARS (#10/12) PIC Z,ZZ9
SOURCE QTR-4-SALES-DOLLARS PIC ZZ,ZZ9
SOURCE YR-SALES-DOLLARS PIC $$$$,$$$
01 PF-YEAR-END-SALES-SUMMARY TYPE IS PAGE FOOTING
NEXT GROUP IS NEXT PAGE.
MOCKUP LINE 32
01 RF-YEAR-END-SALES-SUMMARY TYPE IS REPORT FOOTING.
MOCKUP LINE 38
LINE IS 25
01 CF-FINAL TYPE IS CONTROL FOOTING
FINAL.
MOCKUP LINES 29 THRU 31
SUM EXT-SALES-DOLLARS (#1/3) PIC Z,ZZ9
SUM QTR-1-SALES-DOLLARS PIC ZZ,ZZ9
SUM EXT-SALES-DOLLARS (#4/6) PIC Z,ZZ9
SUM QTR-2-SALES-DOLLARS PIC ZZ,ZZ9
SUM EXT-SALES-DOLLARS (#7/9) PIC Z,ZZ9
SUM QTR-3-SALES-DOLLARS PIC ZZ,ZZ9
SUM EXT-SALES-DOLLARS (#10/12) PIC Z,ZZ9
SUM QTR-4-SALES-DOLLARS PIC ZZ,ZZ9
SUM YR-SALES-DOLLARS PIC $$$$,$$$
01 CF-REGION TYPE IS CONTROL FOOTING
REGION.
MOCKUP LINES 26 THRU 28
SOURCE REGION PIC X(9)
SUM EXT-SALES-DOLLARS (#1/3) PIC Z,ZZ9
SUM QTR-1-SALES-DOLLARS PIC ZZ,ZZ9
SUM EXT-SALES-DOLLARS (#4/6) PIC Z,ZZ9
SUM QTR-2-SALES-DOLLARS PIC ZZ,ZZ9
SUM EXT-SALES-DOLLARS (#7/9) PIC Z,ZZ9
SUM QTR-3-SALES-DOLLARS PIC ZZ,ZZ9
SUM EXT-SALES-DOLLARS (#10/12) PIC Z,ZZ9
SUM QTR-4-SALES-DOLLARS PIC ZZ,ZZ9
SUM YR-SALES-DOLLARS PIC $$$$,$$$
01 CF-OFFICE TYPE IS CONTROL FOOTING
OFFICE.
MOCKUP LINES 23 THRU 25
SOURCE OFFICE PIC X(15)
SUM EXT-SALES-DOLLARS (#1/3) PIC Z,ZZ9
SUM QTR-1-SALES-DOLLARS PIC ZZ,ZZ9
SUM EXT-SALES-DOLLARS (#4/6) PIC Z,ZZ9
SUM QTR-2-SALES-DOLLARS PIC ZZ,ZZ9
SUM EXT-SALES-DOLLARS (#7/9) PIC Z,ZZ9
SUM QTR-3-SALES-DOLLARS PIC ZZ,ZZ9
SUM EXT-SALES-DOLLARS (#10/12) PIC Z,ZZ9
SUM QTR-4-SALES-DOLLARS PIC ZZ,ZZ9
SUM YR-SALES-DOLLARS PIC $$$$,$$$
PROCEDURE DIVISION.
DECLARATIVES.
SUPPRESS CH-REGION SECTION.
USE BEFORE REPORTING CH-REGION
SUPPRESS CH-REGION-PARA.
IF FIRST-FLG = TRUE
SUPPRESS PRINTING
END DECLARATIVES.
ACCEPT CURRENT-DATE-X FROM DATE
MOVE CURRENT-YEAR TO REPORT-YEAR-X
PERFORM LOAD-DEFINITIONS
OPEN INPUT EXTRACT-FILE
OPEN OUTPUT SALES-SUMMARY-FILE
INITIATE YEAR-END-SALES-SUMMARY
MOVE ZERO TO PAGE-COUNTER
REPEAT
READ EXTRACT-FILE
UNTIL AT END ON EXTRACT-FILE
IF EXT-OFFICE NOT = OFFICE
PERFORM LOCATE-MANAGERS
ADD EXT-SALES-DOLLARS (1) TO QTR-1-SALES-DOLLARS
ADD EXT-SALES-DOLLARS (2) TO QTR-1-SALES-DOLLARS
ADD EXT-SALES-DOLLARS (3) TO QTR-1-SALES-DOLLARS
ADD EXT-SALES-DOLLARS (4) TO QTR-2-SALES-DOLLARS
ADD EXT-SALES-DOLLARS (5) TO QTR-2-SALES-DOLLARS
ADD EXT-SALES-DOLLARS (6) TO QTR-2-SALES-DOLLARS
ADD EXT-SALES-DOLLARS (7) TO QTR-3-SALES-DOLLARS
ADD EXT-SALES-DOLLARS (8) TO QTR-3-SALES-DOLLARS
ADD EXT-SALES-DOLLARS (9) TO QTR-3-SALES-DOLLARS
ADD EXT-SALES-DOLLARS (10) TO QTR-4-SALES-DOLLARS
ADD EXT-SALES-DOLLARS (11) TO QTR-4-SALES-DOLLARS
ADD EXT-SALES-DOLLARS (12) TO QTR-4-SALES-DOLLARS
REPEAT VARYING II FROM 1 BY 1
UNTIL II > 12
ADD EXT-SALES-DOLLARS (II) TO YR-SALES-DOLLARS
GENERATE DE-YEAR-END-SALES-SUMMARY
MOVE FALSE TO FIRST-FLG
MOVE ZEROES TO QTR-1-SALES-DOLLARS
... QTR-2-SALES-DOLLARS QTR-3-SALES-DOLLARS
... QTR-4-SALES-DOLLARS YR-SALES-DOLLARS
TERMINATE YEAR-END-SALES-SUMMARY
CLOSE EXTRACT-FILE SALES-SUMMARY-FILE
LOAD-DEFINITIONS.
SET REGION-IDX TO 1
SET REGION-IDX DOWN BY 1
SET OFFICE-IDX TO 1
SET OFFICE-IDX DOWN BY 1
OPEN INPUT DEFINITION-FILE
REPEAT
READ DEFINITION-FILE
UNTIL AT END ON DEFINITION-FILE
IF DEFINITION-TYPE = 'REG'
SET REGION-IDX UP BY 1
MOVE DEFINITION-REGION TO REGION-TABLE (REGION-IDX)
ELSE-IF DEFINITION-TYPE = 'OFF'
SET OFFICE-IDX UP BY 1
MOVE DEFINITION-OFFICE TO OFFICE-TABLE (OFFICE-IDX)
CLOSE DEFINITION-FILE
LOCATE-MANAGERS.
SET REGION-IDX TO 1
SEARCH REGION-TABLE
WHEN EXT-REGION = REGION-NAME (REGION-IDX)
MOVE REGION-MANAGER (REGION-IDX) TO REGION-MGR
MOVE SPACES TO REGION-MGR-FLD
SET REG-MGR-IDX TO REG-MGR-MAX
WHILE REG-MGR (REG-MGR-IDX) = SPACE
... AND REG-MGR-IDX > ZERO
SET REG-MGR-IDX DOWN BY 1
SET JJ TO REG-MGR-IDX
COMPUTE II =
... (REGION-MGR-MAX - MANAGER-WORD-SIZE - JJ) / 2
ADD 1 TO II
IF II <= ZERO
MOVE 1 TO II
SET REG-MGR-IDX TO 1
SET LETTER-IDX TO 1
REPEAT VARYING MGR-IDX FROM II BY 1
UNTIL MGR-IDX > REGION-MGR-MAX
IF LETTER-IDX <= MANAGER-WORD-SIZE
MOVE MANAGER-LETTER (LETTER-IDX)
... TO REGION-MGR-X (MGR-IDX)
SET LETTER-IDX UP BY 1
ELSE-IF REG-MGR-IDX <= REG-MGR-MAX
MOVE REG-MGR (REG-MGR-IDX)
... TO REGION-MGR-X (MGR-IDX)
SET REG-MGR-IDX UP BY 1
ELSE
SET MGR-IDX TO REGION-MGR-MAX
DISPLAY 'MANAGER INDEXES OUT OF RANGE: '
... EXTRACT-FILE-RECORD
SET OFFICE-IDX TO 1
SEARCH OFFICE-TABLE
WHEN EXT-OFFICE = OFFICE-NAME (OFFICE-IDX)
MOVE OFFICE-MANAGER (OFFICE-IDX) TO OFFICE-MGR
MOVE EXT-REGION TO REGION
MOVE EXT-OFFICE TO OFFICE After you paint your report mock-up in the Report Painter, you must use APS Report Writer structures to code report logic. These structures let you automatically page the report, define headers and footers, calculate field values, test and execute control and page breaks, generate multiple reports, and generate all logic necessary to map fields between reports and databases or files.
Code Report Writer structures in the Program Painter for report programs.
Code Report Writer structures in the Program Painter, associating the structures with keywords, as shown in the sample skeletal Report Writer program below.
-KYWD- 12-*----20---*----30---*----40---*----50
IO Input/Output statements
.
.
FD Input FD clause
.
.
01 Input record description
FD Output FD clause
.
.
01 Output record description
RED reportfilename
CODE clause
CONTROL clause
WRITE ROUTINE clause
PAGE LIMIT nn LINE
FIRST DETAIL linenumber
LAST DETAIL linenumber
FOOTING linenumber.
mock mockupreportname
01 TYPE IS REPORT HEADING /*for report header
MOCKUP LINES clause
OVERPRINT clause
SOURCE clause or VALUE clause
01 TYPE PAGE HEADING /*for page header
MOCKUP LINES clause
SOURCE clause or VALUE clause
01 TYPE CONTROL HEADING /*for control header
MOCKUP LINES clause
SOURCE clause or VALUE clause
01 TYPE DETAIL /*for detail lines
MOCKUP LINES clause
SOURCE clause or VALUE clause
REFERENCE clause
01 TYPE CONTROL FOOTING /*for control break
MOCKUP clause
SOURCE clause or VALUE clause
SUM clause
NTRY
.
INITIATE statement
.
GENERATE statement
.
TERMINATE statement
. APS provides a set of reports that help you understand your application and its various components. Use these reports as you develop an application to determine the status of your work and the tasks left to complete. Some reports help you to troubleshoot problems in an application that you are developing, or to determine the impact of a proposed change. Others help you to verify the results of your work. Once you have fully implemented an application, use the APS reports to document it so that developers who later maintain or enhance the application can easily understand it in detail.
You can produce reports on an entire application, on selected components, or on selected members of components. You can produce reports from the Report Generator, Painter Menu, Application Painter, or Documentation Facility, as follows:
|
Report |
Available
In |
|---|---|
|
Application Definition (AP01) lists and describes all components of an application except the scenario prototype. |
Painter Menu |
|
Component List (MS01) catalogs and totals the components for each painter. |
Documentation Facility |
|
Data Structure Definition (DS01) lists and describes structures that you create in the Data Structure Painter. |
Painter Menu |
|
DDIFILE (DB01) describes the contents of the file that contains information about your database, formatted to APS specifications. |
Documentation Facility |
|
Entity Content (MS02) lists summary information for each application component. |
Documentation Facility |
|
Entity Cross Reference (MD01) cross references and totals application components. |
Documentation Facility |
|
Entity Parts List (EN01) catalogs selected parts of one or more application components. |
Documentation Facility |
|
Entity Search Utility (GS01) lets you create reports on application components that meet the selection criteria that you specify. |
Documentation Facility |
|
Entity Use (EN02) lists components that copy, include, or otherwise use the target component. |
Documentation Facility |
|
Field/Screen Cross Reference (SC02) lists application screens along with their I/O and text fields. |
Documentation Facility |
|
Macro/Program Cross-Reference (MC01) lists macros and the programs that use them. |
Documentation Facility |
|
Mock-Up (RP01) lists and displays report mock-ups as painted in the Report Painter. |
Painter Menu |
|
Program DB/DC (PG02) lists the screens and the subschemas or PSBs used by a program. |
Documentation Facility |
|
Program Definition (PG01) provides a printout of programs created in APS. |
Painter Menu |
|
Scenario Definition (CN01) describes components created in the Scenario Prototype Painter. |
Painter Menu |
|
Screen Hardcopy/Field Attribute (SC01) displays the components of a screen as painted in the Screen Painter as well as field attribute and field edit information. |
Painter Menu |
See these individual report descriptions for details about the content and format of the information provided.
The following words are reserved for APS use.
|
% @ & && -- $ + ++ <+ </ = < << <* /* 01 ACCEPT ACCESS ADD ALTERNATE APPLY $APS APSMACS APSSRC ARE ASSIGN ATTR AUXOUT BASIS BEFORE BIND BLANK BLOCK BYTES CA CALL CANCEL CARDIN CBL CF CH CHANGE CHARACTERS $CIC- CICS CLEAR CLOSE COBMESS COBIIMES CODE CODE-SET COLUMN COMMIT COMP &COMPILETIME COMPUTATIONAL COMPUTE CONNECT CONTAINS CONTINUE CONTROL[S] COPY COPYLIB CPERFORM DATA DATA-NAME $DB- DB-CLOSE DB-ERASE DB-IF DB-MODIFY DB-OBTAIN DB-OPEN DB-ROLLBACK DB-STORE DC $DDI- DDISYMB DE DEBUG DECL DECLARATIVES &DEFINE[D] &DEFVAL DELETE |
DEPENDING DESTINATION DETAIL DISCONNECT DISPLAY DIVIDE DIVISION $DLG- DPAR DS EDIT-FLAGS EJECT ELSE ELSE-IF END END-OBTAIN ENTER ENTRY *EOF* ERASE ERROR ESCAPE EVALUATE EXAMINE EXEC EXHIBIT EXIT FALSE FD FILE FILE-ID FILE-LIMITS FILLER FIND FINISH FIRST FOOTING FRFM GENERATE GET GO GOBACK GROUP HEADING HIGH-VALUE HIGH-VALUES IDM- IF $IM- $IMS- IN &INDEX INDEX[ED] INDICATE INITIATE INPUT INPUT-OUTPUT INSERT INSPECT IO IS JUST JUSTIFIED KEEP LABEL LAST LEADING &LENGTH LIB1[IN] LIB2[IN] LIB3[IN] LIMIT LIMITS LINE[S] LINE-COUNTER LINK LINKAGE LK LOW-VALUE[S] $MACRO- MACRO MAININ $MDB- $MDC- MERGE |
MOCK MOCKUP MODE MODIFY MOD-NAME MOVE MSG-SW MULTIPLY NARROW NOMINAL NOT NOTE NEXT NTRY NUMBER &NUMERIC OBTAIN OBTAIN-BY-KEY OBTAIN-BY-SEARCH OBTAIN-NEXT OBTAIN-PREV OBTAIN-REL OBTAIN-REL-BY-KEY OCCURS OF OMITTED ON OPEN OPT ORGANIZATION OUTPUT OVERPRINT PAGE PAGE-COUNTER PARA &PARSE PASS PASSWORD PERFORM PF PFKEY-VALUE PH PIC PICTURE PLUSPOSTSOUT PRIVIN PROC PROCEDURE PROCESSING QUOTE[S] RDREAD READ READY REC RECEIVE RECORD[S] RECORDING RD RED REDEFINES REFERENCE RELEASE REM RENAMES REPEAT REPORT[S] REPORTING RERUN RESERVE RESET RETURN REWRITE RF RH RIGHT ROLLBACK SAME $SC- SC-CLEAR SCELIB $SCP- $SCR- SCRNLIST SCRSYMB SD |
SPACE[S] SPNM SEARCH SECTION SEEK SELECT SEND SERVICE SET SIGN SKIP1 SKIP2 SKIP3 SORT SOURCE SQL STANDARD START STATUS STOP STORE STRING STUB &SUBSTR SUBTRACT SUM SUPRA SUPPRESS SYBT SYDD SYEN SYFD SYLK SYIO SYM1 SYM2 SYMBOLIC SYNC SYNCHRONIZED SYRP SYSDBOUT SYSIN SYSOUT SYSMSG SYWS TERM TERMINATE TEXT TIMES $TP- TRACE TRAILING TRANCODE-AREA TRANSFORM TRUE TYPE UNSTRING UNTIL UPDATE UPON USAGE USEUSERMACS USERNAME VALUE[S] $VS- $VSAM- WHEN WHILE WITH WORK1 WORK2 WORK3 WORK4 WORK5 WORK6 WORK7 WORK8 WORK9 WORKING-STORAGE WRITE WS XCTL ZERO[S][ES] |
Data communication call (see Data Communication Calls)
CICS, IMS DC, ISPF Dialog, and ISPF Prototyping targets
Simulate screen invocation.
[TP-]RESET-PFKEY keyvalue
Valid keyvalues are the following.
|
Value |
CICS |
IMS DC |
ISPF
Dialog |
ISPF
Prototyping |
|---|---|---|---|---|
|
PF0 |
Y |
Y |
N |
N |
|
PF00 |
Y |
Y |
N |
N |
|
PF01 thru PF24 |
Y |
Y |
Y |
Y |
|
ENTER |
Y |
Y |
Y |
Y |
|
ENTER-KEY |
Y |
Y |
Y |
Y |
|
PA1 |
Y |
N |
N |
N |
|
PA2 |
Y |
N |
N |
N |
|
PA3 |
Y |
N |
N |
N |
|
CLEAR-KEY |
Y |
N |
N |
N |
|
CLEAR |
Y |
N |
N |
N |
|
NO-KEY |
N |
Y |
N |
N |
|
NONE |
N |
Y |
N |
N |
|
PEN |
Y |
N |
N |
N |
|
PFXX |
N |
N |
N |
Y |
|
PFZZ |
N |
N |
N |
Y |
|
TRIG |
Y |
N |
N |
N |
|
OPID |
Y |
N |
N |
N |
|
MSRE |
Y |
N |
N |
N |
|
STRF |
Y |
N |
N |
N |
|
PAGE-DOWN |
N |
N |
N |
N |
|
PAGE-UP |
N |
N |
N |
N |
|
ROLL-UP |
N |
N |
N |
N |
|
ROLL-DOWN |
N |
N |
N |
N |
|
PRINT-KEY |
N |
N |
N |
N |
|
|
N |
N |
N |
N |
|
HELP-KEY |
N |
N |
N |
N |
|
HELP |
N |
N |
N |
N |
|
HOME-KEY |
N |
N |
N |
N |
|
HOME |
N |
N |
N |
N |
To use this call, set the PF Key Option field to P on the ISPF Panel Options screen.
Simulate pressing the ENTER key.
/* Move Commarea key to key field MOVE CA-PASSED-KEY TO SCRN-KEY-FLD /* Move Q to FUNCTION field MOVE 'Q' TO SCRN-FUNCTION-FLD /* Simulate pressing of ENTER key /* with RESET-PFKEY call RESET-PFKEY ENTER /* Perform processing logic TP-PERFORM APS-USER-CODE-PARA
Copyright © 2002 Micro Focus International Limited. All rights reserved.
This document and the proprietary marks and names
used herein are protected by international law.