どのターゲット・システムがどのレコード・タイプをサポートしているかについて詳しくは、『レコードとファイル・タイプの相互参照』を参照してください。 レコード・パーツの初期化について詳しくは、『データの初期化』を参照してください。
Record ALT_PCBRecord 10 terminalName char(8); 10 * char(2); 10 statusCode char(2); end
ALT_PCBRecord タイプは、 『PCB レコード・パーツ・プロパティー』で説明されているいくつかのプロパティーおよびプロパティー・フィールドが中心となっています。
基本レコードまたは固定基本レコードは、内部処理に使用され、データ・ストレージにはアクセスできません。
このパーツは、デフォルトでは非固定レコード・パーツですが、 フィールド定義の前にレベル番号が置かれている場合は、固定レコード・パーツになります。
basicRecord タイプの固定レコード・パーツ内では、 以下のプロパティーが使用可能です。
Record DB_PCBRecord 10 dbName char(8); 10 segmentLevel num(2); 10 statusCode char(2); 10 procOptions char(4) 10 * char(4); 10 segmentName char(8); 10 keyAreaLen int; 10 numSensitiveSegs int; 10 keyArea char(32767); endDB_PCBRecord タイプは、 『PCB レコード・パーツ・プロパティー』で説明されているいくつかのプロパティーおよびプロパティー・フィールドが中心となっています。
このレコード・タイプは、固定長または非固定長のいずれであってもかまいません。 非固定長の場合は、 値の設定ブロックに (このセクションで後述する) lengthItem プロパティーを指定する必要があります。
DLISegment レコード・タイプは、 DL/I データベース・セグメントから読み込みまたは書き込みされるデータを保持します。 セグメントを読み取るには、いくつか考えられる get 文の 1 つを呼び出し、 セグメントに書き込む場合は、add または replace 文を呼び出し、 ファイルからセグメントを除去する場合は、delete 文を呼び出します。
レコード内のフィールドは、 データベース・セグメント内のフィールドと長さおよびタイプが正確に一致しなければなりません。 明確にする目的で、あるいはマイグレーションを支援するために、 レコード定義内のフィールド名は、DL/I セグメント内のフィールド名と一致させなくてもかまいません。 ただし、レコード内のフィールド名のどれかが一致しない場合は、値の設定ブロックを使用して、 そのフィールドに関して 8 文字の dliFieldName プロパティーを指定する必要があります。 すべての名前は、生成時に大文字に変換されます。
Record CustomerRecord type DLISegment { segmentName = "STSCCST", hostVarQualifier = "STSCCST", lengthItem = "mySegementLength", keyItem = "customerNo" } 10 customerNo char(6) { dliFieldName = "STQCCNO" }; 10 mySegementLength int; ... end
Record GSAM_PCBRecord 10 dbName char(8); 10 * num(2); 10 statusCode char(2); 10 procOptions char(4) 10 * char(20); 10 recordSearchArg bigint; 10 undefinedRecordLen int; endGSAM_PCBRecord タイプでは、 『PCB レコード・パーツ・プロパティー』で説明されているいくつかのプロパティーおよびプロパティー・フィールドが中心となっています。
索引付きレコードは、固定レコードの 1 つであり、これを使用すると、キー値 によってアクセスされるファイルを操作できます。キー値は、ファイル内のレコードの論理的位置を示します。 このファイルを読み取るには、get、get next、 または get previous 文を呼び出します。 また、ファイルに書き込みを行うには、add 文 または replace 文を呼び出します。ファイルからレコー ドを除去する場合は、delete 文を呼び出します。
『可変長レコードをサポートするプロパティー』も参照し てください。
Record IO_PCBRecord 10 terminalName char(8); 10 * char(2); 10 statusCode char(2); 10 * char(8); 12 localDate decimal(7); 12 localTime decimal(7); 10 inputMsgSegNum int; 10 userid char(8); 10 groupName char(8); 10 * char(12); 12 currentDate decimal(7); 12 currentTime decimal(11); 12 utcOffset hex(4); 10 userIdIndicator char(1); endIO_PCBRecord タイプでは、 『PCB レコード・パーツ・プロパティー』で説明されているいくつかのプロパティーおよびプロパティー・フィールドが中心となっています。
MQ レコードは固定レコードの 1 つであり、これを使用すると、MQSeries® メッセージ・キューにアクセスできます。 詳細については、『MQSeries のサポート』を参照してください。
Record PSBDataRecord psbName char(8); psbRef int; end
このレコードを使用してシステム変数 DLILib.psbData と対話することができます。 このシステム変数には、ランタイム PSB の名前と、 この PSB へのアクセスに使用されるアドレスの両方が含まれています。 PSB (実際には、名前とアドレス) を別のプログラムに渡したり、 あるいは PSB を別のプログラムから受け取ったりする必要がある場合にも、このレコードが役に立ちます。
このレコード・パーツは、 ランタイム・プログラム仕様ブロック (PSB) の構造を定義し、一連の PCB レコードを含みます。 データベースに関して PCB レコード、例えば (レコード・タイプ DB_PCBRecord) を作成する場合、 複雑なプロパティー @PCB に値を割り当てることによってセグメント階層を表します。 後の例で示すように、このプロパティーは、PCB の名前とタイプを表し、 hierarchy フィールドを含みます。 同様にこのフィールドには、一連の @Relationship プロパティーが含まれます。
Record CustomerPSB type PSBRecord { defaultPSBName="STBICLG" } // three PCBs required for call interface CBLTDLI iopcb IO_PCBRecord { @PCB { pcbType = TP } }; ELAALT ALT_PCBRecord { @PCB { pcbType = TP } }; ELAEXP ALT_PCBRecord { @PCB { pcbType = TP } }; // database PCB customerPCB DB_PCBRecord { @PCB { pcbType = DB, pcbName = "STDCDBL", hierarchy = [ @Relationship { segmentRecord = "CustomerRecord" }, @Relationship { segmentRecord = "LocationRecord", parentRecord = "CustomerRecord" }, @Relationship { segmentRecord = "CreditRecord", parentRecord = "CustomerRecord" }, @Relationship { segmentRecord = "HistoryRecord", parentRecord = "CustomerRecord" }, @Relationship { segmentRecord = "OrderRecord", parentRecord = "LocationRecord" }, @Relationship { segmentRecord = "ItemRecord", parentRecord = "OrderRecord" }]}}; endPCB レコードのプロパティーについて詳しくは、 『PCB レコード・タイプ・プロパティー』を参照してください。
キー・フィールドを使用するのは get 文と add 文のみですが、ファイル・アクセス用にそのレコードを使用するすべての関数からキー・フィールドを使用できることが必要です。
シリアル・レコードは固定レコードの 1 つであり、これを使用すると、順次にアクセスされるファイルまたはデータ・セットにアクセスできます。 ファイルを読み取るには、get 文を呼び出します。 一連の get next では、 最初のレコードから最後のレコードに向かって順次にファイル・レコードが読み取られます。 add 文を呼び出してファイルへの書き込みを実行することもできます。 この文は新規レコードをファイルの末尾に追加します。
『可変長レコードをサポートするプロパティー』も参照し てください。
SQL レコードは、 リレーショナル・データベースへのアクセス時に特殊なサービスを提供するレコードです。
このパーツは、デフォルトでは非固定レコード・パーツですが、 フィールド定義の前にレベル番号が置かれている場合は、固定レコード・パーツになります。
たいていの場合、SQL デフォルト選択条件は第 2 条件を補足します。この第 2 条件は、SQL レコード内のキー・フィールド値と、SQL テーブルのキー列の関連付けが基礎となります。
詳細については、『SQL サポート』を参照してください。
VGUIRecord パーツは、生成可能パーツであり、VGUI レコードの基礎になります。 この VGUI レコードは、 プログラムと特定の Web ページ間の通信を可能にする VGWebTransaction プログラムまたは関数変数です。