7.23.1 DEF_LISTのパラメータ

LANSA

7.23.1 DEF_LISTのパラメータ


COUNTER

ENTRYS

FIELDS

NAME

PAGE_SIZE

SCROLL_TXT

SEL_ENTRY

TOP_ENTRY

TYPE

NAME

リストに付ける名前を指定します。指定する名前は、このファンクション内で定義される他のリスト、このファンクション内で定義されるグループ名(GROUP_BYコマンドを参照)、あるいはこのファンクションまたはLANSAデータ・ディクショナリで定義されているフィールド名と同じであってはなりません。

FIELDS

リスト内の1項目にするフィールドの名前を指定します。指定するフィールドには、フィールド制御属性を含めることができます。または、このパラメータに拡張可能なグループ式を入力できます。

このパラメータで指定するすべてのフィールドは、このファンクションまたはLANSAデータ・ディクショナリで定義されていなければなりません。

タイプBinary、Varbinary、Float、およびBooleanのフィールドを使用することはできません。

フィールド・リストおよびフィールド制御属性の指定の詳細については、「GROUP_BYのパラメータ」を参照してください。

COUNTER

リストに現在含まれている項目数のカウントを自動的に保持するフィールドを指定します。

デフォルト値*NONEを指定した場合、自動カウンターは要求されません。

自動カウンターとして指定するフィールドは、数値タイプで、この関数またはLANSAデータ・ディクショナリで定義されていなければなりません。

TYPE

リストを、ワークステーションに表示可能なブラウズ・リスト(*BROWSE)またはプログラム内で使用可能な作業リスト(*WORKING)として指定します。このパラメータのデフォルト値は*BROWSEです。

ENTRYS

このパラメータでは、リストに保持可能な最大項目数を指定します。アプリケーションがVisual LANSAで実行される場合に、TYPE(*WORKING)リストまたはTYPE(*BROWSE)リストに対して使用されます。このパラメータを省略すると、値50が使用されます。それ以外の場合、1〜2,147,483,647の整数を指定します。ファンクションまたはコンポーネントがRDMLXに対応していない場合は、9999までに制限されます。

特別な値*MAXを指定すると、2,147,483,647に設定されます。32ビットMicrosoft Windowsなど一部のオペレーティング・システムでこの値を使用すると、最大数の項目を追加しようとしたときに、プロセスで使用可能なメモリーがオーバーフローします。そのため、多数の項目を使用する場合は、実際には到達することのない未知数を許容するものとして考えてください。この機能は、アプリケーション設計者の責任において適切に使用してください。さまざまなMS Windowsでは、最大サイズのリストによって、実際に使用可能なメモリーがオーバーフローすると、全構文検査で警告が発行されます。FFC警告におけるメモリー使用量の計算方法の詳細については、「DEF_LISTについてのコメント/警告」を参照してください。

RDMLリストでは、リストに必要なすべてのメモリーが事前に割り当てられることに注意してください。一方、RDMLXリストによって事前に割り当てられるのは、1メモリー・ページに収まる項目数または1項目の幅のうち、いずれか大きい方のみです。RDMLXリストの場合は、実行中必要に応じてさらにメモリーが割り当てられます。

PAGE_SIZE

このパラメータは、TYPE(*BROWSE)リストに対してのみ使用されます。使用する場合は、使用する表示装置の1「ページ」に収まるブラウズ・リストのサイズ(項目数)を保持する数値フィールドの名前を指定します。

デフォルト値*NONEを指定した場合、ページ・サイズは要求されません。

「ページ」サイズを保持するフィールドを指定する場合、そのフィールドは数値タイプで、このファンクションまたはLANSAデータ・ディクショナリで定義されていなければなりません。

注:このパラメータは、ページ・サイズを制御するためのものではありません。RDMLプログラムの開始時に、LANSAによって割り当てられるページ・サイズを保管する数値フィールドを指定するためのものです。

