Sie sind auf Seite 1von 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.

Screen shot of FICHE screen .

000100
000200
000300
000400
000500
000600
004600
004700
004800
004900
005000
005100
005200
005300
005400
005500
005600
005700
005800
005900
006000
006100
006200
006300

IDENTIFICATION DIVISION.
PROGRAM-ID. CA024335.
AUTHOR. DON HOFFMAN.
DATE-WRITTEN. 06/20/84.
DATE-COMPILED.
REMARKS.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 77-PGMNAME
PIC
77 77-TRANNAME
PIC
01

01
01
01
01
01
01

11/06/91
CA024335
06 LV007

X(08)
X(08)

VALUE
VALUE

'M3FICHE '.
'M3FICHE '.

300-CALL-CONSTANTS.
05 300-GU
05 300-ISRT
05 300-CHNG
05 300-PURG

PIC
PIC
PIC
PIC

X(04)
X(04)
X(04)
X(04)

VALUE
VALUE
VALUE
VALUE

'GU'.
'ISRT'.
'CHNG'.
'PURG'.

300-FUNC
300-PARMCNT
300-STCD-QC
300-STCD-GE
300-STCD-GB
300-STCD-II

PIC
PIC
PIC
PIC
PIC
PIC

X(04)
S9(5)
X(02)
X(02)
X(02)
X(02)

VALUE
VALUE
VALUE
VALUE
VALUE
VALUE

SPACES.
+0 COMP SYNC.
'QC'.
'GE'.
'GB'.
'II'.

CL**6

CL**4
CL**4
CL**4

006400 01 300-DB-CALL-CNT
PIC S9(05) COMP-3 VALUE 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 SPACES.
007400
007500 01 300-DB-IO
PIC X(3200) VALUE SPACES.
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
008500
008600
008700
008800
008900
009000
009100
009200
009300
009400 01
009500
009600
009700
009800
009900
010000
010100
010200
010300
010400
010500
010600
010700
010800
010900
011000
011100
011200
011300
011400

430-MID-HOLD.
05 430-MID-NAME
05 430-MID.
10 430-MID-TRANS
10 430-MID-PFKIND
10 430-MID-ORD-NO
10 430-MID-PSWD
10 430-MID-SECURE
10 FILLER
440-MOD-HOLD.
05 440-MOD-NAME
05 440-MOD.
10 440-ORDER
10 440-PSWD
10 440-SECURE
10 440-REPEAT-DATA.
15 440-FDATE1
15 440-ADMIN1
15 FILLER
15 440-FDATE2
15 440-ADMIN2
15 FILLER
15 440-FDATE3
15 440-ADMIN3
15 FILLER
15 440-FDATE4
15 440-ADMIN4
15 FILLER
15 440-FDATE5
15 440-ADMIN5

PIC X(08) VALUE 'M3IFICHE'.


PIC
PIC
PIC
PIC
PIC
PIC

X(08).
X(01).
X(10).
X(08).
X(61).
X(39).

CL**4
CL**7

PIC X(08) VALUE 'M3OFICHE'.


PIC X(10).
PIC X(08).
PIC X(61).
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC

X(06).
X(02).
X(20).
X(06).
X(02).
X(20).
X(06).
X(02).
X(20).
X(06).
X(02).
X(20).
X(06).
X(02).

CL**4

CL**7

CL**7

CL**7

CL**7

