私はPeopleCodeを使い慣れていませんし、私が関数を学んでいるので、私はPeopleCodeで、通常は%PATIENT_IDを使用して値を渡すことに気付きました。友人からは、PeopleCodeで参照渡すこともできますが、どうすればよいのか教えてくれましたか?PeopleCodeで参照渡しできますか?
答えて
PeopleCodeは関数の参照渡しです。あなたはそれが方法では異なる 振る舞いのAppクラスを使用している場合は10
で
Function addOne(&num As integer)
&num = &num + 1
End-Function;
Local integer &val = 9;
addOne(&val);
MessageBox(0, "", 0, 0,String(&val));
結果:単純型(文字列、int型、数、など) の値によって
- パス
- オブジェクト(行セット、レコード、アプリケーションクラス)の参照渡し
単純な型の場合OUTキーを使用して渡すことができます。パラメータリスト内のRD実行コードと同じコンテキストに定義されている
method addOne(&num as integer out)
機能、例えばpage/component/record/fieldイベントPeopleCodeでは、常に参照としてパラメーターを考慮します。
アプリケーションクラス内で、メソッド上の単純型のパラメータは、 'out'キーワードで定義され、それらが参照であることを示すことができます。また、メソッドは複雑な型の参照としてパラメータを自動的に渡します。 「多くのデータがある場合は参照です」
このドキュメントは非常に役に立ちます。 https://docs.oracle.com/cd/E26239_01/pt851h3/eng/psbooks/tpcr/chapter.htm?File=tpcr/htm/tpcr07.htm
オブジェクト・データ型と
パラメータは常に参照によって渡されるオブジェクト・データ型のパラメータを渡す:あなたが持つメソッドのパラメータのうち修飾子を指定した場合
/* argument passed by reference */ method storeInfo(&f as File);
オブジェクト データ型では、参照パラメータになります。これは、 パラメータ変数が、渡されたときに指しているオブジェクトの代わりに参照によって渡されることを意味します。例えば
、あなたが出て修飾子でオブジェクトパラメータを渡す場合:メソッドの引数はMyMethodはの本体内に再割り当てされているので
method myMethod(&arg as MyObjectClass); Local MyObjectClass &o1 = create MyObjectClass("A"); Local MyOtherObjectClass &o2 = create MyOtherObjectClass(); &o2.myMethod(&o1); And inside myMethod this occurs: Method myMethod &arg = create MyObjectClass("B"); end-method;
、 & O1はMyObjectClassの新しいインスタンスを指していません(メソッド呼び出しが完了した後で が "B"で初期化されました)。これは、& o1はまだ がMyObjectClassの元のインスタンスを参照するためです。
しかし、& O1は、アウト修飾子を渡されていた場合 メソッドコールの完了後、パラメータが 最後に割り当てられたものは何でもで& 01ポイント。この例では、MyObjectClassの新しいインスタンスです。オブジェクトではなく パラメータは、参照渡しされます。 パラメータのアウト指定の使用
次の例では、クラスAddStuffには、単一のパブリック メソッド、DoAddがあります。これにより、2つの数字が加算され、 の異なる番号が割り当てられます。メソッド宣言のシグニチャでは、 の最初のパラメータはoutステートメントで宣言されておらず、 の2番目のパラメータはoutステートメントで宣言されていません。以下のPeopleCode例で
class AddStuff method DoAdd(&P1 as number, &P2 as number out); end-class; method DoAdd &X = &P1 + &P2; &P1 = 1; &P2 = 2; end-method;
、&アレフ指定されたオブジェクトは、クラスAddStuffからインスタンス あります。 2つのパラメータ、&Iおよび&Jは、 も定義されている。
local AddStuff &Aref = Create AddStuff(); local number &I = 10; local number &J = 20;
次のコード例は正しいです。 & Jが変更されました。これは、メソッドシグネチャの範囲が であり、値が であるために変更されました。 & Iの値は更新されません。
&Aref.DoAdd(&I, &J); /* changes &J but not &I */
次のコード例では、デザイン時エラーが発生します。 2番目の パラメータは、値ではなく参照渡しする必要があります。
&Aref.DoAdd(10, 20); /* error - second argument not variable */
- 1. 参照渡しですか?
- 2. 参照渡しと参照渡し
- 3. ポインタは参照渡しですか? (サニティチェック)
- 4. Mutexオブジェクトは参照渡しですか?
- 5. javaで参照渡し?
- 6. 値渡しと参照渡しJavaScriptで
- 7. std :: thread渡しで参照渡しコピーコンストラクタ
- 8. Javaは値渡しか参照渡しですか?
- 9. 参照でベクトルを渡す
- 10. C++での参照渡しはどうすればできますか?
- 11. ポインタへの参照対参照渡し?
- 12. 渡す参照
- 13. Pythonでの参照渡しをどのようにシミュレートできますか?
- 14. 参照で渡さずにC++で参照する
- 15. CComPtr参照渡し
- 16. 地図はGoで値渡しまたは参照渡しされますか?
- 17. ここで値渡しはできますが、参照渡しはできません(C++)?
- 18. 値渡し値渡し参照渡し
- 19. パラメータ2を参照渡しできません - uuid PDO
- 20. Pythonが参照渡しします
- 21. std :: wfstreamを参照渡しできますか?write()とread()を正しく使用できますか?
- 22. PHPのオブジェクトが値渡しか参照渡しですか?このコードで
- 23. reactjsでは、小道具は値渡しか参照渡しですか?
- 24. Javaで参照渡しで同等ですか?
- 25. ColdFusionで参照渡しで単純な値を渡すことはできますか?
- 26. スレッドで参照渡しで整数を渡す
- 27. ゴランで参照渡しで配列を渡す
- 28. オプションでオブジェクトを参照渡しで渡す
- 29. Pythonで参照渡しで変数を渡す
- 30. 参照でポインタをC++で渡す