通常、このパラメータは、「ページ単位」技法で表示されるブラウズ・リストを作成するときのみ使用されます。このパラメータを使用することで、プログラマは、LANSAによって割り当てられたページ・サイズを特定したり、RDMLプログラムにページ・サイズを「ハードコード化」する必要がなくなります。

TOP_ENTRY

このパラメータは、TYPE(*BROWSE)リストに対してのみ使用されます。以下の目的で使用する数値フィールドを指定します。

·         最初に表示されるブラウズ・リストの「ページ」がこの項目番号を含む「ページ」であることを指定する

·         Enterキーまたはファンクション・キーが押された場合に、(DISPLAY、REQUEST、またはPOP_UPコマンドの後に)「ページ」の先頭にあったブラウズ・リスト行のブラウズ・リスト項目番号を受け取る

デフォルト値*CURRENTを指定した場合、現在のページが、表示される「ページ」になります。すなわち、リストの初回表示時は最初のページ、リストが以前に表示された場合は最後に表示されていたページが表示されます。

先頭項目を保持するフィールドを指定する場合、そのフィールドは数値タイプで、このファンクションまたはLANSAデータ・ディクショナリで定義されていなければなりません。

SEL_ENTRY

このパラメータは、TYPE(*BROWSE)リストに対してのみ使用されます。ユーザーが項目上にカーソルを移動してEnterキーまたはファンクション・キーを押して選択したブラウズ・リスト項目の項目番号を保持する数値フィールドを指定します。カーソル位置が無効の場合、値は0として返されます。

デフォルト値*NONEを指定した場合、カーソルで選択された項目番号は要求されません。

選択された項目番号を保持するフィールドを指定する場合、そのフィールドは数値タイプで、このファンクションまたはLANSAデータ・ディクショナリで定義されていなければなりません。

SCROLL_TXT

このパラメータは、TYPE(*BROWSE)リストに対してのみ使用されます。また、「ページ単位」でブラウズ・リストを表示するようRDMLプログラムをコーディングする場合のみ使用してください

現行リリースのLANSA、i5/OS、およびCPFでは、このパラメータは、画面に表示されるリストの下部にある高輝度"+" (プラス)記号の表示(または非表示)を制御するために使用されます。

一般に、"+"記号の表示は、明細がリストの次の「ページ」に続き、スクロール・キーを使用することで表示できることをユーザーに示すものです。

RDMLプログラムでリストの構築および表示のために「ページ単位」技法を使用しない場合(すなわち、表示前にリスト全体を作成する場合)、このパラメータを使用しないでください

RDMLプログラムで「ページ単位」技法を使用する場合は、このパラメータを使用して、"+"記号を表示するタイミングを制御してください。

デフォルト値*NONEを指定した場合、"+"記号の特定のプログラム制御は要求されません。この処理は、プログラムが介入しなくても、LANSA、i5/OS、またはCPFによって自動的に行われます。この値は、「ページ単位」技法を使用しない場合に使用してください。

それ以外の場合、このパラメータに英数字フィールド名を指定します。画面にブラウズ・リストのいずれかのページが表示されている場合、RDMLプログラムによって、またはユーザーによるいずれかのスクロール・キーの押下によってリスト内を上下に移動すると、以下のようになります。

·         ブラウズ・リストに、表示されているページに続く項目がさらに存在するする場合、このパラメータで指定するフィールドの値に関わらず"+"記号が表示されます。

·         ブラウズ・リストに、表示されているページ以外に項目が存在しない場合、"+"記号の表示/非表示は、このパラメータで指定するフィールドの内容によって制御されます。指定したフィールドの内容が"M"または"m"で始まっている場合は、"+"記号が表示され、それ以外の場合は"+"記号は表示されません。

「ページ単位」のブラウズ・リスト・プログラムの例およびこのパラメータの使用例については、このセクションの最後を参照してください。

移植性に関する考慮事項

Visual LANSAで使用すると、この機能は無視されます。