COBOL プログラムの Filler の説明
COBOL プログラミング言語では、データ部と呼ばれるプログラムのセクションですべての変数とデータ フィールドを定義します。ここでは、ディスク ファイル、印刷レイアウト、カウンター、および計算用の作業用ストレージのレコードを設定します。ほとんどのデータ フィールドは一意の名前を付けて定義しますが、FILLER キーワードを使用すると、名前を必要とせずにメモリ スペースを確保できます。
フィラー
FILLER は予約語です。つまり、個々のメモリ要素を定義する以外に、フィールドまたはレコードの名前を付けるために単語を使用することはできません。レベル番号の直後、およびフィールドのサイズとデータ型を定義する PICTURE 句の前に FILLER を使用します。 COBOL は、FILLER の使用をデータ部に制限しています。識別、環境、または手続き部門には適用されません。
レコード レイアウト
FILLER の最も一般的な用途の 1 つは、データ レコードの定義です。 150 文字のレコード長を持つデータ ファイルを使用し、その中のすべてのフィールドにラベルを付ける必要がない場合は、次のコードのように、不要な文字を FILLER として定義できます:
01 顧客記録。 05 フィラーピック X(10). 05 顧客名 PIC X(30)。 05 顧客住所 PIC X(30)。 05 顧客都市 PIC X(30)。 05 フィラーピック X(50).
これにより、150 文字のレコードを読み取り、残りのレコードを無視して、必要なフィールド (顧客名、住所、都市) を特定できます。
部分文字列の抽出
FILLER キーワードを使用すると、より大きな文字列から部分文字列を抽出するのに役立ちます。たとえば、郵便番号の最初の 5 桁を抽出するには、Working-Storage セクションで次のステートメントを設定できます。
01 郵便番号全体。 05 プライマリ zip PIC X(5)。 05 FILLER PIC X(5).
Procedure Division では、ZIP-plus-4 コードを whole-zip-code に移動してから、primary-zip を宛先フィールドに移動します。そうすることで、最初の 5 桁以降はすべて削除されます。
FILLER と VALUE
レコードでは、FILLER フィールドがメモリ スペースを確保し、そこに移動するあらゆる種類のデータを受け入れます。 FILLER フィールドに値を定義することもできます。プログラマーは、次の例のように、レポートの見出しを設定するためにこの手法を頻繁に使用します:
01 プリントライン。 05 FILLER PIC X(10) 値スペース。 05 FILLER PIC X(15) 値「年末報告書」。 05 FILLER PIC X(20) 値スペース。 05 FILLER PIC X(5) 値「ページ」。 05 ページ番号 PIC ZZZ9.
レポート ページ ヘッダーのタイトルと間隔は、ページ番号を表示する 1 つの名前付きフィールドを除いて、すべて FILLER で行われることに注意してください。