IMS DC Structure

21
This program receives data from LU62 system and also through its Online IMS screen. If the message is from LU62 then the PFKEY value will be space , program reads the data from the database and sends the data to LU62 system. If the message is from the Online IMS screen , then based on the PFKEY used message is send to different transaction(from the transaction message will be sent to its corresponding screen) or IMS screen directly. In the below screen shot we could see , based on PFKEY used message is sent the Transactions M3OVIEW and M3TRNSP(from these transaction the message will be sent to its corresponding screen) or to the Screen M3OMENU. IF PFKEY is space, then data is read from database and sent to the same input screen FICHE. The difference between sending the message to Transactions and to the screen directly is , If the message is sent to transaction then the program will be executed first before sending the message to the corresponding screen , then by the screen will be populated with data when it pops up. If the message is sent to screen directly then only those data sent in the message will be populated in the screen when it pops up , then once you are in the screen if you press any key , then the same data from the screen will to sent to its program to process and send more information back to the screen. In the below program I have attached the MFS format for the different layout of the screens used. You can look for the layout shown in color.

description

Introduction to IMS DC programming

Transcript of IMS DC Structure

Page 1: IMS DC Structure

This program receives data from LU62 system and also through its Online IMS screen. If the message is from LU62 then the PFKEY value will be space , program reads the data from the database and sends the data to LU62 system. If the message is from the Online IMS screen , then based on the PFKEY used message is send to different transaction(from the transaction message will be sent to its corresponding screen) or IMS screen directly. In the below screen shot we could see , based on PFKEY used message is sent the Transactions M3OVIEW and M3TRNSP(from these transaction the message will be sent to its corresponding screen) or to the Screen M3OMENU. IF PFKEY is space, then data is read from database and sent to the same input screen FICHE. The difference between sending the message to Transactions and to the screen directly is , If the message is sent to transaction then the program will be executed first before sending the message to the corresponding screen , then by the screen will be populated with data when it pops up. If the message is sent to screen directly then only those data sent in the message will be populated in the screen when it pops up , then once you are in the screen if you press any key , then the same data from the screen will to sent to its program to process and send more information back to the screen. In the below program I have attached the MFS format for the different layout of the screens used. You can look for the layout shown in color.

Page 2: IMS DC Structure
Page 3: IMS DC Structure

Screen shot of FICHE screen .

000100 IDENTIFICATION DIVISION. 11/06/91 000200 PROGRAM-ID. CA024335. CA024335 000300 AUTHOR. DON HOFFMAN. 06 LV007 000400 DATE-WRITTEN. 06/20/84. 000500 DATE-COMPILED. 000600 REMARKS. 004600 ENVIRONMENT DIVISION. 004700 DATA DIVISION. 004800 WORKING-STORAGE SECTION. 004900 77 77-PGMNAME PIC X(08) VALUE 'M3FICHE '. 005000 77 77-TRANNAME PIC X(08) VALUE 'M3FICHE '. CL**6 005100 005200 01 300-CALL-CONSTANTS. 005300 05 300-GU PIC X(04) VALUE 'GU' . 005400 05 300-ISRT PIC X(04) VALUE 'ISR T'. 005500 05 300-CHNG PIC X(04) VALUE 'CHN G'. 005600 05 300-PURG PIC X(04) VALUE 'PUR G'. 005700 005800 01 300-FUNC PIC X(04) VALUE SPAC ES. 005900 01 300-PARMCNT PIC S9(5) VALUE +0 C OMP SYNC. 006000 01 300-STCD-QC PIC X(02) VALUE 'QC' . 006100 01 300-STCD-GE PIC X(02) VALUE 'GE' . CL**4 006200 01 300-STCD-GB PIC X(02) VALUE 'GB' . CL**4 006300 01 300-STCD-II PIC X(02) VALUE 'II' . CL**4

Page 4: IMS DC Structure

006400 01 300-DB-CALL-CNT PIC S9(05) COMP-3 VA LUE ZERO. CL**4 006500 01 300- �403F PIC X(02) VALUE ' '. 006600********************************************* ********************* 006700* 300-403F HAS A HEX VALUE OF '403F' 006800********************************************* ********************* 006900 007000 01 300-IMS-RELOP. 007100 05 300-RELOP-EQ PIC X(02) VALUE ' =' . 007200 007300 01 300-PARA PIC X(08) VALUE SPAC ES. 007400 007500 01 300-DB-IO PIC X(3200) VALUE SP ACES. CL**7 007600 007700 01 420-TERMINAL-IO-AREA. 007800 05 420-MOD-NAME PIC X(08). 007900 05 420-TERMINAL-IO. 008000 10 420-CNT PIC S9(04) VALUE +0 COMP. 008100 10 FILLER PIC S9(04) VALUE +0 COMP. 008200 10 420-TERMINAL-DATA PIC X(314). CL**7 008300 000000 * the attached screen shot contains the MFS format for M3FICHE screen

C:\Documents and Settings\a1xmhzz\Desktop\IMS\TIS-Session\linked document\M3FICHE.doc

008400 01 430-MID-HOLD. 008500 05 430-MID-NAME PIC X(08) VALUE 'M3IFICHE'. 008600 05 430-MID. 008700 10 430-MID-TRANS PIC X(08). 008800 10 430-MID-PFKIND PIC X(01). 008900 10 430-MID-ORD-NO PIC X(10). 009000 10 430-MID-PSWD PIC X(08). 009100 10 430-MID-SECURE PIC X(61). CL**4 009200 10 FILLER PIC X(39). CL**7 009300 009400 01 440-MOD-HOLD. 009500 05 440-MOD-NAME PIC X(08) VA LUE 'M3OFICHE'. 009600 05 440-MOD. 009700 10 440-ORDER PIC X(10). 009800 10 440-PSWD PIC X(08). 009900 10 440-SECURE PIC X(61). CL**4 010000 10 440-REPEAT-DATA. 010100 15 440-FDATE1 PIC X(06). 010200 15 440-ADMIN1 PIC X(02). 010300 15 FILLER PIC X(20). CL**7 010400 15 440-FDATE2 PIC X(06). 010500 15 440-ADMIN2 PIC X(02). 010600 15 FILLER PIC X(20). CL**7 010700 15 440-FDATE3 PIC X(06). 010800 15 440-ADMIN3 PIC X(02). 010900 15 FILLER PIC X(20). CL**7 011000 15 440-FDATE4 PIC X(06). 011100 15 440-ADMIN4 PIC X(02). 011200 15 FILLER PIC X(20). CL**7 011300 15 440-FDATE5 PIC X(06). 011400 15 440-ADMIN5 PIC X(02).

Page 5: IMS DC Structure

