07 SF-BYTE OCCURS 50 TIMES PIC X. 05 DE-EDITED-DATA. 07 DE-BYTE OCCURS 50 TIMES PIC X. 05 DE-EDITED-VALUE PIC 9(18). 05 FILLER REDEFINES DE-EDITED-VALUE. 07 DV-BYTE OCCURS 18 TIMES PIC X. 05 FILLER REDEFINES DE-EDITED-VALUE. 07 DISPL-SQL-CODE. 09 DISPL-SQLCODE PIC 999-. 07 FILLER PIC X(14). 05 PATTERN-ERROR PIC X. 05 INSP-TEST PIC X. 05 INSP-LINE. 07 INSP-CHAR OCCURS 80 TIMES PIC X. 05 TRANSFORM-SW PIC X. 88 TRANSFORM-ON VALUE 'Y'. 88 TRANSFORM-OFF VALUE 'N' ' '. ```** Above are miscellaneous subscripts and work areas used in the standard logic for Normalizing the key, for supporting (cont.) the SCN and FND Functions, and for other utilitarian routines throughout the MMP. The MMP-NEW-TRANSACTION indicator and (cont.) work fields for the Pattern editing logic are also here. | ``` ** *************************************************** * THE FOLLOWING IS THE DETAIL LINE FOR THE * * SCREEN BODY. IT IS EQUIVALENT TO A PRINT * * LINE 160 CHARACTERS LONG. * * * * * * * * * * * * * * * * * * * * * * * * * * * 05 WS-ITEM PIC X(168). 05 WS-ITEM--R REDEFINES WS-ITEM. 07 WS-SEMPNUM PIC X(0011). 07 WS-FILL-01 PIC X(0001). 07 WS-SFIRST PIC X(0015). 07 WS-FILL-02 PIC X(0001). 07 WS-SLAST-N PIC X(0025). 07 WS-FILL-03 PIC X(0001). 07 WS-SDATE-H-MM PIC X(0002). 07 WS-SDATE-H-SLASH-1 PIC X(0001). 07 WS-SDATE-H-DD PIC X(0002). 07 WS-SDATE-H-SLASH-2 PIC X(0001). 07 WS-SDATE-H-YY PIC X(0002). 07 WS-FILL-04 PIC X(0002). 07 WS-SEARNED PIC ZZ,ZZZ.99-. 07 WS-FILL-05 PIC X(0007). 07 WS-FILL-06 PIC X(0001). 07 WS-FILL-07 PIC X(0001). 07 WS-FILL-08 PIC X(0001). 07 WS-FILL-09 PIC X(0001). ```** The above WS-ITEM area was generated to display the fields which were selected to appear on the Browse (Locate) screen. (cont.) The names generated into this area were made up by MMPCREAT by adding the WS- prefix to the names given for the screen (cont.) fields when the Developer painted the screen using MSKDEF. The fields which appear in the WS-ITEM detail "print line" are the ones which will be shown on the LOC, SCN, and FND (cont.) functions. They are designated by a non-zero "locate position". The locate position is the last specification at the (cont.) bottom right corner of the window when you select a screen field (in MSKDEF) by pointing to it with the cursor and (cont.) pressing PF18. It appears with the descriptor: LOC. | ``` ** 05 MSK-DOT-LINE. 07 MSK-DOT OCCURS 80 TIMES PIC X. 05 FILLER REDEFINES MSK-DOT-LINE. 07 MSK-DOT-LINE79 PIC X(79). 07 FILLER PIC X. 05 TEST-DOT-LINE. 07 TEST-DOT OCCURS 80 TIMES PIC X. 05 SEARCH-ARG. 07 SARG-CHAR OCCURS 66 TIMES PIC X. 05 FILLER REDEFINES SEARCH-ARG. 07 SARG-1 PIC X. 07 SARG-2-66 PIC X(65). 05 SARG-A. 07 SARGA-CHAR OCCURS 66 TIMES PIC X. 05 SARG-B. 07 SARGB-CHAR OCCURS 66 TIMES PIC X. 05 SARG-SWITCHES. 07 SARGA-SWITCH PIC X. 07 SARGB-SWITCH PIC X. 05 SARG-CONNECTOR PIC X(3). 88 SINGLE-ARGUMENT VALUE SPACE. 88 OR-CONNECTION VALUE 'OR '. 88 AND-CONNECTION VALUE 'AND'. 88 NOR-CONNECTION VALUE 'NOR'. 88 NOT-CONNECTION VALUE 'NOT'. 88 XOR-CONNECTION VALUE 'XOR'. 88 VALID-CONNECTOR VALUE SPACE 'OR ' 'AND' 'NOR' 'NOT' 'XOR'. 05 FILLER REDEFINES SARG-CONNECTOR. 07 SC-CHAR OCCURS 3 TIMES PIC X. ```** Above are more work fields used in the SCN and FND Functions. | ``` ** 05 LOC-ACCUMS. 07 LOC-ACCUM-1 PIC S9(11)V9(7) COMP-3. 07 LOC-ACCUM-2 PIC S9(11)V9(7) COMP-3. 07 LOC-ACCUM-3 PIC S9(11)V9(7) COMP-3. 07 LOC-ACCUM-4 PIC S9(11)V9(7) COMP-3. 07 LOC-ACCUM-5 PIC S9(11)V9(7) COMP-3. 07 LOC-ACCUM-6 PIC S9(11)V9(7) COMP-3. 07 LOC-ACCUM-7 PIC S9(11)V9(7) COMP-3. 07 LOC-ACCUM-8 PIC S9(11)V9(7) COMP-3. 07 LOC-ACCUM-9 PIC S9(11)V9(7) COMP-3. 05 FILLER REDEFINES LOC-ACCUMS. 07 LOC-ACCUM OCCURS 9 TIMES PIC S9(11)V9(7) COMP-3. 05 LOC-HDGS. 07 LOC-HDG OCCURS 9 TIMES PIC X(25). 05 HARDCOPY-TOT-LINE. 07 HTL-TOT-LIT PIC X(6). 07 HTL-HDG PIC X(28). 07 HTL-ACCUM PIC ZZ,ZZZ,ZZZ,ZZZ.9999999-. 07 FILLER REDEFINES HTL-ACCUM. 09 FILLER PIC X(14). 09 HTL-DECIMAL PIC X. 09 HTL-HUNDREDTHS PIC XX. 09 HTL-THOUSANDTHS PIC X(6). * * * * * VARIABLE STORAGE FIELDS FOR POP-UP FUNCTION * * * * * 05 CUSTOM-ALGORITHM-LITERALS. 10 SCREEN-CONSTANT-WORK. 15 FILLER OCCURS 10 TIMES. 20 SCW-SBA PIC X. 20 SCW-POSN PIC S9(4) COMP. 20 SCW-SF PIC X. 20 SCW-AT PIC X. * * *THE ABOVE IS A DEFINITION FOR THE SCREEN-CONSTANTS * * *AREA OF THE MASK - THE STOPPER FIELDS 10 SCREEN-EDIT-WORK. 15 FILLER PIC X(62). 15 FILLER OCCURS 10 TIMES. 20 SEW-LGTH PIC X. 20 SEW-POSN PIC S9(4) COMP. 20 SEW-FILLER PIC X(3). 15 END-SEW PIC X(15). * * *THE ABOVE IS A DEFINITION FOR THE EDIT-WORDS * * *AREA OF THE MASK 05 SLINE-WORK. 10 SLW-BYTE OCCURS 78 TIMES PIC X. 05 FILLER REDEFINES SLINE-WORK. 10 FILLER PIC X. 10 SLINE-WORK-2-78 PIC X(77). 05 FILLER REDEFINES SLINE-WORK. 10 VS-ATT-SCOMPL-SV PIC X(40). 10 FILLER PIC X(38). 05 VS-ATT-NAME. 10 VS-ATT-NAME-1 PIC X(01). 88 UNPROTECTED-ATTRIBUTE VALUE 'U' . 10 FILLER PIC X(04). 10 VS-ATT-NAME-2 PIC X(01). 88 MDT-ON VALUE 'M'. 05 VS-ATTR-UNPROTECTED-TABLE. 10 VS-ATTR-TABLE OCCURS 48 TIMES. 15 VS-ATTR-BYTE PIC X(05). 05 VS-ATT-SERRMSG-SV REDEFINES VS-ATTR-UNPROTECTED-TABLE PIC X(240). * * *THE ABOVE IS A DEFINITION FOR THE ATTRIBUTES * * *AREA OF THE MASK 05 MSK-DTL-WORK. 10 MSK-SBA1 PIC X(01). 10 MSK-DISP-NUM PIC 9(04) COMP. 10 MSK-DISP REDEFINES MSK-DISP-NUM. 15 MSK-DISP1 PIC X(01). 15 MSK-DISP2 PIC X(01). 10 MSK-SBAS PIC X(01). 10 MSK-FIELD-ATT PIC X(01). 05 VS-SL-SOURCE-SW PIC X. 88 SHORT-LIST-AVAIL VALUE 'Y'. * * * DEFAULT ALGORITHM %LOCVARS STARTS HERE * * * NO STANDARD DEFAULT CODE FOR THIS INSERTION POINT * * * * * * DEFAULT ALGORITHM %LOCVARS ENDS HERE * * * DEFAULT ALGORITHM %VARSTOR STARTS HERE * * * NO STANDARD DEFAULT CODE FOR THIS INSERTION POINT * * * * * * DEFAULT ALGORITHM %VARSTOR ENDS HERE ```** The above work fields are for the browses when they are routed to hardcopy as a result of the Operator's having pressed (cont.) PF13 (or Shift-F3). They are accumulators and total lines. There are also work fields used by the pop-up Short-List (cont.) feature. Also, here is another insertion point for you. The %VARSTOR insertion point is provided so that you can add your own (cont.) work fields to VARIABLE-STORAGE. The %LOCVARS is supported only for compatibility with older releases, you should use (cont.) %VARSTOR. Your work fields should begin with a Cobol 05 level in order to become part of the 03 VARIABLE-STORAGE area. (cont.) If you code a Cobol 03 level here then your work fields will not be automatically initialized to LOW-VALUES and you (cont.) will have to be sure to do whatever initialization is necessary in the BA100 routine. Sometimes you might want to place data definitions for database Elements here and read into them using MAGECIO. | ``` ** 03 BUS-RULE-WORK-AREA. 04 FILLER PIC X. * * * DATA RULE VAC01 RULWORK STARTS HERE * * * IFUNIQUE MAGECINC SIF01-C ALREADY INCLUDED IN PGM * * * DATA RULE VAC01 RULWORK ENDS HERE ```** The above area is where the Business Rule code for RULWORK is inserted. It is used to define data areas needed by the (cont.) logic in the Business Rule. In this example the -IFUNIQUE option was used - since the copybook SIF01-C is already (cont.) Next: https://magec.com/DOC/markdown/genmmp05.md.txt