Hitachi

Job Management Partner 1 Version 10 Job Management Partner 1/Advanced Shell Description, User's Guide, Reference, and Operator's Guide


3.7.5 How to handle adshecho and adshread commands that terminate with an error

If the adshecho or adshread command terminates with an error, its re-execution might result in successful command processing. To re-execute the adshecho or adshread command, create a job definition script for re-executing the command by referencing the following example:

#! /opt/jp1as/bin/adshexec
 
###
#Function executing the adshread command
#Argument: Reply-request message
#Return code: 0 (normal termination)
#        1 (terminated with a retryable error)
#        2 (terminated with a non-retryable error)
###
 
func_adshread()
{
    adshread ans "$1"
 
  case "$?" in
    # Normal termination
    0 )             return 0 ;;
    # When terminated with a retryable error
    3 | 4 | 6 | 8 ) return 1 ;;
    # When terminated with any other error
    * )             return 2 ;;
  esac
}
 
###
### Body of script
###
 
#
# Specify a process that is to be executed as a job
#
 
###
### Wait for the operator's reply before resuming processing
###
 
  while :
  do
 
    #Call the function that executes the adshread command
    func_adshread "Do you want to resume processing?(Y/N) [host name: $HOSTNAME, script name: $0]"
 
    if [ $? = 0 ]; then       #The adshread command terminated normally
      break                   #Exit the loop
    elif [ $? = 1 ] ; then    #The adshread command terminated with a retryable error
      continue                #Re-execute the adshread command
    else                      #The adshread command terminated with a non-retryable error
      echo "The adshread command terminated with an error."
      exit 1                  #Terminate the script
    fi
  done
 
###
### Perform processing according to the reply received by adshread
###
 
  if [ "$ans" = "Y" ] ; then
    adshecho "Y was entered. The processing will be resumed."
  elif [ "$ans" = "N" ] ; then
    adshecho "N was entered. The processing will be terminated."
    exit 1                       #Terminate the script
  else
    adshecho "An invalid reply was entered. The processing will be terminated."
    exit 1                       #Terminate the script
  fi