【原因】
言語仕様のため。スコープの関係からthisのexecuteが呼ばれてしまいます。
【対応方法】
スコープが異なるようにしてください。
例:Procedureで定義する方法
----------------------------------------
Procedure.define("foo", new Foo());
function Foo() {
this.executeRuntime = executeRuntime;
}
function executeRuntime() {
execute("command"); // グローバル関数execute実行
}
----------------------------------------
上記のコードをジョブプログラムファイル以外で関数定義し、ジョブプログラムから呼び出し可能な状態にします。
Procedure.define についてはAPIドキュメントを参照ください。
https://www.intra-mart.jp/apidoc/iap/apilist-ssjs/doc/platform/Procedure/index.html
Procedure.foo.executeRuntime() はジョブのexecute内で実行できます。
-- 対象 ------------------------------------------------------------------------
iAP/Accel Platform/全アップデート
--------------------------------------------------------------------------------
FAQID:534
スクリプト開発モデルのジョブプログラム内でグローバル関数の「execute」とジョブプログラム内の「execute」関数が競合してジョブを実行できません。グローバル関数の「execute」は利用できないのでしょうか?