DL /I fungere er det første parameter som brukes i en DL /jeg kaller. Denne funksjonen forteller hvilken operasjon kommer til å bli utført på IMS databasen ved IMS DL /jeg kaller. Syntaksen DL /I fungere er som følger:
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'
Denne syntaksen representerer følgende viktige punkter:
For denne parameteren, kan vi gi noen fire-karakter navn som en lagringsplass felt å lagre funksjonskoden.
DL /I fungere parameter er kodet i arbeids lagring delen av COBOL-programmet.
For å spesifisere DL /I fungere, programmerer trenger å kode en av de 05 nivå data navn som DLI-GU i en DL /jeg kaller, siden COBOL ikke tillater å kode litteraler på en CALL-setning.
DL /I funksjonene er delt inn i tre kategorier: Få, Update, og andre funksjoner. La oss diskutere hver av dem i detalj.
Få Funksjoner
Få funksjoner er lik den leseoperasjon støttet av alle programmeringsspråk. Få funksjonen brukes til å hente segmenter fra en IMS DL /I databasen. Følgende Hent funksjonene brukes i IMS DB:
Få unike
Hent Neste
Få Neste innen Parent
Kom Hold Unik
Få Hold Neste
Få Hold Neste innen Parent
La oss vurdere følgende IMS database struktur for å forstå DL /I fungere samtaler:
Få unike
'GU' koden brukes for den Få unike funksjon. Det fungerer ligner på tilfeldig lese uttalelsen i COBOL. Den brukes til å hente et bestemt segment forekomst basert på feltverdier. Feltverdiene kan gis ved bruk segmentet søke argumenter. Syntaksen til en GU samtale er som følger:
RING 'CBLTDLI' BRUKE DLI-GU PCB Mask Segment I /O-området [Segment søk Argumenter]
Hvis du utfører ovennevnte samtalen uttalelsen ved å gi passende verdier for alle parameterne i COBOL-programmet, kan du hente segmentet i segment I /O området fra databasen. I eksempelet ovenfor, hvis du gir feltverdiene av Bibliotek, magasiner, og helse, så du får ønsket forekomst av helsesegmentet.
Hent Neste
'GN' koden brukes for Get Neste funksjon. Det fungerer ligner på lese neste setning i COBOL. Den brukes til å hente segment forekomster i en sekvens. Den forhåndsdefinerte mønster for å få tilgang til data segmentet forekomster er nede i hierarkiet, deretter til venstre mot høyre. Syntaksen til en GN samtale er som følger:
RING 'CBLTDLI' BRUKE DLI-GN PCB Mask Segment I /O-området [Segment søk Argumenter]
Hvis du utfører ovennevnte samtalen uttalelsen ved å gi passende verdier for alle parameterne i COBOL-programmet, kan du hente segmentet forekomst i segmentet I /O området fra databasen i en kronologisk rekkefølge. I eksempelet ovenfor, begynner det med tilgang til biblioteket segmentet, så bøker segment, og så videre. Vi utfører GN samtalen igjen og igjen, helt til vi når segmentet forekomst vi ønsker.
Hent Neste innen Parent
'BNP' koden brukes for Get Neste innen Parent. Denne funksjonen brukes til å hente segment forekomster i sekvens underordnet en etablert overordnede segment. Syntaksen til en BNP samtale er som følger:
RING 'CBLTDLI' BRUKE DLI-BNP PCB Mask Segment I /O-området [Segment søk Argumenter]
Få Hold Unik
'GHU' kode er brukt for få tak Unique. Hold-funksjon presiserer at vi kommer til å oppdatere segment etter henting. Get Hold Unik funksjon tilsvarer Få unike samtalen. Gitt nedenfor er syntaksen til en GHU samtale:
RING 'CBLTDLI' BRUKE DLI-GHU PCB Mask Segment I /O-området [Segment søk Argumenter]
Få Hold Neste
'GHN' kode er brukes for å få tak på Neste. Hold-funksjon presiserer at vi kommer til å oppdatere segment etter henting. Get Hold Neste funksjon tilsvarer Få Neste anrop. Gitt nedenfor er syntaksen til en GHN samtale:
RING 'CBLTDLI' BRUKE DLI-GHN PCB Mask Segment I /O-området [Segment søk Argumenter]
Få Hold Neste innen Parent
'GHNP' koden brukes for å få tak Neste innen Parent. Hold-funksjon presiserer at vi kommer til å oppdatere segment etter henting. Get Hold Neste innen Parent funksjon tilsvarer Få Neste innen Parent samtale. Gitt nedenfor er syntaksen til en GHNP samtale:
RING 'CBLTDLI' BRUKE DLI-GHNP PCB Mask Segment I /O-området [Segment søk Argumenter]
Oppdater Funksjoner
Oppdater funksjonene likner re -Skriv eller sett operasjoner i andre programmeringsspråk. Oppdater funksjonene brukes til å oppdatere segmenter i en IMS DL /I databasen. Før du bruker oppdateringsfunksjonen, må det være en vellykket samtale med Hold klausul for segmentet forekomst. Følgende Oppdater funksjonene brukes i IMS DB:
Sett
Slett
Sett
Sett
'ISRT' Koden benyttes for Sett inn funksjon. Den ISRT funksjonen brukes til å legge til et nytt segment i databasen. Den brukes til å endre en eksisterende database eller laste en ny database. Gitt nedenfor er syntaksen til en ISRT samtale:
RING 'CBLTDLI' BRUKE DLI-ISRT PCB Mask Segment I /O-området [Segment søk Argumenter]
Slett
'DLET' koden brukes for Slett funksjonen. Den brukes til å fjerne et segment fra en IMS DL /I databasen. Gitt nedenfor er syntaksen til en DLET samtale:
RING 'CBLTDLI' BRUKE DLI-DLET PCB Mask Segment I /O-området [Segment søk Argumenter]
Erstatt
'ERSTATTER' koden brukes for Få Hold Neste innen Parent. Erstatt funksjonen brukes til å erstatte et segment i IMS DL /I databasen. Gitt nedenfor er syntaksen til en ERSTATTER samtale:
RING 'CBLTDLI' BRUKE DLI-ERSTATTER PCB Mask Segment I /O-området [Segment søk Argumenter]
Andre funksjoner
Følgende andre funksjoner brukes i IMS DL /I samtaler:
Checkpoint
Start
PCB
Checkpoint
'CHKP' koden brukes for Checkpoint funksjon. Den brukes i gjenopprettings funksjonene i IMS. Gitt nedenfor er syntaksen til en CHKP samtale:
RING 'CBLTDLI' BRUKE DLI-CHKP PCB Mask Segment I /O-området [Segment søk Argumenter]
Restart
'XRST' koden brukes for Restart-funksjonen. Den brukes i omstarten funksjonene i IMS. Gitt nedenfor er syntaksen til en XRST samtale:
RING 'CBLTDLI' BRUKE DLI-XRST PCB Mask Segment I /O-området [Segment søk Argumenter]
PCB
PCB funksjonen brukes i CICS-programmer i IMS DL /I databasen. Gitt nedenfor er syntaksen til en PCB samtale.
RING 'CBLTDLI' BRUKE DLI-PCB PCB Mask Segment I /O-området [Segment søk Argumenter]
Du kan finne mer informasjon om disse funksjonene i utvinningen kapittelet