011500 15 FILLER PIC X(20). CL**7 011600 10 440-ERRLINE PIC X(55). 011700 10 FILLER PIC X(40). CL**7 011800 011900********************************************* ********************* 012000* SINCE DUPLICATE KEYS CANNOT BE PUT ON THE D ATA BASE, THIS CNTR CL**2 012100* IS USED TO MAKE EACH ORDER UNIQUE 012200********************************************* ********************* 012300 01 450-SS-COUNTER PIC S9(03) C OMP VALUE +1. 012400 012500********************************************* ********************* 012600* THIS TABLE IS USED TO HOLD ALL DATES AND ADMINS FOUND * 012700* FOR A GIVEN ORDER NUMBER UNTIL THEY ARE P UT INTO THE MOD * 012800********************************************* ********************* 012900 01 470-SUBSC PIC S9(01) VALUE +0. CL**5 013000 01 470-DATE-ADMIN-TABLE. 013100 05 470-DATE-ADMIN OCCURS 5 TIMES. 013200 10 470-DATE PIC X(6). 013300 10 470-ADMIN PIC X(2). 013400 10 FILLER PIC X(20). CL**7 013500 013600********************************************* ********************* 013700* THIS FLAG IS USED TO INDICATE THAT AT LEAST ONE ORDER WITH CL**5 013800* THE SUPPLIED ORDER NUMBER WERE FOUND CL**5 013900********************************************* ********************* 014000 01 480-TABLE-ENTRIES-IND PIC X VALUE 'N'. CL**5 014100 014200********************************************* ********************* CL**4 014300** SECURE AREA TO HOLD THE SECURE SEGMENT'S SECURE INFORMATION ** CL**4 014400********************************************* ********************* CL**4 014500 01 490-SECURE-SEG. CL**4 014600 05 490-SECURE-SEG-1-55. CL**4 014700 10 490-SECURE-SEG-PSWD PIC X(08) . CL**4 014800 10 FILLER PIC X(47) . CL**4 014900 05 FILLER PIC X(08) . CL**4 015000 05 490-SECURE-SEG-EMP-ID PIC X(06) . CL**4 015100 05 FILLER PIC X(26) . CL**4 015200 CL**4 015300********************************************* ********************* CL**4 015400** SECURE AREA TO HOLD THE MIDS' AND MODS' S ECURE INFORMATION ** CL**4 015500********************************************* ********************* CL**4 015600 01 4A0-SECURE-IO-AREA. CL**4 015700 05 4A0-SECURE-IO-1-55. CL**4 015800 10 4A0-SECURE-IO-PSWD PIC X(08) . CL**4 015900 10 FILLER PIC X(47) . CL**4 016000 05 4A0-SECURE-IO-EMP-ID PIC X(06) . CL**4 016100 016200 01 500-MSG-IO. 016300 05 500-LL PIC S9(04) COMP . 016400 05 500-ZZ PIC S9(04) COMP . 016500 05 500-DEST PIC X(08). 016600 05 500-ORIG PIC X(05). 016700 05 500-MSG-DATA PIC X(500). CL**4 016800 016900 017000 01 FILLER PIC X(08 ) VALUE 'M3600'. 017100 01 600-ERROR-MESSAGES.

Page 6: IMS DC Structure

017200 017300 05 600-ERRMSG. 017400 10 600-MSGNO PIC X(03) VALUE SPACES. 017500 10 600-TEXT PIC X(52) VALUE SPACES. 017600 017700 05 600-STD-MSGS. 017800 10 600-ERR-001 PIC X(55) VALUE 017900 '001 DISPLAY COMPLETED'. 018000 10 600-ERR-007 PIC X(55) VALUE CL**4 018100 '007 INVALID PASSWORD ENTERED OR PASSW ORD MISSING'. CL**4 018200 10 600-ERR-009 PIC X(55) VALUE 018300 '009 INVALID (PFK) - PROGRAM FUNCTION KEY USED'. 018400 10 600-ERR-067 PIC X(55 ) VALUE 018500 '067 ORD-NBR DOES NOT EXIST'. CL**3 018600 018700 05 600-STD-MSGS-R REDEFINES 600-ST D-MSGS. 018800 10 600-STD-MSG-X OCCURS 4 TIMES . CL**4 018900 15 600-STD-MSG-NO PIC X(03) . 019000 15 FILLER PIC X(52) . 019100 019200 05 600-ERR-MAX-CT-N PIC S9(03) COM P-3 VALUE +4. CL**4 019300 SKIP3 CL**2 019400*INCLUDE++ CAM2483900 MENU MOD CL**2 019500 01 FILLER PIC X(08) VAL UE '790'. 03/06/89 000000 * the attached screen shot contains the MFS format for M3MENU screen

C:\Documents and Settings\a1xmhzz\Desktop\IMS\TIS-Session\linked document\M3MENU.doc

019600********************************************* **************** CAM24839 019700*** MFS MOD AREA FOR M3MENU 00 LV002 019800********************************************* **************** 019900 SKIP3 020000 01 790-MENU-MOD. 020100 05 790-MENU-LL PIC S9(04 ) COMP VALUE +246. CL**2 020200 05 790-MENU-ZZ PIC S9(04 ) COMP VALUE +0. 020300 05 790-MENU-DTL. 020400 10 790-MENU-PSWD PIC X(0 8) VALUE SPACES. 020500 10 790-MENU-SECURE PIC X(6 1) VALUE SPACES. 020600 10 790-MENU-CODE PIC X(0 2) VALUE SPACES. 020700 10 790-MENU-ORIGIN PIC X(0 5) VALUE SPACES. 020800 10 790-MENU-LTERM PIC X(0 8) VALUE SPACES. 020900 10 790-MENU-ORDER PIC X(1 0) VALUE SPACES. 021000 10 790-MENU-LINE PIC X(0 3) VALUE SPACES. 021100 10 790-MENU-CHRGTO PIC X(0 7) VALUE SPACES. 021200 10 790-MENU-SUBSEQ PIC X(0 1) VALUE SPACES. 021300 10 790-MENU-ITEM PIC X(1 5) VALUE SPACES. 021400 10 790-MENU-LOC PIC X(0 4) VALUE SPACES. 021500 10 790-MENU-MO-NBR PIC X(1 0) VALUE SPACES. 021600 10 790-MENU-RANGE1 PIC X(0 2) VALUE SPACES. 021700 10 790-MENU-RANGE2 PIC X(0 2) VALUE SPACES. 021800 10 790-MENU-AREA-RESP PIC X(0 5) VALUE SPACES. 021900 10 790-MENU-ADMIN PIC X(0 2) VALUE SPACES. 022000 10 790-MENU-DIV PIC X(0 2) VALUE SPACES. 022100 10 790-MENU-BL PIC X(1 0) VALUE SPACES. 022200 10 790-MENU-TRAIL-NBR PIC X(0 6) VALUE SPACES.

Page 7: IMS DC Structure

022300 10 790-MENU-TRAIL-PRE PIC X(0 4) VALUE SPACES. 022400 10 790-MENU-PROD PIC X(0 8) VALUE SPACES. 022500 10 790-MENU-ERRLINE PIC X(6 0) VALUE SPACES. 022600 10 790-MENU-COIDB-ACCT PIC X(0 7) VALUE SPACES. CL**2 022700* ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� 022800 CL**4 022900*INCLUDE++ CAM1848800 SECURE SSA CL**4 023000 01 880-SECURE-SSA. 12/02/81 023100 05 880-SECURE-NM PIC X(08) VALU E 'SECURE '. CAM18488 023200 05 880-AST PIC X(01) VALU E '*'. 00 LV001 023300 05 880-CMD-CD PIC X(04) VALU E '----'. 023400 05 880-LEFT-PAREN PIC X(01) VALU E '('. 023500 05 880-KEY-NM PIC X(08) VALU E 'PSWDKEY '. 023600 05 880-RELOP PIC X(02) VALU E ' ='. 023700 05 880-KEY-VALUE. 023800 10 880-PSWD-KEY PIC X(08) VALU E SPACES. 023900 05 880-RIGHT-PAREN PIC X(01) VALU E ')'. 024000* � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 024100 024200 01 8H0-FICHE-SSA. 024300 05 8H0-FICHE-NM PIC X(08) V ALUE 'ORDER '. 024400 05 8H0-FICHE-AST PIC X(01) V ALUE '*'. 024500 05 8H0-FICHE-LF-PAREN PIC X(01) V ALUE '('. 024600 05 8H0-FICHE-KEY-NM1 PIC X(08) V ALUE 'ORDERNBR'. 024700 05 8H0-FICHE-REL-OP PIC X(02) V ALUE ' ='. 024800 05 8H0-FICHE-KEY-VAL. 024900 10 8H0-FICHE-KEY PIC X(10) V ALUE SPACES. 025000 10 8H0-FICHE-KEY-SS PIC 9(01) V ALUE ZERO. 025100 05 8H0-FICHE-RT-PAREN PIC X(01) V ALUE ')'. 025200 025300*INCLUDE++ CAM1848900 SECURE IO AREA CL**4 025400 05 980-SECURE-IO-AREA. 06/06/01 025500 10 980-PSWD-KEY PIC X(08 ) VALUE SPACES. CAM18489 025600 10 980-ADMIN-CD PIC X(02 ). 00 LV006 025700 10 980-DIV-TBL-AREA. 025800 15 980-DIV-1 PIC X(02 ). CL**6 025900 15 980-DIV-2 PIC X(02 ). CL**6 026000 15 980-DIV-3 PIC X(02 ). CL**6 026100 15 980-DIV-4 PIC X(02 ). CL**6 026200 15 980-DIV-5 PIC X(02 ). CL**6 026300 15 980-DIV-6 PIC X(02 ). CL**6 026400 10 980-DIV-TBL REDEFINE S CL**6 026500 980-DIV-TBL-AREA. 026600 15 980-DIV PIC X(02 ) CL**6 026700 OCCURS 6 TIMES. CL**6 026800 10 980-LOC-TBL-AREA. 026900 15 980-LOC-1 PIC X(04 ). CL**6 027000 15 980-LOC-2 PIC X(04 ). CL**6 027100 15 980-LOC-3 PIC X(04 ). CL**6 027200 15 980-LOC-4 PIC X(04 ). CL**6 027300 10 980-LOC-TBL REDEFINE S CL**6 027400 980-LOC-TBL-AREA. 027500 15 980-LOC PIC X(04 ) CL**6 027600 OCCURS 4 TIMES. CL**6 027700 10 980-ACC-TBL-AREA. 027800 15 980-ACC-ITEM PIC X(01 ). CL**6 027900 15 980-ACC-IROLL PIC X(01 ). CL**6

