Samtidig som det gir numerisk effektivitet og presisjon under beregning og lagring, tilbyr COBOL en måte å effektivt tillate deg å beregne dine 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 av lagringsplass . Ved hjelp av denne notasjonen , bestemmer du hvor mange sifre det lagrede nummeret vil være ved å legge den ene til den notert feltet og dele resultatet med to. For eksempel kan et felt av PIC S9 ( 5 ) COMP - 3 har en lagring på 3 byte. Du må klargjøre dette feltet før noen manipulering eller beregning er utført på den for å unngå et behandlingsgebyr feil . Instruksjoner
en
Identifiser feltet ( e) du ønsker å starte i COBOL -kode. For eksempel kan du ha et felt som " 05 mengden mottatt PIC S9 ( 5v99 ) komp -3 . " Dette er en signert pakket desimal feltet, og du må først klargjøre den før den kan være involvert i noen videre behandling .
2
Gå til Working- Storage delen av programmet og bestemme filstrukturen på din variabler . Dersom comp - tre felt er underordnet en høyere struktur , skriver du bare " Initialiser " kommandoen i prosedyren Division . Som et eksempel , et felt som " 01 Konto -typer " Etterfulgt av en underordnet felt av " 05 Acctype - Fiscal Pic S9 ( 7 ) V99 " kan bli initialisert og har nuller inngått sitt felt ved utstedelse av COBOL kommandoen " Initialiser konto -typer . " Annenhver feltet nedenfor innen at " 01 "-nivå vil bli initialisert i tillegg. Det neste trinnet viser en annen måte å oppnå dette .
3
Fortsett til din Working- Storage delen og inkluderer en "Value Clause " til hver komp - tre variable . Som et ytterligere eksempel , et felt der det står 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 Initialiser kommandoen , sørge for at det utføres før alle andre program kommandoer henvisning til komp - tre felt.
4
Kjør kompilerte versjonen og sjekke tilstanden koder for eventuelle kompilere feil . Begge metodene vil garantere din pakket desimaltall blir initialisert tilsvarende.