First Commit - Source Code from Reply
This commit is contained in:
221
dbcmnpsrc/FE/mnpapp/script/loadnp.sh
Normal file
221
dbcmnpsrc/FE/mnpapp/script/loadnp.sh
Normal file
@@ -0,0 +1,221 @@
|
||||
#
|
||||
# Shell Script per caricamento dati
|
||||
#
|
||||
#
|
||||
#!/usr/bin/ksh
|
||||
#
|
||||
set -x
|
||||
THIS_PATH=`dirname $0`
|
||||
. $THIS_PATH/setEnv.sh
|
||||
|
||||
$THIS_PATH/TestNodo.sh
|
||||
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
# ESECUZIONE SCRIPT
|
||||
|
||||
# directory in cui sono presenti i files control (CTL)
|
||||
CMD=${MNP_SCRIPT_CMD_HOME}
|
||||
|
||||
#directory in cui sono presenti i file dati
|
||||
DAT=${MNP_GWMNP_HOME}/FILEIN
|
||||
|
||||
#directory in cui eseguire il backup dei file acquisiti correttamente
|
||||
BACKUP_SIMBA=${MNP_GWMNP_HOME}/backup/in/crmb
|
||||
BACKUP_CRMA=${MNP_GWMNP_HOME}/backup/in/crma
|
||||
BACKUPCTR=${MNP_GWMNP_HOME}/backup/in/ctr
|
||||
|
||||
#directory in cui scrivere i files di Log
|
||||
LOG=${MNP_LOG_SCRIPT_HOME}
|
||||
APPLICATION_LOG=${MNP_LOG_APP_HOME}
|
||||
|
||||
#directory in cui scrivere i file con i dati scartati (BAD)
|
||||
TMP=${MNP_SCRIPT_TMP_HOME}
|
||||
#directory in cui scrivere i file sql
|
||||
SQL=${MNP_SCRIPT_SQL_HOME}
|
||||
|
||||
file_di_log=loadnp$(date '+20%y%m%d').log
|
||||
|
||||
echo ANPSA0001 N loadnp $(date '+%d/%m/20%y %H:%M:%S') INIZIO PROCESSO__ versione 1.3 >> $APPLICATION_LOG/$file_di_log
|
||||
|
||||
#
|
||||
# Decompressione del file di infasamento proveniente dal sistema esterno CRMB
|
||||
#
|
||||
DirLavoro=${MNP_GWMNP_HOME}/FILEIN
|
||||
|
||||
#per il momento la commento e uso gwmnp
|
||||
#FileLog=/bea/UTILITY_GES/Logs/storicizza_INF_CRMB.log
|
||||
FileLog=$LOG/storicizza_INF_CRMB.log
|
||||
|
||||
###decompressione file infasamento CRMB###
|
||||
INF_CRMB=$(ls -1 $DirLavoro/CRMB_MNP_DONOR_*TXT.gz 2>/dev/null)
|
||||
if [ -s "$INF_CRMB" ]; then
|
||||
gunzip $INF_CRMB
|
||||
echo "STORICIZZAZIONE CRMB - $(date) - Decompresso il file "$INF_CRMB >> $FileLog
|
||||
else
|
||||
echo "ATTENZIONE: il file di infasamento CRMB odierno potrebbe non essere pervenuto in formato compresso"
|
||||
echo "STORICIZZAZIONE CRMB - $(date) - ATTENZIONE: il file di infasamento CRMB odierno potrebbe non essere pervenuto in formato compresso" >> $FileLog
|
||||
fi
|
||||
|
||||
###decompressione file infasamento CRMA###
|
||||
INF_CRMA=$(ls -1 $DirLavoro/CRMA_MNP_DONOR_*TXT.gz 2>/dev/null)
|
||||
if [ -s "$INF_CRMA" ]; then
|
||||
gunzip $INF_CRMA
|
||||
echo "STORICIZZAZIONE CRMA - $(date) - Decompresso il file "$INF_CRMA >> $FileLog
|
||||
else
|
||||
echo "ATTENZIONE: il file di infasamento CRMA odierno potrebbe non essere pervenuto in formato compresso"
|
||||
echo "STORICIZZAZIONE CRMA - $(date) - ATTENZIONE: il file di infasamento CRMA odierno potrebbe non essere pervenuto in formato compresso" >> $FileLog
|
||||
fi
|
||||
#############################
|
||||
|
||||
#
|
||||
# Recupero file di input
|
||||
#
|
||||
FileFtpCRMA=xxx
|
||||
FileFtpCRMACTR=yyy
|
||||
FileFtpSIMBA=xxx
|
||||
FileFtpSIMBACTR=yyy
|
||||
trovatoSimba=f
|
||||
trovatoCrma=f
|
||||
for Nome_File in `ls -1 $DAT/CRMB*.CTR`
|
||||
do
|
||||
Base_File=`basename $Nome_File .CTR`
|
||||
FileFtpSIMBA=$Base_File.TXT
|
||||
FileFtpSIMBACTR=$Base_File.CTR
|
||||
echo ANPSA6301 N loadnp $(date '+%d/%m/20%y %H:%M:%S') RECUPERO FILE TXT_$FileFtpSIMBA >> $APPLICATION_LOG/$file_di_log
|
||||
done
|
||||
for Nome_File in `ls -1 $DAT/CRMA*.CTR`
|
||||
do
|
||||
Base_File=`basename $Nome_File .CTR`
|
||||
FileFtpCRMA=$Base_File.TXT
|
||||
FileFtpCRMACTR=$Base_File.CTR
|
||||
echo ANPSA6301 N loadnp $(date '+%d/%m/20%y %H:%M:%S') RECUPERO FILE TXT_$FileFtpCRMA >> $APPLICATION_LOG/$file_di_log
|
||||
done
|
||||
#
|
||||
# Se esiste un file .CTR allora carico il relativo file .TXT
|
||||
#
|
||||
err=f
|
||||
if [ "$FileFtpSIMBA" != "xxx" -o "$FileFtpCRMA" != "xxx" ]
|
||||
then
|
||||
echo "->Creazione tabella appoggio Mnp_Appo_Tipo_Cliente"
|
||||
#
|
||||
# Creazione Tabella di appoggio
|
||||
#
|
||||
echo exit | $MNP_SCRIPT_HOME/sqlExecutor.sh -sqlplus $SQL/create_table_mnp_appo.sql > $LOG/create_table_mnp_appo.log 2>&1
|
||||
|
||||
if [ $err = f -a "$FileFtpCRMA" != "xxx" ]
|
||||
then
|
||||
echo "->Caricamento CRMA..."
|
||||
#imposto una variabile per capire se ho trovato il flusso di crma
|
||||
trovatoCrma=t
|
||||
$MNP_SCRIPT_HOME/sqlExecutor.sh -sqlldr control=$CMD/CRMB_MNP.ctl log=$LOG/CRMB_MNP.log bad=$TMP/CRMB_MNP.bad data=$DAT/$FileFtpCRMA rows=100 errors=99999 >/dev/null 2>&1
|
||||
echo "->Fine Caricamento CRMA"
|
||||
# 0
|
||||
# 0
|
||||
# Controllo se il caricamento e' andato bene
|
||||
#
|
||||
ret=`grep " 0 Rows not loaded due to data errors" $LOG/CRMB_MNP.log`
|
||||
ret1=`grep "System error" $LOG/CRMB_MNP.log`
|
||||
ret2=`grep "ORA-" $LOG/CRMB_MNP.log | grep -v "ORA-00001" | wc -l`
|
||||
ret2_num=`expr $ret2`
|
||||
|
||||
if [ "$ret" = "" ]
|
||||
then
|
||||
#se ci sono errori di caricamento controllo se sono esclusivamente errori di duplicate primary key
|
||||
if [ ret2_num=0 ]
|
||||
then
|
||||
err=f
|
||||
else
|
||||
err=t
|
||||
fi
|
||||
fi
|
||||
# in ogni caso setto a valle err=t se ho un "System error"
|
||||
if [ "$ret1" != "" ]
|
||||
then
|
||||
err=t
|
||||
fi
|
||||
else
|
||||
echo "->File .CTR CRMA non trovato!!!"
|
||||
echo ANPSA6304 C loadnp $(date '+%d/%m/20%y %H:%M:%S') FILE .CTR NON TROVATO >> $APPLICATION_LOG/$file_di_log
|
||||
echo ANPSA0002 N loadnp $(date '+%d/%m/20%y %H:%M:%S') PROCESSO TERMINATO CORRETTAMENTE >> $APPLICATION_LOG/$file_di_log
|
||||
fi
|
||||
|
||||
# controllo file simba
|
||||
if [ "$FileFtpSIMBA" != "xxx" ]
|
||||
then
|
||||
echo "->Caricamento SIMBA..."
|
||||
#imposto una variabile per capire se ho trovato il flusso di simba
|
||||
trovatoSimba=t
|
||||
$MNP_SCRIPT_HOME/sqlExecutor.sh -sqlldr control=$CMD/CRMB_MNP.ctl log=$LOG/CRMB_MNP.log bad=$TMP/CRMB_MNP.bad data=$DAT/$FileFtpSIMBA rows=100 errors=99999 >/dev/null 2>&1
|
||||
echo "->Fine Caricamento SIMBA"
|
||||
#
|
||||
# Controllo se il caricamento e' andato bene
|
||||
#
|
||||
ret=`grep " 0 Rows not loaded due to data errors" $LOG/CRMB_MNP.log`
|
||||
ret1=`grep "System error" $LOG/CRMB_MNP.log`
|
||||
ret2=`grep "ORA-" $LOG/CRMB_MNP.log | grep -v "ORA-00001" | wc -l`
|
||||
ret2_num=`expr $ret2`
|
||||
|
||||
if [ "$ret" = "" ]
|
||||
then
|
||||
#se ci sono errori di caricamento controllo se sono esclusivamente errori di duplicate primary key
|
||||
if [ ret2_num=0 ]
|
||||
then
|
||||
err=f
|
||||
else
|
||||
err=t
|
||||
fi
|
||||
fi
|
||||
# in ogni caso setto a valle err=t se ho un "System error"
|
||||
if [ "$ret1" != "" ]
|
||||
then
|
||||
err=t
|
||||
fi
|
||||
else
|
||||
echo "->File .CTR SIMBA non trovato!!!"
|
||||
echo ANPSA6304 C loadnp $(date '+%d/%m/20%y %H:%M:%S') FILE .CTR NON TROVATO >> $APPLICATION_LOG/$file_di_log
|
||||
echo ANPSA0002 N loadnp $(date '+%d/%m/20%y %H:%M:%S') PROCESSO TERMINATO CORRETTAMENTE >> $APPLICATION_LOG/$file_di_log
|
||||
fi
|
||||
|
||||
if [ $err = t ]
|
||||
then
|
||||
righe=$(wc -l $TMP/CRMB_MNP.bad)
|
||||
echo ANPSA6303 C loadnp $(date '+%d/%m/20%y %H:%M:%S') RIGHE NON CARICATE PER DATI ERRATI $righe >> $APPLICATION_LOG/$file_di_log
|
||||
echo ANPSA0002 N loadnp $(date '+%d/%m/20%y %H:%M:%S') PROCESSO TERMINATO CORRETTAMENTE >> $APPLICATION_LOG/$file_di_log
|
||||
echo "->Caricamento non OK!!!"
|
||||
echo exit | $MNP_SCRIPT_HOME/sqlExecutor.sh -sqlplus $SQL/drop_table_mnp_appo.sql > $LOG/drop_table_mnp_appo.log 2>&1
|
||||
return
|
||||
fi
|
||||
|
||||
# aggiunta del prefisso 39 per le utenze dual non nulle
|
||||
echo exit | $MNP_SCRIPT_HOME/sqlExecutor.sh -sqlplus $SQL/update_utenza_dual.sql > $LOG/update_utenza_dual.log 2>&1
|
||||
#
|
||||
# Rinomino i files
|
||||
#
|
||||
echo "->Rinomino files e tabelle"
|
||||
if [ $trovatoSimba = t ]
|
||||
then
|
||||
mv $DAT/$FileFtpSIMBACTR $BACKUPCTR/$FileFtpSIMBACTR.old
|
||||
mv $DAT/$FileFtpSIMBA $BACKUP_SIMBA/$FileFtpSIMBA.old
|
||||
fi
|
||||
if [ $trovatoCrma = t ]
|
||||
then
|
||||
mv $DAT/$FileFtpCRMACTR $BACKUPCTR/$FileFtpCRMACTR.old
|
||||
mv $DAT/$FileFtpCRMA $BACKUP_CRMA/$FileFtpCRMA.old
|
||||
fi
|
||||
#
|
||||
# Rinomino tabelle
|
||||
#
|
||||
echo exit | $MNP_SCRIPT_HOME/sqlExecutor.sh -sqlplus $SQL/move_mnp_tipo_clienti.sql > $LOG/move_mnp_tipo_clienti.log 2>&1
|
||||
echo ANPSA6302 N loadnp $(date '+%d/%m/20%y %H:%M:%S') INSERITE RIGHE IN TABELLA MNP_TIPO_CLIENTI >> $APPLICATION_LOG/$file_di_log
|
||||
echo ANPSA0002 N loadnp $(date '+%d/%m/20%y %H:%M:%S') PROCESSO TERMINATO CORRETTAMENTE >> $APPLICATION_LOG/$file_di_log
|
||||
else
|
||||
echo "->File .CTR SIMBA e CRMA non trovati!!!"
|
||||
echo ANPSA6304 C loadnp $(date '+%d/%m/20%y %H:%M:%S') FILE .CTR NON TROVATI >> $APPLICATION_LOG/$file_di_log
|
||||
echo ANPSA0002 N loadnp $(date '+%d/%m/20%y %H:%M:%S') PROCESSO TERMINATO CORRETTAMENTE >> $APPLICATION_LOG/$file_di_log
|
||||
fi
|
||||
|
||||
echo "->Fine Procedura"
|
||||
|
||||
|
||||
fi
|
||||
Reference in New Issue
Block a user