IMS CLASS 02: ------------------------------- PRAPRATION OF IMS-COBOL PROGRAM: IMS --> DB & DC IMS =DB ==< DATABASE -- STORE THE DATA OF THE PROJECT TO PROCESS THIS DATA WE USE COBOL-IMS PGMS 3 TYPES 1. DLI -- BATCH --> JCL -- DFSRRC00 2. MPP -- ONLINE - IMS-DC / CICS 3. BMP -- ONLINE + BATCH + JOB USER/FRONT END - ACTIVLY THE IMS -- JCL JOB WILL ALSO USE DLI -- HOW TO CODE A COBOL-IMS PROGRAM DBD -- PHSYCIAL STRUCTURE OF THE DATABASE -- NAME , DDNAME , TYPE -- SEGMENTS -- FILEDS PSB -- COLLECTION OF PCB'S PROVIDE THE DATABASE + SEGEMENT + FILEDS WHICH UR COBOL-IMS PGM NEED TO ACCESS. ORDER --> U NEED THIS IN UR PGM --> PSB -> 1 PCB OF PROVIDE ORDER DATABASE - SEGMENT EX: ORDER + PRODUCT ---> 1 PSB == 1 PCB FOR ORDER 1 PCB FOR PRODUCT PGM CANNOT ACCESS THE DBD COBOL-IMS --> SEE ONLY PSB (PCB -DATABASE + SEGMENT + FILEDS) SEGMENT --> TABLE FILE ID DIVISION --> NO CHANGES ENVIRONMENT DIVISION -- NO CHANGES DATA DIVISION. WORKING-STORAGE SECTION. 1. ADDING REQUIRED SEGMENT COPYBOOK. 01 ORDER-DETAILS-SEG 03 OID... LINKAGE SECTION. 2. WE NEED ADD ANOTHER COPYBOOK/GROUP -> PCB-MASK U NEED TO ADD EQUAL NUM OF PCB -- TO PCBS DEFINED IN THE PSB.. 3. PROCEDURE DIVISION USING PCB-MASK1 , PCB-MARK2. WHEN U WANT TO TALK TO IMS-DB FOR DATA (GET - INSERT) 4 CALL 'CBLTDLI' USING FUNCTION-CALL (GET , ISRT , REPL , DELT) == COBOL = TO = DLI PCB-MASK, IO-AREA (COPYBOOK) SSA*** (WHERE CONDITION) 5. GOBACK** (DO NOT USE STOP RUN) COBOL PGM == DLI == IMS COBOL PGM == SQL == TABLE COBOL PGM -= FILE (FILE STATEMENT = READ , WRITE ) COMPILE IT --> LOAD* EXECUTION: COBOL-IMS --> //STEP1 EXEC PGM=IMSPGM01 --> ERROR //STEP1 EXEC PGM=DFSRRC00,PARM='DLI,PGMNAME,PSBNAME = DLI BMP LINKAGE SECTION. 1.PCB-MASK PRODCEDURE DIVISION USING ...PCB-MASK1, PCB-MASK2. CBLTDLI PCB-MASK --> DLI --> IMS IO-AREA <--- DLI <--- IMS STOP RUN == OS GOBACK -- DFSRRC00