表定義保守(3)・レコード定義用の登録集原文を出力
-
データディクショナリに登録されている情報を使って、COBOLでプログラミングするときに使えるレコード定義用の登録集原文(COPY命令で使用するもの)を出力することができます。
あらかじめ下のような基本表がデータディクショナリに登録されているとします。「表定義保守(1)・基本表を定義する」で登録した基本表です。
基本表名:SALESHYOU(セールス用表)
レコード登録名:SALESTRAN
レコード長:30
項目名 レベル 項目内容 属性 キー ITEM-1 02 アイテム情報 英数字10桁 ICODE 02 アイテムコード 集団項目 ○ ICODE1 03 アイテム大分類 英数字2桁 ICODE2 03 アイテム小分類 英数字4桁 PRICE 02 値段 数字10桁(外部10進:符号無) -
「表定義」を選びます。選ぶ方法は幾つかあり、矢印キーでカーソルを「2 表定義」の位置に移動して[ENTER]キーを押す、[2]キーを押す、[PF2]キーを押す、などの方法で選びます。
この画面では、どのデータディクショナリに登録されている表定義情報から出力するかを選びます。
データベースの表ならば、システムのデータディクショナリ、即ちMSD000のSYS@DDFを指定します。
データディクショナリの入っている装置名とデータディクショナリのファイル名を入れると、「指定確認」と入力した値が良いかどうか再確認してきますので、問題無ければ「1.OK」を選びます。
画面上にメニューが出てきます。
「7.補助機能」を選びます。選び方は矢印キーを使ってカーソルをこの位置に移動させたり、数字の7のキーを押したり、[PF7]キーを押したりと幾つかの方法があります。
次のメニューが出るので、「1.ライブラリ」を選択します。
登録集原文を作りたい表を選択します。
右側に表の一覧が出るので、そこから選ぶことが可能です。たくさん表があると画面に表示しきれないので[SCROLL UP][SCROLL DOWN]キーで一覧の上下に移動して目的の表を探しましょう。基本表と仮想表の一覧は分けて表示されるので、[PF13]キーで基本表の一覧と仮想表の一覧を切り替えることができます。
一覧から選ぶのではなく、キーボードから直接表名を入力したい人は[PF15]キーを押せば、直接入力できる状態になります。
表を選んだ直後の状態です。
下半分のうち、足りない情報を追加します。
MSD000のSYS@SULというファイルに登録集原文を新規に出力しようとしています。
メンバ名は登録集原文の名前です。「COPY xxx」のxxxの部分になります。
ここまでで全部です。今まで入力した値で良いかどうか最終確認がありますので、よければ「1.OK」を選びます。すると指定のファイルに登録集原文が出力されます。
登録集原文が出力されたので、あとは「終了」を選んでください。何回かメニューがいくつか出るので、その度に「終了」を選べば、データディクショナリ保守ユーティリティを終了することができます。
きちんと出力されたかどうか確認してみましょう。
#LBMでMSD000のSYS@SULの中身を見てみます。下の画面のように「SALES」がありました。
エディタでSALESを見てみると、下のように登録集原文ができています。
000010 01 SALESTRAN. 000020 02 ITEM-1 PIC X(10). 000030 02 ICODE. 000040 03 ICODE1 PIC X(2). 000050 03 ICODE2 PIC X(4). 000060 02 PRICE PIC 9(10). 000070 02 FILLER PIC X(4).
後はプログラムを作るだけです。
: : 000010 DATA DIVISION. 000020 FILE SECTION. 000030 FD SALES-F. 000040 COPY SALES. : :
以降、表定義を修正したら
→レコード定義の登録集原文を出力
→必要に応じて、COBOLソースを再コンパイル、再リンク
という風にすれば、COBOLプログラムで使う定義は常に最新ということになります。