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

17.2.3 ジョブネット操作(起動パラメタ指定)API

ジョブネット操作(起動パラメタ指定)API(Mp_JobschControlParam)について説明します。

記述形式

【Windows版】

#include "f3csbJobschControl.h"
int Mp_JobschControlParam (char *project,
                            char *netname,
                            char *parameter,
                            int action,
                            int rerunopt) ;

【UNIX版】

#include "jobschapi.h"
int Mp_JobschControlParam (char *project,
                            char *netname,
                            char *parameter,
                            int action,
                            int rerunopt) ;

機能説明

本APIは、jobschcontrolコマンドをC言語インタフェースから利用するためのインタフェースです。本APIを利用すると、起動対象のジョブネットの各ジョブにパラメタを渡すことができます。

ジョブ実行制御属性のジョブネットのみ利用できます。

パラメタの説明

project

操作するジョブネットの存在するプロジェクト名を指定します。なお、API実行ユーザの利用できるプロジェクトのプロジェクト名のみ指定できます。

API実行ユーザの利用できるプロジェクトのうちジョブネットが登録されているプロジェクトが1つしかない場合に限り省略できます。省略する場合はNULLを指定します。

netname

操作するジョブネット名を指定します。省略できません。

parameter

起動/再起動の場合、起動対象のジョブネットの各ジョブに渡すパラメタを200バイト以内の文字列で指定します。

起動/再起動以外の操作の場合、NULLを指定します(文字列を指定した場合、無視されます)。

文字列が指定された場合

指定されたパラメタをジョブの引数の最後に付加します。

NULLが指定された場合

再起動の場合、前回起動時に指定されたパラメタをジョブの引数の最後に付加します。

起動の場合は、パラメタを指定しません。

action

ジョブネットの操作方法を指定します。

1:

start(起動)

2:

cancel(強制終了)

3:

rerun(再起動)

4:

pause(停止)

5:

continue(停止解除)

6:

disable(無効)

7:

enable(無効解除)

8:

cope(確認)

9:

reinstate(終了取消)

10:

revoke(持越解除)

rerunopt

actionで3(rerun)を選択した場合のオプションを指定します。actionで3(rerun)を選択しなかった場合は、0を指定します。

0:

通常の再起動を行います。異常終了したジョブから起動します。異常終了したジョブより前のジョブに再起動ポイントが設定されている場合には、そのジョブから起動します。

1:

先頭ジョブからジョブネットを再起動します。

2:

異常終了したジョブに対して「次の再起動のみ無効」を設定してジョブネットを再起動します。

(異常終了したジョブを飛ばして、次のジョブから起動します。)

強制終了したジョブについても、異常終了したジョブと同様に扱います。

復帰値

復帰値

対 処

0

正常終了しました。

-

4

ジョブネットが操作できない状態です。

ジョブネットの状態が変わってから再度実行してください。

8

ジョブスケジューラサービス/ジョブスケジューラデーモンが動作していません。

ジョブスケジューラサービス/ジョブスケジューラデーモンを起動して、再度実行してください。

12

以下のいずれかです。

  • パラメタの指定に誤りがあります。

  • ユーザの権限に誤りがあります。

  • 指定したプロジェクト/ジョブネットが存在しない、複写起動で複写されたジョブネット、または、ジョブ実行制御属性ではありません。

以下のいずれかの処置を行ってください。

  • 正しいパラメタ(プロジェクト名/ジョブネット名/ジョブに渡すパラメタ/操作方法/再起動オプション)を設定する

  • 実行ユーザに、プロジェクトの操作権以上のアクセス権を設定する

  • 操作可能なジョブネットを設定する

16

致命的なエラーが発生しました。

システムエラーが発生した可能性があります。イベントログ/SYSLOGを確認し、システムに異常がないか確認してください。異常があった場合は、保守情報収集ツールで“ジョブスケジューラ”の情報を採取し、富士通技術員に連絡してください。異常がない場合は一時的な問題と思われるため、再度実行してください。

20

可変パラメタ起動されたジョブネットを本APIで再起動することはできません。

起動時に指定された可変パラメタで再起動するには、ジョブネット操作APIで操作してください。

必要ファイル

ジョブネット操作APIを使用するには、以下のファイルが必要となります。

Windows版

LIB:

f3csbJobschControl.lib

INCLUDE:

f3csbJobschControl.h

Windows for Itanium

LIB:

f3csbJobschControl_64.lib

INCLUDE:

f3csbJobschControl_64.h

Solaris版、Linux版共通

LIB:

libjobsch.so

INCLUDE:

jobschapi.h

Linux for Itanium版

LIB:

libjobsch64.so

INCLUDE:

jobschapi64.h

ジョブネット操作APIはLIBに格納されており、ジョブネット操作APIで使用する定数および構造体はINCLUDEファイルに宣言されています。

これらのファイルは以下のディレクトリに格納されています。

Windows版

LIB:

Systemwalker Operation Managerインストールディレクトリ
MpWalker.JM¥lib

INCLUDE:

Systemwalker Operation Managerインストールディレクトリ
MpWalker.JM¥include

Solaris版、Linux版、Linux for Itanium版共通

LIB:

/opt/FJSVJOBSC/usr/lib

INCLUDE:

/opt/FJSVJOBSC/usr/include

注意事項

プログラム例

ジョブネット操作APIのプログラム例を以下に示します。

【Windows版】

#include <windows.h>
#include <stdio.h>
#include "f3csbJobschControl.h" 

void main()
{
    int ret;

    ret = Mp_JobschControlParam("user1",       // project name
                          "net001",            // jobnet name
                          "param1",            // parameter 
                           1,                  // action : start
                           0);                 // rerun opt : none

    if (ret == 0) {
        printf("jobnet(net001) was normally controlled.¥n");
    }
    else{
        printf("ERROR: return code = %d¥n", ret); 
        exit(1);
    }
    exit(0);
}

【UNIX版】

#include <stdio.h>
#include "jobschapi.h"

main()
{
    int ret;

    ret = Mp_JobschControlParam("user1",         /* project name */
                          "net001",        /* jobnet name      */ 
                          "param1",        /* parameter        */ 
                           1,              /* action : start   */
                           0);             /* rerun opt : none */

    if (ret == 0) {
        printf("jobnet(net001) was normally controlled.¥n");
    }
    else{
        printf("ERROR: return code = %d¥n", ret); 
        exit(1);
    }
    exit(0);
}