| 1 | 000100***************************************************************** |
| 2 | 000200* Program: COTRTLIC.CBL * |
| 3 | 000300* Layer: Business logic * |
| 4 | 000400* Function: List Transaction Type for updates and deletes * |
| 5 | 000500* Demonstrates paging with cursors in Db2 * |
| 6 | 000600* and Simple, select, delete and update use cases * |
| 7 | 000700***************************************************************** |
| 8 | 000800* Copyright Amazon.com, Inc. or its affiliates. |
| 9 | 000900* All Rights Reserved. |
| 10 | 001000* |
| 11 | 001100* Licensed under the Apache License, Version 2.0 (the "License"). |
| 12 | 001200* You may not use this file except in compliance with the License. |
| 13 | 001300* You may obtain a copy of the License at |
| 14 | 001400* |
| 15 | 001500* http://www.apache.org/licenses/LICENSE-2.0 |
| 16 | 001600* |
| 17 | 001700* Unless required by applicable law or agreed to in writing, |
| 18 | 001800* software distributed under the License is distributed on an |
| 19 | 001900* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, |
| 20 | 002000* either express or implied. See the License for the specific |
| 21 | 002100* language governing permissions and limitations under the License |
| 22 | 002200****************************************************************** |
| 23 | 002300 |
| 24 | 002400 IDENTIFICATION DIVISION. |
| 25 | 002500 PROGRAM-ID. |
| 26 | 002600 COTRTLIC. |
| 27 | 002700 DATE-WRITTEN. |
| 28 | 002800 Jan 2023. |
| 29 | 002900 DATE-COMPILED. |
| 30 | 003000 Today. |
| 31 | 003100 |
| 32 | 003200 ENVIRONMENT DIVISION. |
| 33 | 003300 INPUT-OUTPUT SECTION. |
| 34 | 003400 |
| 35 | 003500 DATA DIVISION. |
| 36 | 003600 |
| 37 | 003700 WORKING-STORAGE SECTION. |
| 38 | 003800 |
| 39 | 003900****************************************************************** |
| 40 | 004000* Literals and Constants |
| 41 | 004100****************************************************************** |
| 42 | 004200 01 WS-CONSTANTS. |
| 43 | 004300 05 LIT-THISPGM PIC X(8) VALUE 'COTRTLIC'. |
| 44 | 004400 05 LIT-THISTRANID PIC X(4) VALUE 'CTLI'. |
| 45 | 004500 05 LIT-THISMAPSET PIC X(7) VALUE 'COTRTLI'. |
| 46 | 004600 05 LIT-THISMAP PIC X(7) VALUE 'CTRTLIA'. |
| 47 | 004700 05 LIT-ADMINPGM PIC X(8) VALUE 'COADM01C'. |
| 48 | 004800 05 LIT-ADMINTRANID PIC X(4) VALUE 'CA00'. |
| 49 | 004900 05 LIT-ADMINMAPSET PIC X(7) VALUE 'COADM01'. |
| 50 | 005000 05 LIT-ADDTPGM PIC X(8) VALUE 'COTRTUPC'. |
| 51 | 005100 05 LIT-ADDTTRANID PIC X(4) VALUE 'CTTU'. |
| 52 | 005200 05 LIT-ADDTMAPSET PIC X(7) VALUE 'COTRTUP'. |
| 53 | 005300 05 LIT-ADDTMAP PIC X(7) VALUE 'CTRTUPA'. |
| 54 | 005400 05 LIT-DSNTIAC PIC X(7) VALUE 'DSNTIAC'. |
| 55 | 005500 05 LIT-ASTERISK PIC X(7) VALUE '*'. |
| 56 | 005600 05 LIT-TRANTYPE-TABLE PIC X(30) VALUE |
| 57 | 005700 'TRANSACTION_TYPE '. |
| 58 | 005800 05 LIT-DELETE-FLAG PIC X(1) VALUE 'D'. |
| 59 | 005900 05 LIT-UPDATE-FLAG PIC X(1) VALUE 'U'. |
| 60 | 006000 05 WS-MAX-SCREEN-LINES PIC S9(4) COMP VALUE 7. |
| 61 | 006100 |
| 62 | 006200****************************************************************** |
| 63 | 006300* Literals for use in INSPECT statements |
| 64 | 006400****************************************************************** |
| 65 | 006500 05 LIT-ALL-ALPHANUM-FROM-X. |
| 66 | 006600 10 LIT-ALL-ALPHA-FROM-X. |
| 67 | 006700 15 LIT-UPPER PIC X(26) |
| 68 | 006800 VALUE 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'. |
| 69 | 006900 15 LIT-LOWER PIC X(26) |
| 70 | 007000 VALUE 'abcdefghijklmnopqrstuvwxyz'. |
| 71 | 007100 10 LIT-NUMBERS PIC X(10) |
| 72 | 007200 VALUE '0123456789'. |
| 73 | 007300 |
| 74 | 007400****************************************************************** |
| 75 | 007500* Variables for use in INSPECT statements |
| 76 | 007600****************************************************************** |
| 77 | 007700 01 LIT-ALL-ALPHA-FROM PIC X(52) VALUE SPACES. |
| 78 | 007800 01 LIT-ALL-ALPHANUM-FROM PIC X(62) VALUE SPACES. |
| 79 | 007900 01 LIT-ALL-NUM-FROM PIC X(10) VALUE SPACES. |
| 80 | 008000 77 LIT-ALPHA-SPACES-TO PIC X(52) VALUE SPACES. |
| 81 | 008100 77 LIT-ALPHANUM-SPACES-TO PIC X(62) VALUE SPACES. |
| 82 | 008200 77 LIT-NUM-SPACES-TO PIC X(10) VALUE SPACES. |
| 83 | 008300 |
| 84 | 008400 01 WS-MISC-STORAGE. |
| 85 | 008500****************************************************************** |
| 86 | 008600* General CICS related |
| 87 | 008700****************************************************************** |
| 88 | 008800 |
| 89 | 008900 05 WS-CICS-PROCESSNG-VARS. |
| 90 | 009000 07 WS-RESP-CD PIC S9(9) COMP VALUE ZEROS. |
| 91 | 009100 07 WS-REAS-CD PIC S9(9) COMP VALUE ZEROS. |
| 92 | 009200 07 WS-TRANID PIC X(4) VALUE SPACES. |
| 93 | 009300 |
| 94 | 009400 |
| 95 | 009500****************************************************************** |
| 96 | 009600* Input edits |
| 97 | 009700****************************************************************** |
| 98 | 009800 05 WS-INPUT-FLAG PIC X(1). |
| 99 | 009900 88 INPUT-OK VALUES '0' |
| 100 | 010000 ' ' |
| 101 | 010100 LOW-VALUES. |
| 102 | 010200 88 INPUT-ERROR VALUE '1'. |
| 103 | 010300 05 WS-EDIT-TYPE-FLAG PIC X(1). |
| 104 | 010400 88 FLG-TYPEFILTER-NOT-OK VALUE '0'. |
| 105 | 010500 88 FLG-TYPEFILTER-ISVALID VALUE '1'. |
| 106 | 010600 88 FLG-TYPEFILTER-BLANK VALUE ' '. |
| 107 | 010700 05 WS-EDIT-DESC-FLAG PIC X(1). |
| 108 | 010800 88 FLG-DESCFILTER-NOT-OK VALUE '0'. |
| 109 | 010900 88 FLG-DESCFILTER-ISVALID VALUE '1'. |
| 110 | 011000 88 FLG-DESCFILTER-BLANK VALUE ' '. |
| 111 | 011100 05 WS-TYPEFILTER-CHANGED PIC X(1). |
| 112 | 011200 88 FLG-TYPEFILTER-CHANGED-NO VALUE LOW-VALUES. |
| 113 | 011300 88 FLG-TYPEFILTER-CHANGED-YES VALUE 'Y'. |
| 114 | 011400 05 WS-DESCFILTER-CHANGED PIC X(1). |
| 115 | 011500 88 FLG-DESCFILTER-CHANGED-NO VALUE LOW-VALUES. |
| 116 | 011600 88 FLG-DESCFILTER-CHANGED-YES VALUE 'Y'. |
| 117 | 011700 05 WS-ROW-RECORDS-CHANGED PIC X(01) |
| 118 | 011800 OCCURS 7 TIMES. |
| 119 | 011900 88 FLG-ROW-DESCR-CHANGED-NO VALUE LOW-VALUES. |
| 120 | 012000 88 FLG-ROW-DESCR-CHANGED-YES VALUE 'Y'. |
| 121 | 012100 05 WS-DELETE-STATUS PIC X(1). |
| 122 | 012200 88 FLG-DELETED-NO VALUE LOW-VALUES. |
| 123 | 012300 88 FLG-DELETED-YES VALUE 'Y'. |
| 124 | 012400 05 WS-UPDATE-STATUS PIC X(1). |
| 125 | 012500 88 FLG-UPDATED-NO VALUE LOW-VALUES. |
| 126 | 012600 88 FLG-UPDATE-COMPLETED VALUE 'Y'. |
| 127 | 012700 05 WS-ROW-SELECTION-CHANGED PIC X(1). |
| 128 | 012800 88 FLG-ROW-SELECTION-CHANGED-NO VALUE LOW-VALUES. |
| 129 | 012900 88 FLG-ROW-SELECTION-CHANGED-YES VALUE 'Y'. |
| 130 | 013000 05 WS-BAD-SELECTION-ACTION PIC X(1). |
| 131 | 013100 88 FLG-BAD-ACTIONS-SELECTED-NO VALUE LOW-VALUES. |
| 132 | 013200 88 FLG-BAD-ACTIONS-SELECTED-YES VALUE 'Y'. |
| 133 | 013300 05 WS-ARRAY-DESCRIPTION-FLGS PIC X(1). |
| 134 | 013400 88 FLG-ROW-DESCRIPTION-ISVALID VALUE LOW-VALUES |
| 135 | 013500 SPACES. |
| 136 | 013600 88 FLG-ROW-DESCRIPTION-NOT-OK VALUE '0'. |
| 137 | 013700 88 FLG-ROW-DESCRIPTION-BLANK VALUE 'B'. |
| 138 | 013800 05 WS-DATACHANGED-FLAG PIC X(1). |
| 139 | 013900 88 NO-CHANGES-FOUND VALUE '0'. |
| 140 | 014000 88 CHANGES-HAVE-OCCURRED VALUE '1'. |
| 141 | 014100 |
| 142 | 014200* Generic Input Edits |
| 143 | 014300 05 WS-GENERIC-EDITS. |
| 144 | 014400 10 WS-EDIT-VARIABLE-NAME PIC X(25). |
| 145 | 014500 |
| 146 | 014600 10 WS-EDIT-ALPHANUM-ONLY PIC X(256). |
| 147 | 014700 10 WS-EDIT-ALPHANUM-LENGTH PIC S9(4) COMP-3. |
| 148 | 014800 |
| 149 | 014900 10 WS-EDIT-ALPHANUM-ONLY-FLAGS PIC X(1). |
| 150 | 015000 88 FLG-ALPHNANUM-ISVALID VALUE LOW-VALUES. |
| 151 | 015100 88 FLG-ALPHNANUM-NOT-OK VALUE '0'. |
| 152 | 015200 88 FLG-ALPHNANUM-BLANK VALUE 'B'. |
| 153 | 015300 |
| 154 | 015400 05 WS-OTHER-EDIT-VARS. |
| 155 | 015500 10 WS-RECORDS-COUNT PIC S9(4) COMP-3 |
| 156 | 015600 VALUE 0. |
| 157 | 015700 |
| 158 | 015800****************************************************************** |
| 159 | 015900* Input edits array variables |
| 160 | 016000****************************************************************** |
| 161 | 016100****************************************************************** |
| 162 | 016200* Screen Data Array 52 CHARS X 7 ROWS = 364 |
| 163 | 016300****************************************************************** |
| 164 | 016400 |
| 165 | 016500 05 WS-SCREEN-DATA-IN. |
| 166 | 016600 10 WS-ALL-ROWS-IN PIC X(364). |
| 167 | 016700 10 FILLER REDEFINES WS-ALL-ROWS-IN. |
| 168 | 016800 15 WS-SCREEN-ROWS-IN OCCURS 7 TIMES. |
| 169 | 016900 20 WS-EACH-ROW-IN. |
| 170 | 017000 25 WS-EACH-TTYP-IN. |
| 171 | 017100 30 WS-ROW-TR-CODE-IN PIC X(02). |
| 172 | 017200 30 WS-ROW-TR-DESC-IN PIC X(50). |
| 173 | 017300 |
| 174 | 017400 |
| 175 | 017500 05 WS-EDIT-SELECT-COUNTER PIC S9(04) |
| 176 | 017600 USAGE COMP-3 |
| 177 | 017700 VALUE 0. |
| 178 | 017800 05 WS-EDIT-SELECT-FLAGS PIC X(7) |
| 179 | 017900 VALUE LOW-VALUES. |
| 180 | 018000 05 FILLER REDEFINES WS-EDIT-SELECT-FLAGS. |
| 181 | 018100 10 WS-EDIT-SELECT PIC X(1) |
| 182 | 018200 OCCURS 7 TIMES. |
| 183 | 018300 88 SELECT-OK VALUES 'D', 'U'. |
| 184 | 018400 88 DELETE-REQUESTED-ON VALUE 'D'. |
| 185 | 018500 88 UPDATE-REQUESTED-ON VALUE 'U'. |
| 186 | 018600 88 SELECT-BLANK VALUES |
| 187 | 018700 ' ', |
| 188 | 018800 LOW-VALUES. |
| 189 | 018900 |
| 190 | 019000 05 WS-EDIT-SELECT-ERROR-FLAGS PIC X(7) |
| 191 | 019100 VALUE LOW-VALUES. |
| 192 | 019200 05 FILLER REDEFINES WS-EDIT-SELECT-ERROR-FLAGS. |
| 193 | 019300 10 WS-EDIT-SELECT-ERRORS OCCURS 7 TIMES. |
| 194 | 019400 20 WS-ROW-TRTSELECT-ERROR PIC X(1). |
| 195 | 019500 88 WS-ROW-SELECT-ERROR VALUE '1'. |
| 196 | 019600 |
| 197 | 019700 05 WS-SUBSCRIPT-VARS. |
| 198 | 019800 10 I PIC S9(4) COMP |
| 199 | 019900 VALUE 0. |
| 200 | 020000 10 I-SELECTED PIC S9(4) COMP |
| 201 | 020100 VALUE 0. |
| 202 | 020200 05 WS-ACTIONS-SELECTED. |
| 203 | 020300 07 WS-ACTIONS-REQUESTED PIC S9(04) |
| 204 | 020400 USAGE COMP-3 |
| 205 | 020500 VALUE 0. |
| 206 | 020600 88 WS-ONLY-1-ACTION VALUE 1. |
| 207 | 020700 88 WS-MORETHAN1ACTION VALUES 2 THRU 7. |
| 208 | 020800 07 WS-DELETES-REQUESTED PIC S9(04) |
| 209 | 020900 USAGE COMP-3 |
| 210 | 021000 VALUE 0. |
| 211 | 021100 07 WS-UPDATES-REQUESTED PIC S9(04) |
| 212 | 021200 USAGE COMP-3 |
| 213 | 021300 VALUE 0. |
| 214 | 021400 07 WS-NO-ACTIONS-SELECTED PIC S9(04) |
| 215 | 021500 COMP-3 |
| 216 | 021600 VALUE 0. |
| 217 | 021700 05 WS-VALID-ACTIONS-SELECTED PIC S9(04) |
| 218 | 021800 USAGE COMP-3 |
| 219 | 021900 VALUE 0. |
| 220 | 022000 88 WS-ONLY-1-VALID-ACTION VALUE 1. |
| 221 | 022100 |
| 222 | 022200****************************************************************** |
| 223 | 022300* Output edits |
| 224 | 022400****************************************************************** |
| 225 | 022500 05 CICS-OUTPUT-EDIT-VARS. |
| 226 | 022600 10 TRAN-TYPE-CD-X PIC X(02). |
| 227 | 022700 10 TRAN-TYPE-CD-N REDEFINES TRAN-TYPE-CD-X |
| 228 | 022800 PIC 9(02). |
| 229 | 022900 10 FLG-PROTECT-SELECT-ROWS PIC X(1). |
| 230 | 023000 88 FLG-PROTECT-SELECT-ROWS-NO VALUE '0'. |
| 231 | 023100 88 FLG-PROTECT-SELECT-ROWS-YES VALUE '1'. |
| 232 | 023200****************************************************************** |
| 233 | 023300* Output Message Construction |
| 234 | 023400****************************************************************** |
| 235 | 023500 05 WS-LONG-MSG PIC X(800). |
| 236 | 023600 05 WS-INFO-MSG PIC X(45). |
| 237 | 023700 88 WS-NO-INFO-MESSAGE VALUES |
| 238 | 023800 SPACES LOW-VALUES. |
| 239 | 023900 88 WS-INFORM-REC-ACTIONS VALUE |
| 240 | 024000 'Type U to update, D to delete any record'. |
| 241 | 024100 88 WS-INFORM-DELETE VALUE |
| 242 | 024200 'Delete HIGHLIGHTED row ? Press F10 to confirm'. |
| 243 | 024300 88 WS-INFORM-UPDATE VALUE |
| 244 | 024400 'Update HIGHLIGHTED row. Press F10 to save'. |
| 245 | 024500 88 WS-INFORM-DELETE-SUCCESS VALUE |
| 246 | 024600 'HIGHLIGHTED row deleted.Hit Enter to continue'. |
| 247 | 024700 88 WS-INFORM-UPDATE-SUCCESS VALUE |
| 248 | 024800 'HIGHLIGHTED row was updated'. |
| 249 | 024900 05 WS-RETURN-MSG PIC X(75). |
| 250 | 025000 88 WS-RETURN-MSG-OFF VALUE SPACES. |
| 251 | 025100 88 WS-EXIT-MESSAGE VALUE |
| 252 | 025200 'PF03 pressed. Exiting'. |
| 253 | 025300 88 WS-MESG-NO-RECORDS-FOUND VALUE |
| 254 | 025400 'No records found for this search condition.'. |
| 255 | 025500 88 WS-MESG-NO-MORE-RECORDS VALUE |
| 256 | 025600 'No more pages for these search conditions'. |
| 257 | 025700 88 WS-MESG-MORE-THAN-1-ACTION VALUE |
| 258 | 025800 'Please select only 1 action'. |
| 259 | 025900 88 WS-MESG-INVALID-ACTION-CODE VALUE |
| 260 | 026000 'Action code selected is invalid'. |
| 261 | 026100 88 WS-MESG-NO-CHANGES-DETECTED VALUE |
| 262 | 026200 'No change detected with respect to database values.'. |
| 263 | 026300 05 WS-PFK-FLAG PIC X(1). |
| 264 | 026400 88 PFK-VALID VALUE '0'. |
| 265 | 026500 88 PFK-INVALID VALUE '1'. |
| 266 | 026600 05 WS-STRING-FORMAT-VARS. |
| 267 | 026700 10 WS-STRING-MID PIC 9(3) VALUE 0. |
| 268 | 026800 10 WS-STRING-LEN PIC 9(3) VALUE 0. |
| 269 | 026900 10 WS-STRING-OUT PIC X(45). |
| 270 | 027000 |
| 271 | 027100****************************************************************** |
| 272 | 027200* Data Handling |
| 273 | 027300****************************************************************** |
| 274 | 027400 05 WS-DATA-FILTERS. |
| 275 | 027500 10 WS-START-KEY PIC X(02). |
| 276 | 027600 10 WS-TYPE-CD-FILTER PIC X(02) |
| 277 | 027700 VALUE SPACES. |
| 278 | 027800 10 WS-TYPE-DESC-FILTER PIC X(52). |
| 279 | 027900 10 WS-TYPE-CD-DELETE-FILTER. |
| 280 | 028000 15 FILLER PIC X(01) |
| 281 | 028100 VALUE '('. |
| 282 | 028200 15 WS-TYPE-CD-DELETE-FILTER-X. |
| 283 | 028300 20 WS-TYPE-CD-DELETE-KEYS OCCURS 7 TIMES. |
| 284 | 028400 25 FILLER PIC X(01) |
| 285 | 028500 VALUE QUOTE. |
| 286 | 028600 25 WS-TYPE-CD-DELETE-KEY PIC X(02) |
| 287 | 028700 VALUE SPACES. |
| 288 | 028800 25 FILLER PIC X(01) |
| 289 | 028900 VALUE QUOTE. |
| 290 | 029000 25 FILLER PIC X(01) |
| 291 | 029100 VALUE ','. |
| 292 | 029200 20 WS-DUMMY. |
| 293 | 029300 25 FILLER PIC X(01) |
| 294 | 029400 VALUE QUOTE. |
| 295 | 029500 25 FILLER PIC X(01) |
| 296 | 029600 VALUE SPACE. |
| 297 | 029700 25 FILLER PIC X(01) |
| 298 | 029800 VALUE QUOTE. |
| 299 | 029900 |
| 300 | 030000 15 FILLER PIC X(1) |
| 301 | 030100 VALUE ')'. |
| 302 | 030200 |
| 303 | 030300 |
| 304 | 030400 EXEC SQL INCLUDE CSDB2RWY END-EXEC |
| 305 | 030500 |
| 306 | 030600****************************************************************** |
| 307 | 030700* Screen Edit Vars |
| 308 | 030800****************************************************************** |
| 309 | 030900 05 WS-SCREEN-EDIT-VARS. |
| 310 | 031000 10 WS-IN-TYPE-CD PIC X(02) |
| 311 | 031100 VALUE SPACES. |
| 312 | 031200 10 WS-IN-TYPE-CD-N REDEFINES WS-IN-TYPE-CD PIC 9(02). |
| 313 | 031300 10 WS-IN-TYPE-DESC PIC X(50). |
| 314 | 031400 |
| 315 | 031500****************************************************************** |
| 316 | 031600* Screen Array Vars |
| 317 | 031700****************************************************************** |
| 318 | 031800 05 WS-ROW-NUMBER PIC S9(4) COMP VALUE 0. |
| 319 | 031900 |
| 320 | 032000 05 WS-RECORDS-TO-PROCESS-FLAG PIC X(1). |
| 321 | 032100 88 READ-LOOP-EXIT VALUE '0'. |
| 322 | 032200 88 MORE-RECORDS-TO-READ VALUE '1'. |
| 323 | 032300 |
| 324 | 032400****************************************************************** |
| 325 | 032500*Other common working storage Variables |
| 326 | 032600****************************************************************** |
| 327 | 032700 COPY CVCRD01Y. |
| 328 | 032800****************************************************************** |
| 329 | 032900* Relational Database stuff |
| 330 | 033000****************************************************************** |
| 331 | 033100 EXEC SQL INCLUDE SQLCA END-EXEC |
| 332 | 033200 |
| 333 | 033300 EXEC SQL INCLUDE DCLTRTYP END-EXEC |
| 334 | 033400 |
| 335 | 033500****************************************************************** |
| 336 | 033600*Cursor Declarations |
| 337 | 033700****************************************************************** |
| 338 | 033800 EXEC SQL |
| 339 | 033900 DECLARE C-TR-TYPE-FORWARD CURSOR FOR |
| 340 | 034000 SELECT TR_TYPE |
| 341 | 034100 ,TR_DESCRIPTION |
| 342 | 034200 FROM CARDDEMO.TRANSACTION_TYPE |
| 343 | 034300 WHERE TR_TYPE >= :WS-START-KEY |
| 344 | 034400 AND ((:WS-EDIT-TYPE-FLAG = '1' |
| 345 | 034500 AND TR_TYPE = :WS-TYPE-CD-FILTER) |
| 346 | 034600 OR (:WS-EDIT-TYPE-FLAG <> '1')) |
| 347 | 034700 AND ((:WS-EDIT-DESC-FLAG = '1' |
| 348 | 034800 AND TR_DESCRIPTION LIKE |
| 349 | 034900 TRIM(:WS-TYPE-DESC-FILTER)) |
| 350 | 035000 OR (:WS-EDIT-DESC-FLAG <> '1')) |
| 351 | 035100 ORDER BY TR_TYPE |
| 352 | 035200 END-EXEC |
| 353 | 035300 |
| 354 | 035400 EXEC SQL |
| 355 | 035500 DECLARE C-TR-TYPE-BACKWARD CURSOR FOR |
| 356 | 035600 SELECT TR_TYPE |
| 357 | 035700 ,TR_DESCRIPTION |
| 358 | 035800 FROM CARDDEMO.TRANSACTION_TYPE |
| 359 | 035900 WHERE TR_TYPE < :WS-START-KEY |
| 360 | 036000 and ((:WS-EDIT-TYPE-FLAG = '1' |
| 361 | 036100 and TR_TYPE = :WS-TYPE-CD-FILTER) |
| 362 | 036200 OR (:WS-EDIT-TYPE-FLAG <> '1')) |
| 363 | 036300 AND ((:WS-EDIT-DESC-FLAG = '1' |
| 364 | 036400 AND TR_DESCRIPTION LIKE |
| 365 | 036500 TRIM(:WS-TYPE-DESC-FILTER)) |
| 366 | 036600 OR (:WS-EDIT-DESC-FLAG <> '1')) |
| 367 | 036700 ORDER BY TR_TYPE DESC |
| 368 | 036800 END-EXEC |
| 369 | 036900 |
| 370 | 037000 |
| 371 | 037100****************************************************************** |
| 372 | 037200* Commarea manipulations |
| 373 | 037300****************************************************************** |
| 374 | 037400*Application Commmarea Copybook |
| 375 | 037500 COPY COCOM01Y. |
| 376 | 037600 |
| 377 | 037700 01 WS-THIS-PROGCOMMAREA. |
| 378 | 037800 10 WS-CA-TYPE-CD PIC X(02) |
| 379 | 037900 VALUE SPACES. |
| 380 | 038000 10 WS-CA-TYPE-CD-N REDEFINES WS-CA-TYPE-CD PIC 9(02). |
| 381 | 038100 10 WS-CA-TYPE-DESC PIC X(50). |
| 382 | 038200 |
| 383 | 038300****************************************************************** |
| 384 | 038400* Screen Data Array 52 CHARS X 7 ROWS = 364 |
| 385 | 038500****************************************************************** |
| 386 | 038600 10 FILLER. |
| 387 | 038700 15 WS-CA-ALL-ROWS-OUT PIC X(364). |
| 388 | 038800 15 FILLER REDEFINES WS-CA-ALL-ROWS-OUT. |
| 389 | 038900 20 WS-CA-SCREEN-ROWS-OUT OCCURS 7 TIMES. |
| 390 | 039000 30 WS-CA-EACH-ROW-OUT. |
| 391 | 039100 35 WS-CA-ROW-TR-CODE-OUT PIC X(02). |
| 392 | 039200 35 WS-CA-ROW-TR-DESC-OUT PIC X(50). |
| 393 | 039300 |
| 394 | 039400 |
| 395 | 039500 10 WS-CA-ROW-SELECTED PIC S9(4) COMP |
| 396 | 039600 VALUE 0. |
| 397 | 039700 10 WS-CA-PAGING-VARIABLES. |
| 398 | 039800 15 WS-CA-LAST-TTYPEKEY. |
| 399 | 039900 20 WS-CA-LAST-TR-CODE PIC X(02). |
| 400 | 040000 15 WS-CA-FIRST-TTYPEKEY. |
| 401 | 040100 20 WS-CA-FIRST-TR-CODE PIC X(02). |
| 402 | 040200 |
| 403 | 040300 15 WS-CA-SCREEN-NUM PIC 9(1). |
| 404 | 040400 88 CA-FIRST-PAGE VALUE 1. |
| 405 | 040500 15 WS-CA-LAST-PAGE-DISPLAYED PIC 9(1). |
| 406 | 040600 88 CA-LAST-PAGE-SHOWN VALUE 0. |
| 407 | 040700 88 CA-LAST-PAGE-NOT-SHOWN VALUE 9. |
| 408 | 040800 15 WS-CA-NEXT-PAGE-IND PIC X(1). |
| 409 | 040900 88 CA-NEXT-PAGE-NOT-EXISTS VALUE LOW-VALUES. |
| 410 | 041000 88 CA-NEXT-PAGE-EXISTS VALUE 'Y'. |
| 411 | 041100 10 WS-CA-DELETE-FLAG PIC X. |
| 412 | 041200 88 CA-DELETE-NOT-REQUESTED VALUE LOW-VALUES. |
| 413 | 041300 88 CA-DELETE-REQUESTED VALUE 'Y'. |
| 414 | 041400 88 CA-DELETE-SUCCEEDED VALUE LOW-VALUES. |
| 415 | 041500 10 WS-CA-UPDATE-FLAG PIC X. |
| 416 | 041600 88 CA-UPDATE-NOT-REQUESTED VALUE LOW-VALUES. |
| 417 | 041700 88 CA-UPDATE-REQUESTED VALUE 'Y'. |
| 418 | 041800 88 CA-UPDATE-SUCCEEDED VALUE LOW-VALUES. |
| 419 | 041900 |
| 420 | 042000 01 WS-COMMAREA PIC X(2000). |
| 421 | 042100 |
| 422 | 042200 |
| 423 | 042300 |
| 424 | 042400*IBM SUPPLIED COPYBOOKS |
| 425 | 042500 COPY DFHBMSCA. |
| 426 | 042600 COPY DFHAID. |
| 427 | 042700 |
| 428 | 042800*COMMON COPYBOOKS |
| 429 | 042900*Screen Titles |
| 430 | 043000 COPY COTTL01Y. |
| 431 | 043100 |
| 432 | 043200*Credit Card List Screen Layout |
| 433 | 043300 COPY COTRTLI. |
| 434 | 043400 01 FILLER REDEFINES CTRTLIAI. |
| 435 | 043500 05 FILLER PIC X(238). |
| 436 | 043600 05 WS-ROW-DATAI. |
| 437 | 043700 06 EACH-ROWI OCCURS 7 TIMES. |
| 438 | 043800 07 TRTSELL PIC S9(4) COMP. |
| 439 | 043900 07 TRTSELF PIC X. |
| 440 | 044000 07 FILLER REDEFINES TRTSELF. |
| 441 | 044100 10 TRTSELA PIC X. |
| 442 | 044200 07 FILLER PIC X(4). |
| 443 | 044300 07 TRTSELI PIC X(1). |
| 444 | 044400 07 TRTTYPL PIC S9(4) COMP. |
| 445 | 044500 07 TRTTYPF PIC X. |
| 446 | 044600 07 FILLER REDEFINES TRTTYPF. |
| 447 | 044700 10 TRTTYPA PIC X. |
| 448 | 044800 07 FILLER PIC X(4). |
| 449 | 044900 07 TRTTYPI PIC X(2). |
| 450 | 045000 07 TRTYPDL PIC S9(4) COMP. |
| 451 | 045100 07 TRTYPDF PIC X. |
| 452 | 045200 07 FILLER REDEFINES TRTYPDF. |
| 453 | 045300 10 TRTYPDA PIC X. |
| 454 | 045400 07 FILLER PIC X(4). |
| 455 | 045500 07 TRTYPDI PIC X(50). |
| 456 | 045600 05 FILLER PIC X(137). |
| 457 | 045700 01 FILLER REDEFINES CTRTLIAO. |
| 458 | 045800 05 FILLER PIC X(238). |
| 459 | 045900 05 EACH-ROWO OCCURS 7 TIMES. |
| 460 | 046000 07 FILLER PIC X(3). |
| 461 | 046100 07 TRTSELC PIC X. |
| 462 | 046200 07 TRTSELP PIC X. |
| 463 | 046300 07 TRTSELH PIC X. |
| 464 | 046400 07 TRTSELV PIC X. |
| 465 | 046500 07 TRTSELO PIC X(1). |
| 466 | 046600 07 FILLER PIC X(3). |
| 467 | 046700 07 TRTTYPC PIC X. |
| 468 | 046800 07 TRTTYPP PIC X. |
| 469 | 046900 07 TRTTYPH PIC X. |
| 470 | 047000 07 TRTTYPV PIC X. |
| 471 | 047100 07 TRTTYPO PIC X(2). |
| 472 | 047200 07 FILLER PIC X(3). |
| 473 | 047300 07 TRTYPDC PIC X. |
| 474 | 047400 07 TRTYPDP PIC X. |
| 475 | 047500 07 TRTYPDH PIC X. |
| 476 | 047600 07 TRTYPDV PIC X. |
| 477 | 047700 07 TRTYPDO PIC X(50). |
| 478 | 047800 05 FILLER PIC X(137). |
| 479 | 047900*Current Date |
| 480 | 048000 COPY CSDAT01Y. |
| 481 | 048100*Common Messages |
| 482 | 048200 COPY CSMSG01Y. |
| 483 | 048300 |
| 484 | 048400*Signed on user data |
| 485 | 048500 COPY CSUSR01Y. |
| 486 | 048600 |
| 487 | 048700*Dataset layouts |
| 488 | 048800 |
| 489 | 048900*CARD RECORD LAYOUT |
| 490 | 049000 COPY CVACT02Y. |
| 491 | 049100 |
| 492 | 049200 LINKAGE SECTION. |
| 493 | 049300 01 DFHCOMMAREA. |
| 494 | 049400 05 FILLER PIC X(1) |
| 495 | 049500 OCCURS 1 TO 32767 TIMES DEPENDING ON EIBCALEN. |
| 496 | 049600 |
| 497 | 049700 PROCEDURE DIVISION. |
| 498 | 049800 0000-MAIN. |
| 499 | 049900 |
| 500 | 050000 INITIALIZE CC-WORK-AREA |
| 501 | 050100 WS-MISC-STORAGE |
| 502 | 050200 WS-COMMAREA |
| 503 | 050300 |
| 504 | 050400***************************************************************** |
| 505 | 050500* Store our context |
| 506 | 050600***************************************************************** |
| 507 | 050700 MOVE LIT-THISTRANID TO WS-TRANID |
| 508 | 050800***************************************************************** |
| 509 | 050900* Ensure error message is cleared * |
| 510 | 051000***************************************************************** |
| 511 | 051100 SET WS-RETURN-MSG-OFF TO TRUE |
| 512 | 051200***************************************************************** |
| 513 | 051300* Retrieve passed data if any. Initialize them if first run. |
| 514 | 051400***************************************************************** |
| 515 | 051500 IF EIBCALEN = 0 |
| 516 | 051600 INITIALIZE CARDDEMO-COMMAREA |
| 517 | 051700 WS-THIS-PROGCOMMAREA |
| 518 | 051800 MOVE LIT-THISTRANID TO CDEMO-FROM-TRANID |
| 519 | 051900 MOVE LIT-THISPGM TO CDEMO-FROM-PROGRAM |
| 520 | 052000 SET CDEMO-USRTYP-ADMIN TO TRUE |
| 521 | 052100 SET CDEMO-PGM-ENTER TO TRUE |
| 522 | 052200 MOVE LIT-THISMAP TO CDEMO-LAST-MAP |
| 523 | 052300 MOVE LIT-THISMAPSET TO CDEMO-LAST-MAPSET |
| 524 | 052400 SET CA-FIRST-PAGE TO TRUE |
| 525 | 052500 SET CA-LAST-PAGE-NOT-SHOWN TO TRUE |
| 526 | 052600 ELSE |
| 527 | 052700 MOVE DFHCOMMAREA (1:LENGTH OF CARDDEMO-COMMAREA) TO |
| 528 | 052800 CARDDEMO-COMMAREA |
| 529 | 052900 MOVE DFHCOMMAREA(LENGTH OF CARDDEMO-COMMAREA + 1: |
| 530 | 053000 LENGTH OF WS-THIS-PROGCOMMAREA )TO |
| 531 | 053100 WS-THIS-PROGCOMMAREA |
| 532 | 053200 END-IF |
| 533 | 053300 |
| 534 | 053400****************************************************************** |
| 535 | 053500* Remap PFkeys as needed. |
| 536 | 053600* Store the Mapped PF Key |
| 537 | 053700***************************************************************** |
| 538 | 053800 PERFORM YYYY-STORE-PFKEY |
| 539 | 053900 THRU YYYY-STORE-PFKEY-EXIT |
| 540 | 054000 |
| 541 | 054100***************************************************************** |
| 542 | 054200* If coming in from menu. Lets forget the past and start afresh * |
| 543 | 054300***************************************************************** |
| 544 | 054400 IF (CDEMO-PGM-ENTER |
| 545 | 054500 AND CDEMO-FROM-PROGRAM NOT EQUAL LIT-THISPGM) |
| 546 | 054600 OR ( CCARD-AID-PFK03 |
| 547 | 054700 AND CDEMO-FROM-TRANID EQUAL LIT-ADDTTRANID) |
| 548 | 054800 INITIALIZE WS-THIS-PROGCOMMAREA |
| 549 | 054900 SET CDEMO-PGM-ENTER TO TRUE |
| 550 | 055000 SET CCARD-AID-ENTER TO TRUE |
| 551 | 055100 MOVE LIT-THISMAP TO CDEMO-LAST-MAP |
| 552 | 055200 SET CA-FIRST-PAGE TO TRUE |
| 553 | 055300 SET CA-LAST-PAGE-NOT-SHOWN TO TRUE |
| 554 | 055400 END-IF |
| 555 | 055500 |
| 556 | 055600****************************************************************** |
| 557 | 055700* If something is present in commarea |
| 558 | 055800* and the from program is this program itself, |
| 559 | 055900* read and edit the inputs given |
| 560 | 056000***************************************************************** |
| 561 | 056100 IF EIBCALEN > 0 |
| 562 | 056200 AND CDEMO-FROM-PROGRAM EQUAL LIT-THISPGM |
| 563 | 056300 PERFORM 1000-RECEIVE-MAP |
| 564 | 056400 THRU 1000-RECEIVE-MAP-EXIT |
| 565 | 056500 |
| 566 | 056600 END-IF |
| 567 | 056700***************************************************************** |
| 568 | 056800* Check the mapped key to see if its valid at this point * |
| 569 | 056900* F3 - Exit |
| 570 | 057000* Enter - List of cards for current start key |
| 571 | 057100* F8 - Page down |
| 572 | 057200* F7 - Page up |
| 573 | 057300***************************************************************** |
| 574 | 057400 SET PFK-INVALID TO TRUE |
| 575 | 057500 IF CCARD-AID-ENTER OR |
| 576 | 057600 CCARD-AID-PFK02 OR |
| 577 | 057700 CCARD-AID-PFK03 OR |
| 578 | 057800 CCARD-AID-PFK07 OR |
| 579 | 057900 CCARD-AID-PFK08 OR |
| 580 | 058000 (CCARD-AID-PFK10 AND CA-DELETE-REQUESTED) OR |
| 581 | 058100 (CCARD-AID-PFK10 AND CA-UPDATE-REQUESTED) |
| 582 | 058200 SET PFK-VALID TO TRUE |
| 583 | 058300 END-IF |
| 584 | 058400 |
| 585 | 058500 IF PFK-INVALID |
| 586 | 058600 SET CCARD-AID-ENTER TO TRUE |
| 587 | 058700 END-IF |
| 588 | 058800***************************************************************** |
| 589 | 058900* If the user pressed PF3 go back to main menu |
| 590 | 059000***************************************************************** |
| 591 | 059100 IF CCARD-AID-PFK03 |
| 592 | 059200 IF CDEMO-FROM-TRANID EQUAL LOW-VALUES |
| 593 | 059300 OR CDEMO-FROM-TRANID EQUAL SPACES |
| 594 | 059400 OR CDEMO-FROM-TRANID EQUAL LIT-THISTRANID |
| 595 | 059500 MOVE LIT-ADMINTRANID TO CDEMO-TO-TRANID |
| 596 | 059600 ELSE |
| 597 | 059700 MOVE CDEMO-FROM-TRANID TO CDEMO-TO-TRANID |
| 598 | 059800 END-IF |
| 599 | 059900 |
| 600 | 060000 IF CDEMO-FROM-PROGRAM EQUAL LOW-VALUES |
| 601 | 060100 OR CDEMO-FROM-PROGRAM EQUAL SPACES |
| 602 | 060200 OR CDEMO-FROM-PROGRAM EQUAL LIT-THISPGM |
| 603 | 060300 MOVE LIT-ADMINPGM TO CDEMO-TO-PROGRAM |
| 604 | 060400 ELSE |
| 605 | 060500 MOVE CDEMO-FROM-PROGRAM TO CDEMO-TO-PROGRAM |
| 606 | 060600 END-IF |
| 607 | 060700 |
| 608 | 060800 MOVE LIT-THISTRANID TO CDEMO-FROM-TRANID |
| 609 | 060900 MOVE LIT-THISPGM TO CDEMO-FROM-PROGRAM |
| 610 | 061000 |
| 611 | 061100 SET CDEMO-USRTYP-ADMIN TO TRUE |
| 612 | 061200 SET CDEMO-PGM-ENTER TO TRUE |
| 613 | 061300 MOVE LIT-THISMAPSET TO CDEMO-LAST-MAPSET |
| 614 | 061400 MOVE LIT-THISMAP TO CDEMO-LAST-MAP |
| 615 | 061500 |
| 616 | 061600 EXEC CICS |
| 617 | 061700 SYNCPOINT |
| 618 | 061800 END-EXEC |
| 619 | 061900* |
| 620 | 062000 EXEC CICS XCTL |
| 621 | 062100 PROGRAM (CDEMO-TO-PROGRAM) |
| 622 | 062200 COMMAREA(CARDDEMO-COMMAREA) |
| 623 | 062300 END-EXEC |
| 624 | 062400 |
| 625 | 062500 END-IF |
| 626 | 062600 |
| 627 | 062700***************************************************************** |
| 628 | 062800* If the user pressed PF2 transfer to add screen |
| 629 | 062900***************************************************************** |
| 630 | 063000 IF (CCARD-AID-PFK02 |
| 631 | 063100 AND CDEMO-FROM-PROGRAM EQUAL LIT-THISPGM) |
| 632 | 063200 MOVE LIT-THISTRANID TO CDEMO-FROM-TRANID |
| 633 | 063300 MOVE LIT-THISPGM TO CDEMO-FROM-PROGRAM |
| 634 | 063400 SET CDEMO-USRTYP-USER TO TRUE |
| 635 | 063500 SET CDEMO-PGM-ENTER TO TRUE |
| 636 | 063600 MOVE LIT-THISMAPSET TO CDEMO-LAST-MAPSET |
| 637 | 063700 MOVE LIT-THISMAP TO CDEMO-LAST-MAP |
| 638 | 063800 MOVE LIT-ADDTPGM TO CDEMO-TO-PROGRAM |
| 639 | 063900 |
| 640 | 064000 MOVE LIT-ADDTMAPSET TO CCARD-NEXT-MAPSET |
| 641 | 064100 MOVE LIT-ADDTMAP TO CCARD-NEXT-MAP |
| 642 | 064200 SET WS-EXIT-MESSAGE TO TRUE |
| 643 | 064300 |
| 644 | 064400* CALL MENU PROGRAM |
| 645 | 064500* |
| 646 | 064600 SET CDEMO-PGM-ENTER TO TRUE |
| 647 | 064700* |
| 648 | 064800 EXEC CICS XCTL |
| 649 | 064900 PROGRAM (LIT-ADDTPGM) |
| 650 | 065000 COMMAREA(CARDDEMO-COMMAREA) |
| 651 | 065100 END-EXEC |
| 652 | 065200 END-IF |
| 653 | 065300 |
| 654 | 065400***************************************************************** |
| 655 | 065500* If the user did not press PF8, lets reset the last page flag |
| 656 | 065600***************************************************************** |
| 657 | 065700 IF CCARD-AID-PFK08 |
| 658 | 065800 CONTINUE |
| 659 | 065900 ELSE |
| 660 | 066000 SET CA-LAST-PAGE-NOT-SHOWN TO TRUE |
| 661 | 066100 END-IF |
| 662 | 066200***************************************************************** |
| 663 | 066300* If the user pressed F10 to confirm delete |
| 664 | 066400* But changed some criteria on screen. Treat it as ENTER |
| 665 | 066500***************************************************************** |
| 666 | 066600 IF CCARD-AID-PFK10 |
| 667 | 066700 IF (CA-DELETE-REQUESTED |
| 668 | 066800 OR CA-UPDATE-REQUESTED) |
| 669 | 066900 AND FLG-TYPEFILTER-CHANGED-NO |
| 670 | 067000 AND FLG-DESCFILTER-CHANGED-NO |
| 671 | 067100 AND FLG-ROW-SELECTION-CHANGED-NO |
| 672 | 067200 CONTINUE |
| 673 | 067300 ELSE |
| 674 | 067400 SET CCARD-AID-ENTER TO TRUE |
| 675 | 067500 END-IF |
| 676 | 067600 ELSE |
| 677 | 067700 CONTINUE |
| 678 | 067800 END-IF |
| 679 | 067900 |
| 680 | 068000 |
| 681 | 068100***************************************************************** |
| 682 | 068200* Check Db2 connectivity. Quit if no Access. |
| 683 | 068300***************************************************************** |
| 684 | 068400 PERFORM 9998-PRIMING-QUERY |
| 685 | 068500 THRU 9998-PRIMING-QUERY-EXIT |
| 686 | 068600 |
| 687 | 068700 IF WS-DB2-ERROR |
| 688 | 068800 PERFORM SEND-LONG-TEXT |
| 689 | 068900 THRU SEND-LONG-TEXT-EXIT |
| 690 | 069000 GO TO COMMON-RETURN |
| 691 | 069100 END-IF |
| 692 | 069200 |
| 693 | 069300 |
| 694 | 069400 |
| 695 | 069500***************************************************************** |
| 696 | 069600* Now we decide what to do |
| 697 | 069700***************************************************************** |
| 698 | 069800 EVALUATE TRUE |
| 699 | 069900 WHEN INPUT-ERROR |
| 700 | 070000***************************************************************** |
| 701 | 070100* ASK FOR CORRECTIONS TO INPUTS |
| 702 | 070200***************************************************************** |
| 703 | 070300 MOVE WS-RETURN-MSG TO CCARD-ERROR-MSG |
| 704 | 070400 MOVE LIT-THISPGM TO CDEMO-FROM-PROGRAM |
| 705 | 070500 MOVE LIT-THISMAPSET TO CDEMO-LAST-MAPSET |
| 706 | 070600 MOVE LIT-THISMAP TO CDEMO-LAST-MAP |
| 707 | 070700 |
| 708 | 070800 MOVE LIT-THISPGM TO CCARD-NEXT-PROG |
| 709 | 070900 MOVE LIT-THISMAPSET TO CCARD-NEXT-MAPSET |
| 710 | 071000 MOVE LIT-THISMAP TO CCARD-NEXT-MAP |
| 711 | 071100 MOVE WS-CA-FIRST-TR-CODE |
| 712 | 071200 TO WS-START-KEY |
| 713 | 071300 IF NOT FLG-TYPEFILTER-NOT-OK |
| 714 | 071400 AND NOT FLG-DESCFILTER-NOT-OK |
| 715 | 071500 PERFORM 8000-READ-FORWARD |
| 716 | 071600 THRU 8000-READ-FORWARD-EXIT |
| 717 | 071700 END-IF |
| 718 | 071800 PERFORM 2000-SEND-MAP |
| 719 | 071900 THRU 2000-SEND-MAP-EXIT |
| 720 | 072000 GO TO COMMON-RETURN |
| 721 | 072100 WHEN CCARD-AID-PFK07 |
| 722 | 072200 AND CA-FIRST-PAGE |
| 723 | 072300***************************************************************** |
| 724 | 072400* PAGE UP - PF7 - BUT ALREADY ON FIRST PAGE |
| 725 | 072500***************************************************************** |
| 726 | 072600 WHEN CCARD-AID-PFK07 |
| 727 | 072700 AND CA-FIRST-PAGE |
| 728 | 072800 MOVE WS-CA-FIRST-TR-CODE |
| 729 | 072900 TO WS-START-KEY |
| 730 | 073000 PERFORM 8000-READ-FORWARD |
| 731 | 073100 THRU 8000-READ-FORWARD-EXIT |
| 732 | 073200 PERFORM 2000-SEND-MAP |
| 733 | 073300 THRU 2000-SEND-MAP-EXIT |
| 734 | 073400 GO TO COMMON-RETURN |
| 735 | 073500***************************************************************** |
| 736 | 073600* BACK - PF3 IF WE CAME FROM SOME OTHER PROGRAM |
| 737 | 073700***************************************************************** |
| 738 | 073800 WHEN CCARD-AID-PFK03 |
| 739 | 073900 WHEN CDEMO-PGM-REENTER AND |
| 740 | 074000 CDEMO-FROM-PROGRAM NOT EQUAL LIT-THISPGM |
| 741 | 074100 |
| 742 | 074200 INITIALIZE CARDDEMO-COMMAREA |
| 743 | 074300 WS-THIS-PROGCOMMAREA |
| 744 | 074400 WS-MISC-STORAGE |
| 745 | 074500 |
| 746 | 074600 MOVE LIT-THISTRANID TO CDEMO-FROM-TRANID |
| 747 | 074700 MOVE LIT-THISPGM TO CDEMO-FROM-PROGRAM |
| 748 | 074800 MOVE LIT-THISMAP TO CDEMO-LAST-MAP |
| 749 | 074900 MOVE LIT-THISMAPSET TO CDEMO-LAST-MAPSET |
| 750 | 075000 |
| 751 | 075100 SET CDEMO-USRTYP-ADMIN TO TRUE |
| 752 | 075200 SET CDEMO-PGM-ENTER TO TRUE |
| 753 | 075300 SET CA-FIRST-PAGE TO TRUE |
| 754 | 075400 SET CA-LAST-PAGE-NOT-SHOWN TO TRUE |
| 755 | 075500 |
| 756 | 075600 MOVE WS-CA-FIRST-TR-CODE TO WS-START-KEY |
| 757 | 075700 |
| 758 | 075800 PERFORM 8000-READ-FORWARD |
| 759 | 075900 THRU 8000-READ-FORWARD-EXIT |
| 760 | 076000 PERFORM 2000-SEND-MAP |
| 761 | 076100 THRU 2000-SEND-MAP-EXIT |
| 762 | 076200 GO TO COMMON-RETURN |
| 763 | 076300***************************************************************** |
| 764 | 076400* PAGE DOWN |
| 765 | 076500***************************************************************** |
| 766 | 076600 WHEN CCARD-AID-PFK08 |
| 767 | 076700 AND CA-NEXT-PAGE-EXISTS |
| 768 | 076800 MOVE WS-CA-LAST-TR-CODE |
| 769 | 076900 TO WS-START-KEY |
| 770 | 077000 ADD +1 TO WS-CA-SCREEN-NUM |
| 771 | 077100 PERFORM 8000-READ-FORWARD |
| 772 | 077200 THRU 8000-READ-FORWARD-EXIT |
| 773 | 077300 INITIALIZE WS-EDIT-SELECT-FLAGS |
| 774 | 077400 PERFORM 2000-SEND-MAP |
| 775 | 077500 THRU 2000-SEND-MAP-EXIT |
| 776 | 077600 GO TO COMMON-RETURN |
| 777 | 077700***************************************************************** |
| 778 | 077800* PAGE UP |
| 779 | 077900***************************************************************** |
| 780 | 078000 WHEN CCARD-AID-PFK07 |
| 781 | 078100 AND NOT CA-FIRST-PAGE |
| 782 | 078200 MOVE WS-CA-FIRST-TR-CODE |
| 783 | 078300 TO WS-START-KEY |
| 784 | 078400 SUBTRACT 1 FROM WS-CA-SCREEN-NUM |
| 785 | 078500 PERFORM 8100-READ-BACKWARDS |
| 786 | 078600 THRU 8100-READ-BACKWARDS-EXIT |
| 787 | 078700 INITIALIZE WS-EDIT-SELECT-FLAGS |
| 788 | 078800 PERFORM 2000-SEND-MAP |
| 789 | 078900 THRU 2000-SEND-MAP-EXIT |
| 790 | 079000 GO TO COMMON-RETURN |
| 791 | 079100***************************************************************** |
| 792 | 079200* ENTER AND DELETE REQUESTED |
| 793 | 079300***************************************************************** |
| 794 | 079400 WHEN CCARD-AID-ENTER |
| 795 | 079500 AND WS-DELETES-REQUESTED > 0 |
| 796 | 079600 AND CDEMO-FROM-PROGRAM EQUAL LIT-THISPGM |
| 797 | 079700 MOVE WS-CA-FIRST-TR-CODE |
| 798 | 079800 TO WS-START-KEY |
| 799 | 079900 IF NOT FLG-TYPEFILTER-NOT-OK |
| 800 | 080000 AND NOT FLG-DESCFILTER-NOT-OK |
| 801 | 080100 PERFORM 8000-READ-FORWARD |
| 802 | 080200 THRU 8000-READ-FORWARD-EXIT |
| 803 | 080300 END-IF |
| 804 | 080400 PERFORM 2000-SEND-MAP |
| 805 | 080500 THRU 2000-SEND-MAP-EXIT |
| 806 | 080600 GO TO COMMON-RETURN |
| 807 | 080700***************************************************************** |
| 808 | 080800* F10 AFTER DELETE CONFIRM REQUESTED |
| 809 | 080900***************************************************************** |
| 810 | 081000 WHEN CCARD-AID-PFK10 |
| 811 | 081100 AND WS-DELETES-REQUESTED > 0 |
| 812 | 081200 AND CDEMO-FROM-PROGRAM EQUAL LIT-THISPGM |
| 813 | 081300 |
| 814 | 081400 PERFORM 9300-DELETE-RECORD |
| 815 | 081500 THRU 9300-DELETE-RECORD-EXIT |
| 816 | 081600 |
| 817 | 081700 IF CA-DELETE-SUCCEEDED |
| 818 | 081800 SET FLG-DELETED-YES TO TRUE |
| 819 | 081900 ELSE |
| 820 | 082000 SET FLG-DELETED-NO TO TRUE |
| 821 | 082100 END-IF |
| 822 | 082200 |
| 823 | 082300 PERFORM 2000-SEND-MAP |
| 824 | 082400 THRU 2000-SEND-MAP-EXIT |
| 825 | 082500 |
| 826 | 082600 IF FLG-DELETED-YES |
| 827 | 082700 INITIALIZE CARDDEMO-COMMAREA |
| 828 | 082800 WS-THIS-PROGCOMMAREA |
| 829 | 082900 WS-MISC-STORAGE |
| 830 | 083000 SET CDEMO-PGM-ENTER TO TRUE |
| 831 | 083100 SET CA-FIRST-PAGE TO TRUE |
| 832 | 083200 SET CA-LAST-PAGE-NOT-SHOWN TO TRUE |
| 833 | 083300 END-IF |
| 834 | 083400 GO TO COMMON-RETURN |
| 835 | 083500***************************************************************** |
| 836 | 083600* ENTER AND UPDATE REQUESTED |
| 837 | 083700***************************************************************** |
| 838 | 083800 WHEN CCARD-AID-ENTER |
| 839 | 083900 AND WS-UPDATES-REQUESTED > 0 |
| 840 | 084000 AND CDEMO-FROM-PROGRAM EQUAL LIT-THISPGM |
| 841 | 084100 MOVE WS-CA-FIRST-TR-CODE |
| 842 | 084200 TO WS-START-KEY |
| 843 | 084300 IF NOT FLG-TYPEFILTER-NOT-OK |
| 844 | 084400 AND NOT FLG-DESCFILTER-NOT-OK |
| 845 | 084500 PERFORM 8000-READ-FORWARD |
| 846 | 084600 THRU 8000-READ-FORWARD-EXIT |
| 847 | 084700 END-IF |
| 848 | 084800 PERFORM 2000-SEND-MAP |
| 849 | 084900 THRU 2000-SEND-MAP-EXIT |
| 850 | 085000 GO TO COMMON-RETURN |
| 851 | 085100***************************************************************** |
| 852 | 085200* F10 AFTER UPDATE CONFIRM REQUESTED |
| 853 | 085300***************************************************************** |
| 854 | 085400 WHEN CCARD-AID-PFK10 |
| 855 | 085500 AND WS-UPDATES-REQUESTED > 0 |
| 856 | 085600 AND CDEMO-FROM-PROGRAM EQUAL LIT-THISPGM |
| 857 | 085700 |
| 858 | 085800 PERFORM 9200-UPDATE-RECORD |
| 859 | 085900 THRU 9200-UPDATE-RECORD-EXIT |
| 860 | 086000 IF CA-UPDATE-SUCCEEDED |
| 861 | 086100 SET FLG-UPDATE-COMPLETED TO TRUE |
| 862 | 086200 END-IF |
| 863 | 086300 MOVE WS-CA-FIRST-TR-CODE |
| 864 | 086400 TO WS-START-KEY |
| 865 | 086500 PERFORM 8000-READ-FORWARD |
| 866 | 086600 THRU 8000-READ-FORWARD-EXIT |
| 867 | 086700 PERFORM 2000-SEND-MAP |
| 868 | 086800 THRU 2000-SEND-MAP-EXIT |
| 869 | 086900***************************************************************** |
| 870 | 087000 WHEN OTHER |
| 871 | 087100***************************************************************** |
| 872 | 087200 MOVE WS-CA-FIRST-TR-CODE |
| 873 | 087300 TO WS-START-KEY |
| 874 | 087400 PERFORM 8000-READ-FORWARD |
| 875 | 087500 THRU 8000-READ-FORWARD-EXIT |
| 876 | 087600 PERFORM 2000-SEND-MAP |
| 877 | 087700 THRU 2000-SEND-MAP-EXIT |
| 878 | 087800 GO TO COMMON-RETURN |
| 879 | 087900 END-EVALUATE |
| 880 | 088000 |
| 881 | 088100* If we had an error setup error message to display and return |
| 882 | 088200 IF INPUT-ERROR |
| 883 | 088300 MOVE WS-RETURN-MSG TO CCARD-ERROR-MSG |
| 884 | 088400 MOVE LIT-THISPGM TO CDEMO-FROM-PROGRAM |
| 885 | 088500 MOVE LIT-THISMAPSET TO CDEMO-LAST-MAPSET |
| 886 | 088600 MOVE LIT-THISMAP TO CDEMO-LAST-MAP |
| 887 | 088700 |
| 888 | 088800 MOVE LIT-THISPGM TO CCARD-NEXT-PROG |
| 889 | 088900 MOVE LIT-THISMAPSET TO CCARD-NEXT-MAPSET |
| 890 | 089000 MOVE LIT-THISMAP TO CCARD-NEXT-MAP |
| 891 | 089100 |
| 892 | 089200 GO TO COMMON-RETURN |
| 893 | 089300 END-IF |
| 894 | 089400 |
| 895 | 089500 MOVE LIT-THISPGM TO CCARD-NEXT-PROG |
| 896 | 089600 GO TO COMMON-RETURN |
| 897 | 089700 . |
| 898 | 089800 |
| 899 | 089900 COMMON-RETURN. |
| 900 | 090000 MOVE LIT-THISTRANID TO CDEMO-FROM-TRANID |
| 901 | 090100 MOVE LIT-THISPGM TO CDEMO-FROM-PROGRAM |
| 902 | 090200 MOVE LIT-THISMAPSET TO CDEMO-LAST-MAPSET |
| 903 | 090300 MOVE LIT-THISMAP TO CDEMO-LAST-MAP |
| 904 | 090400 MOVE CARDDEMO-COMMAREA TO WS-COMMAREA |
| 905 | 090500 MOVE WS-THIS-PROGCOMMAREA TO |
| 906 | 090600 WS-COMMAREA(LENGTH OF CARDDEMO-COMMAREA + 1: |
| 907 | 090700 LENGTH OF WS-THIS-PROGCOMMAREA ) |
| 908 | 090800 |
| 909 | 090900 |
| 910 | 091000 EXEC CICS RETURN |
| 911 | 091100 TRANSID (LIT-THISTRANID) |
| 912 | 091200 COMMAREA (WS-COMMAREA) |
| 913 | 091300 LENGTH(LENGTH OF WS-COMMAREA) |
| 914 | 091400 END-EXEC |
| 915 | 091500 . |
| 916 | 091600 0000-MAIN-EXIT. |
| 917 | 091700 EXIT |
| 918 | 091800 . |
| 919 | 091900 1000-RECEIVE-MAP. |
| 920 | 092000 PERFORM 1100-RECEIVE-SCREEN |
| 921 | 092100 THRU 1100-RECEIVE-SCREEN-EXIT |
| 922 | 092200 |
| 923 | 092300 PERFORM 1200-EDIT-INPUTS |
| 924 | 092400 THRU 1200-EDIT-INPUTS-EXIT |
| 925 | 092500 . |
| 926 | 092600 1000-RECEIVE-MAP-EXIT. |
| 927 | 092700 EXIT |
| 928 | 092800 . |
| 929 | 092900 |
| 930 | 093000 1100-RECEIVE-SCREEN. |
| 931 | 093100 EXEC CICS RECEIVE MAP(LIT-THISMAP) |
| 932 | 093200 MAPSET(LIT-THISMAPSET) |
| 933 | 093300 INTO(CTRTLIAI) |
| 934 | 093400 RESP(WS-RESP-CD) |
| 935 | 093500 END-EXEC |
| 936 | 093600 |
| 937 | 093700 MOVE TRTYPEI OF CTRTLIAI TO WS-IN-TYPE-CD |
| 938 | 093800 MOVE TRDESCI OF CTRTLIAI TO WS-IN-TYPE-DESC |
| 939 | 093900 |
| 940 | 094000 PERFORM VARYING I FROM 1 BY 1 UNTIL I > WS-MAX-SCREEN-LINES |
| 941 | 094100 MOVE TRTSELI(I) TO WS-EDIT-SELECT(I) |
| 942 | 094200 MOVE TRTTYPI(I) TO WS-ROW-TR-CODE-IN(I) |
| 943 | 094300 |
| 944 | 094400 MOVE LOW-VALUES TO WS-ROW-TR-DESC-IN(I) |
| 945 | 094500 IF TRTYPDI(I) = LIT-ASTERISK |
| 946 | 094600 OR TRTYPDI(I) = SPACES |
| 947 | 094700 CONTINUE |
| 948 | 094800 ELSE |
| 949 | 094900 MOVE FUNCTION TRIM(TRTYPDI(I)) |
| 950 | 095000 TO WS-ROW-TR-DESC-IN(I) |
| 951 | 095100 END-IF |
| 952 | 095200 |
| 953 | 095300 END-PERFORM |
| 954 | 095400 . |
| 955 | 095500 |
| 956 | 095600 1100-RECEIVE-SCREEN-EXIT. |
| 957 | 095700 EXIT |
| 958 | 095800 . |
| 959 | 095900 |
| 960 | 096000 1200-EDIT-INPUTS. |
| 961 | 096100 |
| 962 | 096200 SET INPUT-OK TO TRUE |
| 963 | 096300 SET FLG-PROTECT-SELECT-ROWS-NO TO TRUE |
| 964 | 096400 |
| 965 | 096500 PERFORM 1210-EDIT-ARRAY |
| 966 | 096600 THRU 1210-EDIT-ARRAY-EXIT |
| 967 | 096700 |
| 968 | 096800 PERFORM 1230-EDIT-DESC |
| 969 | 096900 THRU 1230-EDIT-DESC-EXIT |
| 970 | 097000 |
| 971 | 097100 PERFORM 1220-EDIT-TYPECD |
| 972 | 097200 THRU 1220-EDIT-TYPECD-EXIT |
| 973 | 097300 |
| 974 | 097400 PERFORM 1290-CROSS-EDITS |
| 975 | 097500 THRU 1290-CROSS-EDITS-EXIT |
| 976 | 097600 . |
| 977 | 097700 |
| 978 | 097800 1200-EDIT-INPUTS-EXIT. |
| 979 | 097900 EXIT |
| 980 | 098000 . |
| 981 | 098100 |
| 982 | 098200 1210-EDIT-ARRAY. |
| 983 | 098300 |
| 984 | 098400 MOVE ZERO TO WS-ACTIONS-REQUESTED |
| 985 | 098500 WS-NO-ACTIONS-SELECTED |
| 986 | 098600 WS-DELETES-REQUESTED |
| 987 | 098700 WS-UPDATES-REQUESTED |
| 988 | 098800 WS-VALID-ACTIONS-SELECTED |
| 989 | 098900 |
| 990 | 099000 |
| 991 | 099100 IF FLG-TYPEFILTER-CHANGED-YES |
| 992 | 099200 OR FLG-DESCFILTER-CHANGED-YES |
| 993 | 099300 INITIALIZE WS-EDIT-SELECT-FLAGS |
| 994 | 099400 GO TO 1210-EDIT-ARRAY-EXIT |
| 995 | 099500 ELSE |
| 996 | 099600 |
| 997 | 099700 INSPECT WS-EDIT-SELECT-FLAGS |
| 998 | 099800 TALLYING WS-NO-ACTIONS-SELECTED FOR ALL SPACES |
| 999 | 099900 LOW-VALUES |
| 1000 | 100000 WS-DELETES-REQUESTED FOR ALL LIT-DELETE-FLAG |
| 1001 | 100100 WS-UPDATES-REQUESTED FOR ALL LIT-UPDATE-FLAG |
| 1002 | 100200 |
| 1003 | 100300 COMPUTE WS-ACTIONS-REQUESTED |
| 1004 | 100400 = WS-MAX-SCREEN-LINES |
| 1005 | 100500 - WS-NO-ACTIONS-SELECTED |
| 1006 | 100600 END-COMPUTE |
| 1007 | 100700 |
| 1008 | 100800 |
| 1009 | 100900 COMPUTE WS-VALID-ACTIONS-SELECTED = |
| 1010 | 101000 WS-DELETES-REQUESTED |
| 1011 | 101100 + WS-UPDATES-REQUESTED |
| 1012 | 101200 END-COMPUTE |
| 1013 | 101300 |
| 1014 | 101400 MOVE ZERO TO I-SELECTED |
| 1015 | 101500 SET FLG-BAD-ACTIONS-SELECTED-NO TO TRUE |
| 1016 | 101600 |
| 1017 | 101700 PERFORM VARYING I |
| 1018 | 101800 FROM WS-MAX-SCREEN-LINES |
| 1019 | 101900 BY -1 |
| 1020 | 102000 UNTIL I = 0 |
| 1021 | 102100 EVALUATE TRUE |
| 1022 | 102200 WHEN SELECT-OK(I) |
| 1023 | 102300 MOVE I TO I-SELECTED |
| 1024 | 102400 IF WS-MORETHAN1ACTION |
| 1025 | 102500 MOVE '1' TO WS-ROW-TRTSELECT-ERROR(I) |
| 1026 | 102600 SET FLG-BAD-ACTIONS-SELECTED-YES TO TRUE |
| 1027 | 102700 END-IF |
| 1028 | 102800 IF UPDATE-REQUESTED-ON(I) |
| 1029 | 102900 PERFORM 1211-EDIT-ARRAY-DESC |
| 1030 | 103000 THRU 1211-EDIT-ARRAY-DESC-EXIT |
| 1031 | 103100 END-IF |
| 1032 | 103200 WHEN SELECT-BLANK(I) |
| 1033 | 103300 CONTINUE |
| 1034 | 103400 WHEN OTHER |
| 1035 | 103500 SET INPUT-ERROR TO TRUE |
| 1036 | 103600 MOVE '1' TO WS-ROW-TRTSELECT-ERROR(I) |
| 1037 | 103700 SET FLG-BAD-ACTIONS-SELECTED-YES TO TRUE |
| 1038 | 103800 SET WS-MESG-INVALID-ACTION-CODE TO TRUE |
| 1039 | 103900 END-EVALUATE |
| 1040 | 104000 END-PERFORM |
| 1041 | 104100 |
| 1042 | 104200 IF I-SELECTED EQUAL WS-CA-ROW-SELECTED |
| 1043 | 104300 SET FLG-ROW-SELECTION-CHANGED-NO TO TRUE |
| 1044 | 104400 ELSE |
| 1045 | 104500 SET FLG-ROW-SELECTION-CHANGED-YES TO TRUE |
| 1046 | 104600 MOVE I-SELECTED TO WS-CA-ROW-SELECTED |
| 1047 | 104700 END-IF |
| 1048 | 104800 |
| 1049 | 104900 IF WS-MORETHAN1ACTION |
| 1050 | 105000 SET INPUT-ERROR TO TRUE |
| 1051 | 105100 SET WS-MESG-MORE-THAN-1-ACTION TO TRUE |
| 1052 | 105200 END-IF |
| 1053 | 105300 . |
| 1054 | 105400 |
| 1055 | 105500 1210-EDIT-ARRAY-EXIT. |
| 1056 | 105600 EXIT |
| 1057 | 105700 . |
| 1058 | 105800 |
| 1059 | 105900 |
| 1060 | 106000 1211-EDIT-ARRAY-DESC. |
| 1061 | 106100 |
| 1062 | 106200 SET NO-CHANGES-FOUND TO TRUE |
| 1063 | 106300 |
| 1064 | 106400 IF FUNCTION UPPER-CASE ( |
| 1065 | 106500 FUNCTION TRIM (WS-ROW-TR-DESC-IN(I)))= |
| 1066 | 106600 FUNCTION UPPER-CASE ( |
| 1067 | 106700 FUNCTION TRIM (WS-CA-ROW-TR-DESC-OUT(I))) |
| 1068 | 106800 AND FUNCTION LENGTH ( |
| 1069 | 106900 FUNCTION TRIM (WS-ROW-TR-DESC-IN(I)))= |
| 1070 | 107000 FUNCTION LENGTH ( |
| 1071 | 107100 FUNCTION TRIM (WS-CA-ROW-TR-DESC-OUT(I))) |
| 1072 | 107200 SET WS-MESG-NO-CHANGES-DETECTED TO TRUE |
| 1073 | 107300 GO TO 1211-EDIT-ARRAY-DESC-EXIT |
| 1074 | 107400 ELSE |
| 1075 | 107500 SET CHANGES-HAVE-OCCURRED TO TRUE |
| 1076 | 107600 END-IF |
| 1077 | 107700 |
| 1078 | 107800 SET FLG-ROW-DESCRIPTION-NOT-OK TO TRUE |
| 1079 | 107900 |
| 1080 | 108000****************************************************************** |
| 1081 | 108100* Edit Description |
| 1082 | 108200****************************************************************** |
| 1083 | 108300 MOVE 'Transaction Desc' TO WS-EDIT-VARIABLE-NAME |
| 1084 | 108400 MOVE WS-ROW-TR-DESC-IN(I) TO WS-EDIT-ALPHANUM-ONLY |
| 1085 | 108500 MOVE 50 TO WS-EDIT-ALPHANUM-LENGTH |
| 1086 | 108600 PERFORM 1240-EDIT-ALPHANUM-REQD |
| 1087 | 108700 THRU 1240-EDIT-ALPHANUM-REQD-EXIT |
| 1088 | 108800 MOVE WS-EDIT-ALPHANUM-ONLY-FLAGS |
| 1089 | 108900 TO WS-ARRAY-DESCRIPTION-FLGS |
| 1090 | 109000 . |
| 1091 | 109100 |
| 1092 | 109200 1211-EDIT-ARRAY-DESC-EXIT. |
| 1093 | 109300 EXIT |
| 1094 | 109400 . |
| 1095 | 109500 |
| 1096 | 109600 1220-EDIT-TYPECD. |
| 1097 | 109700 |
| 1098 | 109800 SET FLG-TYPEFILTER-BLANK TO TRUE |
| 1099 | 109900 |
| 1100 | 110000* Not supplied |
| 1101 | 110100 IF WS-IN-TYPE-CD EQUAL LOW-VALUES |
| 1102 | 110200 OR WS-IN-TYPE-CD EQUAL SPACES |
| 1103 | 110300 OR WS-IN-TYPE-CD EQUAL ZEROS |
| 1104 | 110400 SET FLG-TYPEFILTER-BLANK TO TRUE |
| 1105 | 110500 MOVE ZEROES TO WS-TYPE-CD-FILTER |
| 1106 | 110600 GO TO 1220-EDIT-TYPECD-EXIT |
| 1107 | 110700 END-IF |
| 1108 | 110800* |
| 1109 | 110900* Not numeric |
| 1110 | 111000* Not 2 characters |
| 1111 | 111100 IF WS-IN-TYPE-CD IS NOT NUMERIC |
| 1112 | 111200 SET INPUT-ERROR TO TRUE |
| 1113 | 111300 SET FLG-TYPEFILTER-NOT-OK TO TRUE |
| 1114 | 111400 SET FLG-PROTECT-SELECT-ROWS-YES TO TRUE |
| 1115 | 111500 MOVE |
| 1116 | 111600 'TYPE CODE FILTER,IF SUPPLIED MUST BE A 2 DIGIT NUMBER' |
| 1117 | 111700 TO WS-RETURN-MSG |
| 1118 | 111800 GO TO 1220-EDIT-TYPECD-EXIT |
| 1119 | 111900 ELSE |
| 1120 | 112000 MOVE WS-IN-TYPE-CD TO WS-TYPE-CD-FILTER |
| 1121 | 112100 SET FLG-TYPEFILTER-ISVALID TO TRUE |
| 1122 | 112200 END-IF |
| 1123 | 112300 . |
| 1124 | 112400 |
| 1125 | 112500 1220-EDIT-TYPECD-EXIT. |
| 1126 | 112600 |
| 1127 | 112700 IF WS-IN-TYPE-CD EQUAL WS-CA-TYPE-CD |
| 1128 | 112800 OR FLG-TYPEFILTER-BLANK |
| 1129 | 112900 AND (WS-CA-TYPE-CD EQUAL ZEROES |
| 1130 | 113000 OR WS-CA-TYPE-CD EQUAL LOW-VALUES |
| 1131 | 113100 OR WS-CA-TYPE-CD EQUAL SPACES) |
| 1132 | 113200 SET FLG-TYPEFILTER-CHANGED-NO TO TRUE |
| 1133 | 113300 ELSE |
| 1134 | 113400 INITIALIZE WS-CA-PAGING-VARIABLES |
| 1135 | 113500 MOVE WS-IN-TYPE-CD TO WS-CA-TYPE-CD |
| 1136 | 113600 SET FLG-TYPEFILTER-CHANGED-YES TO TRUE |
| 1137 | 113700 END-IF |
| 1138 | 113800 |
| 1139 | 113900 EXIT |
| 1140 | 114000 . |
| 1141 | 114100 |
| 1142 | 114200 1230-EDIT-DESC. |
| 1143 | 114300 |
| 1144 | 114400 SET FLG-DESCFILTER-BLANK TO TRUE |
| 1145 | 114500 |
| 1146 | 114600* Not supplied |
| 1147 | 114700 IF WS-IN-TYPE-DESC EQUAL LOW-VALUES |
| 1148 | 114800 OR WS-IN-TYPE-DESC EQUAL SPACES |
| 1149 | 114900 SET FLG-DESCFILTER-BLANK TO TRUE |
| 1150 | 115000 GO TO 1230-EDIT-DESC-EXIT |
| 1151 | 115100 ELSE |
| 1152 | 115200 SET FLG-DESCFILTER-ISVALID TO TRUE |
| 1153 | 115300 END-IF |
| 1154 | 115400 |
| 1155 | 115500 IF FLG-DESCFILTER-ISVALID |
| 1156 | 115600 STRING '%' |
| 1157 | 115700 FUNCTION TRIM(WS-IN-TYPE-DESC) |
| 1158 | 115800 '%' |
| 1159 | 115900 DELIMITED BY SIZE |
| 1160 | 116000 INTO |
| 1161 | 116100 WS-TYPE-DESC-FILTER |
| 1162 | 116200 END-STRING |
| 1163 | 116300 END-IF |
| 1164 | 116400 . |
| 1165 | 116500 1230-EDIT-DESC-EXIT. |
| 1166 | 116600 IF WS-IN-TYPE-DESC EQUAL WS-CA-TYPE-DESC |
| 1167 | 116700 OR FLG-DESCFILTER-BLANK |
| 1168 | 116800 AND (WS-CA-TYPE-DESC EQUAL LOW-VALUES |
| 1169 | 116900 OR WS-CA-TYPE-DESC EQUAL SPACES) |
| 1170 | 117000 SET FLG-DESCFILTER-CHANGED-NO TO TRUE |
| 1171 | 117100 ELSE |
| 1172 | 117200 INITIALIZE WS-CA-PAGING-VARIABLES |
| 1173 | 117300 MOVE WS-IN-TYPE-DESC TO WS-CA-TYPE-DESC |
| 1174 | 117400 SET FLG-DESCFILTER-CHANGED-YES TO TRUE |
| 1175 | 117500 END-IF |
| 1176 | 117600 |
| 1177 | 117700 EXIT |
| 1178 | 117800 . |
| 1179 | 117900 |
| 1180 | 118000 |
| 1181 | 118100 1240-EDIT-ALPHANUM-REQD. |
| 1182 | 118200* Initialize |
| 1183 | 118300 SET FLG-ALPHNANUM-NOT-OK TO TRUE |
| 1184 | 118400 |
| 1185 | 118500* Not supplied |
| 1186 | 118600 IF WS-EDIT-ALPHANUM-ONLY(1:WS-EDIT-ALPHANUM-LENGTH) |
| 1187 | 118700 EQUAL LOW-VALUES |
| 1188 | 118800 OR WS-EDIT-ALPHANUM-ONLY(1:WS-EDIT-ALPHANUM-LENGTH) |
| 1189 | 118900 EQUAL SPACES |
| 1190 | 119000 OR FUNCTION LENGTH(FUNCTION TRIM( |
| 1191 | 119100 WS-EDIT-ALPHANUM-ONLY(1:WS-EDIT-ALPHANUM-LENGTH))) = 0 |
| 1192 | 119200 |
| 1193 | 119300 SET INPUT-ERROR TO TRUE |
| 1194 | 119400 SET FLG-ALPHNANUM-BLANK TO TRUE |
| 1195 | 119500 IF WS-RETURN-MSG-OFF |
| 1196 | 119600 STRING |
| 1197 | 119700 FUNCTION TRIM(WS-EDIT-VARIABLE-NAME) |
| 1198 | 119800 ' must be supplied.' |
| 1199 | 119900 DELIMITED BY SIZE |
| 1200 | 120000 INTO WS-RETURN-MSG |
| 1201 | 120100 END-STRING |
| 1202 | 120200 END-IF |
| 1203 | 120300 |
| 1204 | 120400 GO TO 1240-EDIT-ALPHANUM-REQD-EXIT |
| 1205 | 120500 END-IF |
| 1206 | 120600 |
| 1207 | 120700* Only Alphabets,numbers and space allowed |
| 1208 | 120800 MOVE LIT-ALL-ALPHANUM-FROM-X TO LIT-ALL-ALPHANUM-FROM |
| 1209 | 120900 |
| 1210 | 121000 INSPECT WS-EDIT-ALPHANUM-ONLY(1:WS-EDIT-ALPHANUM-LENGTH) |
| 1211 | 121100 CONVERTING LIT-ALL-ALPHANUM-FROM |
| 1212 | 121200 TO LIT-ALPHANUM-SPACES-TO |
| 1213 | 121300 |
| 1214 | 121400 IF FUNCTION LENGTH( |
| 1215 | 121500 FUNCTION TRIM( |
| 1216 | 121600 WS-EDIT-ALPHANUM-ONLY(1:WS-EDIT-ALPHANUM-LENGTH) |
| 1217 | 121700 )) = 0 |
| 1218 | 121800 CONTINUE |
| 1219 | 121900 ELSE |
| 1220 | 122000 SET INPUT-ERROR TO TRUE |
| 1221 | 122100 SET FLG-ALPHNANUM-NOT-OK TO TRUE |
| 1222 | 122200 IF WS-RETURN-MSG-OFF |
| 1223 | 122300 STRING |
| 1224 | 122400 FUNCTION TRIM(WS-EDIT-VARIABLE-NAME) |
| 1225 | 122500 ' can have numbers or alphabets only.' |
| 1226 | 122600 DELIMITED BY SIZE |
| 1227 | 122700 INTO WS-RETURN-MSG |
| 1228 | 122800 END-STRING |
| 1229 | 122900 END-IF |
| 1230 | 123000 GO TO 1240-EDIT-ALPHANUM-REQD-EXIT |
| 1231 | 123100 END-IF |
| 1232 | 123200 |
| 1233 | 123300 SET FLG-ALPHNANUM-ISVALID TO TRUE |
| 1234 | 123400 . |
| 1235 | 123500 1240-EDIT-ALPHANUM-REQD-EXIT. |
| 1236 | 123600 EXIT |
| 1237 | 123700 . |
| 1238 | 123800 |
| 1239 | 123900 1290-CROSS-EDITS. |
| 1240 | 124000 |
| 1241 | 124100 IF FLG-TYPEFILTER-ISVALID |
| 1242 | 124200 OR FLG-DESCFILTER-ISVALID |
| 1243 | 124300 CONTINUE |
| 1244 | 124400 ELSE |
| 1245 | 124500 GO TO 1290-CROSS-EDITS-EXIT |
| 1246 | 124600 END-IF |
| 1247 | 124700 |
| 1248 | 124800 PERFORM 9100-CHECK-FILTERS |
| 1249 | 124900 THRU 9100-CHECK-FILTERS-EXIT |
| 1250 | 125000 |
| 1251 | 125100 IF WS-RECORDS-COUNT = 0 |
| 1252 | 125200 SET INPUT-ERROR TO TRUE |
| 1253 | 125300 IF FLG-TYPEFILTER-ISVALID |
| 1254 | 125400 SET FLG-TYPEFILTER-NOT-OK TO TRUE |
| 1255 | 125500 END-IF |
| 1256 | 125600 |
| 1257 | 125700 IF FLG-DESCFILTER-ISVALID |
| 1258 | 125800 SET FLG-DESCFILTER-NOT-OK TO TRUE |
| 1259 | 125900 END-IF |
| 1260 | 126000 |
| 1261 | 126100 |
| 1262 | 126200 SET FLG-PROTECT-SELECT-ROWS-YES TO TRUE |
| 1263 | 126300 MOVE |
| 1264 | 126400 'No Records found for these filter conditions' |
| 1265 | 126500 TO WS-RETURN-MSG |
| 1266 | 126600 GO TO 1290-CROSS-EDITS-EXIT |
| 1267 | 126700 END-IF |
| 1268 | 126800 . |
| 1269 | 126900 1290-CROSS-EDITS-EXIT. |
| 1270 | 127000 EXIT |
| 1271 | 127100 . |
| 1272 | 127200 |
| 1273 | 127300 |
| 1274 | 127400 2000-SEND-MAP |
| 1275 | 127500 . |
| 1276 | 127600 PERFORM 2100-SCREEN-INIT |
| 1277 | 127700 THRU 2100-SCREEN-INIT-EXIT |
| 1278 | 127800 PERFORM 2200-SETUP-ARRAY-ATTRIBS |
| 1279 | 127900 THRU 2200-SETUP-ARRAY-ATTRIBS-EXIT |
| 1280 | 128000 PERFORM 2300-SCREEN-ARRAY-INIT |
| 1281 | 128100 THRU 2300-SCREEN-ARRAY-INIT-EXIT |
| 1282 | 128200 PERFORM 2400-SETUP-SCREEN-ATTRS |
| 1283 | 128300 THRU 2400-SETUP-SCREEN-ATTRS-EXIT |
| 1284 | 128400 PERFORM 2500-SETUP-MESSAGE |
| 1285 | 128500 THRU 2500-SETUP-MESSAGE-EXIT |
| 1286 | 128600 PERFORM 2600-SEND-SCREEN |
| 1287 | 128700 THRU 2600-SEND-SCREEN-EXIT |
| 1288 | 128800 . |
| 1289 | 128900 |
| 1290 | 129000 2000-SEND-MAP-EXIT. |
| 1291 | 129100 EXIT |
| 1292 | 129200 . |
| 1293 | 129300 2100-SCREEN-INIT. |
| 1294 | 129400 MOVE LOW-VALUES TO CTRTLIAO |
| 1295 | 129500 |
| 1296 | 129600 MOVE FUNCTION CURRENT-DATE TO WS-CURDATE-DATA |
| 1297 | 129700 |
| 1298 | 129800 MOVE CCDA-TITLE01 TO TITLE01O OF CTRTLIAO |
| 1299 | 129900 MOVE CCDA-TITLE02 TO TITLE02O OF CTRTLIAO |
| 1300 | 130000 MOVE LIT-THISTRANID TO TRNNAMEO OF CTRTLIAO |
| 1301 | 130100 MOVE LIT-THISPGM TO PGMNAMEO OF CTRTLIAO |
| 1302 | 130200 |
| 1303 | 130300 MOVE FUNCTION CURRENT-DATE TO WS-CURDATE-DATA |
| 1304 | 130400 |
| 1305 | 130500 MOVE WS-CURDATE-MONTH TO WS-CURDATE-MM |
| 1306 | 130600 MOVE WS-CURDATE-DAY TO WS-CURDATE-DD |
| 1307 | 130700 MOVE WS-CURDATE-YEAR(3:2) TO WS-CURDATE-YY |
| 1308 | 130800 |
| 1309 | 130900 MOVE WS-CURDATE-MM-DD-YY TO CURDATEO OF CTRTLIAO |
| 1310 | 131000 |
| 1311 | 131100 MOVE WS-CURTIME-HOURS TO WS-CURTIME-HH |
| 1312 | 131200 MOVE WS-CURTIME-MINUTE TO WS-CURTIME-MM |
| 1313 | 131300 MOVE WS-CURTIME-SECOND TO WS-CURTIME-SS |
| 1314 | 131400 |
| 1315 | 131500 MOVE WS-CURTIME-HH-MM-SS TO CURTIMEO OF CTRTLIAO |
| 1316 | 131600* PAGE NUMBER |
| 1317 | 131700* |
| 1318 | 131800 MOVE WS-CA-SCREEN-NUM TO PAGENOO OF CTRTLIAO |
| 1319 | 131900 |
| 1320 | 132000 SET WS-NO-INFO-MESSAGE TO TRUE |
| 1321 | 132100 MOVE WS-INFO-MSG TO INFOMSGO OF CTRTLIAO |
| 1322 | 132200 MOVE DFHBMDAR TO INFOMSGC OF CTRTLIAO |
| 1323 | 132300 . |
| 1324 | 132400 |
| 1325 | 132500 2100-SCREEN-INIT-EXIT. |
| 1326 | 132600 EXIT |
| 1327 | 132700 . |
| 1328 | 132800 |
| 1329 | 132900 2200-SETUP-ARRAY-ATTRIBS. |
| 1330 | 133000* REPLACE BMS GENERATED MAP WITH PROVIDED COPYBOOK |
| 1331 | 133100* AND CLEAN UP REPETITIVE CODE !! |
| 1332 | 133200 |
| 1333 | 133300 PERFORM VARYING I |
| 1334 | 133400 FROM WS-MAX-SCREEN-LINES |
| 1335 | 133500 BY -1 |
| 1336 | 133600 UNTIL I = 0 |
| 1337 | 133700 MOVE DFHBMPRF TO TRTYPDA(I) |
| 1338 | 133800 |
| 1339 | 133900 IF WS-CA-EACH-ROW-OUT(I) EQUAL LOW-VALUES |
| 1340 | 134000 OR FLG-PROTECT-SELECT-ROWS-YES |
| 1341 | 134100 MOVE DFHBMPRO TO TRTSELA (I) |
| 1342 | 134200 ELSE |
| 1343 | 134300 IF WS-ROW-TRTSELECT-ERROR(I) = '1' |
| 1344 | 134400 MOVE DFHRED TO TRTSELC(I) |
| 1345 | 134500 MOVE -1 TO TRTSELL(I) |
| 1346 | 134600 END-IF |
| 1347 | 134700 |
| 1348 | 134800 IF DELETE-REQUESTED-ON(I) |
| 1349 | 134900 AND WS-ONLY-1-VALID-ACTION |
| 1350 | 135000 AND FLG-BAD-ACTIONS-SELECTED-NO |
| 1351 | 135100 MOVE DFHNEUTR TO TRTTYPC(I) |
| 1352 | 135200 TRTYPDC(I) |
| 1353 | 135300 MOVE -1 TO TRTSELL(I) |
| 1354 | 135400 END-IF |
| 1355 | 135500 |
| 1356 | 135600 IF UPDATE-REQUESTED-ON(I) |
| 1357 | 135700 AND WS-ONLY-1-VALID-ACTION |
| 1358 | 135800 AND FLG-BAD-ACTIONS-SELECTED-NO |
| 1359 | 135900 MOVE DFHNEUTR TO TRTTYPC(I) |
| 1360 | 136000 IF FLG-UPDATE-COMPLETED |
| 1361 | 136100 MOVE -1 TO TRTSELL(I) |
| 1362 | 136200 MOVE DFHNEUTR TO TRTYPDC(I) |
| 1363 | 136300 ELSE |
| 1364 | 136400 MOVE -1 TO TRTYPDL(I) |
| 1365 | 136500 MOVE DFHBMFSE TO TRTYPDA(I) |
| 1366 | 136600 IF NOT FLG-ROW-DESCRIPTION-ISVALID |
| 1367 | 136700 MOVE DFHRED TO TRTYPDC(I) |
| 1368 | 136800 END-IF |
| 1369 | 136900 END-IF |
| 1370 | 137000 END-IF |
| 1371 | 137100 MOVE DFHBMFSE TO TRTSELA(I) |
| 1372 | 137200 END-IF |
| 1373 | 137300 END-PERFORM |
| 1374 | 137400 . |
| 1375 | 137500 |
| 1376 | 137600 |
| 1377 | 137700 2200-SETUP-ARRAY-ATTRIBS-EXIT. |
| 1378 | 137800 EXIT |
| 1379 | 137900 . |
| 1380 | 138000 |
| 1381 | 138100 |
| 1382 | 138200 |
| 1383 | 138300 2300-SCREEN-ARRAY-INIT. |
| 1384 | 138400* USING REDEFINES TO AVOID UP REPETITIVE CODE !! |
| 1385 | 138500* |
| 1386 | 138600 PERFORM VARYING I FROM 1 BY 1 UNTIL I > WS-MAX-SCREEN-LINES |
| 1387 | 138700 |
| 1388 | 138800 IF WS-CA-EACH-ROW-OUT(I) EQUAL LOW-VALUES |
| 1389 | 138900 CONTINUE |
| 1390 | 139000 ELSE |
| 1391 | 139100 IF DELETE-REQUESTED-ON(I) |
| 1392 | 139200 AND WS-ONLY-1-VALID-ACTION |
| 1393 | 139300 AND FLG-BAD-ACTIONS-SELECTED-NO |
| 1394 | 139400 IF FLG-DELETED-YES |
| 1395 | 139500 SET SELECT-BLANK(I) TO TRUE |
| 1396 | 139600 ELSE |
| 1397 | 139700 SET CA-DELETE-REQUESTED TO TRUE |
| 1398 | 139800 END-IF |
| 1399 | 139900 END-IF |
| 1400 | 140000 |
| 1401 | 140100* Type code |
| 1402 | 140200 MOVE WS-CA-ROW-TR-CODE-OUT(I) TO TRTTYPO(I) |
| 1403 | 140300* Type Description |
| 1404 | 140400 IF UPDATE-REQUESTED-ON(I) |
| 1405 | 140500 AND WS-ONLY-1-VALID-ACTION |
| 1406 | 140600 AND FLG-BAD-ACTIONS-SELECTED-NO |
| 1407 | 140700 IF FLG-UPDATE-COMPLETED |
| 1408 | 140800 SET SELECT-BLANK(I) TO TRUE |
| 1409 | 140900 ELSE |
| 1410 | 141000 SET CA-UPDATE-REQUESTED TO TRUE |
| 1411 | 141100 END-IF |
| 1412 | 141200 IF CHANGES-HAVE-OCCURRED |
| 1413 | 141300 EVALUATE TRUE |
| 1414 | 141400 WHEN FLG-ROW-DESCRIPTION-BLANK |
| 1415 | 141500 MOVE LIT-ASTERISK TO TRTYPDO(I) |
| 1416 | 141600 WHEN OTHER |
| 1417 | 141700 MOVE WS-ROW-TR-DESC-IN(I) |
| 1418 | 141800 TO TRTYPDO(I) |
| 1419 | 141900 END-EVALUATE |
| 1420 | 142000 ELSE |
| 1421 | 142100 MOVE WS-CA-ROW-TR-DESC-OUT(I) TO TRTYPDO(I) |
| 1422 | 142200 END-IF |
| 1423 | 142300 ELSE |
| 1424 | 142400 MOVE WS-CA-ROW-TR-DESC-OUT(I) TO TRTYPDO(I) |
| 1425 | 142500 END-IF |
| 1426 | 142600 |
| 1427 | 142700* Select flag because we may update it above |
| 1428 | 142800 MOVE WS-EDIT-SELECT(I) TO TRTSELO(I) |
| 1429 | 142900 END-IF |
| 1430 | 143000 END-PERFORM |
| 1431 | 143100 . |
| 1432 | 143200 |
| 1433 | 143300 2300-SCREEN-ARRAY-INIT-EXIT. |
| 1434 | 143400 EXIT |
| 1435 | 143500 . |
| 1436 | 143600 |
| 1437 | 143700 |
| 1438 | 143800 2400-SETUP-SCREEN-ATTRS. |
| 1439 | 143900* INITIALIZE SEARCH CRITERIA |
| 1440 | 144000 IF EIBCALEN = 0 |
| 1441 | 144100 OR (CDEMO-PGM-ENTER |
| 1442 | 144200 AND CDEMO-FROM-PROGRAM = LIT-ADMINPGM) |
| 1443 | 144300 CONTINUE |
| 1444 | 144400 ELSE |
| 1445 | 144500 EVALUATE TRUE |
| 1446 | 144600 WHEN WS-ACTIONS-REQUESTED > 0 |
| 1447 | 144700 MOVE WS-IN-TYPE-CD TO TRTYPEO OF CTRTLIAO |
| 1448 | 144800 MOVE DFHBMASF TO TRTYPEA OF CTRTLIAI |
| 1449 | 144900 MOVE DFHBLUE TO TRTYPEC OF CTRTLIAO |
| 1450 | 145000 WHEN FLG-TYPEFILTER-ISVALID |
| 1451 | 145100 WHEN FLG-TYPEFILTER-NOT-OK |
| 1452 | 145200 MOVE WS-IN-TYPE-CD TO TRTYPEO OF CTRTLIAO |
| 1453 | 145300 MOVE DFHBMFSE TO TRTYPEA OF CTRTLIAI |
| 1454 | 145400 WHEN WS-IN-TYPE-CD = 0 |
| 1455 | 145500 MOVE LOW-VALUES TO TRTYPEO OF CTRTLIAO |
| 1456 | 145600 WHEN OTHER |
| 1457 | 145700 MOVE LOW-VALUES TO TRTYPEO OF CTRTLIAO |
| 1458 | 145800 MOVE DFHBMFSE TO TRTYPEA OF CTRTLIAI |
| 1459 | 145900 END-EVALUATE |
| 1460 | 146000 |
| 1461 | 146100 EVALUATE TRUE |
| 1462 | 146200 WHEN WS-ACTIONS-REQUESTED > 0 |
| 1463 | 146300 MOVE WS-IN-TYPE-DESC TO TRDESCO OF CTRTLIAO |
| 1464 | 146400 MOVE DFHBMASF TO TRDESCA OF CTRTLIAI |
| 1465 | 146500 MOVE DFHBLUE TO TRDESCC OF CTRTLIAO |
| 1466 | 146600 WHEN FLG-DESCFILTER-ISVALID |
| 1467 | 146700 WHEN FLG-DESCFILTER-NOT-OK |
| 1468 | 146800 MOVE WS-IN-TYPE-DESC TO TRDESCO OF CTRTLIAO |
| 1469 | 146900 MOVE DFHBMFSE TO TRDESCA OF CTRTLIAI |
| 1470 | 147000 WHEN OTHER |
| 1471 | 147100 MOVE DFHBMFSE TO TRDESCA OF CTRTLIAI |
| 1472 | 147200 END-EVALUATE |
| 1473 | 147300 END-IF |
| 1474 | 147400 |
| 1475 | 147500* POSITION CURSOR |
| 1476 | 147600 |
| 1477 | 147700 IF FLG-TYPEFILTER-NOT-OK |
| 1478 | 147800 MOVE DFHRED TO TRTYPEC OF CTRTLIAO |
| 1479 | 147900 MOVE -1 TO TRTYPEL OF CTRTLIAI |
| 1480 | 148000 END-IF |
| 1481 | 148100 |
| 1482 | 148200 IF FLG-DESCFILTER-NOT-OK |
| 1483 | 148300 MOVE DFHRED TO TRDESCC OF CTRTLIAO |
| 1484 | 148400 MOVE -1 TO TRDESCL OF CTRTLIAI |
| 1485 | 148500 END-IF |
| 1486 | 148600 |
| 1487 | 148700 |
| 1488 | 148800* IF NO ERRORS POSITION CURSOR |
| 1489 | 148900 IF INPUT-OK |
| 1490 | 149000 IF WS-ACTIONS-REQUESTED > 0 |
| 1491 | 149100 AND NOT CCARD-AID-PFK07 |
| 1492 | 149200 AND NOT CCARD-AID-PFK08 |
| 1493 | 149300 CONTINUE |
| 1494 | 149400 ELSE |
| 1495 | 149500 MOVE -1 TO TRTYPEL OF CTRTLIAI |
| 1496 | 149600 END-IF |
| 1497 | 149700 END-IF |
| 1498 | 149800 . |
| 1499 | 149900 2400-SETUP-SCREEN-ATTRS-EXIT. |
| 1500 | 150000 EXIT |
| 1501 | 150100 . |
| 1502 | 150200 |
| 1503 | 150300 |
| 1504 | 150400 2500-SETUP-MESSAGE. |
| 1505 | 150500* SETUP MESSAGE |
| 1506 | 150600 EVALUATE TRUE |
| 1507 | 150700 WHEN FLG-DELETED-YES |
| 1508 | 150800 SET WS-INFORM-DELETE-SUCCESS TO TRUE |
| 1509 | 150900 WHEN FLG-UPDATE-COMPLETED |
| 1510 | 151000 SET WS-INFORM-UPDATE-SUCCESS TO TRUE |
| 1511 | 151100 WHEN FLG-TYPEFILTER-NOT-OK |
| 1512 | 151200 WHEN FLG-DESCFILTER-NOT-OK |
| 1513 | 151300 CONTINUE |
| 1514 | 151400 WHEN CCARD-AID-ENTER |
| 1515 | 151500 AND WS-DELETES-REQUESTED > 0 |
| 1516 | 151600 AND WS-ONLY-1-ACTION |
| 1517 | 151700 AND WS-ONLY-1-VALID-ACTION |
| 1518 | 151800 IF WS-NO-INFO-MESSAGE |
| 1519 | 151900 AND FLG-TYPEFILTER-CHANGED-NO |
| 1520 | 152000 AND FLG-DESCFILTER-CHANGED-NO |
| 1521 | 152100 SET WS-INFORM-DELETE TO TRUE |
| 1522 | 152200 END-IF |
| 1523 | 152300 WHEN CCARD-AID-ENTER |
| 1524 | 152400 AND WS-UPDATES-REQUESTED > 0 |
| 1525 | 152500 AND WS-ONLY-1-ACTION |
| 1526 | 152600 AND WS-ONLY-1-VALID-ACTION |
| 1527 | 152700 IF WS-NO-INFO-MESSAGE |
| 1528 | 152800 AND FLG-TYPEFILTER-CHANGED-NO |
| 1529 | 152900 AND FLG-DESCFILTER-CHANGED-NO |
| 1530 | 153000 SET WS-INFORM-UPDATE TO TRUE |
| 1531 | 153100 END-IF |
| 1532 | 153200 WHEN CCARD-AID-PFK07 |
| 1533 | 153300 AND CA-FIRST-PAGE |
| 1534 | 153400 MOVE 'No previous pages to display' |
| 1535 | 153500 TO WS-RETURN-MSG |
| 1536 | 153600 WHEN CCARD-AID-PFK08 |
| 1537 | 153700 AND CA-NEXT-PAGE-NOT-EXISTS |
| 1538 | 153800 AND CA-LAST-PAGE-SHOWN |
| 1539 | 153900 MOVE 'No more pages to display' |
| 1540 | 154000 TO WS-RETURN-MSG |
| 1541 | 154100 WHEN CCARD-AID-PFK08 |
| 1542 | 154200 AND CA-NEXT-PAGE-NOT-EXISTS |
| 1543 | 154300 IF WS-NO-INFO-MESSAGE |
| 1544 | 154400 SET WS-INFORM-REC-ACTIONS TO TRUE |
| 1545 | 154500 END-IF |
| 1546 | 154600 IF CA-LAST-PAGE-NOT-SHOWN |
| 1547 | 154700 AND CA-NEXT-PAGE-NOT-EXISTS |
| 1548 | 154800 SET CA-LAST-PAGE-SHOWN TO TRUE |
| 1549 | 154900 END-IF |
| 1550 | 155000 WHEN WS-NO-INFO-MESSAGE |
| 1551 | 155100 WHEN CA-NEXT-PAGE-EXISTS |
| 1552 | 155200 SET WS-INFORM-REC-ACTIONS TO TRUE |
| 1553 | 155300 WHEN OTHER |
| 1554 | 155400 SET WS-NO-INFO-MESSAGE TO TRUE |
| 1555 | 155500 END-EVALUATE |
| 1556 | 155600 |
| 1557 | 155700 MOVE WS-RETURN-MSG TO ERRMSGO OF CTRTLIAO |
| 1558 | 155800 |
| 1559 | 155900 |
| 1560 | 156000* Center justify the text |
| 1561 | 156100* |
| 1562 | 156200 COMPUTE WS-STRING-LEN = |
| 1563 | 156300 FUNCTION LENGTH( |
| 1564 | 156400 FUNCTION TRIM(WS-INFO-MSG) |
| 1565 | 156500 ) |
| 1566 | 156600 COMPUTE WS-STRING-MID = |
| 1567 | 156700 (FUNCTION LENGTH(WS-INFO-MSG) |
| 1568 | 156800 - WS-STRING-LEN) / 2 + 1 |
| 1569 | 156900 MOVE WS-INFO-MSG(1:WS-STRING-LEN) |
| 1570 | 157000 TO WS-STRING-OUT(WS-STRING-MID: |
| 1571 | 157100 WS-STRING-LEN) |
| 1572 | 157200 |
| 1573 | 157300 |
| 1574 | 157400 |
| 1575 | 157500 IF NOT WS-NO-INFO-MESSAGE |
| 1576 | 157600 AND NOT WS-MESG-NO-RECORDS-FOUND |
| 1577 | 157700 MOVE WS-STRING-OUT TO INFOMSGO OF CTRTLIAO |
| 1578 | 157800 MOVE DFHNEUTR TO INFOMSGC OF CTRTLIAO |
| 1579 | 157900 END-IF |
| 1580 | 158000 |
| 1581 | 158100 . |
| 1582 | 158200 2500-SETUP-MESSAGE-EXIT. |
| 1583 | 158300 EXIT |
| 1584 | 158400 . |
| 1585 | 158500 |
| 1586 | 158600 |
| 1587 | 158700 2600-SEND-SCREEN. |
| 1588 | 158800 EXEC CICS SEND MAP(LIT-THISMAP) |
| 1589 | 158900 MAPSET(LIT-THISMAPSET) |
| 1590 | 159000 FROM(CTRTLIAO) |
| 1591 | 159100 CURSOR |
| 1592 | 159200 ERASE |
| 1593 | 159300 RESP(WS-RESP-CD) |
| 1594 | 159400 FREEKB |
| 1595 | 159500 END-EXEC |
| 1596 | 159600 . |
| 1597 | 159700 2600-SEND-SCREEN-EXIT. |
| 1598 | 159800 EXIT |
| 1599 | 159900 . |
| 1600 | 160000 |
| 1601 | 160100 |
| 1602 | 160200 |
| 1603 | 160300 8000-READ-FORWARD. |
| 1604 | 160400 MOVE LOW-VALUES TO WS-CA-ALL-ROWS-OUT |
| 1605 | 160500 |
| 1606 | 160600***************************************************************** |
| 1607 | 160700* Start Reading |
| 1608 | 160800***************************************************************** |
| 1609 | 160900 PERFORM 9400-OPEN-FORWARD-CURSOR |
| 1610 | 161000 THRU 9400-OPEN-FORWARD-CURSOR-EXIT |
| 1611 | 161100 |
| 1612 | 161200 IF WS-DB2-ERROR |
| 1613 | 161300 GO TO 8000-READ-FORWARD-EXIT |
| 1614 | 161400 END-IF |
| 1615 | 161500***************************************************************** |
| 1616 | 161600* Loop through records and fetch max screen records |
| 1617 | 161700***************************************************************** |
| 1618 | 161800 MOVE ZEROES TO WS-ROW-NUMBER |
| 1619 | 161900 SET CA-NEXT-PAGE-EXISTS TO TRUE |
| 1620 | 162000 SET MORE-RECORDS-TO-READ TO TRUE |
| 1621 | 162100 |
| 1622 | 162200 PERFORM UNTIL READ-LOOP-EXIT |
| 1623 | 162300 |
| 1624 | 162400 INITIALIZE DCLTRANSACTION-TYPE |
| 1625 | 162500 |
| 1626 | 162600 EXEC SQL |
| 1627 | 162700 FETCH C-TR-TYPE-FORWARD |
| 1628 | 162800 INTO :DCL-TR-TYPE |
| 1629 | 162900 ,:DCL-TR-DESCRIPTION |
| 1630 | 163000 END-EXEC |
| 1631 | 163100 |
| 1632 | 163200 MOVE SQLCODE TO WS-DISP-SQLCODE |
| 1633 | 163300 |
| 1634 | 163400 EVALUATE TRUE |
| 1635 | 163500 WHEN SQLCODE = ZERO |
| 1636 | 163600 ADD 1 TO WS-ROW-NUMBER |
| 1637 | 163700 |
| 1638 | 163800 MOVE DCL-TR-TYPE TO WS-CA-ROW-TR-CODE-OUT( |
| 1639 | 163900 WS-ROW-NUMBER) |
| 1640 | 164000 |
| 1641 | 164100 MOVE DCL-TR-DESCRIPTION-TEXT |
| 1642 | 164200 TO WS-CA-ROW-TR-DESC-OUT( |
| 1643 | 164300 WS-ROW-NUMBER) |
| 1644 | 164400 IF WS-ROW-NUMBER = 1 |
| 1645 | 164500 MOVE DCL-TR-TYPE TO WS-CA-FIRST-TR-CODE |
| 1646 | 164600 IF WS-CA-SCREEN-NUM = 0 |
| 1647 | 164700 ADD +1 TO WS-CA-SCREEN-NUM |
| 1648 | 164800 ELSE |
| 1649 | 164900 CONTINUE |
| 1650 | 165000 END-IF |
| 1651 | 165100 ELSE |
| 1652 | 165200 CONTINUE |
| 1653 | 165300 END-IF |
| 1654 | 165400****************************************************************** |
| 1655 | 165500* Max Screen size |
| 1656 | 165600****************************************************************** |
| 1657 | 165700 IF WS-ROW-NUMBER = WS-MAX-SCREEN-LINES |
| 1658 | 165800 SET READ-LOOP-EXIT TO TRUE |
| 1659 | 165900 MOVE DCL-TR-TYPE TO WS-CA-LAST-TR-CODE |
| 1660 | 166000 |
| 1661 | 166100 EXEC SQL |
| 1662 | 166200 FETCH C-TR-TYPE-FORWARD |
| 1663 | 166300 INTO :DCL-TR-TYPE |
| 1664 | 166400 ,:DCL-TR-DESCRIPTION |
| 1665 | 166500 END-EXEC |
| 1666 | 166600 |
| 1667 | 166700 MOVE SQLCODE TO WS-DISP-SQLCODE |
| 1668 | 166800 |
| 1669 | 166900 EVALUATE TRUE |
| 1670 | 167000 WHEN SQLCODE = ZERO |
| 1671 | 167100 SET CA-NEXT-PAGE-EXISTS |
| 1672 | 167200 TO TRUE |
| 1673 | 167300 MOVE DCL-TR-TYPE TO WS-CA-LAST-TR-CODE |
| 1674 | 167400 WHEN SQLCODE = +100 |
| 1675 | 167500 SET CA-NEXT-PAGE-NOT-EXISTS TO TRUE |
| 1676 | 167600 |
| 1677 | 167700 IF WS-RETURN-MSG-OFF |
| 1678 | 167800 AND CCARD-AID-PFK08 |
| 1679 | 167900 SET WS-MESG-NO-MORE-RECORDS TO TRUE |
| 1680 | 168000 END-IF |
| 1681 | 168100 WHEN OTHER |
| 1682 | 168200* This is some kind of error. Close Cursor |
| 1683 | 168300* And exit |
| 1684 | 168400 SET READ-LOOP-EXIT TO TRUE |
| 1685 | 168500 IF WS-RETURN-MSG-OFF |
| 1686 | 168600 MOVE 'C-TR-TYPE-FORWARD fetch' |
| 1687 | 168700 TO |
| 1688 | 168800 WS-DB2-CURRENT-ACTION |
| 1689 | 168900 PERFORM 9999-FORMAT-DB2-MESSAGE |
| 1690 | 169000 THRU 9999-FORMAT-DB2-MESSAGE-EXIT |
| 1691 | 169100 END-IF |
| 1692 | 169200 END-EVALUATE |
| 1693 | 169300 END-IF |
| 1694 | 169400 WHEN SQLCODE = +100 |
| 1695 | 169500 SET READ-LOOP-EXIT TO TRUE |
| 1696 | 169600 SET CA-NEXT-PAGE-NOT-EXISTS TO TRUE |
| 1697 | 169700 MOVE DCL-TR-TYPE TO WS-CA-LAST-TR-CODE |
| 1698 | 169800 IF WS-RETURN-MSG-OFF |
| 1699 | 169900 AND CCARD-AID-PFK08 |
| 1700 | 170000 SET WS-MESG-NO-MORE-RECORDS TO TRUE |
| 1701 | 170100 END-IF |
| 1702 | 170200 IF WS-CA-SCREEN-NUM = 1 |
| 1703 | 170300 AND WS-ROW-NUMBER = 0 |
| 1704 | 170400 SET WS-MESG-NO-RECORDS-FOUND TO TRUE |
| 1705 | 170500 END-IF |
| 1706 | 170600 WHEN OTHER |
| 1707 | 170700* This is some kind of error. Change to END BR |
| 1708 | 170800* And exit |
| 1709 | 170900 SET READ-LOOP-EXIT TO TRUE |
| 1710 | 171000 SET WS-DB2-ERROR TO TRUE |
| 1711 | 171100 IF WS-RETURN-MSG-OFF |
| 1712 | 171200 MOVE 'C-TR-TYPE-FORWARD close' |
| 1713 | 171300 TO WS-DB2-CURRENT-ACTION |
| 1714 | 171400 |
| 1715 | 171500 PERFORM 9999-FORMAT-DB2-MESSAGE |
| 1716 | 171600 THRU 9999-FORMAT-DB2-MESSAGE-EXIT |
| 1717 | 171700 END-IF |
| 1718 | 171800 END-EVALUATE |
| 1719 | 171900 END-PERFORM |
| 1720 | 172000 |
| 1721 | 172100 PERFORM 9450-CLOSE-FORWARD-CURSOR |
| 1722 | 172200 THRU 9450-CLOSE-FORWARD-CURSOR-EXIT |
| 1723 | 172300 . |
| 1724 | 172400 8000-READ-FORWARD-EXIT. |
| 1725 | 172500 EXIT |
| 1726 | 172600 . |
| 1727 | 172700 8100-READ-BACKWARDS. |
| 1728 | 172800 |
| 1729 | 172900 MOVE LOW-VALUES TO WS-CA-ALL-ROWS-OUT |
| 1730 | 173000 |
| 1731 | 173100 MOVE WS-CA-FIRST-TTYPEKEY TO WS-CA-LAST-TTYPEKEY |
| 1732 | 173200***************************************************************** |
| 1733 | 173300* Loop through records and fetch max screen records |
| 1734 | 173400***************************************************************** |
| 1735 | 173500 COMPUTE WS-ROW-NUMBER = |
| 1736 | 173600 WS-MAX-SCREEN-LINES |
| 1737 | 173700 END-COMPUTE |
| 1738 | 173800 SET CA-NEXT-PAGE-EXISTS TO TRUE |
| 1739 | 173900 SET MORE-RECORDS-TO-READ TO TRUE |
| 1740 | 174000 |
| 1741 | 174100***************************************************************** |
| 1742 | 174200* Now we show the records from previous set. |
| 1743 | 174300***************************************************************** |
| 1744 | 174400* Start Reading Backwards |
| 1745 | 174500***************************************************************** |
| 1746 | 174600 PERFORM 9500-OPEN-BACKWARD-CURSOR |
| 1747 | 174700 THRU 9500-OPEN-BACKWARD-CURSOR-EXIT |
| 1748 | 174800 |
| 1749 | 174900 PERFORM UNTIL READ-LOOP-EXIT |
| 1750 | 175000 |
| 1751 | 175100 INITIALIZE DCLTRANSACTION-TYPE |
| 1752 | 175200 |
| 1753 | 175300 EXEC SQL |
| 1754 | 175400 FETCH C-TR-TYPE-BACKWARD |
| 1755 | 175500 INTO :DCL-TR-TYPE |
| 1756 | 175600 ,:DCL-TR-DESCRIPTION |
| 1757 | 175700 END-EXEC |
| 1758 | 175800 |
| 1759 | 175900 MOVE SQLCODE TO WS-DISP-SQLCODE |
| 1760 | 176000 |
| 1761 | 176100 EVALUATE TRUE |
| 1762 | 176200 WHEN SQLCODE = ZERO |
| 1763 | 176300 MOVE DCL-TR-TYPE |
| 1764 | 176400 TO WS-CA-ROW-TR-CODE-OUT(WS-ROW-NUMBER) |
| 1765 | 176500 MOVE DCL-TR-DESCRIPTION-TEXT |
| 1766 | 176600 TO |
| 1767 | 176700 WS-CA-ROW-TR-DESC-OUT(WS-ROW-NUMBER) |
| 1768 | 176800 |
| 1769 | 176900 SUBTRACT 1 FROM WS-ROW-NUMBER |
| 1770 | 177000 IF WS-ROW-NUMBER = 0 |
| 1771 | 177100 SET READ-LOOP-EXIT TO TRUE |
| 1772 | 177200 MOVE DCL-TR-TYPE |
| 1773 | 177300 TO WS-CA-FIRST-TR-CODE |
| 1774 | 177400 ELSE |
| 1775 | 177500 CONTINUE |
| 1776 | 177600 END-IF |
| 1777 | 177700 WHEN OTHER |
| 1778 | 177800* This is some kind of error. Change to END BR |
| 1779 | 177900* And exit |
| 1780 | 178000 SET READ-LOOP-EXIT TO TRUE |
| 1781 | 178100 SET WS-DB2-ERROR TO TRUE |
| 1782 | 178200 |
| 1783 | 178300 IF WS-RETURN-MSG-OFF |
| 1784 | 178400 MOVE 'Error on fetch Cursor C-TR-TYPE-BACKWARD' |
| 1785 | 178500 TO WS-DB2-CURRENT-ACTION |
| 1786 | 178600 PERFORM 9999-FORMAT-DB2-MESSAGE |
| 1787 | 178700 THRU 9999-FORMAT-DB2-MESSAGE-EXIT |
| 1788 | 178800 |
| 1789 | 178900 END-IF |
| 1790 | 179000 END-EVALUATE |
| 1791 | 179100 END-PERFORM |
| 1792 | 179200 . |
| 1793 | 179300 |
| 1794 | 179400 8100-READ-BACKWARDS-EXIT. |
| 1795 | 179500 PERFORM 9550-CLOSE-BACK-CURSOR |
| 1796 | 179600 THRU 9550-CLOSE-BACK-CURSOR-EXIT |
| 1797 | 179700 |
| 1798 | 179800 EXIT |
| 1799 | 179900 . |
| 1800 | 180000 |
| 1801 | 180100 9100-CHECK-FILTERS. |
| 1802 | 180200 |
| 1803 | 180300 EXEC SQL |
| 1804 | 180400 SELECT COUNT(1) |
| 1805 | 180500 INTO :WS-RECORDS-COUNT |
| 1806 | 180600 FROM CARDDEMO.TRANSACTION_TYPE |
| 1807 | 180700 WHERE ((:WS-EDIT-TYPE-FLAG = '1' |
| 1808 | 180900 AND TR_TYPE = :WS-TYPE-CD-FILTER) |
| 1809 | 181000 OR :WS-EDIT-TYPE-FLAG <> '1') |
| 1810 | 181200 AND |
| 1811 | 181300 ((:WS-EDIT-DESC-FLAG = '1' |
| 1812 | 181500 AND TR_DESCRIPTION LIKE |
| 1813 | 181600 TRIM(:WS-TYPE-DESC-FILTER)) |
| 1814 | 181700 OR :WS-EDIT-DESC-FLAG <> '1') |
| 1815 | 181900 END-EXEC |
| 1816 | 182000 |
| 1817 | 182100 MOVE SQLCODE TO WS-DISP-SQLCODE |
| 1818 | 182200 |
| 1819 | 182300 EVALUATE TRUE |
| 1820 | 182400 WHEN SQLCODE = ZERO |
| 1821 | 182500 CONTINUE |
| 1822 | 182600 WHEN OTHER |
| 1823 | 182700 SET INPUT-ERROR TO TRUE |
| 1824 | 182800 |
| 1825 | 182900 IF WS-RETURN-MSG-OFF |
| 1826 | 183000 MOVE 'Error reading TRANSACTION_TYPE table ' |
| 1827 | 183100 TO WS-DB2-CURRENT-ACTION |
| 1828 | 183200 PERFORM 9999-FORMAT-DB2-MESSAGE |
| 1829 | 183300 THRU 9999-FORMAT-DB2-MESSAGE-EXIT |
| 1830 | 183400 END-IF |
| 1831 | 183500 GO TO 9100-CHECK-FILTERS-EXIT |
| 1832 | 183600 END-EVALUATE |
| 1833 | 183700 . |
| 1834 | 183800 9100-CHECK-FILTERS-EXIT. |
| 1835 | 183900 EXIT |
| 1836 | 184000 . |
| 1837 | 184100 9200-UPDATE-RECORD. |
| 1838 | 184200 |
| 1839 | 184300 MOVE WS-ROW-TR-CODE-IN (I-SELECTED) |
| 1840 | 184400 TO DCL-TR-TYPE |
| 1841 | 184500 MOVE FUNCTION TRIM(WS-ROW-TR-DESC-IN (I-SELECTED)) |
| 1842 | 184600 TO DCL-TR-DESCRIPTION-TEXT |
| 1843 | 184700 COMPUTE DCL-TR-DESCRIPTION-LEN |
| 1844 | 184800 = FUNCTION LENGTH(WS-ROW-TR-DESC-IN (I-SELECTED)) |
| 1845 | 184900 |
| 1846 | 185000 EXEC SQL |
| 1847 | 185100 UPDATE CARDDEMO.TRANSACTION_TYPE |
| 1848 | 185200 SET TR_DESCRIPTION = :DCL-TR-DESCRIPTION |
| 1849 | 185300 WHERE TR_TYPE = :DCL-TR-TYPE |
| 1850 | 185400 END-EXEC |
| 1851 | 185500 |
| 1852 | 185600 MOVE SQLCODE TO WS-DISP-SQLCODE |
| 1853 | 185700 |
| 1854 | 185800 EVALUATE TRUE |
| 1855 | 185900 WHEN SQLCODE = ZERO |
| 1856 | 186000 EXEC CICS SYNCPOINT END-EXEC |
| 1857 | 186100 SET CA-UPDATE-SUCCEEDED TO TRUE |
| 1858 | 186200 IF WS-NO-INFO-MESSAGE |
| 1859 | 186300 SET WS-INFORM-UPDATE-SUCCESS TO TRUE |
| 1860 | 186400 END-IF |
| 1861 | 186500 WHEN SQLCODE = +100 |
| 1862 | 186600 SET CA-UPDATE-REQUESTED TO TRUE |
| 1863 | 186700 IF WS-RETURN-MSG-OFF |
| 1864 | 186800 MOVE 'Record not found. Deleted by others ? ' |
| 1865 | 186900 TO WS-DB2-CURRENT-ACTION |
| 1866 | 187000 PERFORM 9999-FORMAT-DB2-MESSAGE |
| 1867 | 187100 THRU 9999-FORMAT-DB2-MESSAGE-EXIT |
| 1868 | 187200 END-IF |
| 1869 | 187300 GO TO 9200-UPDATE-RECORD-EXIT |
| 1870 | 187400 WHEN SQLCODE = -911 |
| 1871 | 187500 SET CA-UPDATE-REQUESTED TO TRUE |
| 1872 | 187600 SET INPUT-ERROR TO TRUE |
| 1873 | 187700 IF WS-RETURN-MSG-OFF |
| 1874 | 187800 MOVE 'Deadlock. Someone else updating ?' |
| 1875 | 187900 TO WS-DB2-CURRENT-ACTION |
| 1876 | 188000 PERFORM 9999-FORMAT-DB2-MESSAGE |
| 1877 | 188100 THRU 9999-FORMAT-DB2-MESSAGE-EXIT |
| 1878 | 188200 END-IF |
| 1879 | 188300 GO TO 9200-UPDATE-RECORD-EXIT |
| 1880 | 188400 WHEN SQLCODE < 0 |
| 1881 | 188500 SET CA-UPDATE-REQUESTED TO TRUE |
| 1882 | 188600 IF WS-RETURN-MSG-OFF |
| 1883 | 188700 MOVE 'Update failed with' |
| 1884 | 188800 TO WS-DB2-CURRENT-ACTION |
| 1885 | 188900 PERFORM 9999-FORMAT-DB2-MESSAGE |
| 1886 | 189000 THRU 9999-FORMAT-DB2-MESSAGE-EXIT |
| 1887 | 189100 END-IF |
| 1888 | 189200 GO TO 9200-UPDATE-RECORD-EXIT |
| 1889 | 189300 END-EVALUATE |
| 1890 | 189400 . |
| 1891 | 189500 |
| 1892 | 189600 9200-UPDATE-RECORD-EXIT. |
| 1893 | 189700 EXIT |
| 1894 | 189800 . |
| 1895 | 189900 |
| 1896 | 190000 9300-DELETE-RECORD. |
| 1897 | 190100 |
| 1898 | 190200 MOVE WS-ROW-TR-CODE-IN (I-SELECTED) TO DCL-TR-TYPE |
| 1899 | 190300 |
| 1900 | 190400 EXEC SQL |
| 1901 | 190500 DELETE FROM CARDDEMO.TRANSACTION_TYPE |
| 1902 | 190600 WHERE TR_TYPE = :DCL-TR-TYPE |
| 1903 | 190700 END-EXEC |
| 1904 | 190800 |
| 1905 | 190900 MOVE SQLCODE TO WS-DISP-SQLCODE |
| 1906 | 191000 |
| 1907 | 191100 EVALUATE TRUE |
| 1908 | 191200 WHEN SQLCODE = ZERO |
| 1909 | 191300 EXEC CICS SYNCPOINT END-EXEC |
| 1910 | 191400 SET CA-DELETE-SUCCEEDED TO TRUE |
| 1911 | 191500 IF WS-NO-INFO-MESSAGE |
| 1912 | 191600 SET WS-INFORM-DELETE-SUCCESS TO TRUE |
| 1913 | 191700 END-IF |
| 1914 | 191800 WHEN SQLCODE = -532 |
| 1915 | 191900 SET CA-DELETE-REQUESTED TO TRUE |
| 1916 | 192000 |
| 1917 | 192100 IF WS-RETURN-MSG-OFF |
| 1918 | 192200 MOVE |
| 1919 | 192300 'Please delete associated child records first:' |
| 1920 | 192400 TO WS-DB2-CURRENT-ACTION |
| 1921 | 192500 PERFORM 9999-FORMAT-DB2-MESSAGE |
| 1922 | 192600 THRU 9999-FORMAT-DB2-MESSAGE-EXIT |
| 1923 | 192700 END-IF |
| 1924 | 192800 |
| 1925 | 192900 GO TO 9300-DELETE-RECORD-EXIT |
| 1926 | 193000 WHEN OTHER |
| 1927 | 193100 IF WS-RETURN-MSG-OFF |
| 1928 | 193200 MOVE |
| 1929 | 193300 'Delete failed with message:' |
| 1930 | 193400 TO WS-DB2-CURRENT-ACTION |
| 1931 | 193500 PERFORM 9999-FORMAT-DB2-MESSAGE |
| 1932 | 193600 THRU 9999-FORMAT-DB2-MESSAGE-EXIT |
| 1933 | 193700 END-IF |
| 1934 | 193800 GO TO 9300-DELETE-RECORD-EXIT |
| 1935 | 193900 END-EVALUATE |
| 1936 | 194000 . |
| 1937 | 194100 |
| 1938 | 194200 9300-DELETE-RECORD-EXIT. |
| 1939 | 194300 EXIT |
| 1940 | 194400 . |
| 1941 | 194500 |
| 1942 | 194600 9400-OPEN-FORWARD-CURSOR. |
| 1943 | 194700 EXEC SQL |
| 1944 | 194800 OPEN C-TR-TYPE-FORWARD |
| 1945 | 194900 END-EXEC |
| 1946 | 195000 |
| 1947 | 195100 MOVE SQLCODE TO WS-DISP-SQLCODE |
| 1948 | 195200 |
| 1949 | 195300 EVALUATE TRUE |
| 1950 | 195400 WHEN SQLCODE = ZERO |
| 1951 | 195500 CONTINUE |
| 1952 | 195600 WHEN OTHER |
| 1953 | 195700* This is some kind of error. Close Cursor |
| 1954 | 195800* And exit |
| 1955 | 195900 SET WS-DB2-ERROR TO TRUE |
| 1956 | 196000 IF WS-RETURN-MSG-OFF |
| 1957 | 196100 MOVE |
| 1958 | 196200 'C-TR-TYPE-FORWARD Open' |
| 1959 | 196300 TO WS-DB2-CURRENT-ACTION |
| 1960 | 196400 PERFORM 9999-FORMAT-DB2-MESSAGE |
| 1961 | 196500 THRU 9999-FORMAT-DB2-MESSAGE-EXIT |
| 1962 | 196600 END-IF |
| 1963 | 196700 END-EVALUATE |
| 1964 | 196800 . |
| 1965 | 196900 9400-OPEN-FORWARD-CURSOR-EXIT. |
| 1966 | 197000 EXIT |
| 1967 | 197100 . |
| 1968 | 197200 |
| 1969 | 197300 |
| 1970 | 197400 9450-CLOSE-FORWARD-CURSOR. |
| 1971 | 197500 EXEC SQL |
| 1972 | 197600 CLOSE C-TR-TYPE-FORWARD |
| 1973 | 197700 END-EXEC |
| 1974 | 197800 |
| 1975 | 197900 MOVE SQLCODE TO WS-DISP-SQLCODE |
| 1976 | 198000 |
| 1977 | 198100 EVALUATE TRUE |
| 1978 | 198200 WHEN SQLCODE = ZERO |
| 1979 | 198300 CONTINUE |
| 1980 | 198400 WHEN OTHER |
| 1981 | 198500* This is some kind of error. Close Cursor |
| 1982 | 198600* And exit |
| 1983 | 198700 SET WS-DB2-ERROR TO TRUE |
| 1984 | 198800 IF WS-RETURN-MSG-OFF |
| 1985 | 198900 MOVE |
| 1986 | 199000 'C-TR-TYPE-FORWARD close' |
| 1987 | 199100 TO WS-DB2-CURRENT-ACTION |
| 1988 | 199200 PERFORM 9999-FORMAT-DB2-MESSAGE |
| 1989 | 199300 THRU 9999-FORMAT-DB2-MESSAGE-EXIT |
| 1990 | 199400 END-IF |
| 1991 | 199500 END-EVALUATE |
| 1992 | 199600 . |
| 1993 | 199700 9450-CLOSE-FORWARD-CURSOR-EXIT. |
| 1994 | 199800 EXIT |
| 1995 | 199900 . |
| 1996 | 200000 |
| 1997 | 200100 9500-OPEN-BACKWARD-CURSOR. |
| 1998 | 200200 EXEC SQL |
| 1999 | 200300 OPEN C-TR-TYPE-BACKWARD |
| 2000 | 200400 END-EXEC |
| 2001 | 200500 |
| 2002 | 200600 MOVE SQLCODE TO WS-DISP-SQLCODE |
| 2003 | 200700 |
| 2004 | 200800 EVALUATE TRUE |
| 2005 | 200900 WHEN SQLCODE = ZERO |
| 2006 | 201000 CONTINUE |
| 2007 | 201100 WHEN OTHER |
| 2008 | 201200* This is some kind of error. Close Cursor |
| 2009 | 201300* And exit |
| 2010 | 201400 SET WS-DB2-ERROR TO TRUE |
| 2011 | 201500 IF WS-RETURN-MSG-OFF |
| 2012 | 201600 MOVE |
| 2013 | 201700 'C-TR-TYPE-BACKWARD Open' |
| 2014 | 201800 TO WS-DB2-CURRENT-ACTION |
| 2015 | 201900 PERFORM 9999-FORMAT-DB2-MESSAGE |
| 2016 | 202000 THRU 9999-FORMAT-DB2-MESSAGE-EXIT |
| 2017 | 202100 END-IF |
| 2018 | 202200* |
| 2019 | 202300 END-EVALUATE |
| 2020 | 202400 . |
| 2021 | 202500 9500-OPEN-BACKWARD-CURSOR-EXIT. |
| 2022 | 202600 EXIT |
| 2023 | 202700 . |
| 2024 | 202800 |
| 2025 | 202900 |
| 2026 | 203000 9550-CLOSE-BACK-CURSOR. |
| 2027 | 203100 EXEC SQL |
| 2028 | 203200 CLOSE C-TR-TYPE-BACKWARD |
| 2029 | 203300 END-EXEC |
| 2030 | 203400 |
| 2031 | 203500 MOVE SQLCODE TO WS-DISP-SQLCODE |
| 2032 | 203600 |
| 2033 | 203700 EVALUATE TRUE |
| 2034 | 203800 WHEN SQLCODE = ZERO |
| 2035 | 203900 CONTINUE |
| 2036 | 204000 WHEN OTHER |
| 2037 | 204100* This is some kind of error. Close Cursor |
| 2038 | 204200* And exit |
| 2039 | 204300 SET WS-DB2-ERROR TO TRUE |
| 2040 | 204400 IF WS-RETURN-MSG-OFF |
| 2041 | 204500 MOVE |
| 2042 | 204600 'C-TR-TYPE-BACKWARD close' |
| 2043 | 204700 TO WS-DB2-CURRENT-ACTION |
| 2044 | 204800 PERFORM 9999-FORMAT-DB2-MESSAGE |
| 2045 | 204900 THRU 9999-FORMAT-DB2-MESSAGE-EXIT |
| 2046 | 205000 END-IF |
| 2047 | 205100 END-EVALUATE |
| 2048 | 205200 . |
| 2049 | 205300 9550-CLOSE-BACK-CURSOR-EXIT. |
| 2050 | 205400 EXIT |
| 2051 | 205500 . |
| 2052 | 205600***************************************************************** |
| 2053 | 205700*Common Db2 routines |
| 2054 | 205800***************************************************************** |
| 2055 | 205900 EXEC SQL INCLUDE CSDB2RPY END-EXEC |
| 2056 | 206000 |
| 2057 | 206100***************************************************************** |
| 2058 | 206200*Common code to store PFKey |
| 2059 | 206300***************************************************************** |
| 2060 | 206400 COPY 'CSSTRPFY' |
| 2061 | 206500 . |
| 2062 | 206600 |
| 2063 | 206700***************************************************************** |
| 2064 | 206800* Plain text exit - Dont use in production * |
| 2065 | 206900***************************************************************** |
| 2066 | 207000 SEND-PLAIN-TEXT. |
| 2067 | 207100 EXEC CICS SEND TEXT |
| 2068 | 207200 FROM(WS-RETURN-MSG) |
| 2069 | 207300 LENGTH(LENGTH OF WS-RETURN-MSG) |
| 2070 | 207400 ERASE |
| 2071 | 207500 FREEKB |
| 2072 | 207600 END-EXEC |
| 2073 | 207700 |
| 2074 | 207800 EXEC CICS RETURN |
| 2075 | 207900 END-EXEC |
| 2076 | 208000 . |
| 2077 | 208100 SEND-PLAIN-TEXT-EXIT. |
| 2078 | 208200 EXIT |
| 2079 | 208300 . |
| 2080 | 208400***************************************************************** |
| 2081 | 208500* Display Long text and exit * |
| 2082 | 208600* This is primarily for debugging and should not be used in * |
| 2083 | 208700* regular course * |
| 2084 | 208800***************************************************************** |
| 2085 | 208900 SEND-LONG-TEXT. |
| 2086 | 209000 EXEC CICS SEND TEXT |
| 2087 | 209100 FROM(WS-LONG-MSG) |
| 2088 | 209200 LENGTH(LENGTH OF WS-LONG-MSG) |
| 2089 | 209300 ERASE |
| 2090 | 209400 FREEKB |
| 2091 | 209500 END-EXEC |
| 2092 | 209600 |
| 2093 | 209700 EXEC CICS RETURN |
| 2094 | 209800 END-EXEC |
| 2095 | 209900 . |
| 2096 | 210000 SEND-LONG-TEXT-EXIT. |
| 2097 | 210100 EXIT |
| 2098 | 210200 . |