【COBOL勉強法】効率的なシステムの移植を考えてみよう!|学習講座

COBOL言語のシステム移植とは

基礎-移植-イメージ

COBOLシステムの移植について

あるプラットフォームで動作するシステムを変更し、ハードウェアやOS、ライブラリなど、環境が異なる別のプラットフォームでシステムが動作するよう作り変えることを移植と言います。

COBOL言語は1959年に開発されたプログラミング言語です。約60年の時を経ても今尚、金融機関、保険会社をはじめとした企業で活用されています。このように長期に渡り使用されるシステムのため、ハードウェアが故障して修理しようとしても部品がなく修理できなくなったり、OSが更新される事でメーカーのサポートが受けられなくなったりという事態は避けて通る事ができません。このようにシステムが利用できなくなる前に、システムの移植を考える必要があります。

COBOLシステムの移植に向け考慮しなければならない点

システムの移植検討の必要性について理解いただいたところで、実際にCOBOLシステム移植時に考慮しなければならない点について考えてみましょう。

まず、システムの移植前、移植後でコンパイラに違いはないか?

コンパイラが違うと同じプログラムの文法でも解釈が異なる事があり、コンパイルが通らずエラーとなる場合があります。コンパイラが変わる場合はプログラムの修正が必要になると考えておくべきでしょう。

次に、システムの移植前、移植後でハードウェアに違いはないか?

ハードウェアは利用している外部機器の更新も含みます。ハードウェアの違いは、EUCとSJISなど、ハードウェア間でコード体系に違いがないか注意する必要があります。

コンパイラとハードウェアが同じ場合はシステムの作り変えは必要がないため、上記のような違いを考慮する必要はなくなります。

COBOLシステムを効率良く移植するためには?

COBOLシステム移植の際、プログラムの修正を最低限に抑えるため、日々作成するプログラムは以下に注意して作成しましょう。プログラムの作りに注意する事で移植時の効率を上げる事ができます。

・外部とのインタフェースはCOPY文を指定する

コンパイラやハードウェアが変更になると外部とのインタフェース部分のほとんどが修正対象になってしまいます。COPY文を指定する事で予めこの関連を切り離ししておく事が有効です。

・日本語を含む行は桁数を抑えて記述する

日本語文字を認識する場合に、文字コードの先頭にシフトコードを付加して認識する場合があります。この時、桁数をぎりぎりに記述しているとB領域を超えてしまいコンパイルエラーになってしまう事があります。

・日付項目を見直す

日付時刻データを取得する際、ACCEPT文が使用できますがACCEPT文で取れるのは西暦年下2桁のため、2000年問題のような事が起きる可能性があります。ACCEPT文での日付取得は行わず、組込み関数等を利用して日付は取得するようにしましょう。

・COPY~REPLACING指定には日本語を使用しない

COPY~REPLACING指定で日本語が使用できないコンパイラが存在しますので、日本語は使用せず英数文字を使用するようにしましょう。

・日本語空白の文字列比較は行わない

コンパイラにより全角空白の文字コードの解釈が異なる事がありますので、空白を意識した比較を行う際はSPACEで回避できないか検討しましょう。また同様に正負を判断する際は、IF文でZEROとの比較ができないかも合わせて検討しましょう。

・比較は同じ文字集合で行う

英数字文字とカタカナの順序がコンパイラによって違って解釈する場合があります。比較の際は文字集合を利用するなど検討してみましょう。

COBOLシステム移植時のその他注意点ついて

コンパイラやハードウェアの変更はプログラムの記述以外にも注意すべき点があります。その点について考えてみましょう。

・限界値の確認

コンパイラにはそれぞれで定められたデータ部の大きさや索引キーの数、メモリ使用量等の限界値があります。移植後の限界値が移植前より大きい場合は問題ありませんが、コンパイラを変える事は限界値も変わると考え、事前にその内容を確認しておくといいでしょう。

・ファイルの確認

今まで使用できていたファイルが移植後使用できないというケースがあります。コンパイラが同じでもファイル構造が変わる場合があるからです。ファイルを移植後の環境に合わせて変換させるか、移植後の環境で新しくファイルを作成するか事前に確認しておきましょう。

・処理速度の確認

コンパイラやハードウェアの変更により、移植前問題にならなかった処理速度に問題が見つかる場合があります。移植後は処理速度も確認し、問題が起きた場合にはプログラム修正やハードウェアの交換など対応が必要になるという事も考えておきましょう。

いかがでしたでしょうか?今回はCOBOL言語の効率的なシステム移植について考えてみました。システムの移植はそう何度も経験するものではありませんが、日頃からプログラムを見直したり、利用するシステムのサポート情報を確認したり、いざシステム移植する事になった場合にあわてないよう準備を進めておきましょう。

この記事を読んだ人は、こちらの記事も読んでいます

【未経験者歓迎】COBOLプログラマー・システムエンジニアの募集

株式会社COBOLの求人・転職・募集情報を見る

COBOL入門のカテゴリー

取引企業様 募集中
COBOL技術者 募集
COBOL魂
読者採用
COBOL入門