Page 8: IMS DC Structure

028000 15 980-ACC-IMGT PIC X(01 ). CL**6 028100 15 980-ACC-BINS PIC X(01 ). CL**6 028200 15 980-ACC-BOAL PIC X(01 ). CL**6 028300 15 980-ACC-OHCHG PIC X(01 ). CL**6 028400 15 980-ACC-ODCHG PIC X(01 ). CL**6 028500 15 980-ACC-OADJ PIC X(01 ). CL**6 028600 15 980-ACC-ONOTE PIC X(01 ). CL**6 028700 15 980-ACC-MOCHG PIC X(01 ). CL**6 028800 15 980-ACC-MOVW PIC X(01 ). CL**6 028900 15 980-ACC-MOREC PIC X(01 ). CL**6 029000 15 980-ACC-IVADJ PIC X(01 ). CL**6 029100 15 980-ACC-SHIPH PIC X(01 ). CL**6 029200 15 980-ACC-BKHDR PIC X(01 ). CL**6 029300 15 980-ACC-BKDTL PIC X(01 ). CL**6 029400 15 980-ACC-ORPL PIC X(01 ). CL**6 029500 15 980-ACC-INVST PIC X(01 ). CL**6 029600 15 980-ACC-LOCSTAT PIC X(01 ). CL**6 029700 15 980-ACC-OVIEW PIC X(01 ). CL**6 029800 10 980-ACC-TBL REDEFINE S CL**6 029900 980-ACC-TBL-AREA. 030000 15 980-ACC PIC X(01 ) CL**6 030100 OCCURS 2 0 TIMES. CL**6 030200 10 FILLER PIC X(03 ). CL**6 030300 10 980-EMP-ID-8. CL**6 030400 15 980-EMP-ID-2 PIC X(02 ). CL**6 030500 15 980-EMP-ID PIC X(06 ). CL**6 030600 10 980-LST-CHG-DT. 030700 15 980-LST-CHG-MON PIC X(02 ). CL**6 030800 15 980-LST-CHG-DA PIC X(02 ). CL**6 030900 15 980-LST-CHG-YR PIC X(02 ). CL**6 031000 10 980-CHARGE-TO PIC X(07 ). CL**6 031100 10 980-PERSON-ID PIC X(08 ). CL**6 031200 10 FILLER PIC X(05 ). CL**6 031300* � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 031400 CL**4 031500 01 9H0-FICHE-IO-AREA. 031600 05 9H0-ORDER PIC X(10). 031700 05 9H0-ORDER-SS PIC X(01). 031800 05 9H0-FICHE-DATE PIC X(06). 031900 05 9H0-ADMIN PIC X(02). 032000 032100 032200*INCLUDE++ CAM1850800 M3999 032300********************************************* ******************* 01/06/04 032400*** C A M 1 8 5 0 8 **** CAM18508 032500*** **** 00 LV013 032600*** COMS ABEND ERROR **** CL**9 032700*** WORK AREA **** CL**9 032800*** **** CL**9 032900********************************************* ******************* CL**9 033000* 033100 01 FILLER PIC X(08) VALU E 'M3999 '. 033200* 033300* CL*12 033400 01 999-ABEND-MSG. CL*12 033500 05 999-LL PIC S9(4) VALU E +1474 COMP. CL*12 033600 05 999-ZZ PIC S9(4) VALU E +0 COMP. CL*12

Page 9: IMS DC Structure

033700 05 999-ABEND-INFO. CL*12 033800 10 999-VFIC PIC X(01). CL*12 033900 10 999-LTERM PIC X(08). CL*12 034000 10 999-PGMNAME PIC X(08). CL*12 034100 10 999-FUNC PIC X(04). CL*12 034200 10 999-PARMCNT PIC 9(05). CL*12 034300 CL*12 034400 01 999-ERROR-CONSTANTS. 034500 05 999-PRT-LTERM PIC X(08) VALU E 'V0PCOP30'. 034600* LTERM-DISCR IS USED IN CAM18368 - U800-VALI DATE-ORDER CL**2 034700* TO SEND INVOICE DISCREPENCY (NODE AND LTERM IS ZE07U31) CL**3 034800* TO INVOICE CONTROL CL**3 034900 05 999-PRT-LTERM-DISCR PIC X(08) VALU E 'ZE07U31 '. CL**3 035000 05 999-DERRMOD PIC X(08) VALU E 'M3ODERR '. 035100 05 999-PERRMOD PIC X(08) VALU E 'M3OPERR '. 035200 05 999-DUMPSW PIC X(01) VALU E 'N'. 035300* -Y- CAUSES 86 DUMP IF ERROR ROUTINE I S ENTERED 035400* -N- DOES NOT CAUSE ABEND BUT TERMINAT ES PROGRAM 035500* -S- DOES NOT CAUSE ABEND AND COMPLETE S PARAGRAPH NORMALLY 035600 05 999-PRT-LL1 PIC S9(4) VALU E +1824 COMP SYNC. 035700 05 999-PRT-LL2 PIC S9(4) VALU E +1294 COMP SYNC. 035800* 035900 01 999-ABEND-DATA. CL**9 036000 05 999-PARA PIC X(08). CL*11 036100 05 999-DBD PIC X(132). CL**9 036200 05 999-SSA1 PIC X(070). CL**9 036300 05 999-SSA2 PIC X(070). CL**9 036400 05 999-SSA3 PIC X(070). CL**9 036500 05 999-USER-1 PIC X(070). CL**9 036600 05 999-USER-2 PIC X(070). CL**9 036700 05 999-USER-3 PIC X(070). CL**9 036800 05 999-IOAREA PIC X(720). CL**9 036900 05 999-INPUT. CL**9 037000 10 FILLER PIC X(560). CL**9 037100 10 999-INPUT2 PIC X(800). CL**9 037200*** CL**9 037300*** 999-DUMPSW - CL**9 037400*** -Y- CAUSES 86 DUMP IF ERROR ROUTINE I S ENTERED CL**9 037500*** -N- DOES NOT CAUSE ABEND BUT TERMINAT ES PROGRAM CL**9 037600*** -S- DOES NOT CAUSE ABEND AND COMPLETE S PARAGRAPH NORMALLY CL**9 037700*** CL**9 037800 01 999-VFIC-CHAR PIC X(01) VALU E '.'. CL**9 037900 01 999-BACKGROUND-PGM-SW PIC X(01) VALU E 'N'. CL**9 038000 01 999-ABEND-RESP-REQ-SW PIC X(01) VALU E 'N'. CL**4 038100 01 999-ABEND-RESP-MSG. CL**4 038200 05 999-ABEND-RESP-LL PIC S9(4) VALU E +76 COMP. CL**4 038300 05 999-ABEND-RESP-ZZ PIC S9(4) VALU E +0 COMP. CL**4 038400 05 FILLER PIC X(17) VALU E CL**4 038500 'COMS FATAL ERROR '. CL**4 038600 05 FILLER PIC X(55) VALU E CL**4 038700 '895 TRANSACTION CANNOT BE PROCESSED - CALL COMS HOTLINE'. CL**4 038800 CL**4 039700 CL**4 039800 01 999-RESP-TRANS. CL**4 039900 05 FILLER PIC X(08) VALU E 'MCBKHDR '. CL**4 040000 05 FILLER PIC X(08) VALU E 'MCBKDTL '. CL**4 040100 05 FILLER PIC X(08) VALU E 'MCONOTE '. CL**4

