00001 IDENTIFICATION DIVISION. 11/11/02 00002 PROGRAM-ID. DTSCS20. DTSCS20 00003 AUTHOR. TRICOASTAL CONSULTING LTD. LV004 00004 DATE-WRITTEN. NOVEMBER 1991. DTSCS20 00005 DATE-COMPILED. DTSCS20 00006 SKIP3 DTSCS20 00007 ***** DTSCS20 00008 * DTSCS20 00009 * FUNCTION: ACCOUNTING DATA ENTRY MENU SCREEN PROCESSOR. DTSCS20 00010 * DTSCS20 00011 * DTSCS20 00012 * MODIFICATION LOG: DTSCS20 00013 * DTSCS20 00014 * 11/06/91 INITIAL DEVELOPMENT. DTSCS20 00015 * WORK ORDER: PROGRAMMER: TCL DTSCS20 00016 * DTSCS20 00017 * 04/11/94 MODIFIED FOR MONTANA. DTSCS20 00018 * WORK ORDER: PROGRAMMER: RHC DTSCS20 00019 * DTSCS20 00020 * 08/13/1998 REVIEWED AND MODIFED FOR DC. DTSCS20 00021 * REFERENCE: DC DEVELOPMENT PROGRAMMER: EHH DTSCS20 00022 * DTSCS20 00023 * 05/22/2002 REVIEWED AND MODIFED FOR SCREEN 27 DTSCS20 00024 * REFERENCE: HOUSEHOLD PROGRAMMER: ZL1 DTSCS20 00025 * DTSCS20 00026 * MM/DD/YYYY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSCS20 00027 * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSCS20 00028 * REFERENCE: XXXXXXXXXXXXXXX PROGRAMMER: XXX DTSCS20 00029 * DTSCS20 00030 * DTSCS20 00031 * DESCRIPTION: DTSCS20 00032 * DTSCS20 00033 * IF SCREEN '20' NOT CURRENTLY DISPLAYED DTSCS20 00034 * SEND SCREEN 20 (WITH PMSG-KEY-OPTION MESSAGE) DTSCS20 00035 * RETURN TO DRIVER. DTSCS20 00036 * DTSCS20 00037 * RECEIVE SCREEN '20'. DTSCS20 00038 * DTSCS20 00039 * IF CLEAR KEY PRESSED DTSCS20 00040 * SEND SCREEN 20 (WITH PMSG-KEY-OPTION MESSAGE) DTSCS20 00041 * SET LCCM-END-TASK-88 TO TRUE DTSCS20 00042 * RETURN TO DRIVER. DTSCS20 00043 * DTSCS20 00044 * IF PA2 KEY PRESSED DTSCS20 00045 * SEND SCREEN 20 (DATA ONLY) DTSCS20 00046 * SET LCCM-END-TASK-88 TO TRUE DTSCS20 00047 * RETURN TO DRIVER. DTSCS20 00048 * DTSCS20 00049 * IF F3 KEY PRESSED DTSCS20 00050 * MOVE WRK-F03-SCR-ID TO LCCM-REQ-SCR-ID DTSCS20 00051 * SET LCCM-LINK-SCREEN-88 TO TRUE DTSCS20 00052 * RETURN TO DRIVER. DTSCS20 00053 * DTSCS20 00054 * IF F4 KEY PRESSED DTSCS20 00055 * MOVE LCCM-PRIOR-SCR-ID TO LCCM-REQ-SCR-ID DTSCS20 00056 * SET LCCM-LINK-SCREEN-88 TO TRUE DTSCS20 00057 * RETURN TO DRIVER. DTSCS20 00058 * DTSCS20 00059 * IF NOT ENTER KEY PRESSED DTSCS20 00060 * BUILD INVALID KEY MESSAGE (VIA LINK TO DTSCU804) DTSCS20 00061 * SEND SCREEN 20 (WITH THE INVALID KEY PRESSED MESSAGE) DTSCS20 00062 * SET LCCM-END-TASK-88 TO TRUE DTSCS20 00063 * RETURN TO DRIVER. DTSCS20 00064 * DTSCS20 00065 * DTSCS20 00066 * IF MAP-OPT = SPACES OR LOW-VALUES OR '20' DTSCS20 00067 * SEND SCREEN 00 (WITH THE PMSG-KEY-OPTION MESSAGE) DTSCS20 00068 * SET LCCM-END-TASK-88 TO TRUE DTSCS20 00069 * RETURN TO DRIVER. DTSCS20 00070 * DTSCS20 00071 * CONVERT MAP-OPT INTO A SCREEN IDENTIFIER, PLACING THE DTSCS20 00072 * RESULT IN LCCM-REQ-SCR-ID. DTSCS20 00073 * DTSCS20 00074 * EDIT LCCM-REQ-SCR-ID FOR VALIDITY (VIA A CALL TO DTSIU803). DTSCS20 00075 * DTSCS20 00076 * IF LCCM-REQ-SCR-ID VALID (LCCM-NO-MSG) DTSCS20 00077 * SET LCCM-LINK-SCREEN-88 TO TRUE DTSCS20 00078 * RETURN TO DRIVER DTSCS20 00079 * ELSE DTSCS20 00080 * SEND SCREEN 20 (WITH ERROR MESSAGE) DTSCS20 00081 * SET LCCM-END-TASK-88 TO TRUE DTSCS20 00082 * RETURN TO DRIVER. DTSCS20 00083 * DTSCS20 00084 * DTSCS20 00085 ***** DTSCS20 00086 SKIP3 DTSCS20 00087 ENVIRONMENT DIVISION. DTSCS20 00088 SKIP3 DTSCS20 00089 DATA DIVISION. DTSCS20 00090 SKIP3 DTSCS20 00091 WORKING-STORAGE SECTION. DTSCS20 000915 77 PAN-VALET PICTURE X(24) VALUE '004DTSCS20 11/11/02'. DTSCS20 00092 SKIP3 DTSCS20 00093 01 WRK-AREA. DTSCS20 00094 05 WRK-ABEND-CD PIC X(04) VALUE 'S20 '. DTSCS20 00095 05 WRK-RESP-CD PIC S9(08) COMP. DTSCS20 00096 DTSCS20 00097 05 WRK-SCR-ID PIC X(02) VALUE '20'. DTSCS20 00098 05 WRK-F03-SCR-ID PIC X(02) VALUE '00'. DTSCS20 00099 DTSCS20 00100 05 RESP-IND PIC X(01). DTSCS20 00101 88 RESP-CURSOR-TO-OPT-88 VALUE 'C'. DTSCS20 00102 88 RESP-MSGONLY-88 VALUE 'M'. DTSCS20 00103 88 RESP-SCREEN-88 VALUE 'S'. DTSCS20 00104 88 RESP-JUMP-88 VALUE 'J'. DTSCS20 00105 DTSCS20 00106 05 CURSOR-IND PIC X(01). DTSCS20 00107 88 CURSOR-SET-88 VALUE 'Y'. DTSCS20 00108 DTSCS20 00109 05 WRK-DATE-AREA. DTSCS20 00110 10 WRK-DATE PIC X(08). DTSCS20 00111 10 FILLER PIC X(01) VALUE '.'. DTSCS20 00112 EJECT DTSCS20 00113 01 L851-COMM-AREA. DTSCS20 00114 ++INCLUDE DTSIL851 DTSCS20 00115 SKIP3 DTSCS20 00116 05 MAP-AREA REDEFINES L851-MAP-AREA. DTSCS20 00117 ++INCLUDE DTSISSM DTSCS20 00118 EJECT DTSCS20 00119 01 L805-COMM-AREA. DTSCS20 00120 ++INCLUDE DTSIL805 DTSCS20 00121 EJECT DTSCS20 00122 01 CATB-LITERALS. DTSCS20 00123 ++INCLUDE DTSICATB DTSCS20 00124 SKIP3 DTSCS20 00125 01 EMSG-LITERALS. DTSCS20 00126 ++INCLUDE DTSICECD DTSCS20 00127 SKIP3 DTSCS20 00128 01 PMSG-LITERALS. DTSCS20 00129 ++INCLUDE DTSICPCD DTSCS20 00130 EJECT DTSCS20 00131 LINKAGE SECTION. DTSCS20 00132 SKIP3 DTSCS20 00133 01 DFHCOMMAREA. DTSCS20 00134 ++INCLUDE DTSILCCM DTSCS20 00135 EJECT DTSCS20 00136 PROCEDURE DIVISION. DTSCS20 00137 SKIP2 DTSCS20 00138 MOVE LOW-VALUES TO MAP-AREA. DTSCS20 00139 DTSCS20 00140 MOVE 'N' TO CURSOR-IND. DTSCS20 00141 SKIP2 DTSCS20 00142 MOVE SPACE TO RESP-IND. DTSCS20 00143 PERFORM P1000-ANALYZE-REQUEST THRU P1000-EXIT. DTSCS20 00144 SKIP2 DTSCS20 00145 IF RESP-MSGONLY-88 DTSCS20 00146 MOVE LOW-VALUES TO MAP-AREA DTSCS20 00147 PERFORM S805-MSG-AREA THRU S805-EXIT DTSCS20 00148 PERFORM S2200-SEND-DATAONLY THRU S2200-EXIT DTSCS20 00149 SET LCCM-END-TASK-88 TO TRUE DTSCS20 00150 ELSE DTSCS20 00151 IF RESP-SCREEN-88 DTSCS20 00152 PERFORM P2000-CONSTRUCT-S-AREA THRU P2000-EXIT DTSCS20 00153 PERFORM S2100-SEND THRU S2100-EXIT DTSCS20 00154 SET LCCM-END-TASK-88 TO TRUE DTSCS20 00155 ELSE DTSCS20 00156 IF RESP-JUMP-88 DTSCS20 00157 SET LCCM-LINK-SCREEN-88 TO TRUE DTSCS20 00158 ELSE DTSCS20 00159 IF RESP-CURSOR-TO-OPT-88 DTSCS20 00160 MOVE LOW-VALUES TO MAP-AREA DTSCS20 00161 MOVE CATB-CURSOR TO MAP-OPT-L DTSCS20 00162 SET CURSOR-SET-88 TO TRUE DTSCS20 00163 PERFORM S2200-SEND-DATAONLY THRU S2200-EXIT DTSCS20 00164 SET LCCM-END-TASK-88 TO TRUE DTSCS20 00165 ELSE DTSCS20 00166 PERFORM S899-ABEND THRU S899-EXIT. DTSCS20 00167 SKIP2 DTSCS20 00168 EXEC CICS DTSCS20 00169 RETURN DTSCS20 00170 END-EXEC. DTSCS20 00171 SKIP2 DTSCS20 00172 GOBACK. DTSCS20 00173 EJECT DTSCS20 00174 P1000-ANALYZE-REQUEST. DTSCS20 00175 IF LCCM-SCR-ID NOT = WRK-SCR-ID DTSCS20 00176 MOVE PMSG-KEY-OPTION TO LCCM-MSG-AREA DTSCS20 00177 SET RESP-SCREEN-88 TO TRUE DTSCS20 00178 GO TO P1000-EXIT. DTSCS20 00179 DTSCS20 00180 PERFORM S1100-RECEIVE THRU S1100-EXIT. DTSCS20 00181 DTSCS20 00182 IF LCCM-CLEAR-88 OR LCCM-F12-88 DTSCS20 00183 MOVE LOW-VALUES TO MAP-AREA DTSCS20 00184 MOVE PMSG-KEY-OPTION TO LCCM-MSG-AREA DTSCS20 00185 SET RESP-SCREEN-88 TO TRUE DTSCS20 00186 GO TO P1000-EXIT. DTSCS20 00187 DTSCS20 00188 IF LCCM-PA2-88 DTSCS20 00189 SET RESP-CURSOR-TO-OPT-88 TO TRUE DTSCS20 00190 GO TO P1000-EXIT. DTSCS20 00191 DTSCS20 00192 IF LCCM-ENTER-88 OR LCCM-F03-88 OR LCCM-F04-88 OR LCCM-F14-88DTSCS20 00193 NEXT SENTENCE DTSCS20 00194 ELSE DTSCS20 00195 PERFORM S804-INVALID-KEY THRU S804-EXIT DTSCS20 00196 SET RESP-MSGONLY-88 TO TRUE DTSCS20 00197 GO TO P1000-EXIT. DTSCS20 00198 DTSCS20 00199 IF LCCM-F03-88 DTSCS20 00200 MOVE WRK-F03-SCR-ID TO LCCM-REQ-SCR-ID DTSCS20 00201 SET RESP-JUMP-88 TO TRUE DTSCS20 00202 GO TO P1000-EXIT. DTSCS20 00203 DTSCS20 00204 IF LCCM-F04-88 DTSCS20 00205 MOVE LCCM-PRIOR-SCR-ID TO LCCM-REQ-SCR-ID DTSCS20 00206 SET RESP-JUMP-88 TO TRUE DTSCS20 00207 GO TO P1000-EXIT. DTSCS20 00208 DTSCS20 00209 IF LCCM-F14-88 DTSCS20 00210 MOVE LCCM-CORR-SCR-ID TO LCCM-REQ-SCR-ID DTSCS20 00211 PERFORM S803-REQ-SCR-ID-EDIT THRU S803-EXIT DTSCS20 00212 IF LCCM-MSG DTSCS20 00213 SET RESP-SCREEN-88 TO TRUE DTSCS20 00214 GO TO P1000-EXIT DTSCS20 00215 ELSE DTSCS20 00216 SET RESP-JUMP-88 TO TRUE DTSCS20 00217 GO TO P1000-EXIT. DTSCS20 00218 DTSCS20 00219 IF MAP-OPT = SPACES OR LOW-VALUES OR WRK-SCR-ID DTSCS20 00220 MOVE PMSG-KEY-OPTION TO LCCM-MSG-AREA DTSCS20 00221 SET RESP-SCREEN-88 TO TRUE DTSCS20 00222 GO TO P1000-EXIT. DTSCS20 00223 DTSCS20 00224 IF MAP-OPT = '1 ' OR ' 1' DTSCS20 00225 MOVE '21' TO LCCM-REQ-SCR-ID DTSCS20 00226 ELSE DTSCS20 00227 IF MAP-OPT = '2 ' OR ' 2' DTSCS20 00228 MOVE '22' TO LCCM-REQ-SCR-ID DTSCS20 00229 ELSE DTSCS20 00230 *****IF MAP-OPT = '3 ' OR ' 3' DTSCS20 00231 *********MOVE '23' TO LCCM-REQ-SCR-ID DTSCS20 00232 *****ELSE DTSCS20 00233 IF MAP-OPT = '4 ' OR ' 4' DTSCS20 00234 MOVE '24' TO LCCM-REQ-SCR-ID DTSCS20 00235 ELSE DTSCS20 00236 IF MAP-OPT = '5 ' OR ' 5' DTSCS20 00237 MOVE '25' TO LCCM-REQ-SCR-ID DTSCS20 00238 ELSE DTSCS20 00239 IF MAP-OPT = '6 ' OR ' 6' DTSCS20 00240 MOVE '26' TO LCCM-REQ-SCR-ID DTSCS20 00241 ELSE DTSCS20 00242 IF MAP-OPT = '7 ' OR ' 7' DTSCS20 00243 MOVE '27' TO LCCM-REQ-SCR-ID DTSCS20 00244 ELSE DTSCS20 00245 MOVE MAP-OPT TO LCCM-REQ-SCR-ID. DTSCS20 00246 DTSCS20 00247 PERFORM S803-REQ-SCR-ID-EDIT THRU S803-EXIT. DTSCS20 00248 IF LCCM-MSG DTSCS20 00249 SET RESP-SCREEN-88 TO TRUE DTSCS20 00250 ELSE DTSCS20 00251 SET RESP-JUMP-88 TO TRUE. DTSCS20 00252 P1000-EXIT. DTSCS20 00253 EXIT. DTSCS20 00254 EJECT DTSCS20 00255 P2000-CONSTRUCT-S-AREA. DTSCS20 00256 MOVE LCCM-TASK-START-DISP-DATE TO MAP-SYS-DATE. DTSCS20 00257 MOVE LCCM-TASK-START-DISP-TIME TO MAP-SYS-TIME. DTSCS20 00258 MOVE LCCM-CICS-REGION-NAME TO MAP-CICS-REGION-NAME. DTSCS20 00259 DTSCS20 00260 PERFORM S805-MSG-AREA THRU S805-EXIT. DTSCS20 00261 P2000-EXIT. DTSCS20 00262 EXIT. DTSCS20 00263 EJECT DTSCS20 00264 S803-REQ-SCR-ID-EDIT. DTSCS20 00265 DTSCS20 00266 EXEC CICS DTSCS20 00267 LINK DTSCS20 00268 PROGRAM ('DTSCU803') DTSCS20 00269 COMMAREA (DFHCOMMAREA) DTSCS20 00270 END-EXEC. DTSCS20 00271 DTSCS20 00272 S803-EXIT. DTSCS20 00273 EXIT. DTSCS20 00274 SKIP3 DTSCS20 00275 S804-INVALID-KEY. DTSCS20 00276 DTSCS20 00277 EXEC CICS DTSCS20 00278 LINK DTSCS20 00279 PROGRAM ('DTSCU804') DTSCS20 00280 COMMAREA (DFHCOMMAREA) DTSCS20 00281 END-EXEC. DTSCS20 00282 DTSCS20 00283 S804-EXIT. DTSCS20 00284 EXIT. DTSCS20 00285 SKIP3 DTSCS20 00286 S805-MSG-AREA. DTSCS20 00287 MOVE LCCM-MSG-AREA TO L805-MSG-AREA. DTSCS20 00288 DTSCS20 00289 EXEC CICS DTSCS20 00290 LINK DTSCS20 00291 PROGRAM ('DTSCU805') DTSCS20 00292 COMMAREA (L805-COMM-AREA) DTSCS20 00293 END-EXEC. DTSCS20 00294 DTSCS20 00295 MOVE L805-S-MSG-AREA TO MAP-MSG-AREA. DTSCS20 00296 S805-EXIT. DTSCS20 00297 EXIT. DTSCS20 00298 SKIP3 DTSCS20 00299 S851-SCREEN-PROCESSING. DTSCS20 00300 EXEC CICS DTSCS20 00301 LINK DTSCS20 00302 PROGRAM ('DTSCU851') DTSCS20 00303 COMMAREA (L851-COMM-AREA) DTSCS20 00304 END-EXEC. DTSCS20 00305 S851-EXIT. DTSCS20 00306 EXIT. DTSCS20 00307 SKIP3 DTSCS20 00308 S899-ABEND. DTSCS20 00309 DTSCS20 00310 EXEC CICS DTSCS20 00311 ABEND DTSCS20 00312 ABCODE (WRK-ABEND-CD) DTSCS20 00313 END-EXEC. DTSCS20 00314 DTSCS20 00315 S899-EXIT. DTSCS20 00316 EXIT. DTSCS20 00317 EJECT DTSCS20 00318 S1100-RECEIVE. DTSCS20 00319 SET L851-RECEIVE-88 TO TRUE. DTSCS20 00320 MOVE WRK-SCR-ID TO L851-SCR-ID. DTSCS20 00321 PERFORM S851-SCREEN-PROCESSING THRU S851-EXIT. DTSCS20 00322 MOVE L851-AID TO LCCM-AID. DTSCS20 00323 MOVE L851-CURSOR TO LCCM-CURSOR. DTSCS20 00324 S1100-EXIT. DTSCS20 00325 EXIT. DTSCS20 00326 SKIP3 DTSCS20 00327 S2100-SEND. DTSCS20 00328 SET L851-SEND-88 TO TRUE. DTSCS20 00329 PERFORM S2900-PREPARE-SEND THRU S2900-EXIT. DTSCS20 00330 PERFORM S851-SCREEN-PROCESSING THRU S851-EXIT. DTSCS20 00331 S2100-EXIT. DTSCS20 00332 EXIT. DTSCS20 00333 SKIP3 DTSCS20 00334 S2200-SEND-DATAONLY. DTSCS20 00335 SET L851-SEND-DATAONLY-88 TO TRUE. DTSCS20 00336 PERFORM S2900-PREPARE-SEND THRU S2900-EXIT. DTSCS20 00337 PERFORM S851-SCREEN-PROCESSING THRU S851-EXIT. DTSCS20 00338 S2200-EXIT. DTSCS20 00339 EXIT. DTSCS20 00340 SKIP3 DTSCS20 00341 S2900-PREPARE-SEND. DTSCS20 00342 MOVE WRK-SCR-ID TO L851-SCR-ID DTSCS20 00343 LCCM-SCR-ID. DTSCS20 00344 MOVE LCCM-OP-ALARM-IND TO L851-ALARM-IND. DTSCS20 00345 MOVE LCCM-MSG-TYPE TO L851-MSG-TYPE. DTSCS20 00346 IF CURSOR-SET-88 DTSCS20 00347 NEXT SENTENCE DTSCS20 00348 ELSE DTSCS20 00349 MOVE CATB-CURSOR TO MAP-OPT-L. DTSCS20 00350 S2900-EXIT. DTSCS20 00351 EXIT. DTSCS20