GeneXus オブジェクトが呼び出し元オブジェクトから受け取るパラメーターのリストを宣言します。
Parm( [
in:|
out:|
inout: ]
parm1, …, [
in:|
out:|
inout: ]
parmN);
入力値の説明:
in: | out: | inout:
各パラメーターについて、呼び先オブジェクトでどのように使用されるか
(in、out、inout) を定義するための演算子です。
parm1, ..., parmN:
呼び先オブジェクトで定義された変数または項目属性です。受け取られるパラメーターごとに、どのように送信されるかに関係なく、項目属性または変数として宣言するかどうかを定義できます。
オブジェクトが別のオブジェクトからパラメーターを指定して呼び出される場合、受け取るパラメーターのセットを呼び出されるオブジェクトの Parm ルール内で宣言する必要があります。その際には、送信時の順序とデータタイプをコンマで区切って指定します。さらに、それぞれのパラメーターについて、どのように使用するか (
in、out、inout) をオプションで指定できます。
Call を使用してオブジェクトを呼び出し、N 個のパラメーターが転送された場合、Parm ルールで N 個のパラメーターを宣言する必要があります。ただし、
Udp メソッドを使用してオブジェクトを呼び出した場合、
データプロバイダーでの呼び出しの場合以外は、次の点に留意してください:
- N + 1 個のパラメーターを呼び先オブジェクトの Parm ルールで宣言する必要があります。
- Parm ルールで最後に宣言するパラメーターは、返される値に対応しています (つまり、呼び元オブジェクトで受け取られる値に対応しています)。
- 呼び先オブジェクトのいずれかの場所で、返される (最後の) パラメーターに値を割り当てる必要があります。
考慮事項:
- Parm ルールが定義されているオブジェクトは、パラメーターを受け取り、パラメーターの値で呼び出される必要があるため、開発者メニューには含まれません。
- パラメーターは Null 値を受け取りません。パラメーターに Null 値が送信された場合、呼び出されるプログラムでは空の値を受け取ります。
- Parm ルール内の変数が Web Panel オブジェクトまたは Transaction オブジェクトのフォームにある場合、既定で読み取り専用になります。
呼び出されるオブジェクトの Parm ルールで変数を使用する場合と項目属性を使用する場合の違いは、変数で値を受け取った場合、プログラミングで自由に使用できるということです。等価、大なり、以上、小なり、以下のフィルタ条件として使用したり、何らかの算術演算に使用したり、その他必要とされる処理に使用できます。これに対して、項目属性に値を受け取った場合は、自動的に等価フィルタとしてオブジェクトで使用されます。
受け取った値を等価フィルタとして使用することが目的でない場合は、変数で値を受け取り、それを自由に使用するしかありません。
例
次のコードは、同じ情報を等価フィルタする 2 つの方法を示すものです。どちらの方法でも、結果およびパフォーマンスは変わりません。
例 1
ユーザーがリストしたいアトラクションの名前の範囲の開始名と終了名を入力するための
Web パネルを定義するとします。

図に示すように、2 つの変数と 1 つのボタンが Web パネルフォーム内にあります (ボタンのキャプションは既定の Confirm のまま、イベントも既定の Enter のまま)。ボタンと関連付けられている Enter イベントで、ユーザーが指定した範囲に名前が含まれるアトラクションを印刷する
Procedure オブジェクトを呼び出す必要があります。
プロシージャーはアトラクションの範囲の開始名と終了名を受け取ります。受け取った範囲を使用して、要求されたアトラクションをフィルタする必要があります。
Web パネルで定義されている呼び出しは次のとおりです:

プロシージャーで宣言されている Parm ルールは次のとおりです:

Web パネルで定義されている名前と、変数名が異なることに注意してください。重要なのは、送られたデータタイプと受け取ったデータタイプが一致していることです。
プロシージャーで受け取る変数は、要求されたアトラクションのフィルタに使用されます。次の図は、プロシージャーの [ Source ] ソースエレメントにおいて、受け取った変数を使用してフィルタを行い、要求を解決するコードを示したものです:
注: このプロシージャーには、出力を PDF フォーマットで印刷するために必要なプロパティおよびルールがあります。
例 2
次の記事に記載されている例を参照してください:
Call メソッド
Udp メソッド
関連する分析メッセージ
- spc0068 特定の状況にあるパラメーターでは使用できないデータタイプがパラメーターに設定されている場合。
- spc0023 Parm ルールで対応するデータタイプとの互換性がないデータタイプを持つ Call コマンドのパラメーターごとに表示。
- spc0024 Call コマンドのパラメーターが少なすぎる場合。
- spc0025 Call コマンドのパラメーターが多すぎる場合。