REC

Category:

Program Painter and Specification Editor keyword (see Keywords)

Description:

Define a data structure in the Data Structure Painter format.

Syntax:
-KYWD-  12-*----20---*----30---*----40---*----50---*----60
 REC    datastructure
Parameter:

datastructure

Valid Data Structure Painter construct.

 

Comments:


RED

Category:

Program Painter and Specification Editor keyword (see Keywords)

Compatibility:

Batch environments

Description:

Name and begin the statement block that defines the report; identify the report name, control fields, and report page characteristics.

Syntax:
-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]] [.]
Parameter:

reportname

Report name of the REPORT clause in the File Section

 

Comments:

Example:
-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.

REDEFINES

Category:

Data Structure Painter construct (see Data Structures)

Description:

Code clauses in your data structures to redefine elements.

Syntax:
dataname REDEF[INES]|R PICformat
Parameter:

PICformat

PICTURE format for data name being redefined

 

Comment:

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
Example:

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).

REFERENCE

Category:

Report Writer clause (see Report Writer Structures and the APS User's Guide chapter Creating Reports with Report Writer.)

Compatibility:

Batch environments

Description:

Establish summing capability for a non-printing detail item and sum the item in a control footing.

Syntax:
R[EFERENCE] [IS] dataname PIC[TURE] [IS] picclause
    [DATA-NAME [IS] fieldname]
Parameters:

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.

 

Comments:

Example:
               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

REM

Category:

Program Painter and Specification Editor keyword (see Keywords)

Compatibility:

Supported for COBOL only, not COBOL/2

Description:

Create Identification Division Comments: text.

Syntax:
-KYWD-  12-*----20---*----30---*----40---*----50---*----60
 REM    commentline1
    .
    .
    .
        commentlineN

REPEAT

Category:

S-COBOL structure (see S-COBOL Structures)

Description:

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.

Syntax:

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   ]
Parameters:

arithmeticexpression

A legal arithmetic relation-condition

indexexpression

Format can be:

literal
Identifier
+|- literal
indexname

identifier2

Names a table entry, such as a data name with an OCCURS clause

 

Logic Execution:

Comments:

Examples:

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 Mock-Ups

Category:

Report layout associated with Report Writer program

Description:

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:

Mock-Up Rules:

Example:


Report Sample Program and Mock-Up

Category:

Report Writer program and Report Painter mock-up

Description:

Illustrate Report Writer structures and the use of iterative expressions.

Report Mock-Up:
====================================================================================================================================
                                                            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!                                                      
====================================================================================================================================
 
Program Painter Source:
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
 
Generated Source:
%   &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 

Report Writer Structures

Description:

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.

List of Structures:

IO and FD

Name the input and output files.

RED

Add a Report Section to your program.

CODE

Specify a 2-character literal that identifies each print line with a specific report.

CONTROL

Identify data items that cause control breaks.

WRITE ROUTINE

Override a standard COBOL WRITE statement and execute your own routine.

PAGE LIMIT

Define the report format, such as the number of lines per page and where report lines appear on the page.

MOCK

Identify the report mock-up.

01 and TYPE

Describe function, format, and characteristics of each report line.

MOCKUP LINES

Map the report mock-up lines to the lines on the printed report.

OVERPRINT

Highlight or underscore the lines identified in the MOCKUP LINES clause.

SOURCE

Map the report mock-up fields to the output fields on the printed report.

VALUE (Report Writer)

Designate a literal value to print for the field each time the line prints.

REFERENCE

Identify a non-printing data field for summing in a control break.

SUM

Establish a sum accumulator for a corresponding SOURCE or REFERENCE data field, and print the total in a control break.

INITIATE

Generate multiple SOURCE and SUM statements for suffixed data items or array elements with minimal coding.

GENERATE

Open report files and initialize page, line, and sum counters and accumulators.

USE BEFORE REPORTING

Generate and print all the report lines.

TERMINATE

Specify additional processing for a report group prior to printing.

 

Syntax Rules:

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
      .

Reports, Application-Generated

Description:

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:

List of Reports:

Report
Available In

Application Definition (AP01) lists and describes all components of an application except the scenario prototype.

Painter Menu
Application Painter
Report Generator

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
Application Painter
Report Generator

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
Application Painter
Report Generator

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
Application Painter
Report Generator

Scenario Definition (CN01) describes components created in the Scenario Prototype Painter.

Painter Menu
Application Painter
Report Generator

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
Application Painter
Report Generator

 

See these individual report descriptions for details about the content and format of the information provided.


Reserved Words

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]

 


RESET-PFKEY

Category:

Data communication call (see Data Communication Calls)

Compatibility:

CICS, IMS DC, ISPF Dialog, and ISPF Prototyping targets

Description:

Simulate screen invocation.

Syntax:
[TP-]RESET-PFKEY keyvalue
Parameters:

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

PRINT

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

Comment:
ISPF Dialog

To use this call, set the PF Key Option field to P on the ISPF Panel Options screen.

Example:

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.