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