ページのトップに戻る
Systemwalker Operation Manager  リファレンスマニュアル

Enterprise Edition17.3.11 ジョブ移動API/EE【Windows版】

ジョブ移動API/EE(Mp_MoveJob_Ex)について説明します。

機能説明

Systemwalker Operation Manager EEで、ジョブを他のキューへ移動します。

記述形式

#include "f3cuapi.h"
long Mp_MoveJob_Ex (char *rhost,
                      char *jobname,
                      long jobno,
                      char *jobhost,
                      char *queue,
                      char *userforadmin,
                      int system_num)

パラメタの説明

rhost

NULLを指定してください。

jobname

移動するジョブのジョブ名を指定します。NULLを指定することもできます。NULLを指定した場合は、jobnoで指定されたジョブ番号によって移動するジョブを指定してください。

jobno

移動するジョブのジョブ番号を指定します。jobnameにNULLを指定した場合、および同名ジョブが複数存在する場合は、必ず指定してください。

jobhost

NULLを指定してください。

queue

移動先キュー名を指定します。

userforadmin

システム管理者(Administratorsグループに属するユーザ)が他人のジョブを移動する場合に指定します。移動対象ジョブの所有者名を指定してください。所有者名を指定しない場合はNULLを指定してください。

system_num

操作対象のサブシステムを、0から9の範囲の番号で指定します。

復帰値

復帰値

対 処

0

正常にジョブは移動されました。

-

-1

システムエラーが発生しました。

保守情報収集ツールで“ジョブ実行制御”の情報を採取し、富士通技術員に連絡してください。

-1000以下

ジョブ実行制御において、エラーが検出されたため、移動処理を中断しました。なお、エラーメッセージ獲得APIを使用して、エラーメッセージを獲得することができます。

エラーメッセージ獲得APIを使用して、エラーメッセージを獲得し、そのエラーメッセージに対応した処置を実施してください。

注意事項

引数が無効アドレスを指している場合、当関数は異常終了し、その動作は定義されません。

分散実行キューから他のキューへの移動、または他のキューから分散実行キューへの移動はできません。

プログラム例

ジョブ移動API/EEのプログラム例を以下に示します。


#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];
        int system_num;

        /*
         * 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_Ex() API
         */
        system_num = 0;
        rtn = Mp_MoveJob_Ex (NULL, NULL, jobno, NULL, argv[2], NULL, system_num);

        /*
         * check return code of Mp_MoveJob_Ex() 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);
}