Egna loaders
Uppdaterad: 20.8.2020
I Primus Loaders-register kan du göra egna loaders, dvs. dataöverföringsdefinitioner. Av loadern framgår, vilka uppgifter filen som läses in i Primus innehåller och i vilken ordning uppgifterna är. Du kan använda loaders i varje register via menyn Dataöverföring från Primus.
- Öppna Loaders-registret och välj Funktioner / Nytt registerkort.
- Ge ett beskrivande namn i fältet Namn, t.ex. "Kursuppgifter i studiehandboken" eller "FPA:s byråer".
- Fyll i registret där loadern används i fältet Databas. Fältet kan också lämnas tomt och då kan loadern användas i alla register. Databasernas namn och deras korrekta skrivsätt finns här.
- I pekfältet Filtyp väljer du om överföringen är Standardiserad, Åtskild med skiljetecken (CSV), en REST/JSON-dataöverföring eller XML-dataöverföring.
- Du kan kontrollera Teckenraden genom att titta på filen i en texteditor. Om de skandinaviska tecknen är korrekta, är teckenraden Ansi. Om de däremot skrivs ut som svarta lodräta streck, rör det sig om en MS-DOS-teckenrad. Oftast är Ansi det rätta alternativet.
- I fältet Skiljetecken anges det tecken som skiljer åt uppgifterna för samma studerande/kurs/lärare osv. Oftast används kommatecken eller semikolon som skiljetecken. Om du gör en standardiserad, REST/JSON- eller XML-dataöverföring ska fältet lämnas tomt.
- I rutan Definition skriver du in loaderns egentliga beskrivning/definition.
Standardiserad dataöverföring
- raderna har löpande numrering i vänsterkanten
- kommatecken, (används alltid i loaders oberoende av vilket som är filens skiljetecken)
- fältets namn inom citationstecken.
Exempel:
1-30,"Efternamn"
31-60,"Förnamn"
61-71,"Personbeteckning"
72-101,"Hemortens postadress"
Primus läser tecknen 1-30 från början av filens första rad och skriver in teckenraden i fältet Efternamn. Sedan läser programmet tecknen 31-60 och skriver teckenraden i fältet Förnamn o.s.v.
Dataöverföring som åtskiljs med skiljetecken
- numret av kolumnen i överföringsfilen i vänster kant
- kommatecken (i loadern finns alltid kommatecken oberoende av filens skiljetecken)
- fältets namn inom citattecken.
Exempel:
1,"Efternamn"
2,"Förnamn"
3,"Personbeteckning"
4,"Hemortens postadress"
Primus läser filens första rad fram till skiljetecknet och skriver in den lästa teckenraden i fältet Efternamn. Sedan fortsätter programmet att läsa fram till följande skiljetecken och skriver in följande teckenrad i fältet Förnamn, osv.
REST/JSON-dataöverföring
- data
- kommatecken (loadern innehåller alltid ett kommatecken oberoende av vilket skiljetecken som används i filen)
- fältets namn inom citationstecken.
Obs! Den första raden kan innehålla en ROW-definition som anger vilken dataposts uppgifter som ska läsas. Om ingen ROW-definition anges, läser programmet in alla uppgifter.
Exempeldefinition:
Organisationer,,ROW
oid,"Kod"
startDatum,"Kod1"
läroanstaltsKod,"Statistikcentralens läroanstaltskod"
läroanstaltstyp,"Läroanstaltstyp"
namn,"Namn"
Med denna definition läser Primus in uppgifterna från filens Organisationer-datapost i fälten försedda med citationstecken.
XML-dataöverföring
- data
- kommatecken (loadern innehåller alltid ett kommatecken oberoende av vilket skiljetecken som används i filen)
- fältets namn inom citationstecken.
OBS! Den första raden kan innehålla en ROW-definition som anger vilken dataposts uppgifter som ska läsas. Om ingen ROW-definition anges, läser programmet in alla uppgifter.
Exempeldefinition:
Sökande,,ROW
land,"Hemland->Nummer(ISO 3166)"
nationalitet,"Nationalitet->Nummer(ISO 3166)"
mobiltelefon,"Mobiltelefon"
annantelefon,"Hemtelefon"
e-post,"E-postadress"
Med denna definition läser Primus in uppgifterna i Sökande-dataposten i fälten försedda med citationstecken.
MERGEDATA
JSON-data i listformat kan ha en rad med definitionen MERGEDATA, som definierar att all data i listan sparas i ett fält i Primus separerade med radbyten.
Exempeldefinition:
tillaggsuppgifter->tillaggsuppgift,"Tilläggsuppgifter",MERGEDATA
Med denna definition sparar Primus alla värden för alla tillaggsuppgift-poster i listan tillaggsuppgifter i memofältet Tilläggsuppgifter separerade med radbyten. Utan denna definition skulle endast det senaste värdet för tillaggsuppgift-posten i tillaggsuppgifter-listan sparas i fältet Tilläggsuppgifter.
Med hjälp av en loader kan du också förena två olika uppgifter från källfilen i ett och samma Primusfält. Om till exempel postnummer och postanstalt är åtskilda i filen, kan dessa uppgifter förenas i Primus under "Postadress".
I dataöverföringen Åtskild med skiljetecken används ett plustecken för att förena fälten. Loaderns definition är då:
1+2,"Fältnamnet"
I en Standardiserad dataöverföring förenas fälten då det antal tecken som reserverats för dem förenas: 1-30 och 31-60 förenas till 1-60. Därefter kommer kommatecken och fältets namn. I slutet av raden skriver man in DELSPC, som raderar de onödiga mellanslag som finns mellan kolumnerna. Loaderns definition är då:
1-60,"Fältnamnet",DELSPC
I REST/JSON- samt XML-dataöverföringar används ett plustecken för att förena olika fält. Loaderns definition är då:
data+data,"Fältnamnet"