Page 10: IMS DC Structure

040200 05 FILLER PIC X(08) VALU E 'MCIROLL '. CL**5 040300 05 FILLER PIC X(08) VALU E 'MCIMGT '. CL**5 040400 05 FILLER PIC X(08) VALU E 'MCBOAL '. CL**5 040500 05 FILLER PIC X(08) VALU E 'MCMOCHG '. CL**5 040600 05 FILLER PIC X(08) VALU E 'MCMOVW '. CL**5 040700 05 FILLER PIC X(08) VALU E 'MCODUE '. CL**5 040800 05 FILLER PIC X(08) VALU E 'MCODUEL '. CL**5 040900 05 FILLER PIC X(08) VALU E 'MCOVIEW '. CL**5 041000 05 FILLER PIC X(08) VALU E 'MCFICHE '. CL**5 041100 05 FILLER PIC X(08) VALU E 'MCTRNSP '. CL**6 041200 05 FILLER PIC X(08) VALU E 'MCIVADJ '. CL**7 041300 05 FILLER PIC X(08) VALU E 'MCINVST '. CL**8 041400 05 FILLER PIC X(08) VALU E 'MCOHCHG '. CL**8 041500 05 FILLER PIC X(08) VALU E 'MCTMTRL '. CL*13 041600 05 FILLER PIC X(08) VALU E 'MCTMORD '. CL*13 041700 05 FILLER PIC X(08) VALU E 'MCSHIPH '. CL*13 041800 05 FILLER PIC X(08) VALU E 'MCSHIPD '. CL*13 041900 05 FILLER PIC X(08) VALU E 'MCORPL '. CL*13 042000 05 FILLER PIC X(08) VALU E 'MCOADJ '. CL*13 042100 05 FILLER PIC X(08) VALU E 'MCODCHG '. CL*13 042200 CL**4 042300 01 999-RESP-TRANS-TBL REDEFINES 999-RE SP-TRANS. CL**4 042400 05 999-RESP-TRANS-ENT OCCURS 23 TIMES CL*13 042500 INDEXED BY 999-R ESP-TRANS-X. CL**4 042600 10 999-RESP-TRANS-NAME CL**4 042700 PIC X(08). CL**4 042800* CL**9 042900 01 CA064927-QUEUE-MSG. CL**9 043000 05 CA064927-LL PIC S9(4 ) VALUE +2677 COMP. CL**9 043100 05 CA064927-ZZ PIC S9(4 ) VALUE +0 COMP. CL**9 043200 05 CA064927-TRAN-TR064927 PIC X(8) VALUE 'TR064927'. CL**9 043300 05 CA064927-ABEND-DATA. CL**9 043400 10 CA064927-LTERM PIC X(00 08). CL**9 043500 10 CA064927-PGMNAME PIC X(00 08). CL**9 043600 10 CA064927-PARA PIC X(00 08). CL**9 043700 10 CA064927-FUNC PIC X(00 04). CL**9 043800 10 CA064927-PARMCNT PIC 9(00 05). CL**9 043900 10 CA064927-DBD PIC X(01 32). CL**9 044000 10 CA064927-SSA1 PIC X(00 70). CL**9 044100 10 CA064927-SSA2 PIC X(00 70). CL**9 044200 10 CA064927-SSA3 PIC X(00 70). CL**9 044300 10 CA064927-USER-1 PIC X(00 70). CL**9 044400 10 CA064927-USER-2 PIC X(00 70). CL**9 044500 10 CA064927-USER-3 PIC X(00 70). CL**9 044600 10 CA064927-IOAREA PIC X(07 20). CL**9 044700 10 CA064927-INPUT PIC X(13 60). CL**9 044800* ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� 044900 045000*INCLUDE++ CAM1835600 M3P2PMSG.12580OVIEW 045100 SKIP3 06/06/94 045200 01 FILLER PIC X(08) VAL UE '12580'. CAM18356 045300********************************************* **************** 00 LV006 045400*** PGM-TO-PGM MESSAGE AREA FOR M3OVIEW 045500********************************************* **************** 045600 CL**4 046800 SKIP3 CL**4 046900 01 12580-MSG.

Page 11: IMS DC Structure

047000 SKIP2 047100 05 12580-MSG-HDR. 047200 10 12580-LL PIC S9(04) COMP SYNC VALUE +139. CL**3 047300 10 12580-ZZ PIC S9(04) COMP SYNC VALUE +0. 047400 10 12580-TRANS-CD PIC X(08) VALU E 'M3OVIEW'. 047500 10 12580-ORIG PIC X(05) VALU E SPACES. 047600 88 12580-88-ORIG-VALID VALUE 047700 'FICHE' 'ODUE ' 'ODUEL' 'OVIEW' 'BOREL'. CL**6 047800 05 12580-MSG-TX. CL**3 047900 10 12580-PFK-IND PIC X(01) VALU E SPACE. CL**3 048000 10 12580-ORD-NO PIC X(10) VALU E SPACES. CL**3 048100 10 12580-SUBSEQ PIC X(01) VALU E '0'. CL**3 048200 10 12580-PRNT PIC X(01) VALU E SPACES. CL**3 048300 10 12580-PAGE PIC 9(03) VALU E ZEROS. CL**3 048400 10 12580-PSWD PIC X(08) VALU E SPACES. CL**3 048500 10 12580-HID-KEY PIC X(27) VALU E SPACES. CL**3 048600 10 12580-STAT PIC X(02) VALU E SPACES. CL**3 048700 10 12580-TRANS PIC X(03) VALU E SPACES. CL**3 048800 10 12580-SECURITY PIC X(61) VALU E SPACES. CL**3 048900 10 12580-ODUEL-SWITCHES. CL**3 049000 15 12580-ODUEL-DBOPT-SW PIC X(01) VALUE SPACE. CL**3 049100 15 12580-ODUEL-CUSTPO-SW PIC X(01) VALUE 'N'. CL**3 049200 15 12580-ODUEL-ADMIN-SW PIC X(01) VALUE 'N'. CL**3 049300 15 12580-ODUEL-CUSTORDT-SW PIC X(01) VALUE 'N'. CL**3 049400 15 12580-ODUEL-OTC-TYP-SW PIC X(01) VALUE 'N'. CL**3 049500* ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� 049600 049700*INCLUDE++ CAM2202100 M3P2PMSG.12600TRNSP 049800 SKIP3 01/11/85 049900 01 FILLER PIC X(08) VAL UE '12600'. CAM22021 050000********************************************* **************** 00 LV003 050100*** PGM-TO-PGM MESSAGE AREA FOR M3TRNSP 050200********************************************* **************** 050300 SKIP3 050400 01 12600-MSG. 050500 SKIP2 050600 05 12600-MSG-HDR. 050700 10 12600-LL PIC S9(04) COMP SYNC VALUE +98. CL**3 050800 10 12600-ZZ PIC S9(04) COMP SYNC VALUE +0. 050900 10 12600-TRANS-CD PIC X(08) VALU E 'M3TRNSP'. 051000 10 12600-ORIG PIC X(05) VALU E SPACES. 051100 88 12600-88-ORIG-VALID VALUE 051200 'OVIEW' 'ODUE ' 'INVST' ' FICHE' 'MENU '. CL**3 051300 05 12600-MSG-TX. 051400 10 12600-ORD-NO PIC X(10) VALU E SPACES. 051500 10 12600-SUBSEQ PIC X VALU E ZERO. 051600 10 12600-PSWD PIC X(08) VALU E SPACES. 051700 10 12600-SECURE PIC X(61) VALU E SPACES. 051800 10 12600-PFKIND PIC X(01) VALU E SPACES. CL**3 051900* � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 052000 052100********************************************* ******************** 052200*** PGM-TO-PGM MESSAGE FOR M3FICHE *** 052300********************************************* ******************** 052400 052500 01 12900-MSG. 052600 05 12900-MSG-HDR.

