Systemwalker Operation Manager リファレンスマニュアル - UNIX/Windows(R)共通 -
目次 索引 前ページ次ページ

第17章 API情報> 17.3 ジョブ実行制御API

[EE]
17.3.5 ジョブ保留API/EE【Windows版】

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

■機能説明

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

■記述形式

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

■パラメタの説明

rhost

NULLを指定してください。

jobname

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

jobno

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

jobhost

NULLを指定してください。

userforadmin

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

system_num

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

■復帰値

ジョブ保留API(Mp_HoldJob_Ex)は、以下に示す値を返します。

復帰値

意 味

0

正常にジョブは保留されました。

-1

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

-1000以下

ジョブ実行制御において、エラーが検出されたため、保留処理を中断しました。 なお、エラーメッセージ獲得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 != 2) {
                printf ("Usage: %s <jobno>\n", argv[0]);
                return (1);
        }

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

        /*
         *  call Mp_HoldJob_Ex() API
         */
        system_num = 0;
        rtn = Mp_HoldJob_Ex (NULL, NULL, jobno, NULL, NULL, system_num);

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

目次 索引 前ページ次ページ

All Rights Reserved, Copyright (C) 富士通株式会社 1995-2007