Hvordan klargjøre en Comp-3 Variabel COBOL

Hvordan klargjøre en Comp-3 Variabel COBOL


Samtidig som det gir numerisk effektivitet og presisjon under beregning og lagring, COBOL tilbyr en måte å effektivt tillate deg å beregne tall raskt ved å utnytte sin interne arkitekturen. En av de vanligste er pakket desimal eller COMP-3 numerisk felt, som lar deg lagre to sifre i hver byte lagringsplass. Ved hjelp av denne notasjonen, bestemmer du hvor mange sifre lagret nummeret vil være ved å legge en til notert feltet og dele resultatet med to. For eksempel, et felt av PIC S9 (5) COMP-3 har en lagring på 3 bytes. Du må initialisere dette feltet før noen manipulering eller beregning er utført på den for å unngå en behandlingsfeil.

Bruksanvisning

1 Identifisere feltet (e) du ønsker å initial i COBOL-kode. For eksempel kan du ha et felt som "05 beløp mottatt PIC S9 (5v99) comp-3." Dette er en signert pakket desimal feltet, og må du først klargjøre den før den kan bli involvert i noen videre behandling.

2 Gå til Working-Storage delen av programmet og bestemme filstrukturen på variabler. Hvis komp-3 felt er underordnet en høyere struktur, skriver du bare "Initial" kommandoen i prosedyre divisjon. Som et eksempel kan et felt som "01 Konto-typer" etterfulgt av en underordnet felt av "05 Acctype-Fiscal Pic S9 (7) V99" bli initialisert og har null inngått sitt felt ved å utstede COBOL kommandoen "Initial konto -Types. " Annenhver feltet nedenfor innen at "01" nivå vil bli initialisert også. Det neste trinnet viser en annen måte å oppnå dette.

3 Fortsett til Working-Storage delen og inkluderer en "Value Clause" til hver comp-tre variable. Som et ytterligere eksempel et felt som lyder som "05 Acctype-Periodisering Pic S9 (5) V99 verdi Zero" ville ha det samme resultatet. Feltene vil automatisk bli initialisert før første Prosedyre Division uttalelse. Hvis du bruker Initial kommandoen, sørge for at det utføres før noen andre programkommandoer referere komp-3 felt.

4 Kjør kompilert versjon og sjekke tilstanden koder for eventuelle Kompilerings- feil. Begge metodene vil garantere din pakket desimaltall vil bli initialisert tilsvarende.