Page 12: IMS DC Structure

052700 10 12900-LL PIC S9(04) COMP S YNC VALUE +96. CL**4 052800 10 12900-ZZ PIC S9(04) COMP S YNC VALUE +0. 052900 10 12900-TRANS-CD PIC X(08) VALUE 'M3FICHE '. 053000 10 12900-ORIG PIC X(05) VALUE SPACES. 053100 88 12900-88-ORIG-VALID VALUE 053200 'OVIEW' 'TRNSP'. 053300 05 12900-MSG-TX. 053400 10 12900-ORD-NO PIC X(10) VALUE SPACES. 053500 10 12900-PSWD PIC X(08) VALUE SPACES. 053600 10 12900-SECURE PIC X(61) VALUE SPACES. CL**4 053700 053800 053900*INCLUDE++ CAM3379800 M3P2PMSG.13200LU62 CL**7 054000 11/06/91 055300 01 13200-LU62-MSG. 055400 05 13200-LU62-MSG-HDR. 055500 10 13200-LU62-MSG-LL PIC S9(004 ) COMP VALUE ZERO. 055600 10 13200-LU62-MSG-ZZ PIC S9(004 ) COMP VALUE ZERO. 055700 10 FILLER PIC X(0005 ) VALUE 'COMS '. 055800 05 13200-LU62-MSG-DATA PIC X(2891 ) VALUE SPACES. CL**2 055900 05 13200-LU62-MSG-DATA-EX REDEFINES 132 00-LU62-MSG-DATA. CL**3 056000 10 13200-LU62-MSG-TRAN-ID PIC X( 1). CL**3 056100 10 13200-LU62-MSG-DATA-RMD PIC X( 2890). CL**3 056200* � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 056300 CL**7 056400 CL**7 056500 LINKAGE SECTION. 056600 056700*INCLUDE++ CAM1839400 M31300 056800 01 1300-IOPCB. 12/02/81 056900 05 1300-LTERM-IOPCB PIC X(08) . CAM18394 057000 05 1300-DLIRES-IOPCB PIC X(02) . 00 LV001 057100 05 1300-STCD-IOPCB PIC X(02) . 057200 05 1300-INPREFIX-IOPCB. 057300 10 FILLER PIC X(01) . 057400 10 1300-JULIAN-DATE-IOPCB PIC S9(05 ) COMP-3. 057500 10 1300-TOD-IOPCB PIC S9(07 ) COMP-3. 057600 10 1300-MSG-SEQ-IOPCB PIC S9(03 ) COMP. 057700 10 FILLER PIC X(02) . 057800 10 1300-MOD-NM-IOPCB PIC X(08) . 057900* � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 058000 058100*INCLUDE++ CAM1839500 M31301 058200 SKIP3 12/02/81 058300********************************************* ****************** CAM18395 058400*** THIS PCB SHOULD BE USED AS THE ERROR PCB - IT SHOULD HAVE 00 LV001 058500*** EXPRESS=YES CODED IN THE PSB. 058600********************************************* ****************** 058700 01 1301-ERRPCB. 058800 05 1301-LTERM-ERRPCB PIC X(08 ). 058900 05 1301-DLIRES-ERRPCB PIC X(02 ). 059000 05 1301-STCD-ERRPCB PIC X(02 ). 059100 05 1301-INPREFIX-ERRPCB. 059200 10 FILLER PIC X(01 ). 059300 10 1301-JULIAN-DATE-ERRPCB PIC S9(0 5) COMP-3. 059400 10 1301-TOD-ERRPCB PIC S9(0 7) COMP-3. 059500 10 1301-MSG-SEQ-ERRPCB PIC S9(0 3) COMP.

Page 13: IMS DC Structure

059600 10 FILLER PIC X(02 ). 059700 10 1301-MOD-NM-ERRPCB PIC X(08 ). 059800* � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 059900 060000*INCLUDE++ CAM1839700 M31303 060100 SKIP3 12/02/81 060200********************************************* ******************* CAM18397 060300*** THIS PCB SHOULD BE USED FOR MSG SWITCHIN G - IT SHOULD HAVE 00 LV001 060400*** EXPRESS=NO CODED IN THE PSBGEN. 060500********************************************* ******************* 060600 01 1303-MSGPCB. 060700 05 1303-LTERM-MSGPCB PIC X(08 ). 060800 05 1303-DLIRES-MSGPCB PIC X(02 ). 060900 05 1303-STCD-MSGPCB PIC X(02 ). 061000 05 1303-INPREFIX-MSGPCB. 061100 10 FILLER PIC X(01 ). 061200 10 1303-JULIAN-DATE-MSGPCB PIC S9(0 5) COMP-3. 061300 10 1303-TOD-MSGPCB PIC S9(0 7) COMP-3. 061400 10 1303-MSG-SEQ-MSGPCB PIC S9(0 3) COMP. 061500 10 FILLER PIC X(02 ). 061600 10 1303-MOD-NM-MSGPCB PIC X(08 ). 061700* � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 061800 061900*INCLUDE++ CAM1848700 CL**4 062000 01 1480-SECURE-PCB. 12/02/81 062100 05 1480-DBDNAME PIC X(08 ). CAM18487 062200 05 1480-SEGLVL PIC X(02 ). 00 LV001 062300 05 1480-STCD PIC X(02 ). 062400 05 1480-PROCOPT PIC X(04 ). 062500 05 1480-DLI PIC S9(0 5) COMP. 062600 05 1480-SEGNMEFB PIC X(08 ). 062700 05 1480-LENGTHFB PIC S9(0 5) COMP. 062800 05 1480-SENSEG PIC S9(0 5) COMP. 062900 05 1480-KEYFBAREA PIC X(99 ). 063000* � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 063100 CL**4 063200 01 14H0-FICHE-PCB. 063300 05 14H0-DBDNAME PIC X(08). 063400 05 14H0-SEGLVL PIC X(02). 063500 05 14H0-STCD PIC X(02). 063600 05 14H0-PROCOPT PIC X(04). 063700 05 14H0-DLI PIC S9(05) COMP. 063800 05 14H0-SEGNMEFB PIC X(08). 063900 05 14H0-LENGTHFB PIC S9(05) COMP. 064000 05 14H0-SENSEG PIC S9(05) COMP. 064100 05 14H0-KEYFBAREA PIC X(99). 064200 064300 064400 PROCEDURE DIVISION. 064500 064600 ENTRY 'DLITCBL' USING 1300-IOPCB 064700 1301-ERRPCB 064800 1303-MSGPCB 064900 1480-SECURE-PCB CL**4 065000 14H0-FICHE-PCB. 065100 MOVE SPACES TO 999-ABEND-DATA. 065200

