V programovacom jazyku COBOL definujete všetky premenné a dátové polia v časti vášho programu s názvom Data Division. Tu nastavíte záznamy pre súbory na disku, rozloženie tlače, počítadlá a pracovné úložisko pre výpočty. Väčšinu dátových polí definujete tak, že im dáte jedinečné názvy, ale kľúčové slovo FILLER vám umožní vyhradiť pamäťový priestor bez potreby názvu.
PLNIČKA
FILLER je vyhradené slovo, čo znamená, že slovo nemôžete použiť na pomenovanie polí alebo záznamov inak ako na definovanie jednotlivých prvkov pamäte. FILLER použijete bezprostredne za číslom úrovne a pred klauzulou PICTURE, ktorá definuje veľkosť poľa a typ údajov. COBOL obmedzuje používanie FILLER na Data Division; netýka sa to divízií Identifikácia, Životné prostredie alebo Postup.
Video dňa
Rozloženie záznamu
Jedno z najbežnejších použití FILLER je pre definície dátových záznamov. Ak používate dátový súbor s dĺžkou záznamu 150 znakov a nepotrebujete označiť každé pole v ňom, môžete definovať nepotrebné znaky ako FILLER, ako v nasledujúcom kóde:
01 zákaznícky záznam. 05 VÝPLŇ OBR. X(10). 05 meno zákazníka PIC X(30). 05 zákaznícka adresa PIC X(30). 05 zákazník-mesto PIC X(30). 05 VÝPLŇ OBR. X(50).
To vám umožní prečítať 150-znakový záznam a identifikovať polia, ktoré chcete – meno zákazníka, adresu a mesto – pričom zvyšok záznamu ignorujete.
Extrakcia podreťazca
Môžete použiť kľúčové slovo FILLER na pomoc pri extrakcii podreťazcov z väčšieho reťazca. Ak chcete napríklad extrahovať prvých päť číslic PSČ, môžete v časti Pracovné úložisko nastaviť nasledujúce príkazy:
01 celé PSČ. 05 primárne zips PIC X(5). 05 VÝPLŇ OBRÁZOK X(5).
V divízii procedúr presuniete PSČ plus 4 do celého PSČ a potom presuniete primárne PSČ do cieľového poľa. Pritom zahodíte všetko po prvých piatich čísliciach.
FILLER a VALUE
Pole FILLER v zázname rezervuje pamäťový priestor a prijíma všetky druhy údajov, ktoré doň presuniete. Môžete tiež definovať pole FILLER, aby malo hodnotu. Programátori často používajú túto techniku na nastavenie nadpisov správ, ako napríklad v nasledujúcom príklade:
01 tlačový riadok. 05 FILLER OBRÁZOK X(10) HODNOTA MEDZER. 05 FILLER PIC X(15) VALUE "REPORT KONCA ROKA". 05 FILLER OBRÁZOK X(20) HODNOTA MEDZER. 05 FILLER PIC X(5) VALUE "PAGE ". 05 číslo strany OBRÁZOK ZZZ9.
Všimnite si, že nadpisy a medzery v hlavičke stránky zostavy sú všetky vytvorené pomocou FILLER, okrem jedného pomenovaného poľa, ktoré zobrazuje číslo strany.