5.31.9 METADATA
METADATAコマンドは、データベース・テーブルの列名、列タイプ、列の精度、列のスケール情報にアクセスする場合に使用されます。
構文:
コマンド |
キーワード |
値 |
開発者用メモ |
METADATA |
TABLE |
値 |
必須。メタデータを取得するテーブルを指定します。 |
リストと変数
このコマンドには、テーブルのメタデータを返す際の作業リストが必要です。この作業リストは、このJSM_COMMANDのTO_GET部分で使用できるようにします。作業リストには以下の順序で 4 つのフィールドが必要です。
1 列名
2 列タイプ
3 列の精度
4 列のスケール
リモート・データベースから返される情報に合うようにフィールドのサイズを設定できます。この情報については、各種データベースでさまざまな長さやタイプを使用できます。
例
RDML
- JSM コマンドおよびメッセージ・フィールドの定義
DEFINE FIELD(#JSMSTS) TYPE(*CHAR) LENGTH(020)
DEFINE FIELD(#JSMMSG) TYPE(*CHAR) LENGTH(256)
DEFINE FIELD(#JSMCMD) TYPE(*CHAR) LENGTH(256)
メタデータが返されるフィールドおよびリストの定義
DEFINE FIELD(#COLNAME) TYPE(*CHAR) LENGTH(030)
DEFINE FIELD(#COLTYPE) TYPE(*CHAR) LENGTH(030)
DEFINE FIELD(#COLPRCSN) TYPE(*DEC) LENGTH(003) DECIMALS(0)
DEFINE FIELD(#COLSCALE) TYPE(*DEC) LENGTH(003) DECIMALS(0)
DEF_LIST NAME(#WRKLST) FIELDS(#COLNAME #COLTYPE #COLPRCSN #COLSCALE) TYPE(*WORKING)
コマンドの準備と実行
CHANGE FIELD(#JSMCMD) TO('METADATA TABLE(TBLNAME) SERVICE_LIST(COLNAME,COLTYPE,COLPRCSN,COLSCALE)')
USE BUILTIN(JSM_COMMAND) WITH_ARGS(#JSMCMD) TO_GET(#JSMSTS #JSMMSG #WRKLST)
RDMLX
Define Field(#JSMSTS) Type(*CHAR) Length(020)
Define Field(#JSMMSG) Type(*CHAR) Length(256)
Define Field(#JSMCMD) Type(*CHAR) Length(256)
Define Field(#JSMHND) Type(*Char) Length(4)
メタデータが返されるフィールドおよびリストの定義
Define Field(#COLNAME) Type(*CHAR) Length(030)
Define Field(#COLTYPE) Type(*CHAR) Length(030)
Define Field(#COLPRCSN) Type(*DEC) Length(003) DECIMALS(0)
Define Field(#COLSCALE) Type(*DEC) Length(003) DECIMALS(0)
Def_List Name(#WRKLST) Fields(#COLNAME #COLTYPE #COLPRCSN #COLSCALE) Type(*WORKING)
コマンドの準備と実行
#JSMCMD := 'Metadata Table(TBLNAME)'
Use Builtin(JSMX_COMMAND) With_Args(#JSMHND #JSMCMD) To_Get(#JSMSTS #JSMMSG)