適用範囲
オブジェクト:トランザクション 言語:.NET、Ruby、Java、RPG、Visual Basic、Visual FoxPro、Cobol
目的
外部ルーチンまたは GeneXus オブジェクトを呼び出し、項目属性または変数をパラメーターとして渡します。パラメーターは、項目属性、変数、または定数値です。
構文
Call('Usr-Pgm', [ parm1, parm2 ,... ] ) [ If cond ] Usr-Pgm.Call('Usr-Pgm', [ parm1, parm2 ,... ] ) [ If cond ] 入力値の説明:'Usr-Pgm'条件 cond が true の場合に呼び出される外部ルーチンまたは GeneXus オブジェクトです。 parmパラメーターは、項目属性、変数、または値です。どのパラメーターも、 入力、出力、入出力のいずれのタイプでもかまいません。 cond'Usr-Pgm ' を呼び出すかどうかを決める条件。この条件が True になった場合は 'Usr-Pgm' が呼び出され、False になった場合は呼び出されません。 cond が削除されている場合は、呼び出しは必ずトリガーされます。
説明
このルールは、外部ルーチンまたはトランザクション内の GeneXus オブジェクトを呼び出すのに使用します。呼び出されるプログラムの名前は、変数または項目属性で指定します。
例
次のルールは、Purchase Order (発注書) を入力後に印刷するレポートを呼び出します:
Call('PtOrder', OrdNbr) If Aftercomplete;
または
PtOrder.Call(OrdNbr) If AfterComplete;
呼び出されるプログラムの名前には、アンダースコア (_) を使用できないことに注意してください。
対応するレポートに次のルールを定義する必要があります。これにより、レポートはパラメーター値を受け入れられます。
Parm(OrdNbr)
呼び出されるプログラムの名前に変数を使用する場合:
&Pgm = 'PtOrder';
Call(&Pgm, &V1);
または
&Pgm.Call(&V1);
呼び出されるプログラムの名前に項目属性を使用する場合:
プログラム名として指定する項目属性の名前に ATT: という接頭語を付けます。この方法は、直接および間接の呼び出しを区別するために使用されます。つまり、この接頭語で、プログラムが存在することを示すので、このコードの行は call(xxx) になります。ここで「xxx」は存在するプログラムの名前です。同様に、項目属性を使用する場合は、その項目属性がモデルに存在するかどうかで指定方法が異なります。
次に、例を示します:
Call(ATT:Pgm, parm1, parm2, …)
この例では、Pgm はモデルに存在する項目属性の名前です。
Call(Pgm, parm1, parm2, …)
この例では、Pgm がプログラムの名前であり、その存在がコントロールされます。存在しない場合は引用間の名前として生成され、モデルの外部にあることが示されます (call(‘Pgm’, parm1, …) のように記述されます)。
参考情報
Call コマンド Submit コマンド Submit ルール [ Significant Object Name Length ] プロパティ [ Expand Dynamic Calls ] プロパティ
|