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

17.3.4 ジョブ保留API【Windows版】

ジョブ保留API(Mp_HoldJob)について説明します。

機能説明

ジョブを保留状態とし、実行されるのを抑止します。

記述形式

#include "f3cuapi.h"
long Mp_HoldJob (char *rhost,
                      char *jobname,
                      long jobno,
                      char *jobhost,
                      char *userforadmin)

パラメタの説明

rhost

NULLを指定してください。

jobname

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

jobno

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

jobhost

NULLを指定してください。

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 != 2) {
                printf ("Usage: %s <jobno>¥n", argv[0]);
                return (1);
        }

        /*
         * set jobno 
         */
        jobno = atoi(argv[1]);

        /*
         *  call Mp_HoldJob() API
         */
        rtn = Mp_HoldJob (NULL, NULL, jobno, NULL, NULL);

        /*
         * check return code of Mp_HoldJob() API 
         */
        if (rtn == 0) {
                printf ("Job %d has been held.¥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);
}