METADATA
METADATAコマンドは、データベース・テーブルの列名、列タイプ、列の精度、列のスケール情報にアクセスする場合に使用されます。
METADATA -------- TABLE -----------値---------------------|
キーワード
TABLE |
このキーワードは、メタデータを取得するテーブルを指定する場合に使用されます。 このキーワードは必須です。 |
リストと変数
このコマンドには、テーブルのメタデータを返す際の作業リストが必要です。この作業リストは、このJSM_COMMANDのTO_GET部分で使用できるようにします。作業リストには以下の4つのフィールドが必要です。
· 最初のフィールドには列名が入ります。
· 2番目のフィールドには列タイプが入ります。
· 3番目のフィールドには列の精度が入ります。
· 4番目のフィールドには列のスケールが入ります。
リモート・データベースから返される情報に合うようにフィールドのサイズを設定できます。この情報については、各種データベースでさまざまな長さやタイプを使用できます。
例
RDML
* Define the JSM command and message fields
DEFINE FIELD(#JSMSTS) TYPE(*CHAR) LENGTH(020)
DEFINE FIELD(#JSMMSG) TYPE(*CHAR) LENGTH(256)
DEFINE FIELD(#JSMCMD) TYPE(*CHAR) LENGTH(256)
Define the fields and list that meta data will be returned back into
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)
Prepare and execute the command
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 the fields and list that meta data will be returned back into
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)
Prepare and execute the command
#JSMCMD := 'Metadata Table(TBLNAME) Service_List(COLNAME,COLTYPE,COLPRCSN,COLSCALE)'
Use Builtin(JSMX_COMMAND) With_Args(#JSMHND #JSMCMD) To_Get(#JSMSTS #JSMMSG)