011500
15 FILLER
PIC X(20).
011600
10 440-ERRLINE
PIC X(55).
011700
10 FILLER
PIC X(40).
011800
011900******************************************************************
012000* SINCE DUPLICATE KEYS CANNOT BE PUT ON THE DATA BASE, THIS CNTR
012100* IS USED TO MAKE EACH ORDER UNIQUE
012200******************************************************************
012300 01 450-SS-COUNTER
PIC S9(03) COMP
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 PUT INTO THE MOD
*
012800******************************************************************
012900 01 470-SUBSC
PIC S9(01) VALUE +0.
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).
013500
013600******************************************************************
013700* THIS FLAG IS USED TO INDICATE THAT AT LEAST ONE ORDER WITH
013800* THE SUPPLIED ORDER NUMBER WERE FOUND
013900******************************************************************
014000 01 480-TABLE-ENTRIES-IND
PIC X VALUE 'N'.
014100
014200******************************************************************
014300** SECURE AREA TO HOLD THE SECURE SEGMENT'S SECURE INFORMATION **
014400******************************************************************
014500 01 490-SECURE-SEG.
014600
05 490-SECURE-SEG-1-55.
014700
10 490-SECURE-SEG-PSWD
PIC X(08).
014800
10 FILLER
PIC X(47).
014900
05 FILLER
PIC X(08).
015000
05 490-SECURE-SEG-EMP-ID
PIC X(06).
015100
05 FILLER
PIC X(26).
015200
015300******************************************************************
015400** SECURE AREA TO HOLD THE MIDS' AND MODS' SECURE INFORMATION **
015500******************************************************************
015600 01 4A0-SECURE-IO-AREA.
015700
05 4A0-SECURE-IO-1-55.
015800
10 4A0-SECURE-IO-PSWD
PIC X(08).
015900
10 FILLER
PIC X(47).
016000
05 4A0-SECURE-IO-EMP-ID
PIC X(06).
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).
016800
016900
017000 01 FILLER
PIC X(08) VALUE 'M3600'.
017100 01 600-ERROR-MESSAGES.

CL**7
CL**7

CL**2

CL**5

CL**7

CL**5
CL**5
CL**5
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4

CL**4

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 PASSWORD 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-STD-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) COMP-3 VALUE +4.
CL**4
019300
SKIP3
CL**2
019400*INCLUDE++ CAM2483900
MENU MOD
CL**2
019500 01 FILLER
PIC
X(08) VALUE '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*************************************************************
019700*** MFS MOD AREA FOR M3MENU
019800*************************************************************
019900
SKIP3
020000 01 790-MENU-MOD.
020100
05 790-MENU-LL
PIC S9(04) COMP VALUE +246.
020200
05 790-MENU-ZZ
PIC S9(04) COMP VALUE +0.
020300
05 790-MENU-DTL.
020400
10 790-MENU-PSWD
PIC X(08) VALUE SPACES.
020500
10 790-MENU-SECURE
PIC X(61) VALUE SPACES.
020600
10 790-MENU-CODE
PIC X(02) VALUE SPACES.
020700
10 790-MENU-ORIGIN
PIC X(05) VALUE SPACES.
020800
10 790-MENU-LTERM
PIC X(08) VALUE SPACES.
020900
10 790-MENU-ORDER
PIC X(10) VALUE SPACES.
021000
10 790-MENU-LINE
PIC X(03) VALUE SPACES.
021100
10 790-MENU-CHRGTO
PIC X(07) VALUE SPACES.
021200
10 790-MENU-SUBSEQ
PIC X(01) VALUE SPACES.
021300
10 790-MENU-ITEM
PIC X(15) VALUE SPACES.
021400
10 790-MENU-LOC
PIC X(04) VALUE SPACES.
021500
10 790-MENU-MO-NBR
PIC X(10) VALUE SPACES.
021600
10 790-MENU-RANGE1
PIC X(02) VALUE SPACES.
021700
10 790-MENU-RANGE2
PIC X(02) VALUE SPACES.
021800
10 790-MENU-AREA-RESP
PIC X(05) VALUE SPACES.
021900
10 790-MENU-ADMIN
PIC X(02) VALUE SPACES.
022000
10 790-MENU-DIV
PIC X(02) VALUE SPACES.
022100
10 790-MENU-BL
PIC X(10) VALUE SPACES.
022200
10 790-MENU-TRAIL-NBR
PIC X(06) VALUE SPACES.

CAM24839
00 LV002

CL**2

