DB2 z/OS Code - Detail View


Date

Name

Plattform

Language

Kurzbeschreibung

Owner

Link

17.11.2001

DB2RTERM.REXX

OS/390

REXX

DB2 TERM Util Steuerung per REXX

Gernot Ruban

 

DB2 ist ein Produkt der
IBM Corporation. Bitte
Copyright-  und Trademark-Hinweise beachten!

 /*REXX****************************************************************/
 /* DB2RTERM...: Fuehrt den DB2 TERM UTIL Befehl aus. Wird kein       */
 /*              Argument geliefert, wird der Default (UserID.Jobname)*/
 /*              aus MVS Areas ermittelt und verwendet.               */
 /*-------------------------------------------------------------------*/
 /* CALLED BY..: IKJEFT01   - TSO                                     */
 /* ARGUMENTS..: SSID     I - DB2 Subsystem ID                        */
 /*              UID      I - Utility ID (optional)                   */
 /* CALLS......: D2PABND  M - Abend U0001 (Non-ISPF)                  */
 /* FILES......: SYSTSPRT O - Infos aus dieser Prozedur               */
 /*-------------------------------------------------------------------*/
 /* FUNCTION...: (s.o.)                                               */
 /*-------------------------------------------------------------------*/
 /* HISTORY....: 18.12.96/GR - V1R0                                   */
 /*********************************************************************/
 x = MSG("OFF")
 /********************************************************************/
 /* Header ausgeben                                                  */
 /********************************************************************/
 say copies("#",79)
 say "# DB2RTERM - DB2 '-TERM UTIL(id)' Command ausfhren",
     "        "date("O")" "time()" #";
 say copies("#",79)

 /********************************************************************/
 /* Argumente einlesen (Wert nicht zwingend)                         */
 /********************************************************************/
 parse upper arg ssid "," uid
 say "Argument 'DB2 Subsystem-ID': "ssid
 say "Argument 'Util-ID'.........: "uid
 if uid = ""
 then do
      UserID  = UserID()
      signal on syntax
      Jobname = GET_JOBNAME()
      If Jobname = "",
      !  (  Datatype(Jobname) <> "ALPHA",
          & Datatype(Jobname) <> "CHAR")
      then do
           say "Fehler bei der Ermittlung des Jobnamens."
           signal error
      end

      uid = UserID"."Jobname
 end

 /********************************************************************/
 /* DB2 Terminate Utility Befehlen ausfuehren                        */
 /********************************************************************/
 x = MSG("ON")
 push "END"
 push "-TERM UTIL("uid")"
 push "-DIS UTIL("uid")"
 address TSO "DSN SYSTEM("ssid")"
 x = MSG("OFF")
 if rc <> 0
 then do
      say "Fehler bei der Ausfuehrung des DB2 Command Processors."
      say "DSN Return Code = "rc
      signal error
 end
exit 0

SYNTAX:
      say "Syntax-Fehler."
ERROR:
      say ""
      If Sysvar(SYSISPF) = "NOT ACTIVE"
      then do
           say "Abbruch der REXX Prozedur DB2RTERM mit U0001."
           address ATTACH "D2PABND"
           exit 0
      end
      say "Abbruch der REXX Prozedur DB2RTERM mit RC=20."
exit 20

GET_JOBNAME: Procedure
   /* ALLE FELDER SIND BESTANDTEIL DES GENERAL USE PRG'ING INTERFACE */
   PSATOLD  = '21C'X
   TCB      = C2D(STORAGE(C2X(PSATOLD),4))
   TIOT     = C2D(STORAGE(D2X(TCB+12),4))
   TIOCNJOB = STRIP(STORAGE(D2X(TIOT),8))
   TIOCSTEP = STRIP(STORAGE(D2X(TIOT+8),8))
Return TIOCNJOB

© Gernot Ruban