midrange.com code scratchpad
Name:
get job type
Scriptlanguage:
Plain Text
Tabwidth:
4
Date:
03/11/2008 09:21:57 pm
IP:
Logged
Description:
get the job type interactive/bacth
Code:
  1.       * Program Status DS
  2.      DPgmSts          sds                  Qualified
  3.      D Name                          10a
  4.      D Status                         5s 0
  5.      D PrevStatus                     5s 0
  6.      D SrcStmt                        8a
  7.      D Routine                        8a
  8.      D Parms                          3s 0
  9.      D MsgID                          7a
  10.      D MIStmt                         4a
  11.      D Work                          30a
  12.      D Library                       10a
  13.      D ErrorData                     80a
  14.      D RPGMsg                         4a
  15.      d                               69a
  16.      D Job                           10a
  17.      D User                          10a
  18.      D JobNbr                         6s 0
  19.      D JobDate                        6s 0
  20.      D RunDate                        6s 0
  21.      D RunTime                        6s 0
  22.      dErrorDS          ds                  Qualified
  23.      d BytesProvided                 10i 0 Inz(%Size(ErrorDS))
  24.      d BytesAvailable                10i 0
  25.      d MsgID                          7a
  26.      d                                1a
  27.      d Text                         500a   Varying
  28.       * Retrieve Job Information QUSRJOBI                                 *
  29.      DRtvJobInfo       PR                  ExtPgm('QUSRJOBI')
  30.      D  OutputData                32767a
  31.      D  DataLength                   10i 0
  32.      D  RtvFormat                     8a   Const
  33.      D  QualJob                      26a   Const
  34.      D  InternalJobID                16a   Const
  35.      D  ErrorCode_                32767a   Options(*Varsize)
  36.  
  37.       * JOBI0100 Format (Basic Performance Information)                   *
  38.      D JobI0100        DS                  Qualified
  39.      d BytesReturned                 10i 0
  40.      d BytesAvailable                10i 0
  41.      d JobName                       10a
  42.      d JobUser                       10a
  43.      D JobNumber                      6a
  44.      D JobInternalID                 16a
  45.      D JobStatus                     10a
  46.      D JobType                        1a                                        '1'=interactive
  47.      D JobSubtype                     1a
  48.      D Reserved                       2a
  49.      D RunPriority                   10i 0
  50.      D TimeSlice                     10i 0
  51.      D DftWaitTime                   10i 0
  52.      D Purge                         10a
  53.  
  54.       //Local Variables
  55.      dOutPutData       s          32767a
  56.      dOutPutSize       s             10i 0
  57.      dQualJob          s             26a
  58.      dInternalJob      s             16a
  59.  
  60.       /free
  61.  
  62.         //Load The Qualified Job Name
  63.         QualJob = PgmSts.Job + PgmSts.User + %EditC( PgmSts.JobNbr : 'X');
  64.         OutputSize = %Size(OutputData);
  65.  
  66.         //Get The Job Information
  67.         RtvJobInfo( OutPutData
  68.                   : OutputSize
  69.                   : 'JOBI0100'
  70.                   : QualJob
  71.                   : InternalJob
  72.                   : ErrorDS );
  73.  
  74.         //Load Returned Job Data Into The Job Information DS
  75.         JobI0100 = %Subst( OutputData : 1 : %Len(JobI0100) );
  76.         If ErrorDS.BytesAvailable = 0 And JobI0100.JobType = 'I';
  77.           // interactive
  78.         Else;
  79.           // batch
  80.         EndIf;
  81.  
© 2004-2019 by midrange.com generated in 0.006s valid xhtml & css