022300
10 790-MENU-TRAIL-PRE
PIC X(04) VALUE SPACES.
022400
10 790-MENU-PROD
PIC X(08) VALUE SPACES.
022500
10 790-MENU-ERRLINE
PIC X(60) VALUE SPACES.
022600
10 790-MENU-COIDB-ACCT
PIC X(07) 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)
VALUE 'SECURE '.
CAM18488
023200
05 880-AST
PIC X(01)
VALUE '*'.
00 LV001
023300
05 880-CMD-CD
PIC X(04)
VALUE '----'.
023400
05 880-LEFT-PAREN
PIC X(01)
VALUE '('.
023500
05 880-KEY-NM
PIC X(08)
VALUE 'PSWDKEY '.
023600
05 880-RELOP
PIC X(02)
VALUE ' ='.
023700
05 880-KEY-VALUE.
023800
10 880-PSWD-KEY
PIC X(08)
VALUE SPACES.
023900
05 880-RIGHT-PAREN
PIC X(01)
VALUE ')'.
024000*
024100
024200 01 8H0-FICHE-SSA.
024300
05 8H0-FICHE-NM
PIC X(08) VALUE 'ORDER
'.
024400
05 8H0-FICHE-AST
PIC X(01) VALUE '*'.
024500
05 8H0-FICHE-LF-PAREN
PIC X(01) VALUE '('.
024600
05 8H0-FICHE-KEY-NM1
PIC X(08) VALUE 'ORDERNBR'.
024700
05 8H0-FICHE-REL-OP
PIC X(02) VALUE ' ='.
024800
05 8H0-FICHE-KEY-VAL.
024900
10 8H0-FICHE-KEY
PIC X(10) VALUE SPACES.
025000
10 8H0-FICHE-KEY-SS
PIC 9(01) VALUE ZERO.
025100
05 8H0-FICHE-RT-PAREN
PIC X(01) VALUE ')'.
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
REDEFINES
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
REDEFINES
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

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
REDEFINES
CL**6
029900
980-ACC-TBL-AREA.
030000
15 980-ACC
PIC X(01)
CL**6
030100
OCCURS 20 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)
VALUE 'M3999
'.
033200*
033300*
CL*12
033400 01 999-ABEND-MSG.
CL*12
033500
05 999-LL
PIC S9(4)
VALUE +1474 COMP.
CL*12
033600
05 999-ZZ
PIC S9(4)
VALUE +0
COMP.
CL*12

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

CL*12
CL*12
CL*12
CL*12
CL*12
CL*12
CL*12

CL**2
CL**3
CL**3
CL**3

CL**9
CL*11
CL**9
CL**9
CL**9
CL**9
CL**9
CL**9
CL**9
CL**9
CL**9
CL**9
CL**9
CL**9
CL**9
CL**9
CL**9
CL**9
CL**9
CL**9
CL**9
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4

