De ulike datainnhentingsmetoder som brukes i IMS DL /I samtaler er som følger:
GU Call
GN Ring
Bruke kommandokoder
Multiple Processing
La oss vurdere følgende IMS database struktur for å forstå innhenting av data funksjonskall:
GU Call
Grunnlaget for GU samtale er som følger:
GU samtalen er kjent som Få unike samtale. Den brukes for tilfeldig behandling.
Hvis et program ikke oppdatere databasen regelmessig eller dersom antall database oppdateringer er mindre, da vi bruker tilfeldig behandling.
GU samtalen blir brukt til å plassere markøren på en bestemt posisjon for videre sekvensiell gjenfinning.
GU samtaler er uavhengige av pekeren posisjon etablert av tidligere samtaler. < .no>
GU samtalebehandling er basert på de unike viktige felt som følger med i samtalen uttalelse.
Hvis vi levere et nøkkelfelt som ikke er unik, da DL /jeg returnerer det første segmentet forekomsten av nøkkelfeltet.
CALL 'CBLTDLI' BRUKE DLI-GU PCB-NAVN IO-Area Library-SSA BØKER-SSA ENGINEERING-SSA IT-SSA < p> Eksempelet ovenfor viser vi utstede en GU samtale ved å tilby et komplett sett av kvalifiserte RS-. Den inneholder alle de viktige felt med start fra rotnivå til segmentet forekomst som vi ønsker å hente.
GU Samtale Betraktninger
Hvis vi ikke gir et komplett sett med kvalifiserte RS-i samtalen Da DL /I fungerer på følgende måte:
Når vi bruker en ukvalifisert SSA i en GU samtale, åpner DL /I det første segmentet forekomst i databasen som oppfyller kriteriene du angir <. .no>
Når vi utstede en GU anrop uten RS-, DL /jeg returnerer den første forekomsten av roten segment i databasen.
Hvis noen RS-på middels nivå er ikke nevnt i samtalen, da DL /jeg bruker enten den etablerte posisjon eller standardverdien av en ukvalifisert SSA for segmentet.
Statuskoder
< p> Tabellen nedenfor viser de relevante statuskodene etter en GU samtale:
SpacesSuccessful callGEDL /Jeg kunne ikke finne et segment som møtte kriteriene angitt i innkallingen
GN Ring
Grunnlaget for GN samtale, er som følger:
GN samtalen er kjent som Get Neste anrop. Den brukes til grunnleggende sekvensiell prosessering.
Den opprinnelige plasseringen av pekeren i databasen er før roten segment av den første databasen posten.
GN konferansen starter gjennom databasen fra stillingen etablert av tidligere anrop.
Hvis en GN samtale er ukvalifisert, returnerer den neste segment forekomst i databasen uansett type, i hierarkisk rekkefølge.
Hvis en GN samtale inkluderer RS-, da DL /jeg henter bare segmenter som oppfyller kravene i alle spesifiserte RS-.
RING 'CBLTDLI' BRUKE DLI-GN PCB-NAME IO-OMRÅDET BØKER-SSA
Eksempelet ovenfor viser vi utstede en GN samtale som gir startposisjon til å lese postene sekvensielt. Den henter den første forekomsten av BØKER segment
Statuskoder
Tabellen nedenfor viser de relevante statuskodene etter en GN samtale:.
SpacesSuccessful callGEDL /Jeg kunne ikke finne et segment som møtte kriteriene som er angitt i call.GAAn ukvalifisert GN samtalen beveger seg opp ett nivå i databasen hierarkiet for å hente segment.GBEnd av databasen er nådd, og segmentet ikke funnet. GKAn ukvalifisert GN samtale forsøker å hente en del av en bestemt type enn den som bare hentes men holder seg på samme hierarkiske nivå.
kommandokoder
Kommando koder brukes med samtaler for å hente et segment forekomst. De ulike kommandokoder brukes med samtaler er omtalt nedenfor
F Command Kode
Viktige punkter:.
Når en F-kommandoen kode er spesifisert i en samtale, samtalen behandler den første forekomsten av segmentet.
F kommandokoder kan brukes når vi ønsker å behandle sekvensielt, og det kan brukes med GN samtaler og GNP samtaler.
Hvis vi spesifiserer en F-kommandoen kode med en GU samtale, betyr det ikke har noen betydning, som GU kaller hente det første segmentet forekomst som standard.
L Command Kode
Viktige punkter:
Når en L kommando kode er spesifisert i en samtale, behandler samtalen siste forekomst av segmentet
<. li>
L kommandokoder kan brukes når vi ønsker å behandle sekvensielt, og det kan brukes med GN samtaler og GNP samtaler.
D Command Kode
punkter å merke seg:
D-kommandoen koden brukes til å hente mer enn ett segment forekomster ved hjelp av bare en enkelt samtale
Normalt DL /I opererer på. laveste nivået segment som er angitt i et SSA, men i mange tilfeller vil vi at data fra andre nivåer, så vel. I slike tilfeller kan vi bruke D kommandokode.
D kommandokoden gjør enkel gjenfinning av hele banen av segmenter.
C Command Kode
Viktige punkter:.
C kommando koden brukes til å sette sammen nøkler
Ved hjelp av relasjonsoperatorer er litt komplisert, som vi trenger for å spesifisere et feltnavn, en relasjonell operatør, og en søkeverdi. I stedet kan vi bruke en C-kommando kode for å gi en sammensatt nøkkel
Følgende eksempel viser bruken av C kommandokode.
01 BELIGGENHET-SSA. 05 FILLER PIC X (11) VERDI 'INLOCSEG * C ('. 05 LIBRARY-SSA PIC X (5). 05 BØKER-SSA PIC X (4). 05 ENGINEERING-SSA PIC X (6). 05 IT-SSA PIC X (3) 05 FILLER PIC X VERDI ')' RING 'CBLTDLI' BRUKE DLI-GU PCB-NAME IO-OMRÅDET LOCATION-SSA
P Command Kode
Viktige punkter:.
< li>
Når vi utstede en GU eller GN samtale, DL /I etablerer sitt opphav på det laveste nivået segment som hentes.
Hvis vi inkluderer P kommandokode, deretter DL /I etablerer sitt opphav på et høyere nivå segment i den hierarkiske banen
U Command Kode
Viktige punkter:.
< p> Når en U kommando kode er spesifisert i en ukvalifisert SSA i en GN samtale, DL /I begrenser søket for segmentet.
U kommandokode ignoreres hvis det brukes med en kvalifisert SSA
V Command Kode
Viktige punkter:.
V kommando koden fungerer tilsvarende U kommandokoden, men det begrenser søket til et segment på et bestemt nivå og alle nivåer over hierarkiet.
V kommandokoden blir ignorert når den brukes med en kvalifisert SSA.
Q Command Kode
Viktige punkter:
Q-kommandoen koden brukes til å Enqueue eller reservere et segment for eksklusiv bruk av ditt program
<. br>
Q kommandokoden er brukt i et interaktivt miljø der et annet program kan gjøre en endring til et segment.
Multiple Processing
Et program kan ha flere posisjoner i IMS database som er kjent som fler behandling. Multiple behandlingen kan gjøres på to måter:
Flere PCB
Multiple Positioning
Flere PCB
Flere PCB kan defineres for en enkelt database. Hvis det er flere PCB, deretter et program kan ha ulike syn på det. Denne metoden for å gjennomføre flere behandling er ineffektiv på grunn av kostnader pålagt av de ekstra PCB.
Multiple Positioning
Et program kan ha flere posisjoner i en database ved hjelp av en enkelt PCB. Dette oppnås ved å opprettholde en forskjellig posisjon for hvert hierarkisk bane. Multiple posisjonering brukes til å åpne segmenter av to eller flere typer sekvensielt på samme tid.