最近のアクセス:
Parm ルール

GeneXus オブジェクトが呼び出し元オブジェクトから受け取るパラメーターのリストを宣言します。

構文

Parm( [ in:|out:|inout: ] parm1, [ in:|out:|inout: ] parm2,  [ in:|out:|inout: ] parm3,…);
入力値の説明:
in: | out: | inout: 
    各パラメーターについて、呼び先オブジェクトでどのように使用されるか (in、out、inout) を定義するための演算子です。
parm1, parm2, parm3, ...:
   変数 (呼び先オブジェクトで定義) または項目属性です。受け取られるパラメーターごとに、どのように送信されるかに関係なく、項目属性または変数を宣言するかどうかを指定できます。

説明

オブジェクトが別のオブジェクトからパラメーターを指定して呼び出される場合、受け取るパラメーターのセットを呼び出されるオブジェクトの Parm ルール内で宣言する必要があります。その際には、送信時の順序とデータタイプをコンマで区切って指定します。
さらに、それぞれのパラメーターについて、どのように使用するか受け取るパラメーターのタイプの定義 (in、out、inout) をオプションで指定できます。
Call を使用してオブジェクトを呼び出し、N 個のパラメーターが転送された場合、Parm ルールで N 個のパラメーターを宣言する必要があります。ただし、Udp を使用してオブジェクトを呼び出した場合 (データプロバイダーの呼び出しの特殊なケースは除く) は次のようになります:
  • N + 1 個のパラメーターを呼び先オブジェクトの Parm ルールで宣言する必要があります。
  • Parm ルールで最後に宣言するパラメーターは、返される値に対応しています (つまり、呼び元オブジェクトで受け取られる値に対応しています)。
  • 呼び先オブジェクトのいずれかの場所で、返される (最後の) パラメーターに値を割り当てる必要があります。
検討事項:
  • Parm ルールが定義されているオブジェクトは、開発者メニューには含まれません (パラメーターを受け取る場合に、パラメーターの値で呼び出される必要があるためです)。
  • パラメーターは Null 値を受け取りません。パラメーターに Null 値が送信された場合、呼び出されるプログラムでは空の値を受け取ります。
  • Parm ルール内の変数が Web Panel オブジェクトまたは Transaction オブジェクトとして指定されている場合は、既定で読み取り専用になります。


呼び出されるオブジェクトの Parm ルールで変数を使用する場合と項目属性を使用する場合の違い

変数に値を受け取った場合、プログラミングで自由に使用できます。等価、大なり、以上、小なり、以下のフィルタ条件として使用したり、何らかの算術演算に使用したり、その他必要とされる処理に使用できます。これに対して、項目属性に値を受け取った場合は、自動的に等価フィルタとしてオブジェクトで使用されます。
受け取った値を等価フィルタとして使用することが目的でない場合は、変数で値を受け取り、それを自由に使用するしかありません。


次のコードは、同じ情報を等価フィルタする 2 つの方法を示すものです。どちらの方法でも、結果およびパフォーマンスは変わりません。
イメージ:24354.png
 

その他の例

1) ユーザーがリストしたいアトラクションの名前の範囲の開始名と終了名を入力するための Web パネルを定義するとします。
イメージ:24358.png
図に示すように、2 つの変数と 1 つのボタンが Web パネルフォーム内にあります (ボタンのキャプションは既定の Confirm のまま、イベントも既定の Enter のまま)。ボタンと関連付けられている Enter イベントで、ユーザーが指定した範囲に名前が含まれるアトラクションを印刷する Procedure オブジェクトを呼び出す必要があります。
プロシージャーはアトラクションの範囲の開始名と終了名を受け取ります。受け取った範囲を使用して、要求されたアトラクションをフィルタする必要があります。
Web パネルで定義されている呼び出しは次のとおりです:
イメージ:24359.png
プロシージャーで宣言されている Parm ルールは次のとおりです:
イメージ:24361.png
Web パネルで定義されている名前と、変数名が異なることに注意してください。重要なのは、送られたデータタイプと受け取ったデータタイプが一致していることです。

プロシージャーで受け取る変数は、要求されたアトラクションのフィルタに使用されます。次の図は、プロシージャーのソースセクションにおいて、受け取った変数を使用してフィルタを行い、要求を解決するコードを示したものです:
イメージ:24360.png
注: このプロシージャーには、出力を PDF フォーマットで印刷するために必要なプロパティおよびルールがあるとします。
 
2) 次の記事に記載されている例を参照してください:
Call メソッド
Udp メソッド


関連する分析メッセージ

  • spc0068 特定の状況にあるパラメーターでは使用できないデータタイプがパラメーターに設定されている場合。
  • spc0023 Parm ルールで対応するデータタイプとの互換性がないデータタイプを持つ Call コマンドのパラメーターごとに表示。
  • spc0024 Call コマンドのパラメーターが少なすぎる場合。
  • spc0025 Call コマンドのパラメーターが多すぎる場合。









サブページ
Created: 14/09/18 03:19 by Admin Last update: 21/05/20 06:21 by Admin
カテゴリ
Powered by GXwiki 3.0