IMS Finalist requires the use of IMS Data Language/I (DL/I) for all Finalist files. You need to generate Data Base Descriptions (DBDs) to define the database structures for IMS. Source for generating the DBDs is provided. Conversion programs are required to convert some Finalist files into a SHISAM format. JCL is provided in the Finalist IMS JCLLIB to define and populate the IMS SHISAM files. For DL/I processing you must pass the PCB addresses for all Finalist files your application needs. These addresses are available when your application receives control from the IMS DL/I control program. COBOL users must use program LPFNPCB to pass the input PCB address to the Finalist control structure . See the following COBOL source extract. The following is a sample COBOL program called by IMS when calling Finalist.
...
COPY LPFNCL01.
...
LINKAGE SECTION.
*=*===========================================================*=*
*=* THIS PROGRAM USES 8 PCBS. - *=*
*=* (1) AN I/O PCB TO COMMUNICATE WITH THE TERMINAL *=*
*=* AND RECIEVE MESSAGES FROM THE TERMINAL. *=*
*=* (2) A PCB THAT POINTS TO THE DL/I DATAFILE. *=*
*=* (3) A PCB THAT POINTS TO THE DL/I CITYFILE. *=*
*=* (4-8) PCB'S THAT POINT TO ANCILLARY DATABASES. *=*
*=*===========================================================*=*
COPY LPCFIPCB.
EJECT
COPY LPCFDPCB.
EJECT
COPY LPCFCPCB.
EJECT
=*=========================================================*=*
=* *=*
=* THE LENGTH OF THE FOLLOWING PCB'S ARE NOT EXACT NOR *=*
=* DO THEY NEED TO BE. *=*
=* *=*
=*=========================================================*=*
01 FNEWS-PCB PIC X(42).
01 FNLOT-PCB PIC X(42).
01 DPV-PCB PIC X(42).
01 LLK-PCB PIC X(42).
01 SLK-PCB PIC X(42).
01 RDI-PCB PIC X(42).
01 PBK-PCB PIC X(42).
…
PROCEDURE DIVISION.
ENTRY 'DLITCBL' USING I-O-PCB, DATAFILE-PCB, CITY-PCB,
FNEWS-PCB, FNLOT-PCB,
DPV-PCB, LLK-PCB, SLK-PCB, RDI-PCB.
CALL 'LPFNPCB' USING DATAFILE-PCB IMS-INITDAT.
CALL 'LPFNPCB' USING CITY-PCB IMS-INITCITY.
CALL 'LPFNPCB' USING FNEWS-PCB PCBFNEWS.
CALL 'LPFNPCB' USING FNLOT-PCB PCBFNLOT.
CALL 'LPFNPCB' USING DPV-PCB PCBFNDPV.
CALL 'LPFNPCB' USING LLK-PCB PCBFNLLK.
CALL 'LPFNPCB' USING SLK-PCB PCBFNSLK.
CALL 'LPFNPCB' USING RDI-PCB PCBFNRDI.
CALL 'LPFNPCB' USING PBK-PCB PCBFNPBK.
…
MOVE '0' TO FINAL-FUNCTION-CODE
CALL 'FINALI' USING FINAL-CALL-AREA