Schnittstelle CampusOnline (TU Graz) zu SuperX-Modul COSTAGE http://www.superx-projekt.de/doku/costage_modul/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

377 lines
10 KiB

#!/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