METADATA

LANSA Integrator

METADATA

The METADATA command is used to access the database table column name, column type, column precision and column scale information.

 

 METADATA -------- TABLE ----------- value ---------------------|

 

Keywords

TABLE

This keyword is used to indicate the table you want to retrieve the metadata for.

This keyword is mandatory.

Lists and Variables

This command requires a working list to return the table metadata back to. This working list should be made available in the TO_GET portion of this JSM_COMMAND. The working list will require 4 fields:

  • The first field will hold the column name.
  • The second field will hold the column type.
  • The third field will hold the column precision.
  • The fourth field will hold the column scale.

You may size the fields to fit the information you are expecting back from the remote database. Different databases may have different lengths and types for this information.

Examples

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)