ジョブ移動API(Mp_MoveJob)について説明します。
機能説明
ジョブを他のキューへ移動します。
記述形式
#include "f3cuapi.h" |
パラメタの説明
rhost
NULLを指定してください。
jobname
移動するジョブのジョブ名を指定します。NULLを指定することもできます。NULLを指定した場合は、jobnoで指定されたジョブ番号によって移動するジョブを指定してください。
jobno
移動するジョブのジョブ番号を指定します。jobnameにNULLを指定した場合、および同名ジョブが複数存在する場合は、必ず指定してください。
jobhost
NULLを指定してください。
queue
移動先キュー名を指定します。
userforadmin
システム管理者(Administratorsグループに属するユーザ)が他人のジョブを移動する場合に指定します。移動対象ジョブの所有者名を指定してください。所有者名を指定しない場合はNULLを指定してください。
復帰値
復帰値 | 意 味 | 対 処 |
---|---|---|
0 | 正常にジョブは移動されました。 | - |
-1 | システムエラーが発生しました。 | 保守情報収集ツールで“ジョブ実行制御”の情報を採取し、富士通技術員に連絡してください。 |
-1000以下 | ジョブ実行制御において、エラーが検出されたため、移動処理を中断しました。なお、エラーメッセージ獲得APIを使用して、エラーメッセージを獲得することができます。 | エラーメッセージ獲得APIを使用して、エラーメッセージを獲得し、そのエラーメッセージに対応した処置を実施してください。 |
注意事項
引数が無効アドレスを指している場合、当関数は異常終了し、その動作は定義されません。
分散実行キューから他のキューへの移動、または他のキューから分散実行キューへの移動はできません。
プログラム例
ジョブ移動APIのプログラム例を以下に示します。
#include <windows.h> #include <stdio.h> #include "f3cuapi.h" int main (int argc, char **argv) { long jobno = 0; long rtn = 0; char errmsg[256+1]; /* * initialization working area */ memset(errmsg, 0x00, sizeof(errmsg)); if (argc != 3) { printf ("Usage: %s <jobno> <queuename>\n", argv[0]); return (1); } /* * set jobno */ jobno = atoi(argv[1]); /* * call Mp_MoveJob() API */ rtn = Mp_MoveJob (NULL, NULL, jobno, NULL, argv[2],NULL); /* * check return code of Mp_MoveJob() API */ if (rtn == 0) { printf ("Job %d has been moved.\n", jobno); return (0); } else if (rtn == -1) { printf ("GetLastError() is %d.\n", GetLastError()); } else if (rtn <= -1000) { printf ("Error code is %d.\n", rtn); Mp_GetMJESerror (errmsg); printf ("errmsg = %s\n", errmsg); } return (1); }