7.17 DEF_ARRAY
DEF_ARRAYコマンドは、RDMLファンクション内で配列構造を定義するために使用します。
このコマンドで作成された配列は、以下の目的に使用できます。
1. 最大1000個の同一フィールドを連続した記憶域にグループ化します。これにより、これらのうち任意のフィールドに対して「索引による」参照を行えるようになります。これを行うには、OF_FIELDSパラメータを使用します。このパラメータは、RDMLXフィールドでサポートされる唯一のオプションです。オブジェクトがRDMLXに対応していない場合、フィールド数は100個に制限されます。
2. 大きなフィールドを配列構造でオーバーレイします。これにより、その大きなフィールド内の個々の領域に対して「索引による」参照を行えるようになります。これを行うには、OVERLAYINGパラメータを使用します。RDMLXフィールドを使用している場合、このオプションはサポートされません。
このコマンドにより、LANSAアプリケーションで配列が完全にサポートされます。
ただし、リレーショナル・データベースの設計の観点では、データベース・ファイル内で配列構造を使用することが最善の長期戦略とは見なされないことに注意してください。
この機能は、現実に対する譲歩として用意されているものです。ファイル内で配列構造を使用すると、完全に正規化されたリレーショナル・データベース設計よりシステム・パフォーマンスが向上します。
ただし、この機能があるからといって、データベース設計で配列構造を使用することを推奨しているわけではありません。
ハードウェア・リソースで許容されていれば、完全なリレーショナル設計を行うことで、常に、より簡潔で、使用と保守が容易で、長期的に使用できるソリューションを生み出すことができます。
参照
必須
DEF_ARRAY ---- NAME --------- #配列名 ----------------->
>-- INDEXES ------ #索引フィールド名 -------------->
| |
----- 最大50 -------
>-- OF_FIELDS ---- #フィールド名 -------------------->
| 拡張可能なグループ式 |
---------- 最大100 --------------
-- または --
>-- OVERLAYING --- #フィールド名 -- 開始位置 -->
-----------------------------------------------------------------
任意指定
>-- TYPE --------- *CHAR *DEC *PACKED *SIGNED ----->
>-- TOT_ENTRY ---- 合計項目数(1〜9999) --------->
>-- ENTRY_LEN ---- 項目の長さ (1〜256) ----------->
>-- ENTRY_DEC ---- 小数点以下桁数(0〜9) -------|