Page 14: IMS DC Structure

065300 PERFORM U100-RETRIEVE-A-MSG-OPR. 065400 065500 PERFORM A000-MAIN-PROCESS-SEQ 065600 UNTIL 1300-STCD-IOPCB NOT EQUAL SPACE S. 065700 065800 GOBACK. 065900 066000 A000-MAIN-PROCESS-SEQ. 066100 066200 MOVE SPACES TO 440-MOD. CL**7 066300 066400 PERFORM U000-VALIDATE-PASSWORD. CL**4 066500 CL**4 066600 PERFORM B000-COMMON-EDITS-OPR. 066700 066800 IF 440-ERRLINE EQUAL SPACES 066900 THEN 067000 IF 430-MID-PFKIND EQUAL SPACES 067100 THEN 067200 PERFORM C000-GET-FICHE-SEGS-SEQ 067300 ELSE 067400 IF 430-MID-PFKIND EQUAL '1' 067500 THEN 067600********************************************* ********************* 067700* *** SEND OVIEW MESSAGE 067800********************************************* ********************* 067900 MOVE 'FICHE' TO 12580-ORIG 068000 MOVE 430-MID-ORD-NO TO 12580-OR D-NO 068100 MOVE 430-MID-PSWD TO 12580-PSWD 068200 MOVE 430-MID-SECURE TO 12580-SE CURITY CL**4 068300 MOVE 12580-MSG TO 500-MSG-IO 068400 PERFORM U120-SEND-PGM-TO-PGM-MS G-OPR 068500 ELSE 068600 IF 430-MID-PFKIND EQUAL '2' 068700 THEN 068800********************************************* ********************* 068900* *** SEND TRNSP MESSAGE 069000********************************************* ********************* 069100 MOVE 'FICHE' TO 12600-ORIG 069200 MOVE 430-MID-ORD-NO TO 12600 -ORD-NO 069300 MOVE 430-MID-PSWD TO 12600-P SWD 069400 MOVE 430-MID-SECURE TO 12600 -SECURE CL**4 069500 MOVE 12600-MSG TO 500-MSG-IO 069600 PERFORM U120-SEND-PGM-TO-PGM -MSG-OPR CL**2 069700 ELSE CL**2 069800 IF 430-MID-PFKIND EQUAL 'C' CL**2 069900 THEN CL**2 070000********************************************* ********************* CL**2 070100* *** SEND MESSAGE to MENU Screen CL**2 070200********************************************* ********************* CL**2 070300 PERFORM U130-SEND-MENU-MO D. CL**2 070400 070500 IF 440-ERRLINE NOT EQUAL SPACES 070600 IF 430-MID-TRANS = 'MCFICHE' CL**7 070700 PERFORM U115-SEND-LU62-MSG CL**7 070800 ELSE CL**7 070900 PERFORM U110-SEND-MSG-TO-SCREEN- OPR. CL**7

Page 15: IMS DC Structure

071000 071100 PERFORM U100-RETRIEVE-A-MSG-OPR. 071200 071300 B000-COMMON-EDITS-OPR. 071400 071500 IF 430-MID-TRANS = 'MCFICHE' CL**7 071600 MOVE SPACES TO 430-MID-PFKIND CL**7 071700 ELSE 071800 IF 430-MID-PFKIND EQUAL '1' OR '2' O R 'C' OR SPACES CL**7 071900 NEXT SENTENCE CL**7 072000 ELSE CL**7 072100 MOVE 600-ERR-009 TO 440-ERRLINE. CL**7 072200 072300 C000-GET-FICHE-SEGS-SEQ. 072400 072500 MOVE SPACES TO 470-DATE-ADMIN-TABLE. CL**5 072600 MOVE 'N' TO 480-TABLE-ENTRIES-IND. CL**5 072700 MOVE +1 TO 470-SUBSC. CL**5 072800 MOVE +1 TO 450-SS-COUNTER. 072900 MOVE 450-SS-COUNTER TO 8H0-FICHE-KEY-SS. 073000 MOVE 430-MID-ORD-NO TO 8H0-FICHE-KEY. 073100 MOVE 300-GU TO 300-FUNC. 073200 MOVE +4 TO 300-PARMCNT. 073300 PERFORM U300-GET-ORDER-OPR. 073400 IF 14H0-STCD = SPACES 073500 THEN 073600 MOVE 'Y' TO 480-TABLE-ENTRIES-IND. CL**5 073700 PERFORM D000-FOUND-SEQ. CL**5 073800 IF 480-TABLE-ENTRIES-IND = 'N' CL**5 073900 THEN CL**5 074000 MOVE SPACES TO 440-REPEAT-DATA 074100 MOVE 600-ERR-067 TO 440-ERRLINE CL**5 074200 ELSE CL**5 074300 MOVE 600-ERR-001 TO 440-ERRLINE CL**5 074400 MOVE 470-DATE-ADMIN-TABLE TO 440-REPE AT-DATA. CL**5 074500 074600 D000-FOUND-SEQ. 074700 074800 IF 14H0-STCD = SPACES CL**5 074900 MOVE 300-DB-IO TO 9H0-FICHE-IO-AREA CL**5 075000 MOVE SPACE TO 470-DATE-ADMIN-TABLE CL**5 075100 MOVE 9H0-FICHE-DATE TO 470-DATE (470- SUBSC) CL**5 075200 MOVE 9H0-ADMIN TO 470-ADMIN (470-SUBS C) CL**5 075300 ADD +1 TO 470-SUBSC. CL**5 075400 MOVE +2 TO 450-SS-COUNTER. 075500 MOVE 300-GU TO 300-FUNC. 075600 MOVE +4 TO 300-PARMCNT. 075700 PERFORM U400-GET-OTHER-ORDERS-OPR UNTIL 075800 450-SS-COUNTER > 5. 075900 076000********************************************* ********************* CL**4 076100** THIS PARAGRAPH VALIDATES THE PASSWORD. IF THE PSWD IS VALID,** CL**4 076200** THE SECURE AREA FOR THE SCREEN IS BUILT U NLESS THIS HAS ** CL**4 076300** BEEN PREVIOUSLY DONE. ** CL**4 076400********************************************* ********************* CL**4 076500 U000-VALIDATE-PASSWORD. CL**4 076600 CL**4

Page 16: IMS DC Structure

