Ftp script hangs for first time,but works every second time

Hi

I have an ftp script which works fine when i execute through a test scheduler(UC4), but when i run it through the prod scheduler(UC4), it hungs indefinetely, when we cancel the job and re-run it it works perfectly fine. here is the code,, any idea why this is happening ????

#!/usr/bin/ksh
##
## Oracle-DB setting profile load.
CTRON_WEBUTL_PROP=/etc/ctronwebutl.profile
if [ -e "${CTRON_WEBUTL_PROP}" ];then
. ${CTRON_WEBUTL_PROP}
else
echo "CTN-E-019999 NO ${CTRON_WEBUTL_PROP} found, set ${CTRON_WEBUTL_PROP} environmental variable"
logger "CTN-E-019999 NO ${CTRON_WEBUTL_PROP} found, set ${CTRON_WEBUTL_PROP} environmental variable"
exit 9
fi
## Source profile for stand-alone testing
if [ -z "$ETOILE_PROFILE" ];then
ETOILE_PROFILE=/etc/etoile.profile
fi
if [ -f "$ETOILE_PROFILE" ];then
. ${ETOILE_PROFILE}
else
echo "CTN-E-019999 NO ETOILE_PROFILE found, set ETOILE_PROFILE environmental variable"
logger "CTN-E-019999 NO ETOILE_PROFILE found, set ETOILE_PROFILE environmental variable"
exit 9
fi
echo "CTN-I-010000 (Transparency_Guideline_Data_Report) EXEC FTP."
logger "CTN-I-010000 (Transparency_Guideline_Data_Report) EXEC FTP."
DATE=`date +%Y%m%d%H%M%S`
ftp -n servername << CMDEND
user dummy ***passwd**
lcd ${FOCUS_ROOT}/intf/activeout
cd /f001/sftp/hlc/tr/in/JAPAN
put ST11_Payment_AP.utf ST11_Payment_AP_$DATE.UTF
put ST11_Payment_GL_VR.utf ST11_Payment_GL_VR_$DATE.UTF
put ST11_Payment_GL_OT.utf ST11_Payment_GL_OT_$DATE.UTF
bye
quit
CMDEND
echo "CTN-I-010000 (Transparency_Guideline_Data_Report) FTP END."
logger "CTN-I-010000 (Transparency_Guideline_Data_Report) FTP END."
## Exit
exit 0

Remove the sapce before CMDEND

ftp -n servername <<CMDEND
user dummy ***passwd**
lcd ${FOCUS_ROOT}/intf/activeout
cd /f001/sftp/hlc/tr/in/JAPAN
put ST11_Payment_AP.utf ST11_Payment_AP_$DATE.UTF
put ST11_Payment_GL_VR.utf ST11_Payment_GL_VR_$DATE.UTF
put ST11_Payment_GL_OT.utf ST11_Payment_GL_OT_$DATE.UTF
bye
CMDEND

Hope this will help you. !!