HiRDBによる索引編成ファイルを使用する場合,HiRDBでのスキーマ定義とCOBOLでの定義との関連性や,SQLデータ型とCOBOLデータ定義との関連性について,注意が必要です。HiRDBの定義とCOBOLの定義の関連性について説明します。
HiRDBによる索引編成ファイルを使用する場合は,はじめにデータベースを設計してからスキーマ定義を作成します。このスキーマ定義を基に,COBOLプログラムを作成します。
スキーマ定義とCOBOL原始プログラムとの関連を次に示します。
図6-3 スキーマ定義とCOBOL原始プログラムとの関連
COBOLのレコードを定義するときは,RDBの列の属性に合わせて定義しなければなりません。
HiRDBの列のデータ型とCOBOLのデータ記述の対応を次に示します。なお,この表にないデータ型は,使用できません。
表6-6 HiRDBの列のデータ型とCOBOLのデータ記述の対応
HiRDBの列のデータ型 | COBOLのデータ記述 | 項目の記述 | 備考 |
---|---|---|---|
SMALLINT | L1 基本項目名 PIC S9(4) | 基本項目 | |
INTEGER | L1 基本項目名 PIC S9(9) | 基本項目 | |
DECIMAL 〔(m〔,n〕)〕 | L1 基本項目名 | 基本項目 | 1≦m≦18, AIX(64)の場合で-MaxDigits38オプション指定時 1≦m≦38, 0≦n≦m m=nの場合はSV9(n)とする n=0の場合は〔V9(n)〕を省略する |
SMALLFLT | L1 基本項目名 | 基本項目 | |
FLOAT | L1 基本項目名 | 基本項目 | |
CHAR〔(n)〕 | L1 基本項目名 PIC X(n). | 基本項目 | 1≦n≦30000 |
VARCHAR(n) | L2 集団項目名. | 二つの基本項目から構成される集団項目 基本項目1:文字長 基本項目2:文字列 | 1≦n≦32000 |
NCHAR〔(n)〕 | L1 基本項目名 PIC N(n). | 基本項目 | 1≦n≦15000 |
NVARCHAR(n) | L2 集団項目名. | 二つの基本項目から構成される集団項目 基本項目1:文字長 基本項目2:文字列 | 1≦n≦16000 |
DATE | L1 基本項目名 PIC X(4). | 基本項目 | 4バイト'yyyymmdd'の形式 (例えば2002/7/11の場合,X'20020711'が格納される) |
TIME | L1 基本項目名 PIC X(3). | 基本項目 | 3バイト’hhmmss’の形式 (例えば11:25:43の場合,X'112543'が格納される) |
INTERVAL YEAR TO DAY | L1 基本項目名 PIC S9(8) | 基本項目 | |
INTERVAL HOUR TO SECOND | L1 基本項目名 PIC S9(6) | 基本項目 | |
MCHAR[(n)] | L1 基本項目名 PIC X(n). | 基本項目 | 1≦n≦30000 |
MVARCHAR(n) | L2 集団項目名. | 二つの基本項目から構成される集団項目 基本項目1:文字長 基本項目2:文字列 | 1≦n≦32000 |
BLOB | L2 集団項目名. | 三つの基本項目名から構成される集団項目 基本項目1:データ長 基本項目2:バイナリデータ | 1≦n≦65527 |