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


#
# usage: rnmgdgen  Base_gdg_name 
#                 Number_generations   (from File_Map)
#                 Base_gdg_name.tmp1   
#                 File_type            (from File_Map)  Must be 'FS'
# 
# This routine performs an upward compression on a group of gdg files
# located in $1.  It starts at _00 and searches up to the maximum 
# specified in $2.
# 
# On input, if the directory were to contain:
#                     file_00
#                     file_02
#                     file_03
#                     file_05
# 
# On output, it will contain:
#                     file_00
#                     file_01
#                     file_02
#                     file_03
# 
#**********************************************************************
if [ $VALIDATE = 'y' ]
then
 echo "rnmgdgen : started in validation mode"
 exit 0
fi
if [ $# -ne 4 ]
then
   echo "rnmgdgen : Expects four arguments:" 
   echo "           . Base_gdg_name"
   echo "           . Number_of_generations (as defined in File_Map)" 
   echo "           . Base_gdg_name.tmp1    (not used)"
   echo "           . File_type             (as defined in File_Map)" 
   exit 1
fi
if [ $4 != 'FS' ]
then
   echo "rnmgdgen: File type must be 'FS' for gdg's" 
   echo "          Verify file type for entry $1 in File_Map "
   exit 1
fi
maximum_gdg_count=`expr $2 - 1`
count=0
locate_next_count=`expr $count + 1`
gen1=`echo ${locate_next_count} | awk '{printf("%2.2d\n",$0)}'`
while [ ${count} -le ${maximum_gdg_count} ] 
do
   gen=`echo ${count} | awk ' {printf("%2.2d\n",$0)} '`
   if  [ ! -f $1_${gen} ]
   then
      while [ $locate_next_count -le ${maximum_gdg_count} ]
      do    
         gen1=`echo ${locate_next_count} | awk '{printf("%2.2d\n",$0)}'`
         if [ -f $1_${gen1} ]
         then
            mv $1_${gen1} $1_${gen}
            break
         fi 
         locate_next_count=`expr ${locate_next_count} + 1`
      done
   fi
   count=`expr ${count} + 1`
   locate_next_count=`expr $count + 1`
done
exit 0