040200
05 FILLER
PIC X(08)
VALUE 'MCIROLL '.
CL**5
040300
05 FILLER
PIC X(08)
VALUE 'MCIMGT '.
CL**5
040400
05 FILLER
PIC X(08)
VALUE 'MCBOAL '.
CL**5
040500
05 FILLER
PIC X(08)
VALUE 'MCMOCHG '.
CL**5
040600
05 FILLER
PIC X(08)
VALUE 'MCMOVW '.
CL**5
040700
05 FILLER
PIC X(08)
VALUE 'MCODUE '.
CL**5
040800
05 FILLER
PIC X(08)
VALUE 'MCODUEL '.
CL**5
040900
05 FILLER
PIC X(08)
VALUE 'MCOVIEW '.
CL**5
041000
05 FILLER
PIC X(08)
VALUE 'MCFICHE '.
CL**5
041100
05 FILLER
PIC X(08)
VALUE 'MCTRNSP '.
CL**6
041200
05 FILLER
PIC X(08)
VALUE 'MCIVADJ '.
CL**7
041300
05 FILLER
PIC X(08)
VALUE 'MCINVST '.
CL**8
041400
05 FILLER
PIC X(08)
VALUE 'MCOHCHG '.
CL**8
041500
05 FILLER
PIC X(08)
VALUE 'MCTMTRL '.
CL*13
041600
05 FILLER
PIC X(08)
VALUE 'MCTMORD '.
CL*13
041700
05 FILLER
PIC X(08)
VALUE 'MCSHIPH '.
CL*13
041800
05 FILLER
PIC X(08)
VALUE 'MCSHIPD '.
CL*13
041900
05 FILLER
PIC X(08)
VALUE 'MCORPL '.
CL*13
042000
05 FILLER
PIC X(08)
VALUE 'MCOADJ '.
CL*13
042100
05 FILLER
PIC X(08)
VALUE 'MCODCHG '.
CL*13
042200
CL**4
042300 01 999-RESP-TRANS-TBL
REDEFINES 999-RESP-TRANS.
CL**4
042400
05 999-RESP-TRANS-ENT OCCURS 23 TIMES
CL*13
042500
INDEXED BY 999-RESP-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(0008).
CL**9
043500
10 CA064927-PGMNAME
PIC X(0008).
CL**9
043600
10 CA064927-PARA
PIC X(0008).
CL**9
043700
10 CA064927-FUNC
PIC X(0004).
CL**9
043800
10 CA064927-PARMCNT
PIC 9(0005).
CL**9
043900
10 CA064927-DBD
PIC X(0132).
CL**9
044000
10 CA064927-SSA1
PIC X(0070).
CL**9
044100
10 CA064927-SSA2
PIC X(0070).
CL**9
044200
10 CA064927-SSA3
PIC X(0070).
CL**9
044300
10 CA064927-USER-1
PIC X(0070).
CL**9
044400
10 CA064927-USER-2
PIC X(0070).
CL**9
044500
10 CA064927-USER-3
PIC X(0070).
CL**9
044600
10 CA064927-IOAREA
PIC X(0720).
CL**9
044700
10 CA064927-INPUT
PIC X(1360).
CL**9
044800*
044900
045000*INCLUDE++ CAM1835600
M3P2PMSG.12580OVIEW
045100
SKIP3
06/06/94
045200 01 FILLER
PIC
X(08) VALUE '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.

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) VALUE 'M3OVIEW'.
047500
10 12580-ORIG
PIC
X(05) VALUE 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) VALUE SPACE.
CL**3
048000
10 12580-ORD-NO
PIC X(10) VALUE SPACES.
CL**3
048100
10 12580-SUBSEQ
PIC X(01) VALUE '0'.
CL**3
048200
10 12580-PRNT
PIC X(01) VALUE SPACES.
CL**3
048300
10 12580-PAGE
PIC 9(03) VALUE ZEROS.
CL**3
048400
10 12580-PSWD
PIC X(08) VALUE SPACES.
CL**3
048500
10 12580-HID-KEY
PIC X(27) VALUE SPACES.
CL**3
048600
10 12580-STAT
PIC X(02) VALUE SPACES.
CL**3
048700
10 12580-TRANS
PIC X(03) VALUE SPACES.
CL**3
048800
10 12580-SECURITY PIC X(61) VALUE 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) VALUE '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) VALUE 'M3TRNSP'.
051000
10 12600-ORIG
PIC
X(05) VALUE 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) VALUE SPACES.
051500
10 12600-SUBSEQ
PIC X
VALUE ZERO.
051600
10 12600-PSWD
PIC X(08) VALUE SPACES.
051700
10 12600-SECURE
PIC X(61) VALUE SPACES.
051800
10 12600-PFKIND
PIC X(01) VALUE SPACES.
CL**3
051900*
052000
052100*****************************************************************
052200***
PGM-TO-PGM MESSAGE FOR
M3FICHE
***
052300*****************************************************************
052400
052500 01 12900-MSG.
052600
05 12900-MSG-HDR.

052700
10 12900-LL
PIC S9(04) COMP SYNC VALUE +96.
CL**4
052800
10 12900-ZZ
PIC S9(04) COMP SYNC 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 13200-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(05) COMP-3.
059400
10 1301-TOD-ERRPCB
PIC S9(07) COMP-3.
059500
10 1301-MSG-SEQ-ERRPCB
PIC S9(03) COMP.

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 SWITCHING - 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(05) COMP-3.
061300
10 1303-TOD-MSGPCB
PIC S9(07) COMP-3.
061400
10 1303-MSG-SEQ-MSGPCB
PIC S9(03) 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(05) COMP.
062600
05 1480-SEGNMEFB
PIC X(08).
062700
05 1480-LENGTHFB
PIC S9(05) COMP.
062800
05 1480-SENSEG
PIC S9(05) 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

065300
PERFORM U100-RETRIEVE-A-MSG-OPR.
065400
065500
PERFORM A000-MAIN-PROCESS-SEQ
065600
UNTIL 1300-STCD-IOPCB NOT EQUAL SPACES.
065700
065800
GOBACK.
065900
066000 A000-MAIN-PROCESS-SEQ.
066100
066200
MOVE SPACES TO 440-MOD.
066300
066400
PERFORM U000-VALIDATE-PASSWORD.
066500
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-ORD-NO
068100
MOVE 430-MID-PSWD TO 12580-PSWD
068200
MOVE 430-MID-SECURE TO 12580-SECURITY
068300
MOVE 12580-MSG TO 500-MSG-IO
068400
PERFORM U120-SEND-PGM-TO-PGM-MSG-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-PSWD
069400
MOVE 430-MID-SECURE TO 12600-SECURE
069500
MOVE 12600-MSG TO 500-MSG-IO
069600
PERFORM U120-SEND-PGM-TO-PGM-MSG-OPR
069700
ELSE
069800
IF 430-MID-PFKIND EQUAL 'C'
069900
THEN
070000******************************************************************
070100* *** SEND MESSAGE to MENU Screen
070200******************************************************************
070300
PERFORM U130-SEND-MENU-MOD.
070400
070500
IF 440-ERRLINE NOT EQUAL SPACES
070600
IF 430-MID-TRANS = 'MCFICHE'
070700
PERFORM U115-SEND-LU62-MSG
070800
ELSE
070900
PERFORM U110-SEND-MSG-TO-SCREEN-OPR.

