IMS DB COBOL BASICS

Vi inkluderer DL /jeg kaller inne COBOL program for å kommunisere med IMS database. Vi bruker følgende DL /I uttalelser i COBOL program for å få tilgang til databasen:

Entry erklæringen

goback erklæringen

Call erklæringen

Entry Statement

Den brukes til å passere kontroll fra DL /jeg til COBOL program. Her er syntaksen for oppføringen uttalelse:
ENTRY 'DLITCBL' med pcb-navn1 [pcb-navn2]

Ovennevnte uttalelse er kodet i Prosedyre Division
av COBOL program. La oss gå inn i detaljene i uttalelsen oppføring i COBOL program.

  • batch initialisering modulen utløser program og kjøres under sin kontroll

    DL /jeg laster de nødvendige kontrollblokker og moduler og applikasjonen, og kontroll er gitt til applikasjonen.

    DLITCBL står for DL /jeg å COBOL
    . Oppføringen setningen brukes for å definere inngangspunkt i programmet.

  • Når vi kaller et delprogram i COBOL, er dens adresse også. Likeledes når den DL /jeg gir kontrollen til applikasjonen, gir det også adressen til hver PCB definert i programmets PSB.

  • Alle PCB brukt i programmet må være definert i den Heis §
    av COBOL programmet fordi PCB ligger utenfor applikasjonen.

    PCB definisjonen inne i Heis Seksjon kalles som PCB Mask
    .

    Forholdet mellom PCB masker og selve PCB i lagring er skapt ved å liste PCB i oppføringen uttalelse. Sekvensen av oppføring i oppføringen erklæringen skal være det samme som de vises i PSBGEN.

    goback erklæringen

    Den brukes til å passere kontrollen tilbake til IMS kontroll program. Følgende er syntaksen til goback uttalelse:
    goback

    Nedenfor er de grunnleggende punkter å merke om goback uttalelse:

    goback er kodet på slutten av applikasjonen. Den returnerer kontrollen til DL /I fra programmet.

  • Vi bør ikke bruke STOP RUN som den returnerer kontrollen til operativsystemet. Hvis vi bruker STOP RUN, DL /jeg får aldri en sjanse til å utføre sine avslutnings funksjoner. Det er derfor, i DL /I tilpasningsprogram, er goback uttalelse brukes.

  • Før utstede en goback uttalelse, alle de ikke-DL /I datasett som brukes i COBOL program må være lukket, ellers vil programmet avsluttes unormalt.

    Call erklæringen

    Ring påstanden brukes for å be for DL ​​/I tjenester som utfører visse operasjoner på IMS database. Her er syntaksen for samtalen uttalelse:
    RING 'CBLTDLI' BRUKE DLI Function Code PCB Mask Segment I /O-området [Segment søk Argumenter]

    Syntaksen ovenfor viser parametere som du kan bruke med anropet uttalelse. Vi vil diskutere hver av dem i tabellen nedenfor.
    S.No
    Parametere med beskrivelse
    1

    DLI Function Code
    < p> Identifiserer DL /I fungere som skal utføres. Dette argumentet er navnet på de fire tegnfelt som beskriver I /O operasjon.
    2

    PCB Mask

    PCB definisjonen inne i Heis Seksjon kalles som PCB Maske. De brukes i inngangs setningen. Ingen SELECT, tildele, ÅPEN eller LUKKET uttalelser er nødvendig.
    3

    Segment I /O-området

    Navn på en input /output arbeidsområdet. Dette er et område av program der DL /jeg setter en forespurt segment.
    4

    Segment søk Argumenter

    Dette er valgfrie parametere avhengig av type appellen. De brukes til å søke datasegmenter inne i IMS database

    Nedenfor er de punkter å merke om Call uttalelse.

  • CBLTDLI står for COBOL til DL /I. Det er navnet på et grensesnitt modul som er link redigert med programmets objektmodulen.

  • Etter hvert DL /jeg kaller, lagrer DLI en statuskode i PCB. Programmet kan bruke denne koden for å avgjøre om anropet lyktes eller mislyktes.

    Eksempel

    For mer forståelse av COBOL, du kan gå gjennom vår COBOL tutorial her. Følgende eksempel viser oppbyggingen av et COBOL program som bruker IMS database og DL /I samtaler. Vi vil diskutere i detalj hver av parametrene som brukes i blant annet i de kommende kapitlene.
    IDENTIFIKASJON DIVISION.PROGRAM-ID. TEST1.DATA DIVISION.WORKING-OPPBEVARING SECTION.01 DLI-FUNKSJONER. 05 DLI-GU PIC X (4) VERDI "GU". 05 DLI-GHU PIC X (4) VERDI 'GHU'. 05 DLI-GN PIC X (4) VERDI "GN '. 05 DLI-GHN PIC X (4) VERDI 'GHN'. 05 DLI-BNP PIC X (4) VERDI "BNP". 05 DLI-GHNP PIC X (4) VERDI 'GHNP'. 05 DLI-ISRT PIC X (4) VERDI 'ISRT'. 05 DLI-DLET PIC X (4) VERDI 'DLET'. 05 DLI-ERSTATTER PIC X (4) VERDI 'ERSTATTER'. 05 DLI-CHKP PIC X (4) VERDI 'CHKP'. 05 DLI-XRST PIC X (4) VERDI 'XRST'. 05 DLI-PCB PIC X (4) VERDI "PCB" 0,01 Segment-I-O-OMRÅDET PIC X (150) .LINKAGE SECTION.01 STUDENT-PCB-MASK. 05 STD-DBD-NAME PIC X (8). 05 STD-segmentnivå PIC XX. 05 STD-STATUS-CODE PIC XX. 05 STD-PROC-ALTERNATIVER PIC X (4). 05 FILLER PIC S9 (5) COMP. 05 STD-segment NAME PIC X (8). 05 STD-KEY-LENGDE PIC S9 (5) COMP. 05 STD-nummen-SENS-SEGS PIC S9 (5) Comp. 05 STD-KEY PIC X (11) .PROCEDURE DIVISION.ENTRY 'DLITCBL' BRUKE STUDENT-PCB-MASK.A000-LES-PARA.110-GET-ELSE-segmentet. CALL 'CBLTDLI' BRUKE DLI-GN STUDENT-PCB-MASK Segment-I-O-AREA.GOBACK.