#!/bin/ksh
#**********************************************************************#
#*                                                                    *#
#* Copyright (c) 2001 by Sun Microsystems, Inc.                       *#
#* All rights reserved.                                               *#
#*                                                                    *#
#**********************************************************************#


########################################################################
#                                                                      #
# EBM BATCH JOB MACRO :     SETDATE                                    #
# Purpose             :     Override the system date for the duration  #
#                           of the job                                 #
#                                                                      #
########################################################################
. verify_jobstatus
. beginjob.${EBMSYS}.${JON}
. current_proc_level.${EBMSYS}.${JON}

STEPNAME=''; export STEPNAME

if [ -f label.${EBMSYS}.${JON}.${PROC_LEVEL} ]
then
   . label.${EBMSYS}.${JON}.${PROC_LEVEL}
fi

if [ "a$BATCH_MODE" = "aMVS" ]
then
   if [ "a$STEPNAME" != a ]
   then
      . check_bypass_step

      if [ "$BYPASS" = "YES" ]
      then
          exit 0
      fi
   fi
fi

print_message_STEPNAME=$STEPNAME; export print_message_STEPNAME

if [ -f beginproc.setparms.${EBMSYS}.${JON}.${PROC_LEVEL} ]
then
   . beginproc.setparms.${EBMSYS}.${JON}.${PROC_LEVEL}
fi

if [ -f setparm.${EBMSYS}.${JON}.${PROC_LEVEL} ]
then
   . setparm.${EBMSYS}.${JON}.${PROC_LEVEL}
else
   cat <$DEVNULL > setparm.${EBMSYS}.${JON}.${PROC_LEVEL}
   chmod 755 setparm.${EBMSYS}.${JON}.${PROC_LEVEL}
fi


for argument in $*
do
  i=`eval echo $argument`
  case $i in
    value=*)
       VALUE="`eval echo $i|cut -f2 -d'='`"
       export VALUE
    ;;
    format=*)
       FORMAT="`eval echo $i|cut -f2 -d'='`"
       export FORMAT
    ;;
    verbose*)
      VERBOSE=YES
    ;;
    *)
      print_message SETDATE "Invalid parameter specified :   $i" 
      . set_jobstatus_abort
      ABORT=YES; export ABORT
    ;;
  esac
done

if [ "a$VERBOSE" != "a" ]
then
   print_message SETPARM "Executing in verbose mode"
fi
if [ "a$VALUE" != "a" ]
then
   month="`echo $VALUE | cut -f1 -d'/'`"
fi
if [ "$month" -lt 1 -o "$month" -gt 12 ]
then
   print_message SETDATE "Invalid date specfied:$VALUE"
   print_message SETDATE "usage : value=MM/DD/YYYY"
   . set_jobstatus_abort
else
   day="`echo $VALUE | cut -f2 -d'/'`"
   if [ "$day" -lt 1 -o "$day" -gt 31 ]
   then
      print_message SETDATE "Invalid date specfied:$VALUE"
      print_message SETDATE "usage : value=MM/DD/YYYY"
      . set_jobstatus_abort
   else
      year="`echo $VALUE | cut -f3 -d'/'`"
      if [ "$day" -lt 1 -o "$day" -gt 31 ]
      then
         print_message SETDATE "Invalid date specfied:$VALUE"
         print_message SETDATE "usage : value=MM/DD/YYYY"
         . set_jobstatus_abort
      else
         cat <$DEVNULL > setdate.${EBMSYS}.${JON}
         chmod 755 setdate.${EBMSYS}.${JON}
         echo "JOBDATE=$VALUE ; export JOBDATE" >> setdate.${EBMSYS}.${JON}
      fi
   fi
fi

if [ "a$ABORT" != "aYES" ]
then
   if [ "$VERBOSE" = "YES" ]
   then
      print_message SETDATE "DATE=$VALUE"
   fi
fi

exit 0