CL**7
CL**4
CL**4

CL**4

CL**4
CL**2
CL**2
CL**2
CL**2
CL**2
CL**2
CL**2
CL**2

CL**7
CL**7
CL**7
CL**7

071000
071100
PERFORM U100-RETRIEVE-A-MSG-OPR.
071200
071300 B000-COMMON-EDITS-OPR.
071400
071500
IF 430-MID-TRANS = 'MCFICHE'
071600
MOVE SPACES TO 430-MID-PFKIND
071700
ELSE
071800
IF 430-MID-PFKIND EQUAL '1' OR '2' OR 'C' OR SPACES
071900
NEXT SENTENCE
072000
ELSE
072100
MOVE 600-ERR-009 TO 440-ERRLINE.
072200
072300 C000-GET-FICHE-SEGS-SEQ.
072400
072500
MOVE SPACES TO 470-DATE-ADMIN-TABLE.
072600
MOVE 'N' TO 480-TABLE-ENTRIES-IND.
072700
MOVE +1 TO 470-SUBSC.
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.
073700
PERFORM D000-FOUND-SEQ.
073800
IF 480-TABLE-ENTRIES-IND = 'N'
073900
THEN
074000
MOVE SPACES TO 440-REPEAT-DATA
074100
MOVE 600-ERR-067 TO 440-ERRLINE
074200
ELSE
074300
MOVE 600-ERR-001 TO 440-ERRLINE
074400
MOVE 470-DATE-ADMIN-TABLE TO 440-REPEAT-DATA.
074500
074600 D000-FOUND-SEQ.
074700
074800
IF 14H0-STCD = SPACES
074900
MOVE 300-DB-IO TO 9H0-FICHE-IO-AREA
075000
MOVE SPACE TO 470-DATE-ADMIN-TABLE
075100
MOVE 9H0-FICHE-DATE TO 470-DATE (470-SUBSC)
075200
MOVE 9H0-ADMIN TO 470-ADMIN (470-SUBSC)
075300
ADD +1 TO 470-SUBSC.
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******************************************************************
076100** THIS PARAGRAPH VALIDATES THE PASSWORD. IF THE PSWD IS VALID,**
076200** THE SECURE AREA FOR THE SCREEN IS BUILT UNLESS THIS HAS
**
076300** BEEN PREVIOUSLY DONE.
**
076400******************************************************************
076500 U000-VALIDATE-PASSWORD.
076600

CL**7
CL**7
CL**7
CL**7
CL**7
CL**7

CL**5
CL**5
CL**5

CL**5
CL**5
CL**5
CL**5
CL**5
CL**5
CL**5
CL**5

CL**5
CL**5
CL**5
CL**5
CL**5
CL**5

CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4

