(OUS) per email - Universitätsbibliothek Rostock

Werbung
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
Herunterladen