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.
375 lines
10 KiB
375 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 |
|
|
|
if [ $FLAG1 -eq 0 -o $FLAG2 -eq 0 -o $FLAG3 -eq 0 -o $FLAG4 -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
|
|
|