076700 MOVE 430-MID-SECURE TO 4A0-SECURE-IO-A REA. CL**4 076800 CL**4 076900 IF 430-MID-PSWD = SPACES OR LOW-VALUES CL**7 077000 CL**4 077100 MOVE SPACES TO 430-MID-SECURE CL**4 077200 MOVE 600-ERR-007 TO 440-ERRLINE CL**4 077300 CL**4 077400 ELSE CL**4 077500 CL**4 077600 IF 430-MID-PSWD = 4A0-SECURE-IO-PSWD CL**4 077700 CL**4 077800 NEXT SENTENCE CL**4 077900 CL**4 078000 ELSE CL**4 078100 CL**4 078200 MOVE 'U000' TO 300-PARA CL**4 078300 MOVE 300-GU TO 300-FUNC CL**4 078400 MOVE +4 TO 300-PARMCNT CL**4 078500 MOVE 430-MID-PSWD TO 880-PSWD-KE Y CL**4 078600 MOVE 'Y' TO 999-DUMPSW CL**4 078700 CL**4 078800 PERFORM U980-SECURE-IO CL**4 078900 CL**4 079000 MOVE 'N' TO 999-DUMPSW CL**4 079100 CL**4 079200 IF 1480-STCD = SPACES CL**4 079300 CL**4 079400 MOVE 300-DB-IO TO 98 0-SECURE-IO-AREA CL**4 079500 MOVE 980-SECURE-IO-AREA TO 49 0-SECURE-SEG CL**4 079600 MOVE 490-SECURE-SEG-1-55 TO 4A 0-SECURE-IO-1-55 CL**4 079700 MOVE 490-SECURE-SEG-EMP-ID TO 4A 0-SECURE-IO-EMP-ID CL**4 079800 MOVE 4A0-SECURE-IO-AREA TO 43 0-MID-SECURE CL**4 079900 CL**4 080000 ELSE CL**4 080100 CL**4 080200 MOVE SPACES TO 430-MID-SECU RE CL**4 080300 MOVE 600-ERR-007 TO 440-ERRLINE. CL**4 080400 CL**4 080500 U100-RETRIEVE-A-MSG-OPR. 080600 080700 MOVE +3 TO 300-PARMCNT. 080800 MOVE 300-GU TO 300-FUNC. 080900 MOVE SPACES TO 300-DB-IO. CL**7 081000 PERFORM U200-TERMINAL-IO-OPR. 081100 CL**7 081200 IF 1300-STCD-IOPCB EQUAL SPACES 081300 IF (1300-MOD-NM-IOPCB EQUAL 'M3OFICHE ') CL**7 081400 OR (430-MID-TRANS EQUAL 'MCFICHE') CL**7 081500 NEXT SENTENCE CL**7 081600 ELSE 081700 MOVE SPACES TO 430-MID 081800 MOVE 420-TERMINAL-IO TO 12900-MSG 081900 MOVE 12900-TRANS-CD TO 430-MID-TRA NS CL**7 082000 MOVE 12900-ORD-NO TO 430-MID-ORD-N O 082100 MOVE 12900-PSWD TO 430-MID-PSWD CL**4 082200 MOVE 12900-SECURE TO 430-MID-SECUR E. CL**4 082300

Page 17: IMS DC Structure

082400 U110-SEND-MSG-TO-SCREEN-OPR. 082500 082600 MOVE 'U110' TO 300-PARA. 082700 MOVE 430-MID-SECURE TO 440-SECURE. CL**4 082800 MOVE 430-MID-PSWD TO 440-PSWD. CL**4 082900 MOVE 430-MID-ORD-NO TO 440-ORDER. CL**4 083000 MOVE 440-MOD-NAME TO 420-MOD-NAME. 083100 MOVE 440-MOD TO 420-TERMINAL-DATA. 083200 MOVE +318 TO 420-CNT. CL**7 083300 MOVE 420-TERMINAL-IO TO 300-DB-IO. CL**7 083400 MOVE +4 TO 300-PARMCNT. 083500 MOVE 300-ISRT TO 300-FUNC. 083600 PERFORM U200-TERMINAL-IO-OPR. CL**7 083700 CL**7 083800 U115-SEND-LU62-MSG. CL**7 083900 CL**7 084000 MOVE 'U115' TO 300-PARA. CL**7 084100 MOVE 430-MID-PSWD TO 440-PSWD. CL**7 084200 MOVE 430-MID-ORD-NO TO 440-ORDER. CL**7 084300 MOVE 440-MOD TO 13200-LU62-MSG-DA TA. CL**7 084400 MOVE +323 TO 13200-LU62-MSG-LL . CL**7 084500 MOVE 13200-LU62-MSG TO 300-DB-IO. CL**7 084600 MOVE +3 TO 300-PARMCNT. CL**7 084700 MOVE 300-ISRT TO 300-FUNC. CL**7 084800 PERFORM U200-TERMINAL-IO-OPR. 084900 085000 U120-SEND-PGM-TO-PGM-MSG-OPR. 085100 085200 MOVE 'U120' TO 300-PARA. 085300 MOVE 300-CHNG TO 300-FUNC. 085400 085500 CALL 'CBLTDLI' USING 300-FUNC 085600 1303-MSGPCB 085700 500-DEST. 085800 085900 IF 1303-STCD-MSGPCB NOT EQUAL SPACES 086000 THEN 086100 PERFORM U125-MSG-ERROR-OPR. 086200 086300 MOVE 300-ISRT TO 300-FUNC. 086400 086500 CALL 'CBLTDLI' USING 300-FUNC 086600 1303-MSGPCB 086700 500-MSG-IO. 086800 086900 IF 1303-STCD-MSGPCB NOT EQUAL SPACES 087000 THEN 087100 PERFORM U125-MSG-ERROR-OPR. 087200 087300 MOVE 300-PURG TO 300-FUNC. 087400 087500 CALL 'CBLTDLI' USING 300-FUNC 087600 1303-MSGPCB. 087700 087800 IF 1303-STCD-MSGPCB NOT EQUAL SPACES 087900 THEN 088000 PERFORM U125-MSG-ERROR-OPR.

Page 18: IMS DC Structure

088100 088200 U125-MSG-ERROR-OPR. 088300 088400 MOVE 'U1250' TO 300-PARA. 088500 MOVE 1303-MSGPCB TO 999-DBD. 088600 MOVE 'INSERT TO MSG PCB FAILED' TO 999-U SER-1. 088700 MOVE 500-MSG-DATA TO 999-USER-2. 088800 PERFORM U999-ERROR. 088900 089000 U130-SEND-MENU-MOD. CL**2 089100 CL**2 089200 MOVE 'U120' TO 300-PARA. CL**2 089300 MOVE 1300-LTERM-IOPCB TO 790-MENU-LTER M CL**2 089400 MOVE 'FICHE' TO 790-MENU-ORIG IN CL**2 089500 MOVE 430-MID-PSWD TO 790-MENU-PSWD CL**2 089600 MOVE 430-MID-SECURE TO 790-MENU-SECU RE CL**4 089700 MOVE 430-MID-ORD-NO TO 790-MENU-ORDE R CL**2 089800 MOVE 790-MENU-MOD TO 500-MSG-IO CL**2 089900 MOVE 'M3OMENU ' TO 500-DEST CL**2 090000 CL**2 090100 CALL 'CBLTDLI' USING 300-ISRT CL**2 090200 1300-IOPCB CL**2 090300 790-MENU-MOD CL**2 090400 500-DEST. CL**2 090500 CL**2 090600 IF 1300-STCD-IOPCB NOT EQUAL SPACES CL**2 090700 THEN CL**2 090800 MOVE 'U120' TO 300-PARA CL**2 090900 MOVE 'UNABLE TO INSERT MENU MOD' TO 9 99-USER-1 CL**2 091000 MOVE 1300-IOPCB TO 999-DBD CL**2 091100 PERFORM U999-ERROR. CL**2 091200 CL**2 091300 U200-TERMINAL-IO-OPR. 091400 091500 MOVE 'U200' TO 300-PARA. 091600 CALL 'CBLTDLI' USING 300-PARMCNT 091700 300-FUNC 091800 1300-IOPCB 091900 300-DB-IO CL**7 092000 420-MOD-NAME. 092100 092200 IF 300-FUNC = 'GU' CL**6 092300 MOVE 300-DB-IO TO 420-TERMI NAL-IO CL**7 092400 MOVE 420-TERMINAL-DATA TO 430-MID CL**6 092500 MOVE 430-MID-TRANS TO 77-TRANNA ME. CL**6 092600 CL**6 092700 IF 1300-STCD-IOPCB EQUAL SPACES 092800 OR 300-STCD-QC 092900 THEN 093000 NEXT SENTENCE 093100 ELSE 093200 MOVE 1300-IOPCB TO 999-DBD 093300 MOVE 300-403F TO 999-SSA1 093400 999-SSA2 093500 999-SSA3 093600 PERFORM U999-ERROR. 093700

Page 19: IMS DC Structure

