3.2.5 Sample of Submitting a Job

The following sample demonstrates how to submit a job. -I $JESDIR/include must include CFLAGS.

Listing 9 Sample of submitting a job

#include <stdio.h>
#include <tpadm.h>
#include <fml32.h>
#include <jesflds.h>

main(int argc, char *argv[])
{
       FBFR32 *input;
       FBFR32 *output;
       long buflen;

         if (tpinit((TPINIT *) NULL) == -1) {
           (void)fprintf(stderr, "Tpinit failed: %s\n", tpstrerror(tperrno));
           exit(1);
         }

         input = tpalloc("FML32",NULL,1024);
         output = tpalloc("FML32",NULL,1024);

         if (input == NULL || output == NULL) {
           (void)fprintf(stderr, "Tpinit failed: %s\n", tpstrerror(tperrno));
           exit(1);
         }

         if (Fappend32(input,JES2_JOB_SCRIPT, "JOBA", 0) < 0 ) {
           (void)fprintf(stderr, " Fappend32 failed: \n");
           exit(1);
         }
         Findex32(input,0);
         if (tpcall("JES2SUBMIT", input, 0, &output,&buflen,0) < 0 ) {
               (void) fprintf(stderr, "Can't send request to service JES2SUBMIT");
         exit(1);
         }else {
               char *jobid;
               jobid = Ffind32(output,JES2_JOB_ID,0,NULL);
               if (jobid != NULL) {
                        fprintf(stdout,"Job %s is submitted\n",jobid);
               }

         }
         tpfree(input);
           tpfree(output);
           (void)tpterm();
           return(0);
          }