When using C1MATCHx with IMS, in addition to call areas, you must also include Program Control Blocks (PCB) in your 01-level linkage section. When calling any matcher module, you must include the CODE-1 Plus database PCBs that are coded in the PSBs distributed with the CODE-1 Plus IMS system installation. The PCB is shown below.
Batch Process PCB List
*--------------------------------------------------------------
* IMS PSB USED WITH THE BATCH IMS PROGRAM C1BM00
*--------------------------------------------------------------
*
* COUNTY DATA BASE
*
PCB TYPE=DB,NAME=G1CPCNY,PROCOPT=GO,KEYLEN=5
SENSEG NAME=CNYSEG,PARENT=0
*
* CITY DATA BASE
*
PCB TYPE=DB,NAME=G1CPCTY,PROCOPT=GO,KEYLEN=2
SENSEG NAME=CTYSEG,PARENT=0
*
* LOCALITY DETAILS DATA BASE
*
PCB TYPE=DB,NAME=G1CPDTL,PROCOPT=GO,KEYLEN=2
SENSEG NAME=DTLSEG,PARENT=0
*
* LOCALITY HEADER DATA BASE
*
PCB TYPE=DB,NAME=G1CPLCL,PROCOPT=GO,KEYLEN=2
SENSEG NAME=LCLSEG,PARENT=0
*
* CITY NAME DATA BASE
*
PCB TYPE=DB,NAME=G1CPCNM,PROCOPT=GO,KEYLEN=4
SENSEG NAME=CNMSEG,PARENT=0
*
* CITY NAME DATA BASE USING
* SECONDARY INDEX MADE FROM CITY NAME
*
PCB TYPE=DB,NAME=G1CPCNM,PROCOPT=GO,KEYLEN=32,X
PROCSEQ=G1CPXAA
SENSEG NAME=CNMSEG,PARENT=0
*
* CITY NAME DATA BASE USING
* SECONDARY INDEX MADE FROM STATE CODE AND CITY NAME
*
PCB TYPE=DB,NAME=G1CPCNM,PROCOPT=GO,KEYLEN=34,X
PROCSEQ=G1CPXAS
SENSEG NAME=CNMSEG,PARENT=0
* ZIP INDEX DATA BASE
*
PCB TYPE=DB,NAME=G1CPZIP,PROCOPT=GO,KEYLEN=1
SENSEG NAME=ZIPSEG,PARENT=0
*
* LINE OF TRAVEL DATA BASE
*
PCB TYPE=DB,NAME=G1CPLOT,PROCOPT=GO,KEYLEN=2
SENSEG NAME=LOTSEG,PARENT=0
*
* AUXILARY DATA BASE
*
PCB TYPE=DB,NAME=G1C1AUX,PROCOPT=GO,KEYLEN=50
SENSEG NAME=AUXCSEG,PARENT=0
*
* LICENSE MANAGEMENT DATA BASE
*
PCB TYPE=DB,NAME=G1LICEN,PROCOPT=A,KEYLEN=23
SENSEG NAME=LMSSEG,PARENT=0
*
* DELIVERY POINT VALIDATION (DPV) DATA BASE
*
PCB TYPE=DB,NAME=G1DPVDB,PROCOPT=GO,KEYLEN=4
SENSEG NAME=SEGMENT,PARENT=0
*
* DELIVERY POINT VALIDATION SPLIT (DPVS) DATA BASE
*
PCB TYPE=DB,NAME=G1DPVSDB,PROCOPT=GO,KEYLEN=4
SENSEG NAME=SEGMENT,PARENT=0
*
* DELIVERY POINT VALIDATION HASH/FULL(DPVH) DATA BASE
*
PCB TYPE=DB,NAME=G1DPVHDB,PROCOPT=GO,KEYLEN=4
SENSEG NAME=SEGMENT,PARENT=0
*
* RESIDENTIAL DELIVERY INDICATOR DATA BASE
*
PCB TYPE=DB,NAME=G1CPRDI,PROCOPT=GO,KEYLEN=4
SENSEG NAME=SEGMENT,PARENT=0
*
* MATCHER STREET POINTER DATA BASE
*
PCB TYPE=DB,NAME=G1CPSTR,PROCOPT=GO,KEYLEN=2
SENSEG NAME=STRSEG,PARENT=0
*
* PRECISELYID DATA BASE
*
PCB TYPE=DB,NAME=G1PBKDB,PROCOPT=GO,KEYLEN=4
SENSEG NAME=SEGMENT,PARENT=0
*
* SUITELINK DATA BASE
*
PCB TYPE=DB,NAME=G1SLKDB,PROCOPT=GO,KEYLEN=4
SENSEG NAME=SEGMENT,PARENT=0
*
* LACSLINK DATA BASE
*
PCB TYPE=DB,NAME=G1LLKDB,PROCOPT=GO,KEYLEN=4
SENSEG NAME=SEGMENT,PARENT=0
*
* LACSLINK SECURITY DATA BASE
*
PCB TYPE=DB,NAME=G1CPSUD,PROCOPT=GR,KEYLEN=7
SENSEG NAME=SEGMENT,PARENT=0
*
* LACSLINK KEY DATA BASE
*
PCB TYPE=DB,NAME=G1CPLKY,PROCOPT=GR,KEYLEN=19
SENSEG NAME=SEGMENT,PARENT=0
*
* ABBREVIATED AND PREFERRED ALIAS DATA BASE #1
*
PCB TYPE=DB,NAME=C1PALA,PROCOPT=GO,KEYLEN=5
SENSEG NAME=AL2SEG,PARENT=0
*
* ABBREVIATED AND PREFERRED ALIAS DATA BASE #2
*
PCB TYPE=DB,NAME=C1PALP,PROCOPT=GO,KEYLEN=5
SENSEG NAME=AL2SEG,PARENT=0
*
* GEO MASTER DATA BASE
*
PCB TYPE=DB,NAME=GCMASTER,PROCOPT=GO,KEYLEN=3
SENSEG NAME=GCMAST,PARENT=0
*
* GEO ZIP+4 MASTER DATA BASE
*
PCB TYPE=DB,NAME=GCZ4MAST,PROCOPT=GO,KEYLEN=3
SENSEG NAME=GCZ4MAST,PARENT=0
*
* GEO ROOF TOP MASTER DATA BASE
*
PCB TYPE=DB,NAME=GCZ6MAST,PROCOPT=GO,KEYLEN=3
SENSEG NAME=GCZ6MAST,PARENT=0
*
* GEO TAX MASTER DATA BASE
*
PCB TYPE=DB,NAME=GTMASTR,PROCOPT=GO,KEYLEN=40
SENSEG NAME=VTSEG,PARENT=0
*
* GEO TAX SECONDARY INDEX DATA BASE (ALTERNATE KEY)
*
PCB TYPE=DB,NAME=GTMSTALT,PROCOPT=GO,KEYLEN=34
SENSEG NAME=VTSEG,PARENT=0
*
PSBGEN PSBNAME=C1BM00,LANG=COBOL,CMPAT=YES
END
COBOL Call to IMS Version of C1MATCHx
The following is a sample COBOL call to the IMS version of C1MATCHx (C1MATCHB, C1MATCHS, C1MATCHM, C1MATCHL, C1MATCHH).
Note:
iYou must set P9I-PRM4 to "Y" to indicate the presence of
P9INTRF.
CALL WS-C1MATCHx USING P9IN
P9OUT
P9AUDT
P9INTRF
G1CPCNY-PCB
G1CPCTY-PCB
G1CPDTL-PCB
G1CPLCL-PCB
G1CPCNM-PCB
G1CPXAA-PCB
G1CPZIP-PCB
G1CPLOT-PCB
G1C1AUX-PCB
G1LICEN-PCB
G1DPVDB-PCB
G1DPVSDB-PCB
G1DPVHDB-PCB
G1CPRDI-PCB
G1CPSTR-PCB
G1SLKDB-PCB
G1LLKDB-PCB
G1CPSUD-PCB
G1CPLKY-PCB
G1CPALA-PCB
G1CPALP-PCB
Interactive Process PCB List
*--------------------------------------------------------------
* IMS PSB USED WITH THE ON-LINE IMS PROGRAM G1CPC10
*--------------------------------------------------------------
*
* ALTERNATE PCB USED FOR MSG SWITCH, ERROR MSGS, ETC.
*
PCB TYPE=TP,MODIFY=YES
*
* COUNTY DATA BASE
*
PCB TYPE=DB,NAME=G1CPCNY,PROCOPT=GO,KEYLEN=5
SENSEG NAME=CNYSEG,PARENT=0
*
* CITY DATA BASE
*
PCB TYPE=DB,NAME=G1CPCTY,PROCOPT=GO,KEYLEN=2
SENSEG NAME=CTYSEG,PARENT=0
*
* LOCALITY DETAILS DATA BASE
*
PCB TYPE=DB,NAME=G1CPDTL,PROCOPT=GO,KEYLEN=2
SENSEG NAME=DTLSEG,PARENT=0
*
* LOCALITY POINTER DATA BASE
*
PCB TYPE=DB,NAME=G1CPPTR,PROCOPT=GO,KEYLEN=2
SENSEG NAME=PTRSEG,PARENT=0
*
* LOCALITY HEADER DATA BASE
*
PCB TYPE=DB,NAME=G1CPLCL,PROCOPT=GO,KEYLEN=2
SENSEG NAME=LCLSEG,PARENT=0
*
* CITY NAME DATA BASE
*
PCB TYPE=DB,NAME=G1CPCNM,PROCOPT=GO,KEYLEN=4
SENSEG NAME=CNMSEG,PARENT=0
*
* CITY NAME DATA BASE USING
* SECONDARY INDEX MADE FROM CITY NAME
*
PCB TYPE=DB,NAME=G1CPCNM,PROCOPT=GO,KEYLEN=32, X
PROCSEQ=G1CPXAA
SENSEG NAME=CNMSEG,PARENT=0
*
* CITY NAME DATA BASE USING
* SECONDARY INDEX MADE FROM STATE CODE AND CITY NAME
*
PCB TYPE=DB,NAME=G1CPCNM,PROCOPT=GO,KEYLEN=34, X
PROCSEQ=G1CPXAS
SENSEG NAME=CNMSEG,PARENT=0
*
* ZIP INDEX DATA BASE
*
PCB TYPE=DB,NAME=G1CPZIP,PROCOPT=GO,KEYLEN=1
SENSEG NAME=ZIPSEG,PARENT=0
*
* LINE OF TRAVEL DATA BASE
*
PCB TYPE=DB,NAME=G1CPLOT,PROCOPT=GO,KEYLEN=2
SENSEG NAME=LOTSEG,PARENT=0
*
* COMM AREA (TEMP STORAGE) DATA BASE
*
PCB TYPE=DB,NAME=G1CPCOM,KEYLEN=16,PROCOPT=PA
SENSEG NAME=LTERMSEG,PARENT=0,PROCOPT=PA
SENSEG NAME=TYPESEG,PARENT=LTERMSEG,PROCOPT=PA
SENSEG NAME=QUEUESEG,PARENT=TYPESEG,PROCOPT=A
*
* CUSTOMIZATION DATA BASE
*
PCB TYPE=DB,NAME=G1CPFDF,KEYLEN=16,PROCOPT=A
SENSEG NAME=G1CPDFT,PARENT=0,PROCOPT=A
*
* LICENSE MANAGEMENT DATA BASE
*
PCB TYPE=DB,NAME=G1LICEN,PROCOPT=A,KEYLEN=23
SENSEG NAME=LMSSEG,PARENT=0
*
* DELIVERY POINT VALIDATION (DPV) DATA BASE
*
PCB TYPE=DB,NAME=G1DPVDB,PROCOPT=GO,KEYLEN=4
SENSEG NAME=SEGMENT,PARENT=0
*
* DELIVERY POINT VALIDATION SPLIT (DPVS) DATA BASE
*
PCB TYPE=DB,NAME=G1DPVSDB,PROCOPT=GO,KEYLEN=4
SENSEG NAME=SEGMENT,PARENT=0
*
* DELIVERY POINT VALIDATION HASH/FULL(DPVH) DATA BASE
*
PCB TYPE=DB,NAME=G1DPVHDB,PROCOPT=GO,KEYLEN=4
SENSEG NAME=SEGMENT,PARENT=0
*
* RESIDENTIAL DELIVERY INDICATOR DATA BASE
*
PCB TYPE=DB,NAME=G1CPRDI,PROCOPT=GO,KEYLEN=4
SENSEG NAME=SEGMENT,PARENT=0
*
* MATCHER STREET POINTER DATA BASE
*
PCB TYPE=DB,NAME=G1CPSTR,PROCOPT=GO,KEYLEN=2
SENSEG NAME=STRSEG,PARENT=0
*
* PRECISELYID DATA BASE
*
PCB TYPE=DB,NAME=G1PBKDB,PROCOPT=GO,KEYLEN=4
SENSEG NAME=SEGMENT,PARENT=0
*
* SUITELINK DATA BASE
*
PCB TYPE=DB,NAME=G1SLKDB,PROCOPT=GO,KEYLEN=4
SENSEG NAME=SEGMENT,PARENT=0
*
* LACSLINK DATA BASE
*
PCB TYPE=DB,NAME=G1LLKDB,PROCOPT=GO,KEYLEN=4
SENSEG NAME=SEGMENT,PARENT=0
*
* LACSLINK SECURITY DATA BASE
*
PCB TYPE=DB,NAME=G1CPSUD,PROCOPT=GR,KEYLEN=7
SENSEG NAME=SEGMENT,PARENT=0
*
* ABBREVIATED AND PREFERRED ALIAS DATA BASE #1
*
PCB TYPE=DB,NAME=C1PALA,PROCOPT=GO,KEYLEN=5
SENSEG NAME=AL2SEG,PARENT=0
*
* ABBREVIATED AND PREFERRED ALIAS DATA BASE #2
*
PCB TYPE=DB,NAME=C1PALP,PROCOPT=GO,KEYLEN=5
SENSEG NAME=AL2SEG,PARENT=0
*
*
* BATCH NOT CODED (BNC) INPUT DATA BASE
*
PCB TYPE=DB,NAME=G1CPBNCI,PROCOPT=GO,KEYLEN=8
SENSEG NAME=BNCSEG,PARENT=0
*
* BATCH NOT CODED (BNC) OUTPUT DATA BASE
*
PCB TYPE=DB,NAME=G1CPBNCO,PROCOPT=A,KEYLEN=8
SENSEG NAME=BNCSEG,PARENT=0,PROCOPT=A
*
* GEO MASTER DATA BASE
*
PCB TYPE=DB,NAME=GCMASTER,PROCOPT=GO,KEYLEN=3
SENSEG NAME=GCMAST,PARENT=0
*
* GEO ZIP+4 MASTER DATA BASE
*
PCB TYPE=DB,NAME=GCZ4MAST,PROCOPT=GO,KEYLEN=3
SENSEG NAME=GCZ4MAST,PARENT=0
*
* GEO ROOF TOP MASTER DATA BASE
*
PCB TYPE=DB,NAME=GCZ6MAST,PROCOPT=GO,KEYLEN=3
SENSEG NAME=GCZ6MAST,PARENT=0
*
* GEO TAX MASTER DATA BASE
*
PCB TYPE=DB,NAME=GTMASTR,PROCOPT=GO,KEYLEN=40
SENSEG NAME=VTSEG,PARENT=0
*
* GEO TAX SECONDARY INDEX DATA BASE (ALTERNATE KEY)
*
PCB TYPE=DB,NAME=GTMSTALT,PROCOPT=GO,KEYLEN=34
SENSEG NAME=VTSEG,PARENT=0
*
PSBGEN PSBNAME=G1CPC10,LANG=COBOL
END
COBOL Call to IMS Version of C1MATCHI
A sample COBOL call to the IMS version of C1MATCHI (interactive matcher only) follows.
Note:
iC1MATCHI does not support
P9INTRF.
CALL WS-C1MATCHI USING P9IN
P9OUT
P9AUDT
G1CPCNY-PCB
G1CPCTY-PCB
G1CPDTL-PCB
G1CPLCL-PCB
G1CPCNM-PCB
G1CPXAA-PCB
G1CPZIP-PCB
G1CPLOT-PCB
G1LICEN-PCB
G1DPVDB-PCB
G1DPVSDB-PCB
G1DPVHDB-PCB
G1CPRDI-PCB
G1CPSTR-PCB
G1PBKDB-PCB
G1SLKDB-PCB
G1LLKDB-PCB
G1CPALA-PCB
G1CPALP-PCB
Note:
iTo call the IMS version of C1MATCHI from your CICS application, you must first move 'C' to P9IENV in P9IN before making the call. This signals the matcher to call program C1PGETDT to obtain the current date using CICS facilities as opposed to obtaining it by a non-CICS compliant method. You must also add to your CICS CSD a program entry for the COBOL program C1PGETDT.