Top
Systemwalker Operation Manager  Reference Guide
FUJITSU Software

Enterprise Edition16.3.5 Job Hold API/EE [Windows]

This section explains the job hold API/EE (Mp_HoldJob_Ex).

Synopsis

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

Description

This API changes the job status to on hold and prevents it from being executed in Systemwalker Operation Manager EE.

Parameters

rhost

Specify NULL here.

jobname

Specify the job name to hold. NULL can be specified. When NULL is specified, specify the job to hold with the job number specified in the jobno parameter.

jobno

Specify the job number of a job to be held. When specifying NULL in the jobname and when there are multiple jobs that have the same name, you must specify this parameter. If you specify jobname and there is no job with the same name, you can omit the job number. Specify 0 when omitting the job number.

jobhost

Specify NULL here.

userforadmin

Specify this parameter when a system administrator (users belonging to the Administrators group) holds users' jobs. Specify the owner of the held job. If the owner name is not specified, NULL should be specified.

system_num

Specify operating target subsystem number using a range of 0 to 9.

Return Values

The job hold API (Mp_HoldJob_Ex) returns the values as below:

Return Value

Meaning

Action

0

The job was successfully put on hold.

-

-1

A system error occurred.

Collect "Job Execution Control" information with the maintenance information collection tool and contact a Fujitsu SE.

-1000 or less

Job hold processing was aborted because an error was detected in Job Execution Control. Error messages can be obtained using the error message acquisition API.

Use the error message acquisition API to obtain the error message and take whatever action is required.

Caution

When the argument is pointing to an invalid address, this function ends abnormally, and no operations will be defined.

Program Example

Below is an example program of the job hold 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);
}