付録D.3 型名記述領域の展開
型名記述領域は,UAP内で宣言することで静的なエリアとして確保します。
- 〈この項の構成〉
(1) C言語の場合
C言語の場合のソースプログラム中に展開する型名記述領域の形式を次に示します。
struct { short sqltz; /* 配列の有効数 */ struct { struct { short sqlschemal; /* 認可識別子の有効長 */ char sqlschemac[8 ]; /* 認可識別子格納エリア */ } sqlschema; struct { short sqltypel; /* ユーザ定義型名の有効長 */ char sqltypec[30]; /* ユーザ定義型名格納エリア */ } sqltype; } sqltnvar[n];※1 } Usrsqltnda;※2
- 注※1
-
nは,SQL記述領域のSQLVARの配列の大きさと同じ個数(1〜30000)を指定します。
- 注※2
-
構造体名称(’Usrsqltnda’の部分)は,任意の文字列を指定してください。なお,構造体名称に’SQL’で始まる文字列は指定できません。また,DESCRIBE文で型名記述領域を指定する場合,確保した領域の名称を指定します。
(2) COBOL言語の場合
COBOL言語の場合のソースプログラム中に展開する型名記述領域の形式を次に示します。
01 USQLTNDA. ※1 02 USQLTZ PIC S9(4) COMP. 02 USQLTNVAR OCCURS 1 TIMES n. ※2 03 USQLSCHEMA. 04 USQLSCHEMAL PIC S9(4) COMP. 04 USQLSCHEMAC PIC X(8). 03 USQLTYPE. 04 USQLTYPEL PIC S9(4) COMP. 04 USQLTYPEC PIC X(30).
- 注※1
-
集合項目の名称(’USQLTNDA’の部分)は,任意の名称を指定してください。なお,データ項目に’SQL’で始まる文字列は指定できません。
- 注※2
-
nはSQL記述領域のSQLVARの配列の大きさと同じ個数(1〜30000)を指定します。