Dokumentation : Versenden von Informationen (OUS) per Email / Stand : 13.10.2003 http://www.uni-rostock.de/ub/LBS/ous/ous_erinnerungen_email.pdf Generelle Beschreibung : Täglich werden Informationen per Email an Nutzer mit eingetragener email-Adresse zu folgenden Sachverhalten verschickt : - Hinweise für neue Nutzer (Begruessung) - Information bei Verfügbarkeit von Vormerkungen - Information bei Vormerkungen auf entliehene Titel - Information bei Verfügbarkeit von Fernleihen - Information bei Ablauf der Leihfrist / Kulanzfrist - Information bei Ablauf der Mitgliedschaft Alle betroffenen Nutzer werden protokolliert und einem Administrator per email zugeschickt. Als Ergebnis werden erreicht : - eine wesentlich geringere Anzahl von Mahnungen - Check der email-Adressen vor Versenden einer Mahnung, damit praktisch keine falschen email-Adressen beim Mahnungsversand - Schnellere und einfachere Verfügbarmachung der Titel für die Nutzer Das Programm ist so ausgelegt, dass prinzipiell für die Information alle Daten des Nutzers verwendet werden können (Name, Barcode, Anschrift ...). Eine Einbeziehung der entspr. Titeldaten und Ausleihinformationen ist nicht möglich bzw. nicht vorgesehen. Die UB Rostock verwendet immer einen allgemeinen Informationstext. Im Subject der email werden zur eindeutigen Identifizierung Datum und Nutzerbarcode aufgeführt, der Nutzerbarcode in der Form, dass über Copy-Paste in der WINIBW die Richtigkeit der Information nachvollzogen werden kann - z.B. über ein "s n" oder "s ent n" Kommando. Seite 1 Konkrete Ausführung UB Rostock auf LBS-Datenbankserver anhand eines Beispiels Information bei Ablauf der Leihfrist/Kulanzfrist : 2. Die Nutzertypen 40,50,60 : 40 = Wissenschaftl. o. kuenstler. Mitarb. Uni o. Inst. 50 = Mitarbeiter der Universitaet oder Institut 60 = UB, Fachbibl. u. Institutsbibl., Mitarb. erhalten 3 Tage vor Ablauf von (Leihfrist + Kulanzfrist) eine Erinnerung, dass Ausleihen ihres Nutzerkontos inkl. der von uns gewährten Kulanzfrist ablaufen. Der Text dazu lautet wie folgt : FROM : [email protected] TO : empfaenger@domain SUBJECT : Informationsservice UB Rostock 02.10.03 / s ent n 00280087543 Informationsservice Universitätsbibliothek Rostock und Bibliotheken im Ausleihverbund Betreff : Ablauf der Leihfrist Bitte beachten Sie, dass Leihfristen Ihrer Entleihungen inkl. der Ihnen von uns gewährten Kulanzfristen in 3 Tagen ablaufen. Leihfristen können i.d.R. bis zu 10x verlängert werden, wenn keine Vormerkungen vorliegen. Danach müssen Sie das Medium zurückgeben. Eine erneute Ausleihe ist möglich, sofern keine Vormerkung vorliegt. Für Fernleihen und Kurzausleihen ist keine Verlängerung möglich. Sie können Ihr Nutzerkonto unter der folgenden Adresse einsehen : http://ubas5.ub.uni-rostock.de/cgi-bin/nphwwwp3?DB=SUB0.BES1.SYS8&EXT=OFF&START_USERINFO=ON Mit freundlichen Grüßen Ihre Bibliothek --------------------------------------------------Information service Universitaetsbibliothek Rostock and libraries in the lending group Subject : Ending of borrowing period Please note, that borrowing periods of your loans incl. the grace period we grant you expire in 3 days. Borrowing periods can normally be extended up to 10x, but only, if no reservations exist. Afterwards you must return the item. A renewed loan is possible, if no reservation exists. For interlibrary loans and short loans no extension of the borrowing period is possible. You can view your user data under the following address : http://ubas5.ub.uni-rostock.de/cgi-bin/nphwwwp3?DB=SUB0.BES1.SYS8&EXT=OFF&LANG=EN&START_USERINFO=ON Sincerely Your Library -------------------------------------------------------------Universitaetsbibliothek Rostock homepage : http://www.uni-rostock.de/ub/ email : [email protected] phone : 0381 498 2266 -------------------------------------------------------------Seite 2 Ablauf : root/crontab -> /pica/hro/com/sendmail.info/batch_start_remind Die Ausführung erfolgt als root, weil der Service in 2 verschiedenen Identitäten (sybase für die Datenbankabfrage und das Erstellen der Kommandofiles sowie lbs_prod für den email-Versand) realisiert wird. Dieses kann auch anders gestaltet werden, je nachdem, wie die Verwendung der mail-adressen konfiguriert ist. So wäre auch eine vollständige Ausführung als sybase/crontab möglich. #!/bin/ksh # # several mail-services from lbs # - reminder services # # # # Make sure this script is only executed from batch/crontab. # If so read .profile else stop execution # # History : js 22.10.01 ps-protocol #tty 1>/dev/null 2>&1 if [ $? -eq 0 ] then echo "This script can only be executed from batch/crontab mode!!" exit 1 else . ${HOME}/.profile 1>/dev/null 2>&1 fi # Kommandofiles aufbauen als sybase # Informationsservice Abgabe/Verlaengerung von Titeln su - sybase -c "/pica/sybase/com/hro_read_userdat03 password_lbsdb" su - sybase -c "/pica/sybase/com/hro_read_userdat04 password_lbsdb" su - sybase -c "/pica/sybase/com/hro_read_userdat05 password_lbsdb" # Informationsservice Mitgliedschaft su - sybase -c "/pica/sybase/com/hro_read_userdat06 password_lbsdb" su - sybase -c "/pica/sybase/com/hro_read_userdat07 password_lbsdb" # Informationsservice Vormerkungen su - sybase -c "/pica/sybase/com/hro_read_userdat08 password_lbsdb" # Informationsservice Fernleihen su - sybase -c "/pica/sybase/com/hro_read_userdat09 password_lbsdb" # Informationsservice Vormerkung Auf su - sybase -c "/pica/sybase/com/hro_read_userdat10 password_lbsdb" 1>/dev/null 2>&1 1>/dev/null 2>&1 1>/dev/null 2>&1 1>/dev/null 2>&1 1>/dev/null 2>&1 1>/dev/null 2>&1 1>/dev/null 2>&1 1>/dev/null 2>&1 sleep 10 # Kommandofiles ausfuehren als lbs_prod # Informationsservice Abgabe/Verlaengerung von Titeln su - lbs_prod -c "/pica/sybase/com/hro_remind_ous_102070" 1>/dev/null 2>&1 su - lbs_prod -c "/pica/sybase/com/hro_remind_ous_405060" 1>/dev/null 2>&1 su - lbs_prod -c "/pica/sybase/com/hro_remind_ous_30" 1>/dev/null 2>&1 # Informationsservice Mitgliedschaft su - lbs_prod -c "/pica/sybase/com/hro_remind_ous_mshpend" 1>/dev/null 2>&1 su - lbs_prod -c "/pica/sybase/com/hro_remind_ous_mshpstart" 1>/dev/null 2>&1 # Informationsservice Vormerkungen su - lbs_prod -c "/pica/sybase/com/hro_remind_ous_reservation" 1>/dev/null 2>&1 # Informationsservice Fernleihen su - lbs_prod -c "/pica/sybase/com/hro_remind_ous_ill" 1>/dev/null 2>&1 # Informationsservice Vormerkungen Auf su - lbs_prod -c "/pica/sybase/com/hro_remind_ous_reservationto" 1>/dev/null 2>&1 exit 0 Seite 3 /pica/sybase/com/hro_read_userdat04 (NTyp: 40,50,60) # Ausfuehrung als root - su sybase # function CR_SUBJECT : create mail-log file with from/subject header CR_SUBJECT() { { echo "From: sqlscript" echo "Subject: SQL-LOG: hro_read_userdat04 - 405060 reminder service" echo "\nSQL-LOG: hro_read_userdat04 - reminder service\n" echo "Email Basisfile fuer reminder service erzeugt : ${HOME}/log/hro_read_userdat04" cat ${HOME}/log/hro_read_userdat04 } | /usr/lib/sendmail -t $1 } if [ "`whoami`" != "sybase" ] then echo "\n\tThis script can only be run by sybase" exit 1 fi if [ $# = 1 ] then bla="${1}" MODE="batch" else echo "Enter the password of the SYBASE sa: \c" stty -echo read bla stty echo echo "" if [ ! -z "${bla}" ] then break fi MODE="inter" fi $SYBASE/bin/isql -Usa -P$bla -i$HOME/com/test_sa_pw.login > $HOME/log/test_sa.ok found="`wc -l $HOME/log/test_sa.ok | awk '{ print $1 } ' | tr -d '[:space:]'`" rm $HOME/log/test_sa.ok if [ $found != "0" ] then echo "\n\tWrong password for the SYBASE sa !!\n" exit else # KEINE VERSIONEN SICHERN ! # /pica/sybase/com/save_log hro_read_userdat04 rm ${HOME}/log/hro_read_userdat04 2>/dev/null case $MODE in 'inter') $SYBASE/bin/isql -Usa -P$bla -i${HOME}/com/hro_read_userdat04_sql | tee ${HOME}/log/hro_read_userdat04 CR_SUBJECT "[email protected]" ;; 'batch') $SYBASE/bin/isql -Usa -P$bla -i${HOME}/com/hro_read_userdat04_sql ${HOME}/log/hro_read_userdat04 CR_SUBJECT "[email protected]" ;; *) echo "Invalid argument" exit 1 ;; esac # exit fi # Ausfuehrbare Datei fuer remind service nutzertypen 405060 erzeugen { echo CR_REMIND\(\) echo { Seite 4 -a >> echo { echo echo \"From: \$1\" echo echo \"To:\$2\" \| sed \'s/ /, /\' echo echo \"Subject: \$3\" echo cat \$4 echo } \| /usr/lib/sendmail -t \$2 2\>\&1 \>/dev/null echo } } > ${HOME}/com/hro_remind_ous_405060.tmp # Ausfuehrbare Datei fuer remind service nutzertypen 405060 erzeugen mv ${HOME}/log/hro_read_userdat04 ${HOME}/com/hro_remind_ous_405060 sed -f${HOME}/com/hro_remind_ous_sedscript ${HOME}/com/hro_remind_ous_405060 ${HOME}/com/hro_remind_ous_405060.tmp rm -f ${HOME}/com/hro_remind_ous_405060 mv ${HOME}/com/hro_remind_ous_405060.tmp ${HOME}/com/hro_remind_ous_405060 sleep 10 chmod 755 ${HOME}/com/hro_remind_ous_405060 # AUSFUEHREN SEPARAT DURCH root -su lbs_prod # ${HOME}/com/hro_remind_ous_405060 >> exit /pica/sybase/com/hro_read_userdat04_sql (NTyp: 40,50,60) /* SELECT @@VERSION ; go */ use lbsdb go PRINT PRINT PRINT PRINT PRINT '' '///////////////////////////////////////////////////////' '62-5. Erinnerungsservice Nutzertypen 405060 - 3 Tage vor KulanzEnde ' '///////////////////////////////////////////////////////' '' SELECT "Start information service at"= getdate () go SET ROWCOUNT 0 go DECLARE @iln smallint, @day_diff int /* ------------------------------------------------------------------------------------------------------------ */ /* A = Nutzertypen 40,50,70 mit Beruecksichtigung der Kulanzfrist, day_diff Tage vor Rückgabedatum + Kulanzfrist */ /* ------------------------------------------------------------------------------------------------------------ */ SELECT @iln = 62 /* UB ROSTOCK */, @day_diff = 3 /* Tagesdifferenz */ /* SELECT Statement Ausgabe fuer Befehlsdatei */ SELECT "CR_REMIND [email protected] " + CHAR(34) + rtrim(b.email_address) + CHAR(34) + " " + CHAR(34) + "Informationsservice UB Rostock `date +" + CHAR(34) + "%d.%m.%y" + CHAR(34) + "` / s ent n " + b.borrower_bar + CHAR(34) + " /pica/hro/com/sendmail.info/remind405060.txt" FROM borrower b, loans_requests l, regulations r WHERE b.iln=@iln /* 62 = Rostock */ /* Nur folgende Nutzertypen - only the following borrower types */ AND ((b.borrower_type = 40) OR b.borrower_type = 50 OR b.borrower_type = 60) /* @day_diff Tage vorher erinnern */ AND DATEDIFF(day,GETDATE(),l.expiry_date_loan) + r.number1 = @day_diff /* Wenn keine Mahnungen - if there are no reminders */ AND l.no_reminders = 0 /* email adresse vorhanden */ Seite 5 AND NOT (PATINDEX('%@%', b.email_address) = 0) /* regulations */ AND r.department_group_nr=1 AND r.parameter_id=26 /* Kulanzfrist Mahnungen */ AND r.subkey1 = b.borrower_type AND r.subkey2 = l.type_of_loan AND r.subkey3=1 /* 1. Mahnung */ /* Verknuepfungen der Tabellen */ AND b.iln = l.iln AND b.iln = r.iln AND b.address_id_nr = l.address_id_nr GROUP BY b.address_id_nr SELECT "End information service at"= getdate () go /pica/sybase/com/hro_remind_ous_sedscript # sed script zur aufbereitung der kommandodatei informationsservice # 16 zeilen vom anfang loeschen 1,16d # von DELETE-Marke (x rows affected) bis Dateiende loeschen /(/,$d /pica/hro/com/sendmail.info/remind405060.txt Informationsservice Universitätsbibliothek Rostock und Bibliotheken im Ausleihverbund Betreff : Ablauf der Leihfrist Bitte beachten Sie, dass Leihfristen Ihrer Entleihungen inkl. der Ihnen von uns gewährten Kulanzfristen in 3 Tagen ablaufen. Leihfristen können i.d.R. bis zu 10x verlängert werden, wenn keine Vormerkungen vorliegen. Danach müssen Sie das Medium zurückgeben. Eine erneute Ausleihe ist möglich, sofern keine Vormerkung vorliegt. Für Fernleihen und Kurzausleihen ist keine Verlängerung möglich. Sie können Ihr Nutzerkonto unter der folgenden Adresse einsehen : http://ubas5.ub.uni-rostock.de/cgi-bin/nphwwwp3?DB=SUB0.BES1.SYS8&EXT=OFF&START_USERINFO=ON Mit freundlichen Grüßen Ihre Bibliothek --------------------------------------------------Information service Universitaetsbibliothek Rostock and libraries in the lending group Subject : Ending of borrowing period Please note, that borrowing periods of your loans incl. the grace period we grant you expire in 3 days. Borrowing periods can normally be extended up to 10x, but only, if no reservations exist. Afterwards you must return the item. A renewed loan is possible, if no reservation exists. For interlibrary loans and short loans no extension of the borrowing period is possible. You can view your user data under the following address : http://ubas5.ub.uni-rostock.de/cgi-bin/nphwwwp3?DB=SUB0.BES1.SYS8&EXT=OFF&LANG=EN&START_USERINFO=ON Sincerely Seite 6 Your Library -------------------------------------------------------------Universitaetsbibliothek Rostock homepage : http://www.uni-rostock.de/ub/ email : [email protected] phone : 0381 498 2266 -------------------------------------------------------------- Beispiel für ein erzeugtes Kommandofile : /pica/sybase/com/hro_remind_ous_405060 CR_REMIND() { { echo "From: $1" echo "To:$2" | sed 's/ /, /' echo "Subject: $3" cat $4 } | /usr/lib/sendmail -t $2 2>&1 >/dev/null } CR_REMIND [email protected] "[email protected]" "Informationsservice UB Rostock `date +"%d.%m.%y"` / s n 00280000790 / remind405060" /pica/hro/com/sendmail.info/remind405060.txt CR_REMIND [email protected] "[email protected]" "Informationsservice UB Rostock `date +"%d.%m.%y"` / s n 00280000979 / remind405060" /pica/hro/com/sendmail.info/remind405060.txt ... Seite 7 Die anderen verwendeten sql-Scripts : Ablauf der Leihfrist - Nutzertypen 102070 (3 Tage vor Ablauf der Leihfrist) /pica/sybase/com/hro_read_userdat03_sql /* SELECT @@VERSION ; go */ use lbsdb go PRINT PRINT PRINT PRINT PRINT '' '///////////////////////////////////////////////////////' '62-5. Erinnerungsservice Nutzertypen 102070 - 3 Tage vor Leihfrist Ende' '///////////////////////////////////////////////////////' '' SELECT "Start information service at"= getdate () go SET ROWCOUNT 0 go DECLARE @iln smallint, @day_diff int /* ----------------------------------------------------------------------------------------------- */ /* A = Nutzertypen 10,20,70 ohne Beruecksichtigung der Kulanzfrist, day_diff Tage vor Rückgabedatum */ /* ----------------------------------------------------------------------------------------------- */ SELECT @iln = 62 /* UB ROSTOCK */, @day_diff = 3 /* Tagesdifferenz */ /* SELECT Statement Ausgabe fuer Befehlsdatei */ SELECT "CR_REMIND [email protected] " + CHAR(34) + rtrim(b.email_address) + CHAR(34) + " " + CHAR(34) + "Informationsservice UB Rostock `date +" + CHAR(34) + "%d.%m.%y" + CHAR(34) + "` / s ent n " + b.borrower_bar + CHAR(34) + " /pica/hro/com/sendmail.info/remind102070.txt" FROM borrower b, loans_requests l WHERE b.iln=@iln /* 62 = Rostock */ /* Nur folgende Nutzertypen - only the following borrower types */ AND (b.borrower_type = 10 OR b.borrower_type = 20 OR b.borrower_type = 70) /* @day_diff Tage vorher erinnern */ AND DATEDIFF(day,GETDATE(),l.expiry_date_loan) /* + r.number1 */ = @day_diff /* Wenn keine Mahnungen - if there are no reminders */ AND l.no_reminders = 0 /* email adresse vorhanden */ AND NOT (PATINDEX('%@%', b.email_address) = 0) /* Verknuepfungen der Tabellen */ AND b.iln = l.iln AND b.address_id_nr = l.address_id_nr GROUP BY b.address_id_nr SELECT "End information service at"= getdate () go Seite 8 Ablauf der Leihfrist - Nutzertype 30 (14 Tage vor Ablauf Kulanzfrist und 24Verl.) /pica/sybase/com/hro_read_userdat05_sql /* SELECT @@VERSION ; go */ use lbsdb go PRINT PRINT PRINT PRINT PRINT '' '///////////////////////////////////////////////////////' '62-5. Erinnerungsservice Nutzertypen 30 - 14 Tage vor Kulanz Ende' '///////////////////////////////////////////////////////' '' SELECT "Start information service at"= getdate () go SET ROWCOUNT 0 go DECLARE @iln smallint, @day_diff int /* ------------------------------------------------------------------------------------------------------------ */ /* Nutzertypen 30 mit Beruecksichtigung der Kulanzfrist und 24 Verlaengerungen */ /* day_diff Tage vor Rueckgabedatum + Kulanzfrist */ /* ------------------------------------------------------------------------------------------------------------ */ SELECT @iln = 62 /* UB ROSTOCK */, @day_diff = 14 /* Tagesdifferenz */ /* SELECT Statement Ausgabe fuer Befehlsdatei */ SELECT "CR_REMIND [email protected] " + CHAR(34) + rtrim(b.email_address) + CHAR(34) + " " + CHAR(34) + "Informationsservice UB Rostock `date +" + CHAR(34) + "%d.%m.%y" + CHAR(34) + "` / s ent n " + b.borrower_bar + CHAR(34) + " /pica/hro/com/sendmail.info/remind30.txt" FROM borrower b, loans_requests l, regulations r WHERE b.iln=@iln /* 62 = Rostock */ /* Nur folgende Nutzertypen - only the following borrower types */ AND b.borrower_type = 30 /* @day_diff Tage vorher erinnern */ AND DATEDIFF(day,GETDATE(),l.expiry_date_loan) + r.number1 = @day_diff /* Wenn keine Mahnungen - if there are no reminders */ AND l.no_reminders = 0 /* email adresse vorhanden */ AND NOT (PATINDEX('%@%', b.email_address) = 0) /* 24 Verlaengerungen erreicht */ AND l.no_renewals = 24 /* regulations */ AND r.department_group_nr=1 AND r.parameter_id=26 /* Kulanzfrist Mahnungen */ AND r.subkey1 = b.borrower_type AND r.subkey2 = l.type_of_loan AND r.subkey3=1 /* 1. Mahnung */ /* Verknuepfungen der Tabellen */ AND b.iln = l.iln AND b.iln = r.iln AND b.address_id_nr = l.address_id_nr GROUP BY b.address_id_nr SELECT "End information service at"= getdate () go Seite 9 Ablauf der Mitgliedschaft (14 Tage vorher) /pica/sybase/com/hro_read_userdat06_sql /* SELECT @@VERSION ; go */ use lbsdb go PRINT PRINT PRINT PRINT PRINT '' '///////////////////////////////////////////////////////' '62-5. Erinnerungsservice Ablauf der Mitgliedschaft in 14 Tagen ' '///////////////////////////////////////////////////////' '' SELECT "Start information service at"= getdate () go SET ROWCOUNT 0 go DECLARE @iln smallint, @day_diff int, @block_stat tinyint /* ------------------------------------------------------------------------------------------------------------ */ /* Ablauf der Mitgliedschaft erinnern - 14 Tage */ /* day_diff Tage vor Ablauf */ /* ------------------------------------------------------------------------------------------------------------ */ SELECT @iln = 62 /* UB ROSTOCK */, @day_diff = 14 /* Tagesdifferenz */, @block_stat = 9 /* Status fuer gesperrte Nutzer */ /* SELECT Statement Ausgabe fuer Befehlsdatei */ SELECT "CR_REMIND [email protected] " + CHAR(34) + rtrim(b.email_address) + CHAR(34) + " " + CHAR(34) + "Informationsservice UB Rostock `date +" + CHAR(34) + "%d.%m.%y" + CHAR(34) + "` / s n " + b.borrower_bar + " / endmshp" + CHAR(34) + " /pica/hro/com/sendmail.info/remind_mshpend.txt" FROM borrower b, membershp m WHERE b.iln=@iln /* 62 = Rostock */ /* @day_diff Tage vorher erinnern */ AND DATEDIFF(day,GETDATE(),m.expiry_date) = @day_diff /* Nur folgende Nutzertypen - only the following borrower types */ AND b.borrower_type < 80 /* Wenn Nutzer nicht gesperrt - if user is not blocked - Status <> @block_stat */ AND b.borrower_status <> @block_stat /* email adresse vorhanden */ AND NOT (PATINDEX('%@%', b.email_address) = 0) /* Verknuepfungen der Tabellen */ AND b.iln = m.iln AND b.address_id_nr = m.address_id_nr GROUP BY b.address_id_nr SELECT "End information service at"= getdate () go Seite 10 Hinweise für neuen Nutzer (am Tag danach) /pica/sybase/com/hro_read_userdat07_sql /* SELECT @@VERSION ; go */ use lbsdb go PRINT PRINT PRINT PRINT PRINT '' '///////////////////////////////////////////////////////' '62-5. Erinnerungsservice Beginn der Mitgliedschaft Vortag' '///////////////////////////////////////////////////////' '' SELECT "Start information service at"= getdate () go SET ROWCOUNT 0 go DECLARE @iln smallint, @day_diff int, @block_stat tinyint /* ------------------------------------------------------------------------------------------------------------ */ /* Beginn der Mitgliedschaft begruessen- 0 Tage Differenz */ /* ------------------------------------------------------------------------------------------------------------ */ SELECT @iln = 62 /* UB ROSTOCK */, @day_diff = -1 /* Tagesdifferenz */, @block_stat = 9 /* Status fuer gesperrte Nutzer */ /* SELECT Statement Ausgabe fuer Befehlsdatei */ SELECT "CR_REMIND [email protected] " + CHAR(34) + rtrim(b.email_address) + CHAR(34) + " " + CHAR(34) + "Informationsservice UB Rostock `date +" + CHAR(34) + "%d.%m.%y" + CHAR(34) + "` / s n " + b.borrower_bar + " / chgmshp" + CHAR(34) + " /pica/hro/com/sendmail.info/remind_mshpstart.txt" FROM borrower b WHERE b.iln=@iln /* 62 = Rostock */ /* @day_diff Tage vorher erinnern */ AND DATEDIFF(day,GETDATE(),b.input_date) = @day_diff /* Nur folgende Nutzertypen - only the following borrower types */ AND b.borrower_type < 80 /* Wenn Nutzer nicht gesperrt - if user is not blocked - Status <> @block_stat */ AND b.borrower_status <> @block_stat /* email adresse vorhanden */ AND NOT (PATINDEX('%@%', b.email_address) = 0) /* Verknuepfungen der Tabellen */ GROUP BY b.address_id_nr SELECT "End information service at"= getdate () go Seite 11 Verfügbarkeit einer Vormerkung (am Tag danach) /pica/sybase/com/hro_read_userdat08_sql /* SELECT @@VERSION ; go */ use lbsdb go PRINT PRINT PRINT PRINT PRINT '' '///////////////////////////////////////////////////////' '62-5. Erinnerungsservice Vormerkungen vom Vortag' '///////////////////////////////////////////////////////' '' SELECT "Start information service at"= getdate () go SET ROWCOUNT 0 go DECLARE @iln smallint, @day_diff int /* ----------------------------------------------------------------------------------------------- */ /* A = Benachrichtigung eingetroffene Vormerkungen vom Vortag */ /* ----------------------------------------------------------------------------------------------- */ SELECT @iln = 62 /* UB ROSTOCK */, @day_diff = -1 /* Tagesdifferenz */ /* SELECT Statement Ausgabe fuer Befehlsdatei */ SELECT "CR_REMIND [email protected] " + CHAR(34) + rtrim(b.email_address) + CHAR(34) + " " + CHAR(34) + "Informationsservice UB Rostock `date +" + CHAR(34) + "%d.%m.%y" + CHAR(34) + "` / s n " + b.borrower_bar + " / reserv" + CHAR(34) + " /pica/hro/com/sendmail.info/remind_reservation.txt" FROM borrower b, loans_requests l WHERE b.iln=@iln /* 62 = Rostock */ /* @day_diff Tage vorher benachrichtigen */ AND DATEDIFF(day,GETDATE(),l.date_of_issue) /* + r.number1 */ = @day_diff /* Nur folgende Nutzertypen - only the following borrower types */ AND b.borrower_type < 80 /* Status muss 4 = Vormerkregal sein */ AND l.loan_status = 4 /* email adresse vorhanden */ AND NOT (PATINDEX('%@%', b.email_address) = 0) /* Verknuepfungen der Tabellen */ AND b.iln = l.iln AND b.address_id_nr = l.address_id_nr GROUP BY b.address_id_nr SELECT "End information service at"= getdate () go Seite 12 Verfügbarkeit einer Fernleihe (am Tag danach) /pica/sybase/com/hro_read_userdat09_sql /* SELECT @@VERSION ; go */ use lbsdb go PRINT PRINT PRINT PRINT PRINT '' '///////////////////////////////////////////////////////' '62-5. Erinnerungsservice Fernleihen vom Vortag' '///////////////////////////////////////////////////////' '' SELECT "Start information service at"= getdate () go SET ROWCOUNT 0 go DECLARE @iln smallint, @day_diff int /* ----------------------------------------------------------------------------------------------- */ /* A = Benachrichtigung eingetroffene Fernleihen vom Vortag */ /* ----------------------------------------------------------------------------------------------- */ SELECT @iln = 62 /* UB ROSTOCK */, @day_diff = -1 /* Tagesdifferenz */ /* SELECT Statement Ausgabe fuer Befehlsdatei */ SELECT "CR_REMIND [email protected] " + CHAR(34) + rtrim(b.email_address) + CHAR(34) + " " + CHAR(34) + "Informationsservice UB Rostock `date +" + CHAR(34) + "%d.%m.%y" + CHAR(34) + "` / s n " + b.borrower_bar + " / ill" + CHAR(34) + " /pica/hro/com/sendmail.info/remind_ill.txt" FROM borrower b, loans_requests l WHERE b.iln=@iln /* 62 = Rostock */ /* @day_diff Tage vorher benachrichtigen */ AND DATEDIFF(day,GETDATE(),l.date_time_of_loans_request) = @day_diff /* Nur folgende Nutzertypen - only the following borrower types */ AND b.borrower_type < 80 /* Status muss 3 = in der Leihstelle sein */ AND l.loan_status = 3 /* Ausleihtyp muss 9 = Fernleihe sein */ AND l.type_of_loan = 9 /* email adresse vorhanden */ AND NOT (PATINDEX('%@%', b.email_address) = 0) /* Verknuepfungen der Tabellen */ AND b.iln = l.iln AND b.address_id_nr = l.address_id_nr GROUP BY b.address_id_nr SELECT "End information service at"= getdate () go Seite 13 Vormerkung auf entliehenen Titel (am Tag danach) /pica/sybase/com/hro_read_userdat10_sql /* SELECT @@VERSION ; go */ use lbsdb go PRINT PRINT PRINT PRINT PRINT '' '///////////////////////////////////////////////////////' '62-5. Erinnerungsservice VormerkungenAuf vom Vortag' '///////////////////////////////////////////////////////' '' SELECT "Start information service at"= getdate () go SET ROWCOUNT 0 go DECLARE @iln smallint, @day_diff int /* ----------------------------------------------------------------------------------------------- */ /* A = Benachrichtigung aufgegebene VormerkungenAuf vom Vortag */ /* ----------------------------------------------------------------------------------------------- */ SELECT @iln = 62 /* UB ROSTOCK */, @day_diff = -1 /* Tagesdifferenz */ /* SELECT Statement Ausgabe fuer Befehlsdatei */ SELECT @iln = 62 /* UB ROSTOCK */, @day_diff = -1 /* Tagesdifferenz */ /* SELECT Statement Ausgabe fuer Befehlsdatei */ SELECT "CR_REMIND [email protected] " + CHAR(34) + rtrim(b.email_address) + CHAR(34) + " " + CHAR(34) + "Informationsservice UB Rostock `date +" + CHAR(34) + "%d.%m.%y" + CHAR(34) + "` / s n " + b.borrower_bar + " / reservto" + CHAR(34) + " /pica/hro/com/sendmail.info/remind_reservationto.txt" FROM borrower b, loans_requests l, reservation r WHERE b.iln=@iln /* 62 = Rostock */ /* @day_diff Tage vorher benachrichtigen */ AND DATEDIFF(day,GETDATE(),r.reservation_date_time) = @day_diff /* Nur folgende Nutzertypen - only the following borrower types */ AND b.borrower_type < 80 /* Status muss 5 = ausgeliehen sein */ AND l.loan_status = 5 /* email adresse vorhanden */ AND NOT (PATINDEX('%@%', b.email_address) = 0) /* Verknuepfungen der Tabellen */ AND b.iln = l.iln AND b.iln = r.iln AND b.address_id_nr = l.address_id_nr AND l.volume_number = r.volume_number GROUP BY b.address_id_nr SELECT "End information service at"= getdate () go Seite 14