Kravspecifikation DB01 - Konvertering av uttagsprogram Batchkörning Studok Projekt 130 2006-11-13 Beteckning:
Bengt Reinholdsson 2006-11-13 2 (23) Ändringshistorik Revision Datum Av Kommentar Granskare Godkännare 0.1 2006-10-23 Bengt Reinholdsson 0.2 2006-10-31 Bengt Reinholdsson 2006-11-13 Bengt Reinholdsson 0,4 2008-11-18 Anna-Carin Wiklund Nytt utsökningsalternativ, Querybaserad
Bengt Reinholdsson 2006-11-13 3 (23) Innehållsförteckning 1 Inledning... 4 1.1 Tabeller... 4 2 Funktionella krav... 8 2.1 Kravlista... 8 2.2 Detaljerad beskrivning av kraven... 8 2.2.1 Generella krav för körning av batch... 8 2.2.2 Utsökning, uttagsprogram... 12 2.2.3 Uppdatering databas... 18 2.3 Kontroller... 19 3 Bilagor... 20 3.1 Sammanställning krav... 20 Allmännt... 20 Delfunktion DB01_B... 20 Delfunktion DB01_C... 20 3.2 Förteckning... 22
Bengt Reinholdsson 2006-11-13 4 (23) 1 Inledning Se 130-kravlista Beställning 1.1 Tabeller Katalogtabeller (INL:2146) Granskad Måste För tabellbeskrivning se grön2. Totalt 94 st Au Examen Forskare AUKTILFH AUKTILFR AUKURS AUKUTBOM AULOKUTB AUPROV AUPRUPPS AUUTBTYP DSGRUND1 DSGRUND3 EXAMBEN EXAMINR EXTYP FOTNOTEX LOKEXAM LOKEXINR OVERKURS FOAMNE FOEX FOKURS FORSART FOSKOLA HANDLTYP NATAMNE Lant Studok VETOMR ANMALT ANTOMG EMEDDELA FORUTB LINURVGR MEDDELA SKILJEKR URVALSGR URVGRBEN AGRPSCB ALLAHSK BETSKALA DJUP DKLASS ETYPBEN FAKULTET INLKURSP INST KTFORT2 KTILL2 KTILLHST KTILLP KURS
Bengt Reinholdsson 2006-11-13 5 (23) KURSTAKT KURSTID KURSUOMR LAND LARARE LINFART LINJE LINJEINR LOKKOD LOKKURS LOKPRINR LOKPROG LOKSERIE LOKUPR LPWKTFOR LPWKTILL LPWPROGK LPWPRPLH NIVAUHA NYAMEDD NYAPAKET ORT OVERKURS PAKET PAKETDEF PRAKTLIN PROGKHST PROGKURS PROGPLH PROGPLK PROV PROVUOMR PROVUPPS PTILL RESKOD TERMIN TERMTID TERMTIDP UNDFORM UPROGRAM URVGRUPP UTBNIVA UTBOMR UTLHSK VILLKG VILLPG VILLTOT Grundutbildning (INL:2147) Granskad För tabellbeskrivning se grön2. Totalt 60 st Examen: BEVAKURS EXAMEN2 EXAMKUR2 EXAMLOGG EXAREND2 NYA: Måste BEHALE BEHBESL BEHFORUT Studok: ANTINR ANTLIN AVBRINR
Bengt Reinholdsson 2006-11-13 6 (23) AVBRLIN BORTREGK BORTRES BORTTG EJUPPLIN EJUPPRES FFGKURS FFGLIN FORTKURS GALLRAD GAMMALNY GODKKURS GODKPROV GODKPRTG GRUPPHUV GRUPPRAD IGALLRAD INBYTANN INBYTEGH INREGFFG INREGFO INREGOM INTERIM LANTKURS LANTRES LOKANTLB LOKANTLR LOKANTLS OMKURS OMREGLIN PERSATKN PRAKTDAG PRAKTHEL PROTITEL UBINDBG UBINDBU UBINDRG UBINSTUD UBUTHPR UBUTHST UBUTRANT UBUTREG UBUTSTUD UNDKPROV UPPHLIN UPPLIN UTBYTE VALDINR VALDKURS Forskarutbildning (INL:2148) Granskad För tabellbeskrivning se grön2. Totalt 14 st AKTIVIT ANNANEX AVHANDL DISP DOKANDEL DOKKURS2 DOKOMK FOANT2 FOBEH FOEXAM FOPLAN FORSORJ HANDLED LASKLAR Skall
Bengt Reinholdsson 2006-11-13 7 (23) Annan utbildning (INL:2149) Granskad För tabellbeskrivning se grön2. Totalt 4 st AUPERHUV AUPERLOG AUREGRAD AURESRAD Ej prioriterat Antagningsomgång (INL:2150) För tabellbeskrivning se grön2. Totalt 6 st ANNHSKPO DIARANT DIARIUM FOTNOTER MERITVRD PERSMEDD Ej prioriterat Allmänna persontabeller (INL:2151) Granskad För tabellbeskrivning se grön2. Måste ADRESS NAMN TELEKOM
Bengt Reinholdsson 2006-11-13 8 (23)
Bengt Reinholdsson 2006-11-13 9 (23) 2 Funktionella krav 2.1 Kravlista Se avsnitt 3.1 2.2 Detaljerad beskrivning av kraven 2.2.1 Generella krav för körning av batch Start av batch (FUNK:1647) Måste 2.0 Kontrollera att det finns villkor i tabellen BATVILL. Om det saknas ska inte batchen starta. Mail ska skickas med status AVBRUTEN och beställning sätts till A i BATCHJOB -Kontrollera i tabellen BATCHJOB om det finns någon batch att starta där datum är samma och tiden är mindre eller lika med aktuell tid och där körstatus är tomt. -Kontrollera att om körstatus KODMARK i tabellen BATCHJOB på aktuell post inte är J= Körning gjord eller P= Körning pågår, innan batchen startar. Om fel ska batchen sättas till avbuten BATVILL (TAB:688) Batchhantering (FUNK:1643) Batchhantering (FUNK:1261) Batchstart (FUNK:862) Avbrott i batchkörning (FUNK:1648) Godkänd Måste 1.0 Om något inte fungerar i samband med körningen av batchen skall programmet avslutas och Mail ska skickas med status AVBRUTEN och beställning sätts till A i BATCHJOB BATCHJOB (utgår senare) (TAB:685) Batchhantering (FUNK:1643) Batchhantering (FUNK:1261)
Bengt Reinholdsson 2006-11-13 10 (23) E-postmeddelande (FUNK:1649) Godkänd Måste 2.0 Utseende på mailet ska vara som nedan E-postmeddelande skickas till den eller de adresser som angivits i BATINST. Om ingen e-post adress angivits i BATINST ska e-post adressen hämtas från ANVIP.EPOSTADR för användaren som lagt upp batchbeställningen. Skulle e-post adress saknas i ovanstående tabell kan inget mail skickas. Generellt gäller följande: FROM: mail adress, hämtas från properties filen. SENT: Dag, månad år samt tid hämtas från serverklockan TO: Mottagaren hämtas från BATVILL i förstahand och i andra hand ANVIP SUBJECT: Inleds med [BATCH] för enklare sortering och därefter: o Funktionsbeteckning med funktionsnamnet. Beteckning finns i BATCHJOB men bara de första fyra ska användas. Namnet hämtas från NOVFUNK där slagningen sker med hela BATCHJOB.FUNKTION o Batchbeteckningen hämtas från BATCHJOB.BETECKN o Status ska informera hur körningen gått t ex KLAR eller avbrutits I mailet ska det också framgå när batchen startade och avslutades Batchhantering (FUNK:1643) E-POST - DB01 (FUNK:1650) Batchhantering (FUNK:1261) E-POST - UB? (FUNK:1265) Layout och innehåll i loggfilen (VERK:949) Loggpost (VERK:928)
Bengt Reinholdsson 2006-11-13 11 (23) E-POST - DB01 (FUNK:1650) Måste 2.0 From: [Mailadress] [mailto:[mailadress]] Sent: den [Dag] [månad][åååå] TT:MM To: [Mottagare] Subject: [BATCH][Funktion (del)funktionsnamn], [batch beteckning],[status] ---------------------------------------------------------------- Detta är ett automatgenererat meddelande som du inte kan svara på. Körningen blev [Status] Körningen påbörjades TT:MM och avslutades TT:MM Följande var med i beställningen: [Villkor?] [om allt gått bra] Antal uppdaterade poster: [tabell] [Antal poster totalt] st E-postmeddelande (FUNK:1649) E-postmeddelande (FUNK:1264) Efter avslutad körning (FUNK:1651) Måste 1.0 Efter avslutad körning (dvs allt har fungerat) skall: tabellen BATCHJOB uppdaras: o KORDMARK = J o STARTID = [tiden som batchen verkligen startarde (TTMMSS)] o SLUTTID = [tiden som batchen verkligen avslutades (TTMMSS)] e-postmeddelande skickas till den eller de adresser som angivits i BATINST. o Om ingen e-post adress angivits i BATINST ska e-post adressen hämtas från ANVIP.EPOSTADR för användaren som lagt upp batchbeställningen. Skulle e-post adress saknas i ovanstående tabell kan inget mail skickas. ANVIP (TAB:684) BATINST (TAB:687) BATCHJOB (utgår senare) (TAB:685) Batchhantering (FUNK:1643)
Bengt Reinholdsson 2006-11-13 12 (23) Batchhantering (FUNK:1261) Uppdatering av databas (FUNK:1652) Måste 2.0 När allt gått bra: tabellen BATCHJOB uppdaras: KORDMARK = J STARTTID = [tiden som batchen verkligen startade (TTMMSS)] SLUTTID = [tiden som batchen verkligen avslutades (TTMMSS)] vid avbrott: tabellen BATCHJOB uppdaras: KORDMARK = A Batchhantering (FUNK:1643) Batchhantering (FUNK:1261) Datafiler (FUNK:2152) Ej prioriterat 2.1 Vid utsökning ska det skapas en fil per utsökningsalternativ. dvs en fil för: - Grundutbildning - Forskarutbildning - Annan utbildning - Antagningsomgång - Kataloguppgifter - Querybaserad Namnsättning?
Bengt Reinholdsson 2006-11-13 13 (23) 2.2.2 Utsökning, uttagsprogram DB01_B (FUNK:1656) 1. Hämta villkoren från BATVILL Ej prioriterat 2. Sök ut population utifrån vald utsökningsalternativ. 5.2 3. Sortera populationen så att endast unika poster förekommer. 4. Läs sedan alla persontabeller med den utsökta populationen. För varje träff ska den läsas ut till fil (en fil per utsökningsalternativ). 5. Efter att sista personen kontrollerats avslutas körningen enligt FUNK:1651 samt FUNK1652. Alternativ ANTOMG (FUNK:1660) Alternativ AU (FUNK:1851) Alternativ FORSKNIV (FUNK:1849) Alternativ GRUNDNIV (FUNK:1847) Batchkörning (FUNK:1642) Alternativ ANTOMG (FUNK:1660) Ej prioriterat 10.0 1. Sök fram anmälningskoder från tabellen ANMALT med hjälp av villkoret i batchbeställningen (ANMALT=[?]) 2. Om ANMALT.KURS= " " - LOKANTLB, LOKANTLR : ska slagning ske i PTILL med ANMALT.ANMALID och ANMALT.STARTTER LOKANTLB, LOKANTLR med ANMALT.ANMALID och ANMALT.STARTTER för att säkra att posterna är korrekta läs ut framsökta personummer Om ANMALT.LINJE= " " - LANTKURS,LANTRES: ska slagning ske med ANMALT.ANMALID och ANMALT.STARTTER läs ut framsökta personummer 3. Endast unika poster ska finnas i listan
Bengt Reinholdsson 2006-11-13 14 (23) 4. Sök därefter alla poster som tillhör ett pnr i alla persontabeller som tillhör LANT och alla allmänna tabeller med [tabell].pnr = [pnr från listan]. För varje träff ska en post skrivas i utfilen för den aktuella tabellen ANNHSKPO DIARANT DIARIUM FOTNOTER MERITVRD PERSMEDD samt ADRESS NAMN TELEKOM 5. Ta sedan ut katalogdata från alla katalogertabeller. Se alternativ "KATALOG" DB01_B (FUNK:1656) Alternativ GRUNDNIV (FUNK:1847) 1. Slå i följande tabeller Ej prioriterat 6.0 FFGKURS, FORTKURS, OMKURS, INREGFFG, INREGFO, INREGOM FFGLIN, OMREGLIN, AVBRLIN med FR_TERMIN och TO_TERMIN mot fältet TERMIN (FR_TERMIN >= TERMIN och TERMIN <= TO_TERMIN) Vid läsning i AVBRLIN ska datum hämtas från tabellen TERMIN där FR_TERMIN from datum hämtas samt TO_TERMIN tom datum
Bengt Reinholdsson 2006-11-13 15 (23) 2. Läs ut personnummer. Endast unika poster sak finnas i listan 3. Sök därefter alla poster som tillhör ett pnr i alla persontabeller som tillhör grundutbildning, examen och NYA samt alla allmänna tabeller med [tabell].pnr = [pnr från listan]. För varje träff ska en post skrivas i utfilen för den aktuella tabellen ANTINR ANTLIN AVBRINR AVBRLIN BEHALE BEHBESL BEHFORUT BEVAKURS BORTREGK BORTRES BORTTG EJUPPLIN EJUPPRES EXAMEN2 EXAMKUR2 EXAMLOGG EXAREND2 FFGKURS FFGLIN FORTKURS GALLRAD GAMMALNY GODKKURS GODKPROV GODKPRTG GRUPPHUV GRUPPRAD IGALLRAD INBYTANN INBYTEGH INREGFFG INREGFO INREGOM INTERIM LANTKURS LANTRES LOKANTLB LOKANTLR LOKANTLS OMKURS OMREGLIN PERSATKN PRAKTDAG PRAKTHEL PROTITEL UBINDBG UBINDBU UBINDRG UBINSTUD UBUTHPR UBUTHST UBUTRANT UBUTREG UBUTSTUD UNDKPROV UPPHLIN
Bengt Reinholdsson 2006-11-13 16 (23) UPPLIN UTBYTE VALDINR VALDKURS samt ADRESS NAMN TELEKOM 4. Ta sedan ut katalogdata från alla katalogertabeller. Se alternativ "KATALOG" DB01_B (FUNK:1656) SQL (FUNK:1848) Alternativ FORSKNIV (FUNK:1849) Ej prioriterat 6.1 1. Slå i tabellen AKTIVIT med FR_TERMIN och TO_TERMIN mot fältet TERMIN (FR_TERMIN >= TERMIN och TERMIN <= TO_TERMIN) 2. Läs ut personnummer. Endast unika poster sak finnas i listan 3. Sök därefter alla poster som tillhör ett pnr i alla persontabeller som tillhör FORSKARE och alla allmänna tabeller med [tabell].pnr = [pnr från listan]. För varje träff ska en post skrivas i utfilen för den aktuella tabellen AKTIVIT ANNANEX AVHANDL DISP DOKANDEL DOKKURS2 DOKOMK FOANT2 FOBEH FOEXAM
Bengt Reinholdsson 2006-11-13 17 (23) FOPLAN FORSORJ HANDLED LASKLAR samt ADRESS NAMN TELEKOM 4.Ta sedan ut katalogdata från alla katalogertabeller. Se alternativ "KATALOG" DB01_B (FUNK:1656) SQL (FUNK:1850) Alternativ AU (FUNK:1851) Ej prioriterat 4.1 1. Slå i tabellen AUPERHUV med FR_TERMIN och TO_TERMIN mot fältet TERMIN (FR_TERMIN >= TERMIN och TERMIN <= TO_TERMIN) 2. Läs ut personnummer. Endast unika poster sak finnas i listan 3. Sök därefter alla poster som tillhör ett pnr i alla persontabeller som tillhör Annan utbildning och alla allmänna tabeller med [tabell].pnr = [pnr från listan]. För varje träff ska en post skrivas i utfilen för den aktuella tabellen AUPERHUV AUPERLOG AUREGRAD AURESRAD
Bengt Reinholdsson 2006-11-13 18 (23) samt ADRESS NAMN TELEKOM 4.Ta sedan ut katalogdata från alla katalogertabeller. Se alternativ "KATALOG" DB01_B (FUNK:1656) SQL (FUNK:1852) Alternativ KATALOG (FUNK:1853) Ej prioriterat Ta med alla kataloguppgifter från alla katalogtabeller 2.1
Bengt Reinholdsson 2006-11-13 19 (23) 2.2.3 Uppdatering databas DB01_C (FUNK:2123) Ej prioriterat 1. Hämta uppgift om vart filerna ligger från configfilen 3.0 2. Finns filer i mappen skall dessa filer öppnas och uppdatera de tabeller som förekommer i filerna 3. Efter avslutad uppdatering se FUNK:1651 och FUNK1652 Dubletter vid uppdatering (FUNK:2124) Ej prioriterat 1.1 Vid uppdatering ska systemet inte bry sig om nyckelkollisioner utan ta nästa post.
Bengt Reinholdsson 2006-11-13 20 (23) 2.3 Kontroller Kontroll körstatus (FUNK:1655) Godkänd Måste 1.0 Kontrollera att om körstatus: - om status är lika med "Pågår" ska alla fält i villkorsformuläret dimmas och meddelande ADM_210 Körningen har ändrats till PÅGÅR, uppdatering är inte tillåtet - om status är lika med "Klar" ska alla fält i villkorsformuläret dimmas och meddelande ADM_211 Körningen har ändrats till KLAR, uppdatering är inte tillåtet Kontroller (FUNK:1654) Knapp Uppdatera (FUNK:881) Knapp Uppdatera (FUNK:874) Knapp Uppdatera (FUNK:888) Kontroller (FUNK:1273)
Bengt Reinholdsson 2006-11-13 21 (23) 3 Bilagor Bilaga 1: 3.1 Sammanställning krav Allmännt Krav Prioritet Status Start av batch (FUNK:1647) Måste Avbrott i batchkörning (FUNK:1648) Måste Godkänd E-postmeddelande (FUNK:1649) Måste Godkänd E-POST - DB01 (FUNK:1650) Måste Efter avslutad körning (FUNK:1651) Måste Uppdatering av databas (FUNK:1652) Måste Datafiler (FUNK:2152) Ej prioriterat Delfunktion DB01_B Krav Prioritet Status DB01_B (FUNK:1656) Ej prioriterat Alternativ ANTOMG (FUNK:1660) Ej prioriterat Alternativ GRUNDNIV (FUNK:1847) Ej prioriterat Alternativ FORSKNIV (FUNK:1849) Ej prioriterat Alternativ AU (FUNK:1851) Ej prioriterat Alternativ KATALOG (FUNK:1853) Ej prioriterat Delfunktion DB01_C Krav Prioritet Status DB01_C (FUNK:2123) Ej prioriterat Dubletter vid uppdatering (FUNK:2124) Ej prioriterat
Bengt Reinholdsson 2006-11-13 22 (23)
Bengt Reinholdsson 2006-11-13 23 (23) 3.2 Förteckning Katalogtabeller (INL:2146) 4 Grundutbildning (INL:2147) 5 Forskarutbildning (INL:2148) 6 Annan utbildning (INL:2149) 7 Antagningsomgång (INL:2150) 7 Allmänna persontabeller (INL:2151) 7 Start av batch (FUNK:1647) 8 Avbrott i batchkörning (FUNK:1648) 8 E-postmeddelande (FUNK:1649) 9 E-POST - DB01 (FUNK:1650) 10 Efter avslutad körning (FUNK:1651) 10 Uppdatering av databas (FUNK:1652) 11 Datafiler (FUNK:2152) 11 DB01_B (FUNK:1656) 12 Alternativ ANTOMG (FUNK:1660) 12 Alternativ GRUNDNIV (FUNK:1847) 13 Alternativ FORSKNIV (FUNK:1849) 15 Alternativ AU (FUNK:1851) 16 Alternativ KATALOG (FUNK:1853) 17 DB01_C (FUNK:2123) 18 Dubletter vid uppdatering (FUNK:2124) 18 Kontroll körstatus (FUNK:1655) 19 Allmännt 20 Delfunktion DB01_B 20 Delfunktion DB01_C 20