METADATA

LANSA Integrator

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)