076700
MOVE 430-MID-SECURE
TO 4A0-SECURE-IO-AREA.
076800
076900
IF 430-MID-PSWD = SPACES OR LOW-VALUES
077000
077100
MOVE SPACES
TO 430-MID-SECURE
077200
MOVE 600-ERR-007 TO 440-ERRLINE
077300
077400
ELSE
077500
077600
IF 430-MID-PSWD = 4A0-SECURE-IO-PSWD
077700
077800
NEXT SENTENCE
077900
078000
ELSE
078100
078200
MOVE 'U000'
TO 300-PARA
078300
MOVE 300-GU
TO 300-FUNC
078400
MOVE +4
TO 300-PARMCNT
078500
MOVE 430-MID-PSWD
TO 880-PSWD-KEY
078600
MOVE 'Y'
TO 999-DUMPSW
078700
078800
PERFORM U980-SECURE-IO
078900
079000
MOVE 'N'
TO 999-DUMPSW
079100
079200
IF 1480-STCD = SPACES
079300
079400
MOVE 300-DB-IO
TO 980-SECURE-IO-AREA
079500
MOVE 980-SECURE-IO-AREA
TO 490-SECURE-SEG
079600
MOVE 490-SECURE-SEG-1-55
TO 4A0-SECURE-IO-1-55
079700
MOVE 490-SECURE-SEG-EMP-ID TO 4A0-SECURE-IO-EMP-ID
079800
MOVE 4A0-SECURE-IO-AREA
TO 430-MID-SECURE
079900
080000
ELSE
080100
080200
MOVE SPACES
TO 430-MID-SECURE
080300
MOVE 600-ERR-007 TO 440-ERRLINE.
080400
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.
081000
PERFORM U200-TERMINAL-IO-OPR.
081100
081200
IF 1300-STCD-IOPCB EQUAL SPACES
081300
IF (1300-MOD-NM-IOPCB EQUAL 'M3OFICHE')
081400
OR (430-MID-TRANS EQUAL 'MCFICHE')
081500
NEXT SENTENCE
081600
ELSE
081700
MOVE SPACES TO 430-MID
081800
MOVE 420-TERMINAL-IO TO 12900-MSG
081900
MOVE 12900-TRANS-CD TO 430-MID-TRANS
082000
MOVE 12900-ORD-NO TO 430-MID-ORD-NO
082100
MOVE 12900-PSWD TO 430-MID-PSWD
082200
MOVE 12900-SECURE TO 430-MID-SECURE.
082300

CL**4
CL**4
CL**7
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4
CL**4

CL**7
CL**7
CL**7
CL**7
CL**7

CL**7
CL**4
CL**4

082400 U110-SEND-MSG-TO-SCREEN-OPR.
082500
082600
MOVE 'U110' TO 300-PARA.
082700
MOVE 430-MID-SECURE TO 440-SECURE.
082800
MOVE 430-MID-PSWD
TO 440-PSWD.
082900
MOVE 430-MID-ORD-NO TO 440-ORDER.
083000
MOVE 440-MOD-NAME TO 420-MOD-NAME.
083100
MOVE 440-MOD TO 420-TERMINAL-DATA.
083200
MOVE +318 TO 420-CNT.
083300
MOVE 420-TERMINAL-IO TO 300-DB-IO.
083400
MOVE +4 TO 300-PARMCNT.
083500
MOVE 300-ISRT TO 300-FUNC.
083600
PERFORM U200-TERMINAL-IO-OPR.
083700
083800 U115-SEND-LU62-MSG.
083900
084000
MOVE 'U115'
TO 300-PARA.
084100
MOVE 430-MID-PSWD
TO 440-PSWD.
084200
MOVE 430-MID-ORD-NO TO 440-ORDER.
084300
MOVE 440-MOD
TO 13200-LU62-MSG-DATA.
084400
MOVE +323
TO 13200-LU62-MSG-LL.
084500
MOVE 13200-LU62-MSG TO 300-DB-IO.
084600
MOVE +3
TO 300-PARMCNT.
084700
MOVE 300-ISRT
TO 300-FUNC.
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.

CL**4
CL**4
CL**4

CL**7
CL**7

CL**7
CL**7
CL**7
CL**7
CL**7
CL**7
CL**7
CL**7
CL**7
CL**7
CL**7
CL**7

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-USER-1.
088700
MOVE 500-MSG-DATA TO 999-USER-2.
088800
PERFORM U999-ERROR.
088900
089000 U130-SEND-MENU-MOD.
089100
089200
MOVE 'U120'
TO 300-PARA.
089300
MOVE 1300-LTERM-IOPCB TO 790-MENU-LTERM
089400
MOVE 'FICHE'
TO 790-MENU-ORIGIN
089500
MOVE 430-MID-PSWD
TO 790-MENU-PSWD
089600
MOVE 430-MID-SECURE
TO 790-MENU-SECURE
089700
MOVE 430-MID-ORD-NO
TO 790-MENU-ORDER
089800
MOVE 790-MENU-MOD
TO 500-MSG-IO
089900
MOVE 'M3OMENU '
TO 500-DEST
090000
090100
CALL 'CBLTDLI' USING 300-ISRT
090200
1300-IOPCB
090300
790-MENU-MOD
090400
500-DEST.
090500
090600
IF 1300-STCD-IOPCB NOT EQUAL SPACES
090700
THEN
090800
MOVE 'U120'
TO 300-PARA
090900
MOVE 'UNABLE TO INSERT MENU MOD' TO 999-USER-1
091000
MOVE 1300-IOPCB
TO 999-DBD
091100
PERFORM U999-ERROR.
091200
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
092000
420-MOD-NAME.
092100
092200
IF 300-FUNC = 'GU'
092300
MOVE 300-DB-IO
TO 420-TERMINAL-IO
092400
MOVE 420-TERMINAL-DATA TO 430-MID
092500
MOVE 430-MID-TRANS
TO 77-TRANNAME.
092600
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

