Google
オフコン練習帳内を検索
インターネット全体を検索

NECオフコン関連
オフコン一般
情報
トップ  >  COBOL開発で使う標準的なユーティリティ

COBOL開発で使う標準的なユーティリティ

1 COBOL開発で使うユーティリティ群

前のページでは、SEA/IやCASEWORLDをはじめとする別売りの製品について説明しましたが、そういうものを使用しない場合は、A-VXの標準機能やCOBOLのオプションとして搭載されているユーティリティを使用することになります。

ここではそれらを軽く触れておくことにします。

2 画面フォーマット生成(#SFGEN)

画面フォーマット生成ユーティリティ(#SFGEN)で、COBOLやSMARTの画面を作ることができます。

COBOLで画面節(SCREEN SECTION)で、LINE2 COLUMN 10 PIC X(10)のようにちまちまと行と列を指定して画面イメージを作ることもできますが、画面定義パラメータ(画面フォーマットともいう)というものを作成することによって、画面イメージを独立して簡単に作ることができます。

プログラムとは別に画面の部分だけ作ることができます。このためプログラム作成(業務ロジック)と画面作成(見え方)とで作業を分けて進めることができます。

また、#SFGENを使って実際の画面表示イメージを表示することができるため、あらかじめ業務プログラムのユーザーとプログラム設計者とでその画面イメージを見て、相談しながら修正していくということができます。

テキストエディタ(#TEDIT)か、SMARTⅡEXに画面設計支援ツールを使って、画面定義パラメータを作ります。特にSMARTⅡEXの画面設計支援ツールは実際に画面上のカーソルを上下左右に動かして各種アトリビュートを定義するという、原始的なGUIとなっていて、簡単に画面定義パラメータを作成することができます。(SMARTⅡEX内のツールですが、COBOLの画面イメージを作成することもできます。)

#SFGENは、画面定義パラメータからコンパイルユニット(CU)か、パラメータ(PM)を生成します。SMARTのプログラムの画面にする場合はパラメータ、COBOLプログラムの画面にするならコンパイルユニットにします。

後は、SMARTなら生成したパラメータを指定、COBOLプログラムならリンカを使って、それぞれプログラムと画面イメージを合体させます。

以前サンプル的なプログラムを作ったことがあるので、その時の記事へのリンクを載せておきます。

画面フォーマット生成(#SFGEN)

3 MFD

MFD(Message Format Definition)は端末の入出力をメッセージという形で行うための機能です。COBOL85コンパイラをインストールするときにオプションで選択してインストールします。

A-VXの画面は、画面節で入出力データを記述して、DISPLAY文/ACCEPT文で、入出力する形式が一般的です。

MFDは、OPEN/CLOSE、READ/WRITEで、ファイルと同様に画面単位で一括して処理する仕組みです。ACOSシリーズのCOBOLでおなじみの仕組みにできるということです。

COBOLの他にIDLⅡで利用できます。SEA/IでNECの開発環境を統合しようとした時の名残だと思います。A-VXのCOBOLの画面のプログラミング部分がACOSシリーズとは異なっているので、ACOSシリーズの方に寄せようとしたのだと思います。

使い方や記述方法は、ACOSシリーズのMFDと同じです。ただ、できることはACOSシリーズのMFDより少ないです。

テキストエディタ等でMFDを記述し、MFDコンパイラでコンパイルして、CUとMFDオブジェクトを出力します。CUはCOBOLプログラムとリンクし、MFDオブジェクトはプログラムが実行時に参照します。

オフコンでは、これを使っているところはほとんど見たことがないです。まず画面節で記述しているか、上の画面フォーマット生成を使っています。

4 書式オーバレイ(#FORM)

日本語プリンタの書式オーバレイ機能を利用するときに使用します。

手順は次の通りです。
まず罫線や見出し文字の印刷形式を定めたフォームソースを作成します。フォームソースはテキストエディタなどでプログラミングします。

次に書式オーバレイ(#FORM)ユーティリティを使って、フォームオブジェクト(FO)を作成します。

フォームオブジェクトを使用するようにCOBOLプログラムを作り、コンパイル・リンクします。

#FORMはA-VXに標準で付いてくるユーティリティですが、別売り製品としてFORMS2というものがあります。これは#FORMの機能強化版です。

5 リンカ(#LINK)

リンカ(#LINK)は、コンパイルユニット(COBOLプログラムなどをコンパイルしてできたもの)をリンクするときに使用します。

6 メモリダンプ解析(#ABANA)

メモリダンプ解析(#ABANA)ユーティリティは、業務プログラムが実行中に異常終了を起こしたときなどに出力されるメモリダンプというものを解析するための ユーティリティです。デバッグ時に使用します。

以前サンプル的なプログラムを作ってデバッグしてみたことがあるので、その時の記事へのリンクを載せておきます。

#ABANA

7 会話型デバッガ(IDSP)

COBOLのオプションとして付いてくるものです。COBOLをインストールするときに、「会話型デバッガをインストールする」と指定すると一緒にインストールされます。インストールされていない場合は、後からインストールすることもできます。

以前簡単に説明した記事があるので、そのリンクを載せておきます。

会話型デバッガ