カテゴリ: COBOL 更新日: 2025/07/10

COBOLのFILLERの使い方とは?未使用領域を上手に管理する基本テクニック

FILLERを使った未使用領域の管理テクニック
FILLERを使った未使用領域の管理テクニック

先生と生徒の会話形式で理解しよう

生徒

「COBOLで使わないデータの部分ってどうやって扱えばいいんですか?」

先生

「そんなときには、FILLER(フィラー)という仕組みを使うことで、未使用領域を上手に管理できますよ。」

生徒

「FILLERって名前だけ聞くと、何かを埋める感じがしますけど、どういうふうに使うんですか?」

先生

「とても良い感覚ですね。FILLERの役割や使い方を、具体例を交えてわかりやすく説明しますね!」

1. FILLER(フィラー)とは何か?

1. FILLER(フィラー)とは何か?
1. FILLER(フィラー)とは何か?

COBOL(コボル)のプログラムでは、データの構造を細かく定義することができます。例えば、名前・年齢・住所などの項目を扱う場合、それぞれの項目に対して領域を用意します。

しかし、データの中には「使わないけれど形式上存在している部分」というものがあります。たとえば、昔のシステムで使われていたけれど今は不要な欄や、固定長のファイルにおける空白部分などです。

このような「使わないけれど、無視はできないデータの領域」を扱うために登場するのが、FILLER(フィラー)です。

FILLERとは、名前を付けずに使わない領域を定義するためのキーワードです。

2. FILLERの使い方(基本例)

2. FILLERの使い方(基本例)
2. FILLERの使い方(基本例)

ここでは、FILLERの基本的な使い方を、やさしい例で見てみましょう。

以下は、1行のデータが20文字あり、そのうちの最初の5文字は使わず、次の10文字だけを名前として使いたい場合の定義です。


01 CUSTOMER-DATA.
   05 FILLER         PIC X(5).
   05 CUSTOMER-NAME  PIC X(10).
   05 FILLER         PIC X(5).

この例では、CUSTOMER-DATAというデータ構造の中に、3つの項目を定義しています。そのうち、CUSTOMER-NAMEだけが名前を持ち、他の2つのFILLERは名前がありません

つまり、「前の5文字」と「後ろの5文字」は使わず、真ん中の10文字だけを使用するという形になります。

3. FILLERを使う理由とメリット

3. FILLERを使う理由とメリット
3. FILLERを使う理由とメリット

「使わないなら、定義しなくてもいいのでは?」と思うかもしれません。でも、COBOLではデータの形式(構造)をきちんと定義しないと、他の処理と整合性がとれなくなります。

たとえば、他の会社やシステムから渡されたデータが次のような形式で決まっていたとします。

  • 1〜5文字目:不要
  • 6〜15文字目:顧客名
  • 16〜20文字目:不要

この場合、「不要な領域」をスキップする必要があるため、FILLERを使って正確な位置を合わせてあげるのです。

これにより、プログラムが他のシステムと正しく連携できるようになります。

4. FILLERを複数使うとどうなる?

4. FILLERを複数使うとどうなる?
4. FILLERを複数使うとどうなる?

COBOLでは、同じレベル番号内に複数のFILLERを定義することができます

ただし、FILLERは名前を持たないため、プログラムの中で参照することはできません。あくまで「この領域は使わないよ」と示すだけのものです。

以下は、複数のFILLERを使った例です。


01 PRODUCT-DATA.
   05 FILLER        PIC X(3).
   05 PRODUCT-CODE  PIC X(6).
   05 FILLER        PIC X(2).
   05 PRICE         PIC 9(5)V99.

この例では、「PRODUCT-CODE」と「PRICE」だけを使い、他の領域はFILLERでスキップしています。

5. FILLERの注意点

5. FILLERの注意点
5. FILLERの注意点

FILLERを使うと便利ですが、いくつか注意点があります。

  • FILLERは参照できない:名前がないため、DISPLAY文などで中身を表示することはできません。
  • FILLERに重複名はない:名前を持たないため、複数書いても競合しません。
  • FILLERの位置に注意:定義の順番によって、データの対応位置が変わるため、並び順を正確に。

6. FILLERを使った実践的なサンプルと出力結果

6. FILLERを使った実践的なサンプルと出力結果
6. FILLERを使った実践的なサンプルと出力結果

ここでは、実際にFILLERを使ってデータを表示しようとした例と、出力結果を紹介します。


IDENTIFICATION DIVISION.
PROGRAM-ID. FILLER-DEMO.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 SAMPLE-DATA.
   05 FILLER         PIC X(4) VALUE "XXXX".
   05 USER-NAME      PIC X(6) VALUE "YUIKO ".
   05 FILLER         PIC X(2) VALUE "ZZ".

PROCEDURE DIVISION.
    DISPLAY "ユーザー名は:" USER-NAME
    STOP RUN.

出力結果:


ユーザー名は:YUIKO 

このように、FILLERの部分は出力されず、USER-NAMEの部分だけが表示されます。

7. どんな場面でFILLERを使う?

7. どんな場面でFILLERを使う?
7. どんな場面でFILLERを使う?

FILLERは、以下のような場面で役に立ちます。

  • 固定長ファイルの形式に合わせるとき
  • 過去のシステムから引き継いだデータ構造を再現するとき
  • 将来のために予備領域を確保しておきたいとき

たとえば、銀行や保険会社などの基幹システムでは、データ形式が厳格に決まっていることが多く、FILLERが欠かせません。

8. FILLERでデータ構造を美しく保とう

8. FILLERでデータ構造を美しく保とう
8. FILLERでデータ構造を美しく保とう

プログラムの読みやすさや、他のプログラマーが見たときの理解しやすさも大切です。FILLERを使って不要な領域を明示的に示すことで、「ここは使っていない領域ですよ」という意図が明確になります。

また、将来的にこの領域を使うことになったときも、簡単に置き換えることができるというメリットがあります。

カテゴリの一覧へ
新着記事
C#でタイムスタンプの精度を上げるためのテクニックを徹底解説!(初心者向け)
C#のコーディング規約(C# Coding Conventions)とは?読みやすいコードを書くための基本ルール
C#のデストラクタ(ファイナライザ)の使い方と注意点をやさしく解説!
COBOL資産のバージョン管理とは?初心者でもわかる保守と管理の基本
人気記事
No.1
Java&Spring記事人気No1
COBOLで学ぶSELECT文のORDER BY・GROUP BY活用法!初心者でもわかるデータ集計
No.2
Java&Spring記事人気No2
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.3
Java&Spring記事人気No3
COBOLのCOPY句の使い方を完全ガイド!初心者でもわかる共通部品の再利用方法
No.4
Java&Spring記事人気No4
COBOLで学ぶカーソル操作と複数行データ取得の基本
No.5
Java&Spring記事人気No5
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.6
Java&Spring記事人気No6
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方
No.7
Java&Spring記事人気No7
C#の数値型をマスターしよう!int・double・decimalの違いと使い方
No.8
Java&Spring記事人気No8
C#の日付型(DateTime)と基本的な使い方を解説|初心者向け入門ガイド