Uppläggning av ÅR-databas, UB50 [Projekt 715 - Ny tabellstruktur för VB-databasen] [Projekt UPP T-8304 Komplettering av ÅR-paket] [Projekt UPP T-1301 Uppföljning studieavgifter] 2016-06-29 Status: Uppdatering pågår
Ändringshistorik Datum Av Kommentar Godkännare 2009-02-25 Per Lindgren Bytt namn på dokumentet till UB50_kravspec_java.doc. 2010-03-15 Fredrik Hedlund NOUVUP-403, uppdaterat uträkning av programnybörjare sidan 11, näst sista stycket. 2010-05-19 PerLindgren Nouvup-404. Korr i kapitel 8.3 uppdat av ARKURS utifrån UBINDRG för kolumnerna NIVA o UTBNIVA 15.3 ARKURS.UTBNIVA 2011-01-28 PerLindgren STU T-0107 ny kolumn i ARKURS, ARAGG: STUDAVG:J/N Se rev.pane 2011-08-16 Jenny H Svensson Förtydligande av studieavgifter, mer info vid fel. 2012-11-19 PerLindgren Studieavgifter: UBUTHST o UBUTHPR. Kolumnen ARKURS.STUDAVG 2016-06-29 PerLindgren Återbetalda studieavgifter. Se kapitlet Studieavgifter https://jira.its.umu.se/browse/ladok-20491
Per Lindgren/Torgny Fridlund 2016-06-29 3 (84) Innehållsförteckning ÄNDRINGSHISTORIK... 2 INNEHÅLLSFÖRTECKNING... 3 1 UPPLÄGGNING AV AR-DATABAS I RUTINEN UB50... 5 1.1 PARAMETRAR TILL BATCHPROGRAMMET... 6 1.2 BATCHAVSLUT... 6 2 BATCHPROGRAM FÖR INDIVIDBASERAD AR... 7 3 LÄGGA UPP HST... 8 3.1 TABELLER SOM UPPDATERAS ÄR FÖLJANDE:... 8 3.2 DE TABELLER SOM LÄSES. FÖRST DE TABELLER SOM UTGÖR HUVUDUNDERLAGET:... 8 3.3 ÖVRIGA TABELLER SOM LÄSES:... 8 3.4 HST-TERMINOLOGI... 9 3.5 MODUL FÖR BERÄKNING AV HSTV OCH HSTK... 9 4 BEHANDLING AV FFGKURS... 10 4.1 UPPDATERING AV ARKURS.... 11 4.2 UPPDATERING AV ARHST: KURSREGISTRERINGSVARIANTEN... 12 4.3 UPPDATERING AV ARHST: TERMINSREGISTRERINGSVARIANTEN... 13 5 BEHANDLING AV INREGFFG... 15 5.1 UPPDATERING AV ARKURS... 16 5.2 UPPDATERING AV ARHST: KURSREGISTRERINGSVARIANTEN... 17 5.3 UPPDATERING AV ARHST: TERMINSREGISTRERINGSVARIANTEN... 18 6 BEHANDLING AV FORTKURS... 20 6.1 UPPDATERING AV ARKURS... 21 6.2 UPPDATERING AV ARHST: KURSREGISTRERINGSVARIANTEN... 22 6.3 UPPDATERING AV ARHST: TERMINSREGISTRERINGSVARIANTEN... 24 7 BEHANDLING AV INREGFO... 25 7.1 UPPDATERING AV ARKURS... 26 7.2 UPPDATERING AV ARHST: KURSREGISTRERINGSVARIANTEN... 28 7.3 UPPDATERING AV ARHST: TERMINSREGISTRERINGSVARIANTEN... 29 8 BEHANDLING AV UBINDRG... 30 8.1 UPPDATERING AV ARHST XXXXXX... 31 8.2 UPPDATERING AV ARHST, NÄR PROVKOD FINNS... 31 8.3 UPPDATERING AV ARKURS... 32 9 BEHANDLING AV UBUTHST... 34 9.1 UPPDATERING AV ARHST YYYYYY... 35 9.2 UPPDATERING AV ARKURS... 35 10 RÄKNA HST I HST-MODULEN... 37 10.1 INPARAMETRAR FRÅN FFGKURS... 37 10.2 INPARAMETRAR FRÅN INREGFFG... 38 10.3 INPARAMETRAR FRÅN FORTKURS... 38 10.4 INPARAMETRAR FRÅN INREGFO... 39 10.5 RETURKODER FRÅN HST-MODULEN... 39
Per Lindgren/Torgny Fridlund 2016-06-29 4 (84) 10.6 BEHANDLING... 40 10.6.1 ALT 1: FFG-registrering på fristående kurs eller program med kursregistrering... 40 10.6.2 ALT 2: FFG-registrering på program med terminsregistrering... 41 10.6.3 ALT 3: FO-registrering på fristående kurs eller program med kursregistrering... 43 10.6.4 ALT 4: FO-registrering på program med terminsregistrering... 43 11 STUDIEAVGIFTER... 45 12 LÄGGA UPP HPR... 47 12.1 TABELLER SOM UPPDATERAS ÄR FÖLJANDE:... 47 12.2 DE TABELLER SOM LÄSES. FÖRST DE TABELLER SOM UTGÖR HUVUDUNDERLAGET:... 47 12.3 ÖVRIGA TABELLER SOM LÄSES:... 47 12.4 GENERELLT... 48 13 BEHANDLING AV GODKKURS OCH GODKPROV... 49 14 BEHANDLING AV GODKPROV... 50 15 UPPDATERING AV ARKURS OCH ARHPR FÖR GODKPROV OCH GODKKURS... 51 15.1 UPPDATERING AV ARHPR... 51 15.2 UPPDATERING AV ARKURS... 52 16 BEHANDLING AV UBINDBG... 54 16.1 UPPDATERING AV ARHPR NÄR PROV FINNS... 55 16.2 UPPDATERING AV ARHPR NÄR PROV SAKNAS... 55 16.3 UPPDATERING AV ARKURS... 56 17 BEHANDLING AV UTBYTE... 58 17.1 UPPDATERING AV ARHPR UTIFRÅN UBUTHPR... 59 17.2 UPPDATERING AV ARKURS... 59 18 FELMEDDELANDEN... 62 18.1 FEL I KATALOGEN SOM MÅSTE ÅTGÄRDAS... 62 18.2 FEL I KATALOGEN SOM RESULTERAR I VARNINGAR... 62 19 FELLISTAN... 63 20 DIFF-AR... 79 20.1 GODKKURS > ARHPR... 79 20.2 GODKPROV > ARHPR... 79 20.3 UBINDBG > ARHPR... 79 20.4 UTBYTE > ARHPR... 80 20.5 VARNINGSMEDDELANDEN... 80 21 LADDA ARAGG... 81 21.1 TABELL SOM UPPDATERAS... 82 21.2 TABELLER SOM LÄSES... 82 21.3 INDEX FÖR ATT UNDERLÄTTA UTSÖKNINGEN... 82 21.4 BEHANDLING... 83 21.5 UPPDATERING AV ARAGG... 83
Per Lindgren/Torgny Fridlund 2016-06-29 5 (84) 1 Uppläggning av AR-databas i rutinen UB50 Detta dokument är en sammanslagning av ursprungsdokumentet för projekt 715 Uppläggning av ÅR-databas, UB50 V2.7 2008-09-03 och kompletteringar för projekt UPP T-8304 Komplettering av ÅR-paketet. Här ska AR-databasen läggas upp. Ingående delar ska vara: 1. Beställningsfunktion enligt ladoks nya standard. 2. Javabatchprogram som ska lägga upp den nya AR-databasens individbaserade tabeller. Differens-AR som kommer att förklaras senare ska ingå här. Programmet ska även klara av att producera en fellista. 3. Javabatchprogram som ska lägga upp den nya AR-databasens aggregerade tabeller. Fellista kan bli aktuell här. Ingående tabeller som läggs upp för den individbaserade delen är: 1. ARDEF, här definieras grunddata för aktuell AR-omgång. 2. ARKURS, grunddata för individ. 3. ARHST, HST-data för individ. 4. ARHPR, HPR-data för individ. Ingående tabell för den aggregerade delen är ARAGG. Årsredovisningen summerar alla HST och HPR som har förekommit på lärosätet. Det är sedan möjligt i uttagstjänsterna UB51 och LW08 att göra begränsningar och grupperingar för att titta på de uppgifter användaren vill ha ut. T ex är det möjligt att utesluta eller enbart ta med resultat som är finansierade med studieavgifter.
Per Lindgren/Torgny Fridlund 2016-06-29 6 (84) 1.1 Parametrar till batchprogrammet Beställningsfunktionen ska skicka följande info till batchprogrammet: Typ av körning. Individ, aggregering eller diff-ar. Om diff-ar skickas ordinarie ARDEF:s ARID ARID.ARDEF så att batchprogrammet kan läsa aktuell ARDEF. 1.2 Batchavslut När batchen har gått klart ska ett e-postmeddelande skickas till den person som lade upp beställningen. Sök e-postadress i BATINST saknas den där ta adress från ANVIP för användaren som lade upp beställningen. Saknas e-post även där kan meddelande inte skickas. Meddelandet ska innehålla en beskrivning av hur sammanställning av årsredovisning gick. Rubrik: BATCH], UB50_B Årsredovisning, KLAR Innehåll: Detta är ett automatgenererat meddelande som du inte kan svara på. Körningsresultat: KLAR Körlogg finns att hämta med hjälp av "Hämta fil"-knappen på beställningsformuläret i UB50_B Årsredovisning. Körlogg innehåller fel- och varningslista. Körningen påbörjades 2006-05-18 12:36 och avslutades 2006-05-18 12:36 Har en fellista med innehållet, Det uppstod inga fel vid sammanställning av årsredovisning skapats. Ska e-postmeddelandet ha följande utseende: Rubrik: BATCH], UB50_B Årsredovisning, KLAR Innehåll: Detta är ett automatgenererat meddelande som du inte kan svara på. Körningsresultat: KLAR Körlogg finns att hämta med hjälp av "Hämta fil"-knappen på beställningsformuläret i UB50_B Årsredovisning. Körloggen innehåller inga fel. Körningen påbörjades 2006-05-18 12:36 och avslutades 2006-05-18 12:36 Blev batchen avbruten ska meddelandet ha följande utseende: Rubrik: BATCH], UB50_B Årsredovisning, AVBRUTEN Innehåll: Detta är ett automatgenererat meddelande som du inte kan svara på. Körningsresultat: AVBRUTEN, redovisningen är fryst Körningen påbörjades 2006-05-18 12:36 och avslutades 2006-05-18 12:36
Per Lindgren/Torgny Fridlund 2016-06-29 7 (84) BATCHJOB ska uppdateras med följande för aktuell beställning under förutsättning att spara=j: KORDMARK=J KORDDAT= 2006-05-18 STARTTID= 12:36 SLUTTID= 12:36 2 Batchprogram för individbaserad AR Den här delen bygger till stor del på den gamla VB:n. Den största skillnaden är att lokal serie och klass finns med i tabellverket, utbildningsnivå och uppgift om studieavgift har tillkommit. Det finns 10 tabeller som genererar HST och HPR. Varje tabell bearbetas var för sig förutom för GODKKURS och GODKPROV där man måste ha kontroll på båda tabellerna. Felaktigheter som upptäcks efterhand ska skrivas ut på fellista. Det första som görs är att läsa ARDEF. Om ARDEF.FRYST = J ska körningen avbrytas. Meddelande om detta i körloggen. I början av programmet ska tabellerna ARKURS, ARHST och ARHPR tömmas för aktuell ARomgång. KORDATUM.ARDEF ska blankas om det är ifyllt. Läsning av tabellen SYSTPREF görs för att få rätt styrning av finansieringsform/kurstyp. Finns det en post i SYSTPREF med värdet 'AUTOFINFORM=J' hämtas FINFORM från tabellen ANTLIN om det är kurs inom program och det inte finns någon FINFORM/KURSTYP angiven. Läs ARDEF med parameter från beställningsfunktionen. FROMTERM och TOMTERM används för selektering i HST-delen. FROMDATV, TOMDATV respektive FROMDATK, TOMDATK används för selektering i HPR-delen. En helårsstudent = 60hp. I tabellen ARHST kommer en person med reg 30hp på en kurs få 30/60 = 0,5 i fältet HST. En helårsprestation = 60hp. I tabellen ARHPR kommer en person med resultat 15hp på ett prov få 15/60 = 0,25 i fältet HPR. OBS! Om UB50 framgångsrikt kommit till slutet ska KORDATUM.ARDEF uppdateras med dagens datum.
Per Lindgren/Torgny Fridlund 2016-06-29 8 (84) 3 Lägga upp HST 3.1 Tabeller som uppdateras är följande: ARKURS ARHST 3.2 De tabeller som läses. Först de tabeller som utgör huvudunderlaget: FFGKURS FORTKURS INREGFFG INREGFO UBINDRG UBUTHST 3.3 Övriga tabeller som läses: ANTINR ANTLIN AVGKURS AVGTERM AVGFRIKU AVGFRITE KTILL2 KTILLP KTILLHST KURS KURSUOMR LINJE LOKKURS NAMN PROGPLH PROGLK
Per Lindgren/Torgny Fridlund 2016-06-29 9 (84) PROV PROVINUO PROGKHST SYSTPREF TERMIN UBINSTUD UBUTREG UBUTSTUD 3.4 HST-terminologi Eftersom det finns två typer av HST i dagsläget, verksamhet och kalender måste vi ta hänsyn till detta. Exempel: Vi vill ha HST för V05 och första halvåret 2005. Verksamhetsterminen börjar 050119 och eftersom vi även vill lägga upp kalendertermin måste vi alltid läsa beställd FROMTERM 1 (alltså H04 i det här fallet) för att få med de första 18 dagarna för 2005. Jag kallar detta FROMTERM-1 i den fortsatta texten. FROMTERM-1 skapas utifrån ARDEF.FROMTERM minus 1 termin. Detta gäller inte behandlingen av UBINDRG och UBUTHST. 3.5 Modul för beräkning av HSTV och HSTK En modul för beräkning av HSTV och HSTK ska skapas. Den ska kunna anropas med parametrar och lämna i retur HST-värdena och om något är på fel felkoder. Jag kallar den HST-modulen tillsvidare. Mer om kraven längre ner i texten.
Per Lindgren/Torgny Fridlund 2016-06-29 10 (84) 4 Behandling av FFGKURS Läs FFGKURS och selektera på ARDEF.FROMTERM-1 t.o.m. ARDEF.TOMTERM KURSTAKT får inte vara = 0 eller 00 eller 000. Ingen mer bearbetning på denna post i så fall. OMGANG sätts till 1 om den är blank. FINFORM/KURSTYP ska eventuellt hämtas från ANTLIN. HST-modulen anropas för uträkning av HST, se separat beskrivning. Om något inte gått bra i HST-modulen lämnas ett antal returkoder som måste tas om hand och skrivas ut på fellista. Se feltexterna i beskrivningen av HST-modulen och avsnittet om fellistan. Returkod=1: Utskrift på fellista med text nr 20 men behandlingen fortsätter Returkod=3: Utskrift på fellista med text nr 22 men behandlingen fortsätter Returkod=4: Utskrift på fellista med text nr 21 men behandlingen fortsätter. Returkod=9: Utskrift på fellista med text nr 01 och ingen mer bearbetning på denna post. Om vi är på FROMTERM-1 måste det returnerade värdet LOK2 från HST-modulen vara större än noll annars ingen mer bearbetning på denna post. Om FFGKURS.ROGR <>, läs tabell LINJE för att hämta eventuell terminsregistreringsmarkering; LINJE.LINJEREG. Den används för att veta vilket sätt man ska använda för att göra fördelning av poängen till ARHST. Dessutom ska programmets tillträdesnivå hämtas; LINJE. TILTNIVA, Om FFGKURS.ROGR <>, läs tabell ANTLIN med FFGKURS.PNR, FFGKURS.PROGR som nycklar för att hämta ev kull; ANTLIN.KULL. Om FFGKURS.ROGR <>, läs tabell ANTLIN med FFGKURS.PNR som nyckel. Om det finns post(er) i ANTLIN för aktuell termin och program är personen programnybörjare, annars inte.
Per Lindgren/Torgny Fridlund 2016-06-29 11 (84) Läs tabellerna FFGKURS, INREGFFG (dock ej med INOMKORT = J ), UBINDRG och UBUTREG med FFGKURS.PNR som nyckel. Om det inte finns någon post med registreringstermin före aktuell termin i någon av tabellerna är personen är högskolenybörjare, annars inte. Läs tabell KTILL2 för att hämta anmälningskod; KTILL2.KOD. Läs tabell KURS för att hämta nivå, scbämne, institution, utbildningsniva och djup; KURS.KNIVAUHA, KURS.KAGRPSCB, KURS.INST, KURS.UTBNIVA, KURS.DJUP. Saknas KURS utskrift på fellista med text nr 01. Ingen mer bearbetning av denna post i så fall. Läs tabell UBINSTUD för att se om det är en inresande student för aktuell termin; UBINSTUD. PNR och UBINSTUD.TERMIN. Läs tabell LOKKURS med nycklar ARDEF.SERIE, FFGKURS.KURS för att hämta LOKKOD. Läs tabellen NAMN med FFGKURS.PNR som nyckel. Om NAMN.SEKEL <> använd NAMN.SEKEL för att skapa födelseår, annars använd 19. 4.1 Uppdatering av ARKURS. ARID Aktuellt ARID PNR FFGKURS.PNR KURS FFGKURS.KURS TERMIN FFGKURS.TERMIN eller FFGKURS.TERMIN+1 enligt nedan KURSTAKT FFGKURS.KURSTAKT KURSTID FFGKURS.KURSTID UNDFORM FFGKURS.UNDFORM KURSORT FFGKURS.ORT OMGANG FFGKURS.OMGANG FINFORM FFGKURS.KURSTYP/blankunderscore eller ANTLIN. FINFORM/blankunderscore TERMORDN <blank>1 för poster från FFGKURS PROGR FFGKURS.PROGR PROGINR FFGKURS.PROGINR/blankunderscore
Per Lindgren/Torgny Fridlund 2016-06-29 12 (84) LOKKOD NIVA DJUP UTBNIVA AMNESCB ANMKOD KON FODDAR UPROGRAM UKOMMER STARTTER KULL HSKNY PROGNY TILTNIVA STUDAVG LOKKURS.LOKKOD eller blankt KURS.KNIVAUHA KURS.DJUP KURS.UTBNIVA KURS.KAGRPSCB KTILL2. KOD eller blankt M/K NAMN.SEKEL + två första i FFGKURS.PNR eller 19 + två första i FFGKURS.PNR UBINSTUD.UPROG eller blankt J om UBINSTUD finns annars blankt TERMIN.FFGKURS ANTLIN.KULL eller blankt J eller blankt J eller blankt LINJE.TILTNIVA eller blankt Se kapitel Studieavgifter 4.2 Uppdatering av ARHST: kursregistreringsvarianten Fördelning görs i första hand utifrån tabellen KTILLHST. En ARHST skrivs för varje förekomst i KTILLHST. Testa även med blank kurstyp om KTILLHST saknas. Saknas KTILLHST görs fördelning enligt tabellen KURSUOMR. En ARHST skrivs för varje förekomst i KURSUOMR. Saknas KURSUOMR helt blir det utskrift på fellista med text nr 05. Ingen mer bearbetning av denna post i så fall. ARID PNR KURS TERMIN INST UTBOMR Aktuellt ARID FFGKURS.PNR FFGKURS.KURS FFGKURS.TERMIN eller TERMIN + 1 enligt nedan KTILLHST.INST annars KURS.INST KTILLHST.UTBOMR annars KURSUOMR.UTBOMR
Per Lindgren/Torgny Fridlund 2016-06-29 13 (84) ERSOMR blankunderscore tillsvidare Om vi inte är på FROMTERM-1 räknas HST på detta vis. Det här är normalfallet. Aktuell termin ligger inom beställt intervall. HSTV PROCENT x HST från HST-modulen * HSTK PROCENT x LOK1 från HST-modulen * Om vi inte är på sista terminen i beställningsintervallet och LOK2 > 0 räknas HST så här. Aktuell termin adderas med 1 för att kunna lägga in korrekt termin för denna post som handlar om just nästa termin. Observera att en ny ARKURS ska skapas i detta läge. HSTV Noll HSTK PROCENT x LOK2 från HST-modulen * * procent kommer antingen från KTILLHST eller från KURSUOMR 4.3 Uppdatering av ARHST: terminsregistreringsvarianten Fördelning görs i första hand utifrån tabellen PROGKHST. En ARHST skrivs för varje förekomst i PROGKHST. Saknas PROGKHST görs fördelning enligt KURSUOMR. En ARHST skrivs för varje förekomst i KURSUOMR. Saknas KURSUOMR helt blir det utskrift på fellista med text nr 05. Ingen mer bearbetning av denna post i så fall. ARID PNR KURS TERMIN INST UTBOMR ERSOMR Aktuellt ARID FFGKURS.PNR FFGKURS.KURS FFGKURS.TERMIN eller TERMIN + 1 enligt nedan PROGKHST.INST annars KURS.INST PROGKHST.UTBOMR annars KURSUOMR.UTBOMR blankunderscore tillsvidare Om vi inte är på FROMTERM-1 räknas HST på detta vis. Det här är normalfallet. Aktuell termin ligger inom beställt intervall. HSTV PROCENT * HST från HST-modulen *
Per Lindgren/Torgny Fridlund 2016-06-29 14 (84) HSTK PROCENT * LOK1 från HST-modulen * Om vi inte är på sista terminen och LOK2 > 0 räknas HST så här. Aktuell termin adderas med 1 för att kunna lägga in korrekt termin för denna post som handlar om just nästa termin. Observera att en ny ARKURS ska skapas i detta läge. HSTV Noll HSTK PROCENT * LOK2 från HST-modulen * * procent kommer antingen från PROGKHST eller från KURSUOMR
Per Lindgren/Torgny Fridlund 2016-06-29 15 (84) 5 Behandling av INREGFFG Läs INREGFFG och selektera på ARDEF.FROMTERM-1 t.o.m. ARDEF.TOMTERM. Kurstakt får inte vara = 0 eller 00 eller 000. Ingen mer bearbetning på denna post i så fall. Tidiga avbrott tas inte med. Testa om fältet INOMKORT = J. I så fall ingen mer bearbetning på denna post. Om OMGANG är blank, sätt den till 1. FINFORM/KURSTYP ska eventuellt hämtas från ANTLIN. HST-modulen anropas för uträkning av HST, se separat beskrivning. Om något inte gått bra i HST-modulen lämnas ett antal returkoder som måste tas om hand och skrivas ut på fellista. Se feltexterna i beskrivningen av HST-modulen och avsnittet om fellistan. Returkod=1: Utskrift på fellista med text nr 20 men behandlingen fortsätter Returkod=3: Utskrift på fellista med text nr 22 men behandlingen fortsätter Returkod=4: Utskrift på fellista med text nr 21 men behandlingen fortsätter. Returkod=9: Utskrift på fellista med text nr 01 och ingen mer bearbetning på denna post. Om vi är på FROMTERM-1 måste det returnerade värdet LOK2 från HST-modulen vara större än noll annars ingen mer bearbetning av aktuell post. Om INREFFG.ROGR <>, läs tabell LINJE för att hämta eventuell terminsregistreringsmarkering; LINJE.LINJEREG. Den används för att veta vilket sätt man ska använda för att göra fördelning av poängen till ARHST. Dessutom ska programmets tillträdesnivå hämtas; LINJE. TILTNIVA, Om INREGFFG.ROGR <>, läs tabell ANTLIN med INREGFFG.PNR, INREGGFG.PROGR som nyckel för att hämta ev kull; ANTLIN.KULL. Om INREGFFG.ROGR <>, läs tabell ANTLIN med INREGFFG.PNR som nyckel. Om det finns post(er) i ANTLIN och det inte finns en post (ANTLIN.STARTTER) som ligger före aktuell termin är personen programnybörjare, annars inte.
Per Lindgren/Torgny Fridlund 2016-06-29 16 (84) Läs tabellerna FFGKURS, INREGFFG (dock ej med INOMKORT = J ), UBINDRG och UBUTREG med FFGKURS.PNR som nyckel. Om det inte finns någon post med registreringstermin före aktuell termin i någon av tabellerna är personen är högskolenybörjare, annars inte. Läs tabell KTILL2 för att hämta anmälningskod. KOD.KTILL2. Läs tabell KURS för att hämta nivå, scbämne, institution, utbildningsniva och djup; KURS.KNIVAUHA, KURS.KAGRPSCB, KURS.INST, KURS.UTBNIVA, KURS.DJUP. Saknas KURS utskrift på fellista med text nr 01. Ingen mer bearbetning av denna post i så fall. Läs tabell UBINSTUD för att se om det är en inresande student för aktuell termin; UBINSTUD. PNR och UBINSTUD.TERMIN. Läs tabell LOKKURS med nycklar ARDEF.SERIE, INREGFFG.KURS för att hämta LOKKOD. Läs tabellen NAMN med INREGFFG.PNR som nyckel. Om NAMN.SEKEL <> använd NAMN.SEKEL för att skapa födelseår, annars använd 19. 5.1 Uppdatering av ARKURS ARID Aktuellt ARID PNR INREGFFG.PNR KURS INREGFFG.KURS TERMIN INREGFFG.TERMIN eller INREGFFG.TERMIN+1 enligt nedan KURSTAKT INREGFFG.KURSTAKT KURSTID INREGFFG.KURSTID UNDFORM INREGFFG.UNDFORM KURSORT INREGFFG.ORT OMGANG INREGFFG.OMGANG FINFORM INREGFFG.KURSTYP/blankunderscore eller ANTLIN.FINFORM/blankunderscore TERMORDN <blank>1 för poster från INREGFFG
Per Lindgren/Torgny Fridlund 2016-06-29 17 (84) PROGR PROGINR LOKKOD NIVA DJUP UTBNIVA AMNESCB ANMKOD KON FODDAR UPROGRAM UKOMMER STARTTER KULL HSKNY PROGNY TILTNIVA STUDAVG INREGFFG.PROGR INREGFFG.PROGINR/blankunderscore LOKKURS.LOKKOD eller blankt KURS.KNIVAUHA KURS.DJUP KURS.UTBNIVA KURS.KAGRPSCB KTILL2.KOD eller blank M/K NAMN.SEKEL + två första i INREGFFG.PNR eller 19 + två första i FFGKURS.PNR UBINSTUD.UPROG eller blankt J om UBINSTUD finns annars blankt. INREGFFG.TERMIN ANTLIN.KULL eller blankt J eller blankt J eller blankt LINJE.TILTNIVA eller blankt Se kapitel Studieavgifter 5.2 Uppdatering av ARHST: kursregistreringsvarianten Fördelning görs i första hand utifrån tabellen KTILLHST. En ARHST skrivs för varje förekomst i KTILLHST. Testa även med blank kurstyp om KTILLHST saknas. Saknas KTILLHST görs fördelning enligt tabellen KURSUOMR. En ARHST skrivs för varje förekomst i KURSUOMR. Saknas KURSUOMR helt blir det utskrift på fellista med text nr 05. Ingen mer bearbetning av denna post i så fall. ARID PNR KURS Aktuellt ARID INREGFFG.PNR INREGFFG.KURS
Per Lindgren/Torgny Fridlund 2016-06-29 18 (84) TERMIN INST UTBOMR ERSOMR INREGFFG.TERMIN eller INREGFFG.TERMIN+1 enligt nedan KTILLHST.INST annars KURS.INST KTILLHST.UTBOMR annars KURSUOMR.UTBOMR blankunderscore tillsvidare Om vi inte är på FROMTERM-1 räknas HST på detta vis. Det här är normalfallet. Aktuell termin ligger inom beställt intervall. HSTV PROCENT x HST från HST-modulen * HSTK PROCENT x LOK1 från HST-modulen * Om vi inte är på sista terminen och LOK2 > 0 räknas HST så här. Aktuell termin adderas med 1 för att kunna lägga in korrekt termin för denna post som handlar om just nästa termin. Observera att en ny ARKURS ska skapas i detta läge. HSTV Noll HSTK PROCENT x LOK2 från HST-modulen * * procent kommer antingen från KTILLHST eller från KURSUOMR 5.3 Uppdatering av ARHST: terminsregistreringsvarianten Fördelning görs i första hand utifrån tabellen PROGKHST. En ARHST skrivs för varje förekomst i PROGKHST. Saknas PROGKHST görs fördelning enligt KURSUOMR. En ARHST skrivs för varje förekomst i KURSUOMR. Saknas KURSUOMR helt blir det utskrift på fellista med text nr 05. Ingen mer bearbetning av denna post i så fall. ARID PNR KURS TERMIN INST UTBOMR ERSOMR Aktuellt ARID INREGFFG.PNR INREGFFG.KURS INREGFFG.TERMIN eller INREGFFG.TERMIN+1 enl nedan PROGKHST.INST annars KURS.INST PROGKHST.UTBOMR annars KURSUOMR.UTBOMR blankunderscore tillsvidare
Per Lindgren/Torgny Fridlund 2016-06-29 19 (84) Om vi inte är på FROMTERM-1 räknas HST på detta vis. Det här är normalfallet. Aktuell termin ligger inom beställt intervall. HSTV PROCENT * HST från HST-modulen * HSTK PROCENT * LOK1 från HST-modulen * Om vi inte är på sista terminen och LOK2 > 0 räknas HST så här. Aktuell termin adderas med 1 för att kunna lägga in korrekt termin för denna post som handlar om just nästa termin. Observera att en ny ARKURS ska skapas i detta läge. HSTV Noll HSTK PROCENT * LOK2 från HST-modulen * * procent kommer antingen från PROGKHST eller från KURSUOMR
Per Lindgren/Torgny Fridlund 2016-06-29 20 (84) 6 Behandling av FORTKURS Läs FORTKURS och selektera på ARDEF.FROMTERM-1 t.o.m. ARDEF.TOMTERM. Läs FFGKURS för att hämta kurstillfällesparametrarna och gör nedanstående kontroller. Saknas FFGKURS skriv på fellista med text nr 04, avbryt bearbetningen för denna FORTKURS. KURSTAKT får inte vara = 0 eller 00 eller 000. Ingen mer bearbetning på denna post i så fall. Om omgång är blank, sätt den till 1. FINFORM/KURSTYP ska eventuellt hämtas från ANTLIN. HST-modulen anropas för uträkning av HST, se separat beskrivning. Om något inte gått bra i HST-modulen lämnas ett antal returkoder som måste tas om hand och skrivas ut på fellista. Se feltexterna i beskrivningen av HST-modulen och avsnittet om fellistan. Returkod=1: Utskrift på fellista med text nr 20 men behandlingen fortsätter Returkod=4: Utskrift på fellista med text nr 21 men behandlingen fortsätter. Returkod=2: Utskrift på fellista med text nr 02 ingen mer bearbetning av denna post. Returkod=5: Utskrift på fellista med text nr 03 ingen mer bearbetning av denna post. Returkod=9: Utskrift på fellista med text nr 01 ingen mer bearbetning på denna post. Om vi är på FROMTERM-1 måste det returnerade värdet LOK2 från HST-modulen vara större än noll annars ingen mer bearbetning av denna post. Om FFGKURS.ROGR <>, läs tabell LINJE för att hämta eventuell terminsregistreringsmarkering; LINJE.LINJEREG. Den används för att veta vilket sätt man ska använda för att göra fördelning av poängen till ARHST. Dessutom ska programmets tillträdesnivå hämtas; LINJE. TILTNIVA, Om FFGKURS.ROGR <>, läs tabell ANTLIN med FORTKURS.PNR, FFGKURS.PROGR som nycklar för att hämta ev kull; ANTLIN.KULL.
Per Lindgren/Torgny Fridlund 2016-06-29 21 (84) Om FFGKURS.ROGR <>, läs tabell ANTLIN med FORTKURS.PNR som nyckel. Om det finns post(er) i ANTLIN och det inte finns en post (ANTLIN.STARTTER) som ligger före aktuell termin är personen programnybörjare, annars inte. Läs tabellerna FFGKURS, INREGFFG (dock ej med INOMKORT = J ), UBINDRG och UBUTREG med FFGKURS.PNR som nyckel. Om det inte finns någon post med registreringstermin före aktuell termin i någon av tabellerna är personen är högskolenybörjare, annars inte. Läs tabell KTFORT2 för att hämta anmälningskod. KOD.KTFORT2. Läs tabell KURS för att hämta nivå, scbämne, institution, utbildningsniva och djup; KURS.KNIVAUHA, KURS.KAGRPSCB, KURS.INST, KURS.UTBNIVA, KURS.DJUP. Saknas KURS utskrift på fellista med text nr 01. Ingen mer bearbetning av denna post i så fall. Läs tabell UBINSTUD för att se om det är en inresande student för aktuell termin; UBINSTUD. PNR och UBINSTUD.TERMIN. Läs tabell LOKKURS med nycklar ARDEF.SERIE, FORTKURS.KURS för att hämta LOKKOD. Läs tabellen NAMN med FORTKURS.PNR som nyckel. Om NAMN.SEKEL <> använd NAMN.SEKEL för att skapa födelseår, annars använd 19. 6.1 Uppdatering av ARKURS ARID Aktuellt ARID PNR FORTKURS.PNR KURS FORTKURS.KURS TERMIN FORTKURS.TERMIN eller FORTKURS.TERMIN+1 enligt nedan KURSTAKT FFGKURS.KURSTAKT KURSTID FFGKURS.KURSTID UNDFORM FFGKURS.UNDFORM KURSORT FFGKURS.ORT
Per Lindgren/Torgny Fridlund 2016-06-29 22 (84) OMGANG FINFORM TERMORDN PROGR PROGINR LOKKOD NIVA UTBNIVA DJUP AMNESCB ANMKOD KON FODDAR UPROGRAM UKOMMER STARTTER KULL HSKNY PROGNY TILTNIVA STUDAVG FFGKURS.OMGANG FFGKURS.KURSTYP/blankunderscore eller ANTLIN.FINFORM/blankunderscore FORTKURS:TERMORDN FFGKURS.PROGR FFGKURS.PROGINR/blankunderscore LOKKURS.LOKKOD eller blankt KURS.KNIVAUHA KURS.UTBNIVA KURS.DJUP KURS.KAGRPSCB KTFORT2.KOD eller blank M/K NAMN.SEKEL + två första i FORTKURS.PNR eller 19 + två första i FORTKURS.PNR UBINSTUD.UPROG eller blankt J om UBINSTUD finns annars blankt. FFGKURS.TERMIN eller INREGFFG.TERMIN ANTLIN.KULL eller blankt J eller blankt J eller blankt LINJE.TILTNIVA eller blankt Se kapitel Studieavgifter 6.2 Uppdatering av ARHST: kursregistreringsvarianten Fördelning görs i första hand utifrån tabellen KTILLHST. En ARHST skrivs för varje förekomst i KTILLHST. Testa även med blank kurstyp om KTILLHST saknas. Saknas KTILLHST görs fördelning enligt tabellen KURSUOMR. En ARHST skrivs för varje förekomst i KURSUOMR. Saknas KURSUOMR helt utskrift på fellistan med fel nr 05. Ingen mer bearbetning av denna post.
Per Lindgren/Torgny Fridlund 2016-06-29 23 (84) ARID PNR KURS TERMIN INST UTBOMR ERSOMR Aktuellt ARID FORTKURS.PNR FORTKURS.KURS FORTKURS.TERMIN eller FORTKURS.TERMIN +1enl nedan KTILLHST.INST annars KURS.INST KTILLHST.UTBOMR annars KURSUOMR.UTBOMR blankunderscore tillsvidare Om vi inte är på FROMTERM-1 räknas HST på detta vis. Det här är normalfallet. Aktuell termin ligger inom beställt intervall. HSTV PROCENT x HST från HST-modulen * HSTK PROCENT x LOK1 från HST-modulen * Om vi inte är på sista terminen i beställningsintervallet och LOK2 > 0 räknas HST så här. Aktuell termin adderas med 1 för att kunna lägga in korrekt termin för denna post som handlar om just nästa termin. Observera att en ny ARKURS ska skapas i detta läge. HSTV Noll HSTK PROCENT x LOK2 från HST-modulen * * procent kommer antingen från KTILLHST eller från KURSUOMR Observera att för FORTKURS kan det vid inlägg i ARHST bli duplicate key. Då måste posten som redan finns läsas in, de värden som finns plussas till de vi räknat fram och posten återskrivs.
Per Lindgren/Torgny Fridlund 2016-06-29 24 (84) 6.3 Uppdatering av ARHST: terminsregistreringsvarianten Fördelning görs i första hand utifrån tabellen PROGKHST. En ARHST skrivs för varje förekomst i PROGKHST. Saknas PROGKHST görs fördelning enligt KURSUOMR. En ARHST skrivs för varje förekomst i KURSUOMR. Saknas KURSUOMR helt utskrift på fellistan med fel nr 05. Ingen mer bearbetning av denna post. ARID PNR KURS TERMIN INST UTBOMR ERSOMR Aktuellt ARID FORTKURS.PNR FORTKURS.KURS FORTKURS.TERMIN eller FORTKURS.TERMIN +1 enl nedan PROGKHST.INST annars KURS.INST PROGKHST.UTBOMR annars KURSUOMR.UTBOMR blankunderscore tillsvidare Om vi inte är på FROMTERM-1 räknas HST på detta vis. Det här är normalfallet. Aktuell termin ligger inom beställt intervall. HSTV PROCENT * HST från HST-modulen * HSTK PROCENT * LOK1 från HST-modulen * Om vi inte är på sista terminen och LOK2 > 0 räknas HST så här. Aktuell termin adderas med 1 för att kunna lägga in korrekt termin för denna post som handlar om just nästa termin. Observera att en ny ARKURS ska skapas i detta läge. HSTV Noll HSTK PROCENT * LOK2 från HST-modulen * * procent kommer antingen från PROGKHST eller från KURSUOMR Observera att för FORTKURS kan det vid inlägg i ARHST bli duplicate key. Då måste posten som redan finns läsas in, de värden som finns plussas till de vi räknat fram och posten återskrivs.
Per Lindgren/Torgny Fridlund 2016-06-29 25 (84) 7 Behandling av INREGFO Läs INREGFO selektera på ARDEF.FROMTERM-1 t.o.m. ARDEF.TOMTERM. Om INREGFO.INOMKORT = J ska ingen behandling göras av aktuell post. Läs FFGKURS och gör nedanstående kontroller. Saknas FFGKURS skriv på fellista med fel nr 04 avbryt bearbetningen för denna INREGFO-post. Kurstakt får inte vara = 0 eller 00 eller 000. Ingen mer bearbetning på denna post. Om omgång är blank, sätt den till 1 FINFORM/KURSTYP ska eventuellt hämtas från ANTLIN. HST-modulen anropas för uträkning av HST, se separat. Om något inte gått bra i HST-modulen lämnas ett antal returkoder som måste tas om hand och skrivas ut på fellista. Se feltexterna i beskrivningen av HST-modulen och avsnittet om fellistan. Returkod=1: Utskrift på fellista med text nr 20 men behandlingen fortsätter Returkod=4: Utskrift på fellista med text nr 21 men behandlingen fortsätter. Returkod=2: Utskrift på fellista med text nr 02 ingen mer bearbetning av denna post. Returkod=5: Utskrift på fellista med text nr 03 ingen mer bearbetning av denna post. Returkod=9: Utskrift på fellista med text nr 01 ingen mer bearbetning på denna post. Om vi är på FROMTERM-1 måste det returnerade värdet LOK2 från HST-modulen vara större än noll annars ingen mer bearbetning av denna post. Om FFGKURS.ROGR <>, läs tabell LINJE för att hämta eventuell terminsregistreringsmarkering; LINJE.LINJEREG. Den används för att veta vilket sätt man ska använda för att göra fördelning av poängen till ARHST. Dessutom ska programmets tillträdesnivå hämtas; LINJE. TILTNIVA,
Per Lindgren/Torgny Fridlund 2016-06-29 26 (84) Om FFGKURS.ROGR <>, läs tabell ANTLIN med INREGFO.PNR, FFGKURS.PROGR som nycklar för att hämta ev kull; ANTLIN.KULL. Om FFGKURS.ROGR <>, läs tabell ANTLIN med INREGFO.PNR som nyckel. Om det finns post(er) i ANTLIN och det inte finns en post (ANTLIN.STARTTER) som ligger före aktuell termin är personen program-nybörjare, annars inte. Läs tabellerna FFGKURS, INREGFFG (dock ej med INOMKORT = J ), UBINDRG och UBUTREG med INREGFO.PNR som nyckel. Om det inte finns någon post med registreringstermin före aktuell termin i någon av tabellerna är personen är högskolenybörjare, annars inte. Läs tabell KTFORT2 för att hämta anmälningskod. KOD.KTFORT2. Läs tabell KURS för att hämta nivå, scbämne, institution, utbildningsniva och djup; KURS.KNIVAUHA, KURS.KAGRPSCB, KURS.INST, KURS.UTBNIVA, KURS.DJUP. Saknas KURS utskrift på fellista med text nr 01. Ingen mer bearbetning av denna post i så fall. Läs tabell UBINSTUD för att se om det är en inresande student för aktuell termin; UBINSTUD. PNR och UBINSTUD.TERMIN. Läs tabell LOKKURS med nycklar ARDEF.SERIE, INREGFO.KURS för att hämta LOKKOD. Läs tabellen NAMN med INREGFO.PNR som nyckel. Om NAMN.SEKEL <> använd NAMN.SEKEL för att skapa födelseår, annars använd 19. 7.1 Uppdatering av ARKURS ARID Aktuellt ARID PNR INREGFO.PNR KURS INREGFO.KURS TERMIN INREGFO.TERMIN eller INREGFO.TERMIN+1 enl nedan KURSTAKT FFGKURS.KURSTAKT KURSTID FFGKURS.UNDFORM UNDFORM FFGKURS.UNDFORM
Per Lindgren/Torgny Fridlund 2016-06-29 27 (84) KURSORT OMGANG FINFORM TERMORDN PROGR PROGINR LOKKOD NIVA DJUP UTBNIVA AMNESCB ANMKOD KON FODDAR UPROGRAM UKOMMER STARTTER KULL HSKNY PROGNY TILTNIVA STUDAVG FFGKURS.ORT FFGKURS.OMGANG FFGKURS.KURSTYP/blankunderscore eller ANTLIN.FINFORM/blankunderscore INREGFO.TERMORDN FFGKURS.PROGR FFGKURS.PROGINR/blankunderscore LOKKURS.LOKKOD eller blankt KURS.KNIVAUHA KURS.DJUP KURS.UTBNIVA KURS.AGRPSCB KTFORT2.KOD eller blank M/K NAMN.SEKEL + två första i INREGFO.PNR eller 19 + två första i INREGFO.PNR UBINSTUD.UPROG eller blankt J om UBINSTUD finns annars blankt. FFGKURS.TERMIN eller INREGFFG.TERMIN ANTLIN.KULL eller blankt J eller blankt J eller blankt LINJE.TILTNIVA eller blankt Se kapitel Studieavgifter
Per Lindgren/Torgny Fridlund 2016-06-29 28 (84) 7.2 Uppdatering av ARHST: kursregistreringsvarianten Fördelning görs i första hand utifrån tabellen KTILLHST. En ARHST skrivs för varje förekomst i KTILLHST. Testa även med blank kurstyp om KTILLHST saknas. Saknas KTILLHST görs fördelning enligt tabellen KURSUOMR. En ARHST skrivs för varje förekomst i KURSUOMR. Saknas KURSUOMR helt utskrift på fellistan med text nr 05 ingen mer bearbetning av denna post. ARID PNR KURS TERMIN INST UTBOMR ERSOMR Aktuellt ARID INREGFO.PNR INREGFO.KURS INREGFO.TERMIN eller INREGFO.TERMIN +1 enl nedan KTILLHST.INST annars KURS.INST KTILLHST.UTBOMR annars KURSUOMR.UTBOMR blankunderscore tillsvidare Om vi inte är på FROMTERM-1 räknas HST på detta vis. Det här är normalfallet. Aktuell termin ligger inom beställt intervall. HSTV PROCENT x HST från HST-modulen * HSTK PROCENT x LOK1 från HST-modulen * Om vi inte är på sista terminen i beställningsintervallet och LOK2 > 0 räknas HST så här. Aktuell termin adderas med 1 för att kunna lägga in korrekt termin för denna post som handlar om just nästa termin. Observera att en ny ARKURS ska skapas i detta läge. HSTV Noll HSTK PROCENT x LOK2 från HST-modulen * * procent kommer antingen från KTILLHST eller från KURSUOMR
Per Lindgren/Torgny Fridlund 2016-06-29 29 (84) 7.3 Uppdatering av ARHST: terminsregistreringsvarianten Fördelning görs i första hand utifrån tabellen PROGKHST. En ARHST skrivs för varje förekomst i PROGKHST. Saknas PROGKHST görs fördelning enligt KURSUOMR. En ARHST skrivs för varje förekomst i KURSUOMR. Saknas KURSUOMR helt utskrift på fellistan med text nr 05 ingen mer bearbetning av denna post. ARID PNR KURS TERMIN INST UTBOMR ERSOMR Aktuellt ARID INREGFO.PNR INREGFO.KURS INREGFO.TERMIN eller INREGFO.TERMIN +1 enl nedan PROGKHST.INST annars KURS.INST PROGKHST.UTBOMR annars KURSUOMR.UTBOMR blankunderscore tillsvidare Om vi inte är på FROMTERM-1 räknas HST på detta vis. Det här är normalfallet. Aktuell termin ligger inom beställt intervall. HSTV PROCENT * HST från HST-modulen * HSTK PROCENT * LOK1 från HST-modulen * Om vi inte är på sista terminen och LOK2 > 0 räknas HST så här. Aktuell termin adderas med 1 för att kunna lägga in korrekt termin för denna post som handlar om just nästa termin. Observera att en ny ARKURS ska skapas i detta läge. HSTV Noll HSTK PROCENT * LOK2 från HST-modulen * * procent kommer antingen från PROGKHST eller från KURSUOMR
Per Lindgren/Torgny Fridlund 2016-06-29 30 (84) 8 Behandling av UBINDRG Läs UBINDRG och selektera. Här gäller inte de regler om FROMTERM-1 som vi hållit oss till tidigare. Selektering görs på beställd from- och tomtermin. Läs tabell PROV om kurs och provkod finns i posten. Läs tabellerna FFGKURS, INREGFFG (dock ej med INOMKORT = J ), UBINDRG och UBUTREG med INREGFO.PNR som nyckel. Om det inte finns någon post med registreringstermin före aktuell termin i någon av tabellerna är personen är högskolenybörjare, annars inte. Läs tabell KURS för att hämta nivå, scbämne, institution, utbildningsniva och djup; KURS.KNIVAUHA, KURS.KAGRPSCB, KURS.INST, KURS.UTBNIVA, KURS.DJUP. Saknas KURS utskrift på fellista med text nr 01. Ingen mer bearbetning av denna post i så fall. Läs tabell UBINSTUD för att se om det är en inresande student för aktuell termin; UBINSTUD. PNR och UBINSTUD.TERMIN. Om kurs finns, läs tabell LOKKURS med nycklar ARDEF.SERIE, UBINDRG.KURS för att hämta LOKKOD. Läs tabellen NAMN med UBINDRG.PNR som nyckel. Om NAMN.SEKEL <> använd NAMN.SEKEL för att skapa födelseår, annars använd 19. Uppdatering av ARHST på två alternativa sätt beroende på om kurs och provkod finns eller om det är en fritextkurs som sätts till XXXXXX.
Per Lindgren/Torgny Fridlund 2016-06-29 31 (84) 8.1 Uppdatering av ARHST XXXXXX ARID Aktuellt ARID PNR UBINDRG.PNR KURS XXXXXX TERMIN UBINDRG.TERMIN INST UBINDRG.INST UTBOMR UBINDRG.UTBOMR ERSOMR blankunderscore tillsvidare HSTV UBINDRG.POANG /60 HSTK UBINDRG.POANG /60 Det kan för XXXXXX finnas flera poster på samma PNR, KURS, TERMIN, INST och UTBOMR. För dessa får man summera poängen och lägga in i en ARHST. 8.2 Uppdatering av ARHST, när provkod finns Fördela på utbildningsområde, Fördela från tabellen PROVINUO, en ARHST för varje PROVINUO. Saknas PROVINUO sker fördelning från KURSUOMR, en ARHST för varje KURSUOMR. På grund av disharmonin mellan UBINDRG som har kurs+prov och ARHST som inte har prov måste man summera framräknad poäng till det som man eventuellt redan lagt in. UBINDRG kan alltså ha flera poster med samma kurs men olika prov. ARID Aktuellt ARID PNR UBINDRG.PNR KURS UBINDRG.KURS TERMIN UBINDRG.TERMIN INST PROVINUO.INST UTBOMR PROVINUO.UTBOMR ERSOMR blankunderscore tillsvidare HSTV PROVINUO.PROCENT * PROV.POANG /60 HSTK PROVINUO.PROCENT * PROV.POANG/60 Eller om KURSUOMR används. Saknas KURSUOMR helt blir det utskrift på fellistan med text nr 05 och ingen mer bearbetning av aktuell post.
Per Lindgren/Torgny Fridlund 2016-06-29 32 (84) ARID Aktuellt ARID PNR UBINDRG.PNR KURS UBINDRG.KURS TERMIN UBINDRG.TERMIN INST PROV.INST om saknas KURS.INST UTBOMR KURSUOMR.UTBOMR ERSOMR blankunderscore tillsvidare HSTV KURSUOMR.PROCENT * PROV.POANG /60 HSTK KURSUOMR.PROCENT * PROV.POANG /60 8.3 Uppdatering av ARKURS ARID Aktuellt ARID PNR UBINDRG.PNR KURS UBINDRG.KURS eller XXXXXX TERMIN UBINDRG.TERMIN KURSTAKT blankunderscore KURSTID blankunderscore UNDFORM blankunderscore KURSORT UBINDRG.ORT OMGANG 1 FINFORM UBINDRG.FINFORM/blankunderscore TERMORDN <blank>1 för poster från UBINDRG PROGR blankt PROGINR blankunderscore LOKKOD LOKKURS.LOKKOD eller blankt NIVA Om UBINDRG.NIVA=blank KURS.KNIVAUHA Om UBINDRG.NIVA<>blank UBINDRG.NIVA DJUP KURS.DJUP eller blankt UTBNIVA Om UBINDRG.UTBNIVA = blank KURS.UTBNIVA Om UBINDRG.UTBNIVA<>blank UBINDRG.UTBNIVA AMNESCB KURS.KAGRPSCB eller blankt
Per Lindgren/Torgny Fridlund 2016-06-29 33 (84) ANMKOD KON FODDAR UPROGRAM UKOMMER STARTTER KULL HSKNY PROGNY TILTNIVA STUDAVG blankt M/K NAMN.SEKEL + två första i UBINDRG.PNR eller 19 + två första i UBINDRG.PNR UBINSTUD.UPROG eller blankt J om UBINSTUD finns annars blankt. blankt blankt J eller blankt blankt blankt N (inresande utbytesstudenter betalar inte studieavgift) Det kan finnas flera poster i UBINDRG som resulterar i bara en ARKURS. För dessa får man ta värdena från den första UBINDRG-posten.
Per Lindgren/Torgny Fridlund 2016-06-29 34 (84) 9 Behandling av UBUTHST Läs UBUTHSToch selektera. Här gäller inte de regler om FROMTERM-1 som vi hållit oss till tidigare. Selektering görs på beställd from- och tomtermin. UBUTHST.REG måste vara = J' för att behandling ska ske. Läs UBUTSTUD för att hämta utbytesprogram. UBUTSTUD.PNR UBUTSTUD.UTBNR UBUTSTUD.TERMIN Läs UBUTREG för att hämta program och inriktning samt FINFORM. UBUTREG.PNR UBUTREG.UTBNR UBUTREG.TERMIN Läs tabellerna FFGKURS, INREGFFG (dock ej med INOMKORT = J ), UBINDRG och UBUTREG med UBUTHST.PNR som nyckel. Om det inte finns någon post med registreringstermin före aktuell termin i någon av tabellerna är personen är högskolenybörjare, annars inte. Om UBUTREG.ROGR <>, läs tabell LINJE för att hämta programmets tillträdesnivå; LINJE. TILTNIVA, Om UBUTREG.PROGR <>, läs tabell ANTLIN med UBUTHST.PNR, UTUTREG:PROGR som nycklar för att hämta ev kull; ANTLIN.KULL. Om UBUTREG.PROGR <>, läs tabell ANTLIN med UBUTHST.PNR som nyckel. Om det finns post(er) i ANTLIN och det inte finns en post (ANTLIN.STARTTER) som ligger före aktuell termin är personen programnybörjare, annars inte. Läs tabellerna FFGKURS, INREGFFG (dock ej med INOMKORT = J ), UBINDRG och UBUTREG med UBUTHST.PNR som nyckel. Om det inte finns någon post med registreringstermin före aktuell termin i någon av tabellerna är personen är högskolenybörjare, annars inte. Läs tabellen NAMN med UBUTHST.PNR som nyckel. Om NAMN.SEKEL <> använd NAMN.SEKEL för att skapa födelseår, annars använd 19.
Per Lindgren/Torgny Fridlund 2016-06-29 35 (84) 9.1 Uppdatering av ARHST YYYYYY ARID Aktuellt ARID PNR UBUTHST.PNR KURS YYYYYY TERMIN UBUTHST.TERMIN INST UBUTHST-INST UTBOMR UBUTHST.UTBOMR ERSOMR blankunderscore tillsvidare HSTV UBUTHST.POANG /60 HSTK UBUTHST.POANG /60 9.2 Uppdatering av ARKURS ARID Aktuellt ARID PNR UBUTHST.PNR KURS YYYYYY TERMIN UBUTHST.TERMIN KURSTAKT blankunderscore KURSTID blankunderscore UNDFORM blankunderscore KURSORT blankunderscore OMGANG 1 FINFORM UBUTREG.FINFORM/blankunderscore TERMORDN <blank>1 för poster från UBUTHST PROGR UBUTREG.PROGR PROGINR UBUTREG.PROGINR/blankunderscore LOKKOD blankt NIVA X DJUP blankt UTBNIVA blankt AMNESCB blankt ANMKOD blankt
Per Lindgren/Torgny Fridlund 2016-06-29 36 (84) KON FODDAR UPROGRAM UKOMMER STARTTER KULL HSKNY PROGNY TILTNIVA STUDAVG M/K NAMN.SEKEL + två första i UBUTHST.PNR eller 19 + två första i UBUTHST.PNR UBUTSTUD.UPROG N blankt ANTLIN.KULL eller blankt J eller blankt J eller blankt LINJE.TILTNIVA eller blankt Läs AVGPROGR om UBUTREG.PROGR <> blank AVGPROGR.PNR= UBUTHST.PNR AVGPROGR.TERMIN=UBUTHST.TERMIN AVGPROGR.PROGR=UBUTREG.PROGR AVGPROGR.BETALT=J Om träff sätt STUDAVG=J Annars(ingen läsning gjord eller bom) sätt STUDAVG=N
Per Lindgren/Torgny Fridlund 2016-06-29 37 (84) 10 Räkna HST i HST-modulen Programmet räknar fram de olika HST-värdena. Nedanstående plus returkod ska lämnas i retur från modulen. HST HST-värde för verksamhetstermin LOK1 HST-värde för kalenderår LOK2 HST-värde för nästa kalenderår Om lokvärden saknas används HST för LOK1 och noll för LOK2. 10.1 Inparametrar från FFGKURS Allting tas från FFGKURS förutom TERMORDK och eventuellt KURSTYP som kan komma från ANTLIN.FINFORM enligt tidigare förklaring. PNR KURS 6 TERMIN 5 KURSORT 4 KURSTAKT 3 KURSTID 3 UNDFORM 3 OMGANG 1 10 tkn KURSTYP 3 Eventuellt ANTLIN.FINFORM PROGR 5 PROGINR 4 TERMORDK 2 <blank>1 FFGTERM 5 FFGKURS.TERMIN
Per Lindgren/Torgny Fridlund 2016-06-29 38 (84) 10.2 Inparametrar från INREGFFG Allting tas från INREGFFG förutom TERMORDK och eventuellt KURSTYP som kan komma från ANTLIN.FINFORM enligt tidigare förklaring. PNR KURS 6 TERMIN 5 KURSORT 4 KURSTAKT 3 KURSTID 3 UNDFORM 3 OMGANG 1 10 tkn KURSTYP 3 Eventuellt ANTLIN.FINFORM PROGR 5 PROGINR 4 TERMORDK 2 <blank>1 FFGTERM 5 INREGFFG.TERMIN 10.3 Inparametrar från FORTKURS PNR 10 tkn FORTKURS.PNR KURS 6 FORTKURS.KURS TERMIN 5 FORTKURS.TERMIN KURSORT 4 FFGKURS.ORT KURSTAKT 3 FFGKURS.KURSTAKT KURSTID 3 FFGKURS.KURSTID UNDFORM 3 FFGKURS.UNDFORM OMGANG 1 FFGKURS.OMGANG KURSTYP 3 FFGKURS.KURSTYP eller ANTLIN.FINFORM PROGR 5 FFGKURS.PROGR PROGINR 4 FFGKURS.PROGINR TERMORDK 2 FORTKURS.TERMORDN FFGTERM 5 FFGKURS.TERMIN
Per Lindgren/Torgny Fridlund 2016-06-29 39 (84) 10.4 Inparametrar från INREGFO PNR 10 tkn INREGFO.PNR KURS 6 INREGFO.KURS TERMIN 5 INREGFO.TERMIN KURSORT 4 FFGKURS.ORT KURSTAKT 3 FFGKURS.KURSTAKT KURSTID 3 FFGKURS.KURSTID UNDFORM 3 FFGKURS.UNDFORM OMGANG 1 FFGKURS.OMGANG KURSTYP 3 FFGKURS.KURSTYP eller ANTLIN.FINFORM PROGR 5 FFGKURS.PROGR PROGINR 4 FFGKURS.PROGINR TERMORDK 2 INREGFO.TERMORDN FFGTERM 5 FFGKURS.TERMIN 10.5 Returkoder från HST-modulen 1 - FFGREG, SAKNAS I KTILL2, ANVÄNDER KURSPOÄNG, DOCK MAX 20 P 2 - FORTSREG, SAKNAS I KTFORT2, GER NOLL POÄNG 3 - FFGREG INOM PROGRAM MED TERMINSREG, EJ FÖRDELAD MEN FINNS I PROGRAMPLANEN, ANVÄNDER KURSPOÄNG, DOCK MAX 30 POÄNG. 4 - DITO MEN SAKNAS I PROGRAMPLANEN (PROGPLK) ANV. KURSPOÄNG, MAX 30 POÄNG 5 - FORTSREG INOM PROGRAM MED TERMINSREG, EJ FÖRDELAD, GER 0 P 9 - KATALOGFEL, KURS SAKNAS, GER NOLL POÄNG. BÖR INTE HÄNDA.
Per Lindgren/Torgny Fridlund 2016-06-29 40 (84) 10.6 Behandling Om program angivits så läs tabellen LINJE för att kontrollera om det är terminsregistrering eller kursregistrering på programmet. Det här är centralt för den fortsatta bearbetningen. Det finns fyra huvudspår i programmet. För alt 2 gäller att om inget hittats provar vi med alt 1 också. För alt 4 gäller att om inget hittats provar vi med alt 3 också. En till variant, alt 5 finns också. Om FFG-registrering på program med terminsregistrering och OMGANG <> 1 ska vi först prova med FFG-registrering på program med kursregistrering (alt 1) och om inget hittats där prova med alt 2. Kom ihåg att återställa returkoden från det ursprungliga alternativet om det inte blivit träff i nästa alternativ. ALT 1 FFG-registrering på fristående kurs eller program med kursregistrering Villkor: LINJE.LINJEREG <> J, TERMORDK = BLANK eller <blank>1 ALT 2 FFG-registrering på program med terminsregistrering Villkor: LINJE.LINJEREG = J, TERMORDK = BLANK eller <blank>1 och OMGANG = 1 ALT 3 FO-registrering på fristående kurs eller program med kursregistrering Villkor: LINJE.LINJEREG <> J, TERMORDK >= <blank>2 ALT4 FO-registrering på program med terminsregistrering Villkor: LINJE.LINJEREG = J, TERMORDK >= <blank>2 ALT 5 FFG-registrering på program med terminsregistrering Villkor LINJE.LINJEREG = J, TERMORDK = BLANK eller <blank>1 och OMGANG <> 1. 10.6.1 ALT 1: FFG-registrering på fristående kurs eller program med kursregistrering För det här alternativet hämtas HST från KTILL2. Läsning med mha inparametrarna. Skulle post saknas görs en ny läsning där KURSTYP blankas. Värdena justeras och räknas fram enligt nedan: Om KTILL2.LOK1 saknas: Poäng tas från KTILL2.FFGPOANG Om KTILL2.LOK2 saknas: LOK2 = 0 HST = KTILL2.FFGPOANG /60 LOK1 = KTILL2.LOK1 /60 LOK2 = KTILL2.LOK2 /60
Per Lindgren/Torgny Fridlund 2016-06-29 41 (84) Skulle KTILL2 saknas hämtas poäng från KURS. Skulle KURS.POANG > 30 sätt poäng till 30. Justeras enligt nedan: HST = KURS.POANG/60 LOK1 = HST LOK2 = 0 Returkod = 1 om KTILL2 saknas. Returkod = 9 om kurskod saknas i KURS 10.6.2 ALT 2: FFG-registrering på program med terminsregistrering 1. HST hämtas från KTILLP. Läsning mha inparametrarna. KURS, FFGTERM, PROGR, PROGINR, TERMORDK. 2. Saknas KTILLP görs sökning i ANTINR efter eventuell annan inriktning. Nyckel för att läsa ANTINR= PNR, PROGR. Upprepa tills alla inriktningar lästs. Gör om läsning mot KTILLP med ny inriktning. 3. Saknas KTILLP fortfarande läses KTILLP utan inriktning om vi inte redan gjort det. Nyckel för att läsa KTILLP= KURS, FFGTERM, PROGR, blankt i PROGINR, TERMORDK. 4. Saknas KTILLP fortfarande görs läsning mot PROGPLH. Sök först fram aktuell programtermin (TERMORDN i FFGLIN/OMREGLIN). Termin i inparametrarna ska vara = TERMIN i FFGLIN/OMREGLIN. Nyckel för att läsa PROGPLH= PROGR, PROGINR, TERMIN, aktuell programtermin. Om fältet ALLAINR = J fortsätter vi att läsa i KTILLP utan att bry oss om inriktning. Nyckel för att läsa KTILLP = KURS, FFGTERM, PROGR. Plus att KTILLP.TERMORDK ska stämma med TERMORDK i inparametrarna. 5. Skulle KTILLP saknas efter p4 görs sökning efter kursen i PROGPLK. Nyckel för att läsa PROGPLK= PROGR, PROGINR, FFGTERM,KURS. Finns kursen inte i planen har alla försök misslyckats, vi ger upp. Returkod=4. 6. Finns kursen trots allt i planen läser vi KURS för att hämta poängen. Max 30 p. Returkod=3.
Per Lindgren/Torgny Fridlund 2016-06-29 42 (84) 7. Finns kursen i planen, men inte i KTILL2 läser vi KURS för att hämta poängen. Max 30 p. Returkod=3. 8. Har allt misslyckats är sista chansen att köra alt 1 FFG-registrering på fristående kurs eller registrering på program med kursregistrering. Fanns KTILLP görs justering och uträkning av HST enligt nedan: Om KTILLP.LOK1 saknas: Poäng tas från KTILLP.POANG Om KTILLP.LOK2 saknas: LOK2 = 0 HST = KTILLP.POANG/60 LOK1 = KTILLP.LOK1/60 LOK2 = KTILLP.LOK2/60 Skulle KTILLP saknas hämtas poäng från KTILL2. Värdena justeras och räknas fram enligt nedan: Om KTILL2.LOK1 saknas: Poäng tas från KTILL2.FFGPOANG. Om KTILL2.LOK2 saknas: LOK2 = 0 HST = KTILL2.FFGPOANG/60 LOK1 = KTILL2.LOK1 /60. LOK2 = KTILL2.LOK2 /60. Skulle KTILLP och KTILL2 saknas hämtas poäng från KURS. Skulle KURS.POANG > 30 sätt poäng till 30. Justeras enligt nedan: HST = KURS.POANG/60 LOK1 = HST LOK2 = 0 Returkod = 3 om ingenting finns i KTILLP
Per Lindgren/Torgny Fridlund 2016-06-29 43 (84) Returkod = 4 om kursen saknas i PROGPLK Returkod = 9 om kurs saknas i KURS 10.6.3 ALT 3: FO-registrering på fristående kurs eller program med kursregistrering För det här alternativet hämtas HST från KTFORT2. Läsning med mha inparametrarna. Skulle post saknas görs en ny läsning där kurstyp blankas. Värdena justeras och räknas fram enligt nedan: Om KTFORT2.LOK1 saknas: Poäng tas från KTFORT2.POANG Om KTFORT2.LOK2 saknas: LOK2 = 0 HST = KTFORT2.POANG /60 LOK1 = KTFORT2.LOK1/60 LOK2 = KTFORT2.LOK2/60 Skulle post saknas i KTFORT2 görs ingen läsning mot KURS som för FFG-reg. Returkod = 2 om KTFORT2 saknas 10.6.4 ALT 4: FO-registrering på program med terminsregistrering 1. HST hämtas från KTILLP. Läsning mha inparametrana. KURS, FFGTERM, PROGR, PROGINR, TERMORDK. 2. Saknas KTILLP görs sökning i ANTINR efter eventuell annan inriktning. Nyckel för att läsa ANTINR= PNR, PROGR. Upprepa tills alla inriktningar lästs. Gör om läsning mot KTILLP med ny inriktning. 3. Saknas KTILLP fortfarande läses KTILLP utan inriktning om vi inte redan gjort det. Nyckel för att läsa KTILLP= KURS, FFGTERM, PROGR, blankt i PROGINR, TERMORDK. 4. Saknas KTILLP fortfarande görs läsning mot PROGPLH. Sök först fram aktuell programtermin (TERMORDN i FFGLIN/OMREGLIN). Termin i inparametrarna ska vara = TERMIN i FFGLIN/OMREGLIN.
Per Lindgren/Torgny Fridlund 2016-06-29 44 (84) Nyckel för att läsa PROGPLH= PROGR, PROGINR, TERMIN, aktuell programtermin. Om fältet ALLAINR = J fortsätter vi att läsa i KTILLP utan att bry oss om inriktning. Nyckel för att läsa KTILLP = KURS, FFGTERM, PROGR. Plus att KTILLP.TERMORDK ska stämma med TERMORDK i inparametrarna. 5. Skulle post saknas i KTILLP görs ingen läsning mot KURS som för FFGregistrering. 6. Har allt misslyckats är sista chansen att köra alt 3 FO-registrering på fristående kurs eller program med kursregistrering Fanns KTILLP görs justering och uträkning av HST enligt nedan: Om KTILLP.LOK1 saknas: Poäng tas från KTILLP.POANG. Om KTILLP.LOK2 saknas: LOK2 = 0 HST = KTILLP.POANG/60 LOK1 = KTILLP.LOK1/60 LOK2 = KTILLP.LOK2/60 Returkod = 5 om KTILLP saknas