CL**2
CL**2
CL**2
CL**2
CL**2
CL**2
CL**4
CL**2
CL**2
CL**2
CL**2
CL**2
CL**2
CL**2
CL**2
CL**2
CL**2
CL**2
CL**2
CL**2
CL**2
CL**2
CL**2

CL**7

CL**6
CL**7
CL**6
CL**6
CL**6

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-AREA
097000
MOVE 9H0-FICHE-DATE TO 470-DATE (470-SUBSC)
097100
MOVE 9H0-ADMIN
TO 470-ADMIN (470-SUBSC)
097200
ADD +1 TO 450-SS-COUNTER
097300
ADD +1 TO 470-SUBSC
097400
MOVE 'Y' TO 480-TABLE-ENTRIES-IND
097500
ELSE
097600
IF 14H0-STCD = 'GE'
097700
THEN
097800
ADD +1 TO 450-SS-COUNTER
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
098500*INCLUDE++ CAM1849000
098600
SKIP3
098700 U980-SECURE-IO.
098800
SKIP2
098900
CALL
'CBLTDLI' USING
099000
300-PARMCNT
099100
300-FUNC
099200
1480-SECURE-PCB
099300
300-DB-IO
099400
880-SECURE-SSA.

CL**5
CL**5
CL**5
CL**5

CL**5

CL**4
CL**4
07/17/84
CAM18490
00 LV002

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-DBD
100200
MOVE
880-SECURE-SSA
TO 999-SSA1
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-QUEUE-MSG.
CL**6
104100
MOVE ZEROS
TO CA064927-PARMCNT.
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-LTERM.
CL**6
104600
MOVE 77-PGMNAME
TO CA064927-PGMNAME.
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-PARMCNT.
CL**6
105000
MOVE 300-DB-IO
TO CA064927-IOAREA.
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-INPUT.
CL**6
105900
CL**3
106000
CALL 'CBLTDLI' USING
300-CHNG
CL**6
106100
1301-ERRPCB
CL**7
106200
CA064927-TRAN-TR064927.
CL**6
106300
CALL 'CBLTDLI' USING
300-ISRT
CL**6
106400
1301-ERRPCB
CL**7
106500
CA064927-QUEUE-MSG.
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-MSG.
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

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-SW
CL**6
108700
WHEN 999-RESP-TRANS-NAME(999-RESP-TRANS-X) =
CL**6
108800
77-TRANNAME
CL**6
108900
MOVE 'Y' TO 999-ABEND-RESP-REQ-SW.
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-IOPCB
CL**4
109500
CALL 'CBLTDLI' USING
300-ISRT
CL**4
109600
1301-ERRPCB
CL**4
109700
999-ABEND-RESP-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
PCB
TYPE=TP,MODIFY=YES,EXPRESS=YES
SUBJECT NAME: P M3FICHE
PCB
TYPE=TP,MODIFY=YES,EXPRESS=YES
SUBJECT NAME: P M3FICHE
SUBJECT NAME: PP M380SECU
PCB
TYPE=DB,
DBDNAME=M380SECU,
PROCOPT=GO,
KEYLEN=8
SUBJECT NAME: PA SECURE
SENSEG NAME=SECURE,
PARENT=0
SUBJECT NAME: P M3FICHE
SUBJECT NAME: PP M3H0FICH
PCB
TYPE=DB,
DBDNAME=M3H0FICH,
PROCOPT=G,
KEYLEN=11
SUBJECT NAME: PA ORDER
SENSEG NAME=ORDER,
PARENT=0
PSBGEN LANG=COBOL,
PSBNAME=M3FICHE,
CMPAT=YES
END

001
002
003
000
X
X
X
000
X
004
000
X
X
X
001
X
X
X

Das könnte Ihnen auch gefallen