Hitachi

ノンストップデータベース HiRDB Version 10 構造型データベース機能


14.8.1 #CBLFORM(COBOLのデータ項目出力)

〈この項の構成〉

(1) 機能

SDBデータベース定義のレコードに対応したCOBOLのデータ項目を出力します。

出力されたデータ項目をCOBOLのUAP内に貼り付ける,またはファイルとして保存してCOPY文で取り込むことで,UAP内で埋込み変数として使用することができます。

pdsdbexeコマンド起動時の-dオプションにSDを指定した場合に実行できます。

(2) 指定形式

 #CBLFORM {SCHEMA | RECORD レコード名 〔DATANAME='最上位のデータ項目名'〕};
注意事項

最後にセミコロン( ; )の指定が必要です。

(3) オペランドの説明

●SCHEMA

SDBデータベース内のすべてのレコードのデータ項目を出力します。

出力順序はレコードの定義順となります。

●RECORD レコード名

レコード名:〜<識別子>((1〜30文字))

レコード名に指定したレコードのデータ項目を出力します。

個別開始で指定したSDBデータベース内のレコード名を指定します。

●DATANAME='最上位のデータ項目名'

最上位のデータ項目の名称を,指定した最上位のデータ項目名に変更します。

最上位のデータ項目名に指定できる最大長は30バイトです。

(4) 使用例

#CBLFORMコマンドでSDBデータベース内の,すべてのレコードのデータ項目を出力します。

■SDBデータベース定義
   RECORD RECA
    2 KEY
     3 KEYDATA1  CHARACTER 3              TYPE  K,L
    2 UDA1       INTEGER                  TYPE U,D
    2 UDA2       CHARACTER 3              TYPE U,D OCCURS 3
   RECORD RECB
    2 KEYDATA1   CHARACTER 3              TYPE  K,L
    2 DBKEY      INTEGER                  TYPE K,N
    2 UDB1       XCHARACTER 5             TYPE U,D
    2 UDB2       INTEGER                  TYPE U,D
    2 UDB3       SMALLINT                 TYPE U,D
    2 UDB4       PACKED DECIMAL FIXED 5,3 TYPE U,D
    2 UDB5                                         OCCURS 2
     3 UDB6      CHARACTER 2              TYPE U,D
■実行コマンド
 #CBLFORM SCHEMA;

次の実行結果が表示されます。

#cblform schema;
      *****************************************************************
      *                                                               *
      *   pdsdbexe #CBLFORM OUTPUT                                    *
      *   SDBDATABASE NAME        = FMB1_SD                           *
      *   OUTPUT TIMESTAMP        = 2025-02-03 14:18:08               *
      *   SDB DIRECTORY TIMESTAMP = 2025-02-03 14:15:03               *
      *                                                               *
      *****************************************************************
       01 RECA.
        02 KEY.
         03 KEYDATA1              PIC X(3).
        02 UDA1                   PIC S9(9) COMP.
        02 UDA2                   PIC X(3)                OCCURS     3.
       01 RECB.
        02 KEYDATA1               PIC X(3).
        02 DBKEY                  PIC S9(9) COMP.
        02 UDB1                   PIC X(5).
        02 UDB2                   PIC S9(9) COMP.
        02 UDB3                   PIC S9(4) COMP.
        02 UDB4                   PIC S9(5)V9(3) COMP-3.
        02 UDB5                                           OCCURS     2.
         03 UDB6                  PIC X(2).
KFPB64050-I #CBLFORM command processing completed

(5) #CBLFORMコマンドの実行時に表示される情報

#CBLFORMコマンドを実行した場合に表示される情報について説明します。

(a) コメント

#CBLFORMコマンドを実行すると,次に示す情報がCOBOLのコメントの形式で表示されます。

      *****************************************************************
      *                                                               *
      *   pdsdbexe #CBLFORM OUTPUT                                    *
      *   SDBDATABASE NAME        = FMB1_SD                  ...1     *
      *   OUTPUT TIMESTAMP        = 2025-02-03 14:52:31      ...2     *
      *   SDB DIRECTORY TIMESTAMP = 2025-02-03 14:50:30      ...3     *
      *                                                               *
      *****************************************************************
[説明]
  1. データ項目を出力したSDBデータベースの名称が表示されます。

  2. #CBLFORMコマンドを実行した日時が表示されます。

  3. SDBディレクトリ情報の最終更新日時が表示されます。

(b) データ項目

SDBデータベース定義のレコードに対応したCOBOLのデータ項目を出力します。

データ項目は,レベル番号,項目名,データ型,OCCURS句,およびピリオドで構成されます。

データ型,およびOCCURS句の変換ルールについては,マニュアル「HiRDB 構造型データベース機能(UAP開発編)」の「埋込み変数の宣言方法」を参照してください。

(6) 留意事項

  1. #CBLFORMコマンドは,個別開始している状態で実行してください。

  2. データ項目中に次に示す使用できない文字を含む場合,対象となるデータ項目の直前にCOBOLのコメントとしてKFPB64127-Wメッセージが出力されます。

    • 空白

    • \

    • @

    • #

    KFPB64127-Wメッセージが出力された場合は,上記の文字を変更してください。

    なお,KFPB64127-Wメッセージが1回以上出力された場合,コマンドの実行結果としてすべてのデータ項目を出力したあとにもKFPB64127-Wメッセージが出力されます。