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