093800 U300-GET-ORDER-OPR. 093900 094000 MOVE 'U300' TO 300-PARA. 094100 CALL 'CBLTDLI' USING 094200 300-PARMCNT 094300 300-FUNC 094400 14H0-FICHE-PCB 094500 300-DB-IO 094600 8H0-FICHE-SSA. 094700 IF 14H0-STCD = SPACES OR 'GE' 094800 THEN 094900 NEXT SENTENCE 095000 ELSE 095100 MOVE 14H0-FICHE-PCB TO 999-DBD 095200 MOVE 8H0-FICHE-SSA TO 999-SSA1 095300 PERFORM U999-ERROR. 095400 095500 095600 095700 U400-GET-OTHER-ORDERS-OPR. 095800 095900 MOVE 'U400' TO 300-PARA. 096000 MOVE 450-SS-COUNTER TO 8H0-FICHE-KEY-SS. 096100 CALL 'CBLTDLI' USING 096200 300-PARMCNT 096300 300-FUNC 096400 14H0-FICHE-PCB 096500 300-DB-IO 096600 8H0-FICHE-SSA. 096700 IF 14H0-STCD = SPACES 096800 THEN 096900 MOVE 300-DB-IO TO 9H0-FICHE-IO-A REA 097000 MOVE 9H0-FICHE-DATE TO 470-DATE (470- SUBSC) CL**5 097100 MOVE 9H0-ADMIN TO 470-ADMIN (470 -SUBSC) CL**5 097200 ADD +1 TO 450-SS-COUNTER 097300 ADD +1 TO 470-SUBSC CL**5 097400 MOVE 'Y' TO 480-TABLE-ENTRIES-IND CL**5 097500 ELSE 097600 IF 14H0-STCD = 'GE' 097700 THEN 097800 ADD +1 TO 450-SS-COUNTER CL**5 097900 ELSE 098000 MOVE 14H0-FICHE-PCB TO 999-DBD 098100 MOVE 8H0-FICHE-SSA TO 999-SSA1 098200 MOVE 'Y' TO 999-DUMPSW 098300 PERFORM U999-ERROR. 098400 CL**4 098500*INCLUDE++ CAM1849000 CL**4 098600 SKIP3 07/17/84 098700 U980-SECURE-IO. CAM18490 098800 SKIP2 00 LV002 098900 CALL 'CBLTDLI' USING 099000 300-PARMCNT 099100 300-FUNC 099200 1480-SECURE-PCB 099300 300-DB-IO 099400 880-SECURE-SSA.

Page 20: IMS DC Structure

099500 IF 1480-STCD = SPACES 099600 OR 300-STCD-GE 099700 OR 300-STCD-GB 099800 OR 300-STCD-II 099900 NEXT SENTENCE 100000 ELSE 100100 MOVE 1480-SECURE-PCB TO 999-DB D 100200 MOVE 880-SECURE-SSA TO 999-SS A1 100300 MOVE 300-403F TO 999- SSA2 100400 MOVE 300-403F TO 999- SSA3 100500 PERFORM U999-ERROR. 100600 CL**2 100700 ADD +1 TO 300-DB-CALL-CNT. CL**2 100800* � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 100900 101000*INCLUDE++ CAM1838000 M3U999 101100 U999-ERROR. 11/18/99 104000 MOVE SPACES TO CA064927-QUEU E-MSG. CL**6 104100 MOVE ZEROS TO CA064927-PARM CNT. CL**6 104200 MOVE +2677 TO CA064927-LL. CL**6 104300 MOVE +0 TO CA064927-ZZ. CL**6 104400 MOVE 'TR064927' TO CA064927-TRAN -TR064927. CL**6 104500 MOVE 1300-LTERM-IOPCB TO CA064927-LTER M. CL**6 104600 MOVE 77-PGMNAME TO CA064927-PGMN AME. CL**6 104700 MOVE 300-PARA TO CA064927-PARA . CL**6 104800 MOVE 300-FUNC TO CA064927-FUNC . CL**6 104900 MOVE 300-PARMCNT TO CA064927-PARM CNT. CL**6 105000 MOVE 300-DB-IO TO CA064927-IOAR EA. CL**6 105100 MOVE 999-DBD TO CA064927-DBD. CL**6 105200 MOVE 999-SSA1 TO CA064927-SSA1 . CL**6 105300 MOVE 999-SSA2 TO CA064927-SSA2 . CL**6 105400 MOVE 999-SSA3 TO CA064927-SSA3 . CL**6 105500 MOVE 999-USER-1 TO CA064927-USER -1. CL**6 105600 MOVE 999-USER-2 TO CA064927-USER -2. CL**6 105700 MOVE 999-USER-3 TO CA064927-USER -3. CL**6 105800 MOVE 999-INPUT TO CA064927-INPU T. CL**6 105900 CL**3 106000 CALL 'CBLTDLI' USING 300-CHNG CL**6 106100 1301-ERRPCB CL**7 106200 CA064927-TRAN-TR 064927. CL**6 106300 CALL 'CBLTDLI' USING 300-ISRT CL**6 106400 1301-ERRPCB CL**7 106500 CA064927-QUEUE-M SG. CL**6 106600 CALL 'CBLTDLI' USING 300-PURG CL**6 106700 1301-ERRPCB. CL**7 106800 CL**3 106900 IF 999-BACKGROUND-PGM-SW = 'N' CL**6 107000 IF 999-DUMPSW = 'Y' OR 999-DUMPSW = 'N' CL**6 107100 PERFORM U888-RESP-TRANS-FATAL-MS G. CL**6 107200 CL**6 107300 IF 999-DUMPSW = 'Y' OR 'N' CL**6 107400 CALL 'IMSABEND' CL**6 107500 ELSE CL**6 107600 IF 999-DUMPSW = 'S' CL**6 107700 NEXT SENTENCE CL**6 107800 ELSE CL**6 107900 GOBACK. CL**6

Page 21: IMS DC Structure

108000 CL**6 108100 U888-RESP-TRANS-FATAL-MSG. CL**6 108200 CL**6 108300 SET 999-RESP-TRANS-X TO 1 CL**6 108400 SEARCH 999-RESP-TRANS-ENT CL**6 108500 AT END CL**6 108600 MOVE 'N' TO 999-ABEND-RESP-REQ-S W CL**6 108700 WHEN 999-RESP-TRANS-NAME(999-RESP-TR ANS-X) = CL**6 108800 77-TRANNAME CL**6 108900 MOVE 'Y' TO 999-ABEND-RESP-REQ-S W. CL**6 109000 CL**4 109100 IF 999-ABEND-RESP-REQ-SW = 'Y' CL**4 109200 CALL 'CBLTDLI' USING 300-CHNG CL**4 109300 1301-ERRPCB CL**4 109400 1300-LTERM-I OPCB CL**4 109500 CALL 'CBLTDLI' USING 300-ISRT CL**4 109600 1301-ERRPCB CL**4 109700 999-ABEND-RE SP-MSG CL**4 109800 CALL 'CBLTDLI' USING 300-PURG CL**4 109900 1301-ERRPCB. CL**4 110000* � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

PSB for the above program: ---------------------------------- PRINT NOGEN * SUBJECT NAME: P M3FICHE 001 PCB TYPE=TP,MODIFY=YES,EXPRESS=YES * SUBJECT NAME: P M3FICHE 002 PCB TYPE=TP,MODIFY=YES,EXPRESS=YES * SUBJECT NAME: P M3FICHE 003 * SUBJECT NAME: PP M380SECU 000 PCB TYPE=DB, X DBDNAME=M380SECU, X PROCOPT=GO, X KEYLEN=8 * SUBJECT NAME: PA SECURE 000 SENSEG NAME=SECURE, X PARENT=0 * SUBJECT NAME: P M3FICHE 004 * SUBJECT NAME: PP M3H0FICH 000 PCB TYPE=DB, X DBDNAME=M3H0FICH, X PROCOPT=G, X KEYLEN=11 * SUBJECT NAME: PA ORDER 001 SENSEG NAME=ORDER, X PARENT=0 PSBGEN LANG=COBOL, X PSBNAME=M3FICHE, X CMPAT=YES END