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

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

17.3.8 ジョブ削除API

ジョブ削除API(Mp_DeleteJob)について説明します。

■機能説明

ジョブをSystemwalker Operation Managerを導入しているサーバから削除します。実行中ジョブは実行が中止されます。

■記述形式

【Windows版】

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

【UNIX版】

#include "mjesapi.h "
int Mp_DeleteJob (char *rhost,
           char *jobname,
           int jobno,
           char *jobhost,
           char *userforadmin)

■パラメタの説明

rhost

NULLを指定してください。

jobname

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

jobno

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

jobhost

NULLを指定してください。

userforadmin

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

■復帰値

復帰値

意 味

0

正常にジョブは削除されました。

-1

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

-1000以下

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

■注意事項

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

■プログラム例

ジョブ削除APIのプログラムを以下に示します。

【Windows版】

#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_DeleteJob() API
         */
        rtn = Mp_DeleteJob (NULL, NULL, jobno, NULL, NULL);

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

【UNIX版】

#include <stdio.h>
#include <errno.h>
#include "mjesapi.h"

int main (int argc, char **argv)
{ 
        int jobno = 0;
        int 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_DeleteJob() API
         */
        rtn = Mp_DeleteJob (NULL, NULL, jobno, NULL, NULL);

        /*
         * check return code of Mp_DeleteJob() API 
         */
        if (rtn == 0) {
                printf ("Job %d has been deleted.\n", jobno);
                return (0);
        } else if (rtn == -1) {
                printf ("errno is %d.\n", errno);
        } 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