|
|
|
#!/bin/bash
|
|
|
|
#Extraction Script for SuperX.
|
|
|
|
#Bitte nicht ändern, diese Datei ist automatisch generiert.
|
|
|
|
|
|
|
|
SRC_PFAD=$SOS_LOAD_PFAD
|
|
|
|
. $SUPERX_DIR/db/bin/SQL_ENV
|
|
|
|
if [ "$SRC_PFAD" = "" ]
|
|
|
|
then
|
|
|
|
SRC_PFAD=.
|
|
|
|
fi
|
|
|
|
|
|
|
|
SX_CLIENT=jdbc
|
|
|
|
export SX_CLIENT
|
|
|
|
|
|
|
|
SOURCESYSTEM=co
|
|
|
|
export SOURCESYSTEM
|
|
|
|
|
|
|
|
if [ "$outFormat" = "" ]
|
|
|
|
then
|
|
|
|
outFormat=txt
|
|
|
|
fi
|
|
|
|
|
|
|
|
DATUM=`cat $SRC_PFAD/superx.datum`
|
|
|
|
ERR=sos_unload.err
|
|
|
|
cp $SRC_PFAD/superx.datum $SRC_PFAD/superx.datum.alt
|
|
|
|
|
|
|
|
##Löschen der alten Dateien
|
|
|
|
rm $SRC_PFAD/unl/*unl >/dev/null 2>&1
|
|
|
|
|
|
|
|
date +'%d.%m.%Y' > $SRC_PFAD/superx.datum ##neues Entladedatum
|
|
|
|
|
|
|
|
HEUTE=`date +'%d.%m.%Y'`
|
|
|
|
|
|
|
|
cd $SRC_PFAD >>$ERR 2>&1
|
|
|
|
|
|
|
|
echo "Letztes Update-Datum: " $DATUM >$ERR
|
|
|
|
echo "DATABASE: $DATABASE" >>$ERR
|
|
|
|
echo "VERSION: $VERSION" >>$ERR
|
|
|
|
echo "SX_CLIENT: $SX_CLIENT" >>$ERR
|
|
|
|
echo "1.2b^"$HEUTE"^" >$SRC_PFAD/unl/superx_unload_version.unl
|
|
|
|
|
|
|
|
CP=".:$JDBC_CLASSPATH:$XML_CLASSPATH"
|
|
|
|
|
|
|
|
|
|
|
|
cat /dev/null >unload_params.txt
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$SOS_UNL_COMPLETE" = "" ]
|
|
|
|
then
|
|
|
|
SOS_UNL_COMPLETE="true"
|
|
|
|
export SOS_UNL_COMPLETE
|
|
|
|
fi
|
|
|
|
echo "Parameter SOS_UNL_COMPLETE: $SOS_UNL_COMPLETE" >>$ERR
|
|
|
|
echo "\$SOS_UNL_COMPLETE=$SOS_UNL_COMPLETE" >>unload_params.txt
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$VERSION" = "" ]
|
|
|
|
then
|
|
|
|
VERSION="13"
|
|
|
|
export VERSION
|
|
|
|
fi
|
|
|
|
echo "Parameter VERSION: $VERSION" >>$ERR
|
|
|
|
echo "\$VERSION=$VERSION" >>unload_params.txt
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$start_stud_sem" = "" ]
|
|
|
|
then
|
|
|
|
start_stud_sem="19911"
|
|
|
|
export start_stud_sem
|
|
|
|
fi
|
|
|
|
echo "Parameter start_stud_sem: $start_stud_sem" >>$ERR
|
|
|
|
echo "\$start_stud_sem=$start_stud_sem" >>unload_params.txt
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$start_pruef_sem" = "" ]
|
|
|
|
then
|
|
|
|
start_pruef_sem="19911"
|
|
|
|
export start_pruef_sem
|
|
|
|
fi
|
|
|
|
echo "Parameter start_pruef_sem: $start_pruef_sem" >>$ERR
|
|
|
|
echo "\$start_pruef_sem=$start_pruef_sem" >>unload_params.txt
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$SOS_UNL_ANON" = "" ]
|
|
|
|
then
|
|
|
|
SOS_UNL_ANON="false"
|
|
|
|
export SOS_UNL_ANON
|
|
|
|
fi
|
|
|
|
echo "Parameter SOS_UNL_ANON: $SOS_UNL_ANON" >>$ERR
|
|
|
|
echo "\$SOS_UNL_ANON=$SOS_UNL_ANON" >>unload_params.txt
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$EXTERNAL_SUBJECTS" = "" ]
|
|
|
|
then
|
|
|
|
EXTERNAL_SUBJECTS="false"
|
|
|
|
export EXTERNAL_SUBJECTS
|
|
|
|
fi
|
|
|
|
echo "Parameter POS_PNR: $EXTERNAL_SUBJECTS" >>$ERR
|
|
|
|
echo "\$EXTERNAL_SUBJECTS=$EXTERNAL_SUBJECTS" >>unload_params.txt
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$LAB_FILTER" = "" ]
|
|
|
|
then
|
|
|
|
LAB_FILTER=" AND (lab.panerk is null or lab.panerk != 'J') "
|
|
|
|
export LAB_FILTER
|
|
|
|
fi
|
|
|
|
echo "Parameter LAB_FILTER: $LAB_FILTER" >>$ERR
|
|
|
|
echo "\$LAB_FILTER=$LAB_FILTER" >>unload_params.txt
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$STUDENT_FILTER" = "" ]
|
|
|
|
then
|
|
|
|
STUDENT_FILTER=" AND 1=1 "
|
|
|
|
export STUDENT_FILTER
|
|
|
|
fi
|
|
|
|
echo "Parameter STUDENT_FILTER: $STUDENT_FILTER" >>$ERR
|
|
|
|
echo "\$STUDENT_FILTER=$STUDENT_FILTER" >>unload_params.txt
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$STUDENT_SOSPOS_FILTER" = "" ]
|
|
|
|
then
|
|
|
|
STUDENT_SOSPOS_FILTER=" AND 1=1 "
|
|
|
|
export STUDENT_SOSPOS_FILTER
|
|
|
|
fi
|
|
|
|
echo "Parameter STUDENT_SOSPOS_FILTER: $STUDENT_SOSPOS_FILTER" >>$ERR
|
|
|
|
echo "\$STUDENT_SOSPOS_FILTER=$STUDENT_SOSPOS_FILTER" >>unload_params.txt
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$DATUM" = "" ]
|
|
|
|
then
|
|
|
|
DATUM="01.01.1900"
|
|
|
|
export DATUM
|
|
|
|
fi
|
|
|
|
echo "Parameter DATUM: $DATUM" >>$ERR
|
|
|
|
echo "\$DATUM=$DATUM" >>unload_params.txt
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$STUD_IDENT" = "" ]
|
|
|
|
then
|
|
|
|
STUD_IDENT="false"
|
|
|
|
export STUD_IDENT
|
|
|
|
fi
|
|
|
|
echo "Parameter STUD_IDENT: $STUD_IDENT" >>$ERR
|
|
|
|
echo "\$STUD_IDENT=$STUD_IDENT" >>unload_params.txt
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$PRUEFER_NAME" = "" ]
|
|
|
|
then
|
|
|
|
PRUEFER_NAME="false"
|
|
|
|
export PRUEFER_NAME
|
|
|
|
fi
|
|
|
|
echo "Parameter PRUEFER_NAME: $PRUEFER_NAME" >>$ERR
|
|
|
|
echo "\$PRUEFER_NAME=$PRUEFER_NAME" >>unload_params.txt
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$DIPL_THEMA" = "" ]
|
|
|
|
then
|
|
|
|
DIPL_THEMA="false"
|
|
|
|
export DIPL_THEMA
|
|
|
|
fi
|
|
|
|
echo "Parameter DIPL_THEMA: $DIPL_THEMA" >>$ERR
|
|
|
|
echo "\$DIPL_THEMA=$DIPL_THEMA" >>unload_params.txt
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$PERSONATTRIBUTE_IDS" = "" ]
|
|
|
|
then
|
|
|
|
PERSONATTRIBUTE_IDS="0"
|
|
|
|
export PERSONATTRIBUTE_IDS
|
|
|
|
fi
|
|
|
|
echo "Parameter PERSONATTRIBUTE_IDS: $PERSONATTRIBUTE_IDS" >>$ERR
|
|
|
|
echo "\$PERSONATTRIBUTE_IDS=$PERSONATTRIBUTE_IDS" >>unload_params.txt
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$stu_prot_maxid" = "" ]
|
|
|
|
then
|
|
|
|
stu_prot_maxid="0"
|
|
|
|
export stu_prot_maxid
|
|
|
|
fi
|
|
|
|
echo "Parameter stu_prot_maxid: $stu_prot_maxid" >>$ERR
|
|
|
|
echo "\$stu_prot_maxid=$stu_prot_maxid" >>unload_params.txt
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$stu_updated_at" = "" ]
|
|
|
|
then
|
|
|
|
stu_updated_at="1900-01-01"
|
|
|
|
export stu_updated_at
|
|
|
|
fi
|
|
|
|
echo "Parameter stu_updated_at: $stu_updated_at" >>$ERR
|
|
|
|
echo "\$stu_updated_at=$stu_updated_at" >>unload_params.txt
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$exa_prot_maxid" = "" ]
|
|
|
|
then
|
|
|
|
exa_prot_maxid="0"
|
|
|
|
export exa_prot_maxid
|
|
|
|
fi
|
|
|
|
echo "Parameter exa_prot_maxid: $exa_prot_maxid" >>$ERR
|
|
|
|
echo "\$exa_prot_maxid=$exa_prot_maxid" >>unload_params.txt
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$exa_updated_at" = "" ]
|
|
|
|
then
|
|
|
|
exa_updated_at="1900-01-01"
|
|
|
|
export exa_updated_at
|
|
|
|
fi
|
|
|
|
echo "Parameter exa_updated_at: $exa_updated_at" >>$ERR
|
|
|
|
echo "\$exa_updated_at=$exa_updated_at" >>unload_params.txt
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$sos_pord_pltxt1" = "" ]
|
|
|
|
then
|
|
|
|
sos_pord_pltxt1="null::char(1)"
|
|
|
|
export sos_pord_pltxt1
|
|
|
|
fi
|
|
|
|
echo "Parameter sos_pord_pltxt1: $sos_pord_pltxt1" >>$ERR
|
|
|
|
echo "\$sos_pord_pltxt1=$sos_pord_pltxt1" >>unload_params.txt
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$sos_pord_pltxt2" = "" ]
|
|
|
|
then
|
|
|
|
sos_pord_pltxt2="null::char(1)"
|
|
|
|
export sos_pord_pltxt2
|
|
|
|
fi
|
|
|
|
echo "Parameter sos_pord_pltxt2: $sos_pord_pltxt2" >>$ERR
|
|
|
|
echo "\$sos_pord_pltxt2=$sos_pord_pltxt2" >>unload_params.txt
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$sos_pord_pltxt3" = "" ]
|
|
|
|
then
|
|
|
|
sos_pord_pltxt3="null::char(1)"
|
|
|
|
export sos_pord_pltxt3
|
|
|
|
fi
|
|
|
|
echo "Parameter sos_pord_pltxt3: $sos_pord_pltxt3" >>$ERR
|
|
|
|
echo "\$sos_pord_pltxt3=$sos_pord_pltxt3" >>unload_params.txt
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$sos_pord_pltxt4" = "" ]
|
|
|
|
then
|
|
|
|
sos_pord_pltxt4="null::char(1)"
|
|
|
|
export sos_pord_pltxt4
|
|
|
|
fi
|
|
|
|
echo "Parameter sos_pord_pltxt4: $sos_pord_pltxt4" >>$ERR
|
|
|
|
echo "\$sos_pord_pltxt4=$sos_pord_pltxt4" >>unload_params.txt
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$SOURCESYSTEM" = "" ]
|
|
|
|
then
|
|
|
|
SOURCESYSTEM="hisinone"
|
|
|
|
export SOURCESYSTEM
|
|
|
|
|
|
|
|
fi
|
|
|
|
echo "Parameter SOURCESYSTEM: $SOURCESYSTEM" >>$ERR
|
|
|
|
echo "\$SOURCESYSTEM=$SOURCESYSTEM" >>unload_params.txt
|
|
|
|
|
|
|
|
#jdbc zum Entladen
|
|
|
|
if [ "$SX_CLIENT" = "jdbc" ]
|
|
|
|
then
|
|
|
|
java $JAVA_OPTS -cp $CP de.superx.bin.SxExtractor -logger:$LOGGER_PROPERTIES -dbproperties:$DB_PROPERTIES -xml:sos_costage_unload.xml -outFormat:$outFormat -delim:$DBDELIMITER -header:$header -database:$DATABASE -version:$VERSION -unload_params:unload_params.txt >>$ERR 2>&1
|
|
|
|
|
|
|
|
exit 0
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#Nachbearbeitung der unl-Dateien:
|
|
|
|
#Zumächst maskierte "\ " entfernen, Postgres kommt damit nicht klar
|
|
|
|
sed '/\\ /s///g' unl/konstanten.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/konstanten.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/sos_studenten.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/sos_studenten.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/sos_hzb.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/sos_hzb.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/sos_faecher.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/sos_faecher.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/sos_pord_to_stg.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/sos_pord_to_stg.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/sos_pruefungenext.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/sos_pruefungenext.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/sos_pruefungen.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/sos_pruefungen.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/sos_lab_astat_attributes.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/sos_lab_astat_attributes.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/sos_stud_loe.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/sos_stud_loe.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/sos_faecher_ext.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/sos_faecher_ext.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/sos_faecher_kontrolle.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/sos_faecher_kontrolle.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/sos_pruefungen_kontrolle.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/sos_pruefungen_kontrolle.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/sos_anschri.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/sos_anschri.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/sos_parstg.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/sos_parstg.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/sos_hsnr.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/sos_hsnr.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/semester.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/semester.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/cif.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/cif.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/cifx.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/cifx.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/k_pvers.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/k_pvers.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/k_stg.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/k_stg.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/k_stgext.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/k_stgext.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/k_abstgv.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/k_abstgv.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/sos_pord.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/sos_pord.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/sos_dipl.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/sos_dipl.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/sos_minder.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/sos_minder.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/sos_stud_d.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/sos_stud_d.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/sos_pords.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/sos_pords.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/sos_porg.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/sos_porg.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/sos_labzuord.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/sos_labzuord.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/sos_pnrzuord.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/sos_pnrzuord.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/sos_gewichtungsvariante.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/sos_gewichtungsvariante.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/sos_gewichtungregel_filter.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/sos_gewichtungregel_filter.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/sos_gewichtungregel.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/sos_gewichtungregel.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/personattribute.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/personattribute.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/personattributetype.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/personattributetype.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/personattribute_value_list.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/personattribute_value_list.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/stu_update_prot.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/stu_update_prot.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/exa_update_prot.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/exa_update_prot.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/sos_accredited_ects.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/sos_accredited_ects.unl >>$ERR 2>&1
|
|
|
|
sed '/\\ /s///g' unl/sos_pord_orgeinheit.unl >tmp.unl
|
|
|
|
mv tmp.unl unl/sos_pord_orgeinheit.unl >>$ERR 2>&1
|
|
|
|
|
|
|
|
|
|
|
|
chmod go+r $ERR
|
|
|
|
chmod go+r $SRC_PFAD/superx.datum
|
|
|
|
chmod go+r $SRC_PFAD/superx.datum.alt
|
|
|
|
chmod go+w $SRC_PFAD/superx.datum
|
|
|
|
chmod go+w $SRC_PFAD/superx.datum.alt
|
|
|
|
|
|
|
|
chmod go+r $SRC_PFAD/unl/*
|
|
|
|
|
|
|
|
##Herstellen altes Entladedatum bei Fehler
|
|
|
|
fgrep -s "not found" $ERR >/dev/null
|
|
|
|
FLAG1=$?
|
|
|
|
fgrep -i -s "nicht gefunden" $ERR >/dev/null
|
|
|
|
FLAG2=$?
|
|
|
|
fgrep -i -s "error" $ERR >/dev/null
|
|
|
|
FLAG3=$? >/dev/null
|
|
|
|
fgrep -i -s "exception" $ERR >/dev/null
|
|
|
|
FLAG4=$? >/dev/null
|
|
|
|
fgrep -i -s "fehler" $ERR >/dev/null
|
|
|
|
FLAG5=$? >/dev/null
|
|
|
|
|
|
|
|
if [ $FLAG1 -eq 0 -o $FLAG2 -eq 0 -o $FLAG3 -eq 0 -o $FLAG4 -eq 0 -o $FLAG5 -eq 0]
|
|
|
|
then
|
|
|
|
echo "Fehler beim Entladen. Das Datum wird zurückgesetzt."
|
|
|
|
echo "---------------------------------------"
|
|
|
|
echo "Prüfen Sie Fehlerprotokoll: $ERR"
|
|
|
|
echo "---------------------------------------"
|
|
|
|
cp $SRC_PFAD/superx.datum.alt $SRC_PFAD/superx.datum
|
|
|
|
fi
|