Engångsbatch för att skapa kurstillfällen 2015-08-28
Magnus Böhlin 2015-02-05 2 (9) Ändringshistorik Datum Av Kommentar Godkänd av 2015-02-05 Magnus Böhlin Första versionen - 2015-04-02 Magnus Böhlin INREGFFG ska också vara underlag för KTILL3- post(ladok-19687). Kurstillfällesparametrar ska inte ha så hårda kontroller(ladok-19728). 2015-08-28 Magnus Böhlin, Anna-Carin Wiklund Ny funktionalitet: Skapar tillräckligt många ktfort3 poster för att poängbidraget inte ska överstiga 30 hp per termin på 100 %. Hantering av kurstakter mindre än 10. Befintlig funktionalitet: Hantering om kurstakt är 0.
Magnus Böhlin 2015-02-05 3 (9) Innehållsförteckning 1 INLEDNING... 4 1.1 SYFTE... 4 1.2 BESKRIVNING... 4 2 BATCHBESTÄLLNING... 5 2.1 PARAMETRAR... 5 2.1.1 Obligatoriska parametrar... 5 2.1.2 Frivilliga parametrar... 5 2.2 EXEMPEL PÅ BATCHBESTÄLLNING... 6 3 RESULTATLISTA... 6 3.1 SAMMANFATTNING AV KÖRNINGEN... 7 3.2 FELMEDDELANDE... 7 3.2.1 Om anmälningskoden uppnår högsta tillåtna värde... 8 3.3 DETALJRADER... 8
Magnus Böhlin 2015-02-05 4 (9) 1 Inledning 1.1 Syfte Ladok3 kommer att kräva att det finns kurstillfällen med anmälningskoder för samtliga förstagångsregistreringar. För att inte utöka den redan stora komplexiteten i informationskonverteraren är det en fördel att skapa kurstillfällen i nuvarande Ladok. Eftersom dessa kurstillfällen inte behövs i nuvarande Ladok kan det vara en fördel att lagra dem i nya tabeller, förslagsvis KTILL3 och KTFORT3. 1.2 Beskrivning Programmet utgår från tabellerna INREGFFG, FFGKURS och FORTKURS. Utifrån dessa tabeller skapas kurstillfällen som saknas i KTILL2/KTILL3 och KTFORT2/KTFORT3 och läggs sedan in i KTILL3 och KTFORT3. Övriga egenskaper hos EB48 Inspektionsläge eller uppdateringsläge kan väljas. Batchen går att köra mer än en gång. Alla terminer hanteras på en gång. Efter körningen skapas en resultatfil med sammanfattning och detaljer om körningen. En sammanfattning skickas även via mail till beställaren.
Magnus Böhlin 2015-02-05 5 (9) 2 Batchbeställning 2.1 Parametrar I RB70 anges EB48 som engångsprogram. 2.1.1 Obligatoriska parametrar UPPDATERA måste anges för att bestämma om batchen skall köras i Inspektionsläge eller Uppdateringsläge. Anges UPPDATERA=N kommer ingen uppdatering att genomföras. Inspektionsläge. Anges UPPDATERA=J sker uppdatering. Uppdateringsläge. INLEDANDETECKEN bestämmer det första tecknet i de anmälningskoder som används för nya kurstillfällen som skapas av batchen. Exempel: INLEDANDETECKEN=A innebär att nya kurstillfällen får anmälningskoderna A0001, A0002, A0003 o.s.v. 2.1.2 Frivilliga parametrar Inga
Magnus Böhlin 2015-02-05 6 (9) 2.2 Exempel på batchbeställning Figur 1. EB47 kommer att köras i Uppdateringsläge med Q som inledande tecken för nya anmälningskoder.. 3 Resultatlista En lista skapas som redovisar resultatet av körningen. Överst i resultatlistan visas en sammanfattning av körningen inklusive eventuella fel som har hittats. Under sammanfattningen i resultatlistan visas mer utförlig information om eventuella fel, samt de kurstillfällen som har skapats under körningen. Alla rubriker är numrerade för att man ska kunna navigera mellan sammanfattningen i början och de detaljtrader som presenteras längre ner i listan.
Magnus Böhlin 2015-02-05 7 (9) 3.1 Sammanfattning av körningen En sammanfattning skrivs både i mailet till beställaren och överst i resultatlistan. Exempel på sammanfattning i inspektionsläge: (1) Varning! Högsta tillåtna värde för anmälningskod i KTILL3 har uppnåtts för valt INLEDANDETECKEN. Antal terminer som inte avslutats: 2 Välj nytt INLEDANDETECKEN och kör EB48 igen för att skapa återstående kurstillfällen. (2) Antal poster som har lagts in i tabellen KTILL3: 132543. (3) Antal poster som har lagts in i tabellen KTILL3 (med saknade/ej korrekta kurstillfällesparametrar): 2496. (4) Antal poster som har lagts in i tabellen KTFORT3: 14442. (5) Antal poster som har lagts in i tabellen KTFORT3 (med saknade/ej korrekta kurstillfällesparametrar): 75. (6) Antal FFGKURS-poster som inte hanterats på grund av FFGKURS-posten har en termin som saknas i tabellen TERMIN: 3. (7) Antal FFGKURS-poster som inte kunde hanteras pga poängen inte ryms i KTILL3-fältet för poäng: 3 (Det är troligt att FORTKURS-serien innehöll 'hål' och KTFORT3-poster inte kunde skapas). (8) Antal FFGKURS-poster med kurstakt under 10 som ej kommer att fördelas: 20. (9) FFGKURS-poster där kurskoden saknas i tabellen KURS eller har problem med poängen: 2 (10) Antal FFGKURS-poster som inte hanterats på grund av att en tillhörande FORTKURS-post redan har en motsvarande KTFORT2/KTFORT3-post: 3 () Antal FFGKURS-poster som inte hanterats på grund av FORTKURS-serien innehåller 'hål': 6057 (Detta kommer hanteras av EB50 och posterna presenteras inte i denna utskrift.) 3.2 Felmeddelande Ett felmeddelande genereras i resultatlistan om något av följande inträffar: Ingen post i KTILL3/KTFORT3 skapas för följande: FFGKURS-posten innehåller en termin som saknas i tabellen TERMIN. Det är problem med kurskoden i FFGKURS-posten. Kursen saknas i tabellen KURS eller poängen saknas. Om poängen per termin överstiger 99,9 så ryms den inte i poängfältet i tabellen KTILL3. FORTKURS-serien innehåller hål. Det fanns redan en post i KTFORT2 eller KTFORT3 för en av FORTKURSposterna. FFGKURS poster med kurstakt under 10 som ej kommer att fördelas. Felmeddelanden där poster skapats: Terminer som inte kunde avslutas på grund av att anmälningskoden i KTILL3 'slog i taket'.
Magnus Böhlin 2015-02-05 8 (9) 3.2.1 Om anmälningskoden uppnår högsta tillåtna värde Om värdet som följer det inledande tecknet uppnår 9999 kommer inga ytterligare kurstillfällen att skapas under pågående batchkörning för aktuell termin. Körningen kommer istället att avslutas med följande meddelande överst i resultatlistan: Terminer som inte kunde avslutas på grund av att anmälningskoden i KTILL3 'slog i taket'. Eventuella kurstillfällen som redan har skapats under körningen kommer att behandlas som om batchen slutförts normalt, d.v.s. dessa kommer att läggas in i KTILL3 och KTFORT3 om batchen körts i Uppdateringsläge. 3.2.2 Om kurstakt är 0 Om kurstakten är 0 sätts poängen om till 0 hp för kurstillfällena i KTILL3 och KTFORT3. 3.2.3 Poängfördelning Kursens poäng fördelas ut över kurstillfällena KTILL3 och KTFORT3. Hänsyn tas till kurstakt så att tillräckligt många KTFORT3 poster skapas för att poängbidraget inte ska överstiga 30 hp per termin på 100 %. 3.3 Detaljrader Under sammanfattningen visas detaljer om eventuella fel samt de poster som har skapats och lagts in i KTILL3 och KTFORT3. Exempel på detaljrader i resultatlistan när batchen är körs i inspektionsläge(rubrikerna är feta och kursiva endast i detta dokument) : (1) Varning! Högsta tillåtna värde för anmälningskod i KTILL3 har uppnåtts för valt INLEDANDETECKEN. Terminer som inte avslutats: H91, 19911 (2) Nedanstående poster skulle ha lagts in i KTILL3 vid skarp körning. KURSKOD;STARTTER;KURSTAKT;KURSTID;UNDFORM;ORT;KURSOMG;KURSTYP;FFGPOANG;KOD;STAR TV;SLUTV;LOK1;LOK2;PLANTAL;ANTALORD;ANTALRES;VALUTA;KONVERT;AVGFRI; AX010;19642;100;DAG;NML;0180;1; _;18.0;Q0001;;;;;;;;;;; (3) Nedanstående poster skulle ha lagts in i KTFORT3 vid skarp körning. KURSKOD;STARTTER;KURSTAKT;KURSTID;UNDFORM;ORT;KURSOMG;KURSTYP;TERMORDN;FORPOANG ;KOD;TERMIN;STARTV;SLUTV;LOK1;LOK2;VALUTA;KONVERT; XSH221;19761;100;DAG;NML;1281;1; _; 2;15.0;Q0031;19762;;;;;;;
Magnus Böhlin 2015-02-05 9 (9) (4) FFGKURS-poster som inte hanterats på grund av FFGKURS-posten har en termin som saknas i tabellen TERMIN. FFGKURS: pnr='5504085993', kurs='efed01', progr='', proginr=' _', termin='19641', kurstakt='', kurstid='', undform='', ort='0680', omgang='1', kurstyp=' _', idatum='null', itid='null', ianv='null', vernr='null' (5) FFGKURS-poster där kurskoden saknas i tabellen KURS eller har problem med poängen FFGKURS: pnr='5504213512', kurs='kmu500', progr='kkyra', proginr=' _', termin='19851', kurstakt='0', kurstid='ing', undform='nml', ort='1280', omgang='1', kurstyp=' _', idatum='null', itid='null', ianv='null', vernr='null' (6) FFGKURS-poster som inte kunde hanteras pga poängen inte ryms i KTILL3- fältet för poäng FFGKURS: pnr='5504213512', kurs='kmu500', progr='kkyra', proginr=' _', termin='19851', kurstakt='0', kurstid='ing', undform='nml', ort='1280', omgang='1', kurstyp=' _', idatum='null', itid='null', ianv='null', vernr='null' (9) KTILL3/KTFORT3-poster som har poängfördelning som överstiger 30p per termin på 100%. Ktill3: kurskod='xfr027', startter='19761', kurstakt='50', kurstid='kvä', undform='nml', ort='1281', kursomg='1', kurstyp=' _', ffgpoang='30.0', kod='q0038', startv='', slutv='', lok1='null', lok2='null', plantal='null', antalord='null', antalres='null', valuta='', konvert='', avgfri='' (10) Antal FFGKURS-poster med kurstakt under 10 som ej kommer att fördelas FFGKURS: pnr='4104172129', kurs='unoa01', progr='', proginr=' _', termin='19942', kurstakt='02', kurstid='eft', undform='nml', ort='0680', omgang='1', kurstyp=' _', idatum='', itid='', ianv='', vernr=''