Voyager-tietokannan lainojen eräpäivät voi muuttaa automaattisesti joko skriptin tai sql-komennon avulla

Tapa 1: skripti

Voyager-kirjastopalvelimien /m1/shared/bin -hakemistosta löytyy skripti modify_due_date.perl, jota voi käyttää eräpäivien muokkaamiseen. Ensin kopioi tiedosto itsellesi:

cp /m1/shared/bin/modify_due_date.perl .

Sitten anna skriptille suoritusoikeudet ja tee testiajo (xxxdb tarkoittaa omaa tietokantaasi):

chmod u+rx modify_due_date.perl

./modify_due_date xxxdb 24.12.2016 08.01.2017 09.01.2017

Ohjelma on siis aluksi debug-moodissa, ja se vain kertoo montako eräpäivää siirrettäisiin. Tämän jälkeen avaa skripi jollain editorilla, ja vaihda $debug-muuttujan arvo nollaksi. Sitten anna komento uudelleen

./modify_due_date xxxdb 24.12.2016 08.01.2017 09.01.2017

Skripti kertoo taas muutettavien eräpäivien määrän ja näyttää muutossa käytettävän komennon (joka on sattumalta sama kun alla olevassa Tapa 2 -kappaleessa). Jos olet tyytyväinen, niin odota 10 sekuntia, ja muutos tehdään. Jos näyttää pahalta, iski epäilys, tms. paina ctrl-c keskeyttääksesi

Tapa 2: sql-komento

Voyager-tietokannan lainojen eräpäivät voi siirtää pois päivitysajalta seuraavien SQL-lauseiden avulla:

 

alter session set nls_date_format = 'DD.MM.YYYY HH24:mi:ss';
 
update circ_transactions ct
set ct.current_due_date = '07.01.2017 23:59:00'
where ct.current_due_date between '28.12.2016 00:00:00' and '06.01.2017 23:59:59';

 

Tässä siis siirretään 28.12.2016 ja 6.1.2017 välillä erääntyvät lainat erääntymään 7.1.2017. Ensin muutetaan session päivämääräformaatti, jonka jälkeen päivitetään kaikkien ko. aikavälillä erääntyvien lainojen eräpäivää.

Lainojen eräpäivien siirtäminen onnistuu lainoihin kohdistuvista varauksista huolimatta, eikä siirrolla ole vaikutusta varauksiin. Eräpäivän siirto ei myöskään kasvata lainan uusintakertojen määrän osoittavaa laskuria tai näy millään muullakaan tavalla lainan historiatiedoissa.