【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入門のカテゴリー
1. 優良社員が多数在籍しています
2. 即日派遣、又は請負います
3. 安心価格で請負います
4. 同時、協力会社募集中です
1. 正社員
2. 契約社員
3. 個人事業主
などの 求人情報 が閲覧できます。
目指せ!COBOLダントツ一番企業。
創業当初の話や理念が閲覧できます。
応募条件
※2020年5月31日を以って、締切りました。
18歳~28歳の方。
正社員採用において、北川社長の著書『祈り方が9割』を読んで感想文を事前に提出すると、無条件で最終面接まで進むことができます。
COBOLとは、どのようなプログラミング言語なのか、初心者にもわかりやすく、文法の例をあげて解説してます。
COBOL入門の人気記事
- COBOL言語とは?プログラムの書き方やルールを解説!|基礎ガイド
- 【COBOL言語】条件分岐処理の代名詞「IF文」について知ろう|用語辞典
- COBOL言語の「MOVE文」とは?転記のルールをご紹介します|用語辞典
- COBOL言語の「STRING文」とは?文字連結の基礎知識と注意点|用語辞典
- 多枝分岐ってなに?COBOL言語の「EVALUATE文」を知ろう!|用語辞典
- COBOL言語の「PICTURE句」とは?基本事項を解説します!|用語辞典
- COBOL言語で計算処理をするなら「COMPUTE文」|用語辞典
- COBOL言語の「REDEFINES句」とは?使い方を確認しよう!|用語辞典
- 覚えておけば楽ができる?COBOL言語の「COPY文」の使い方|用語辞典
- COBOL言語の文字列操作のパターンを理解しよう!|基礎ガイド
- COBOL言語の初期化処理に重宝する「INITIALIZE文」とは?|用語辞典
- COBOL言語の「LOW-VALUE」の使い方について理解しよう!|基礎ガイド
- COBOL言語の「OCCURS句」について知ろう!学ぶべき基本とは|用語辞典
- COBOL言語初心者も安心! 難解「CALL文」をスッキリ解決|用語辞典
- COBOL言語の「PERFORM文」とは。実行制御について解説!|用語辞典
- COBOL言語の繰り返し処理のパターンを理解しよう!|基礎ガイド
- COBOL言語の「定数」の種類と使い方について理解しよう!|用語辞典
- COBOLのDBアクセスパターンを学ぼう!「FETCH」|応用ガイド
- COBOL言語の「DISPLAY文」は、ディスプレイ出力の為にある|用語辞典
- COBOL言語の「VARYING句」は便利?使用方法を学びましょう|用語辞典