Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagesql
titleSQL
linenumberstrue
collapsetrue
---
-- TARKISTUS
---
--!!!!!!!! KOPIOITU AMK-SEKTORILTA !!!!!!!--
/*
  Tiedonkeruuaineiston tarkistusohjelman suorittamat tarkistukset


  Amk-opiskelijatiedonkeruun aikana 20.9.-30.9. TK:n palvelimella toimii automaattinen
  tarkistusohjelma, joka tarkistaa aineistot yleisimpien virheiden osalta ja toimittaa tarkistuksesta
  palautetulosteen amk:n yhdyshenkilölle. Seuraavassa on kuvattu ohjelman tekemät tarkistukset ja
  niiden nimet palautetulosteessa. Kaikki tulosteessa mainitut kohdat eivät ole välttämättä virheitä,
  mutta ne tulevat listalle mahdollisina virheellisinä tietoina. Sellaisia ovat mm. epäilyttävän suuret
  opintopistekertymät tai puutteelliset henkilötunnukset.

  TUNN = tunn (oppilaitostunnus) on virheellinen
  onko oppilaitostunnus jokin voimassaolevista 5-numeroisista tunnuksista

  AVAIN = koulk (koulutuskoodi) on virheellinen
  Verrataan koulutusluokituksen koulutuskoodeihin

  AVAIN2 = oltunn - koulk (ammattikorkeakoulu - koulutuskoodi) -
  koodikombinaatio on virheellinen
  Ammattikorkeakoulu - koulutuskoodi -kombinaatiota verrataan vuoden 2013 kombinaatioihin

  AVAIN3 = koultyp on 3 tai 5 ja koulutusohjelma puuttuu

  KOULTYP = koulutustyyppi on virheellinen

  KOULTYP1 = muuttujan arvo ei ole 1, 2, 3, 5 eikä 6

  KOULTYP2 = jos koultyp on 1, 2 tai 6, niin koulutuskoodi ei saa olla 999999

  KOULTYP3= jos koultyp on 3 tai 5, niin koulutuskoodin täytyy olla 999999 ja koulutusohjelman tulee
  olla sallittu

  KKIELI = kkieli (koulutuksen opetuskieli) -koodiarvo on virheellinen
  koulutuksen opetuskieli suomi (fi), ruotsi (sv), englanti (en) tai saksa (de)

  KKUN = kkun (koulutuksen sijaintikunta) -koodiarvo on virheellinen
  Verrataan toimilupapäätöksiin, onko amk:lla lupa järjestää koulutusta kyseisessä kunnassa.
  Ammattikorkeakoulun koulutustehtävässä määrättävä sijaintipaikka koskee
  ammattikorkeakoulututkintoon johtavaa nuorten koulutuksena järjestettävää koulutusta ja ylempään
  ammattikorkeakoulututkintoon johtavaa koulutusta.

  KKUN2 = kkun2 (kunta) -koodiarvo on virheellinen
  Verrataan voimassa olevaan kuntaluokitukseen ( koulutustyyppi 2, 3 ja 5 ). 
  
  KIRTUPV = kirjoihintuloajankohta on virheellinen

  KIRTUPV2 = kirjoihintulovuosi ei saa olla suurempi kuin tilastovuosi, kirjoihintulokuukausi saa arvon
  1-12, päivä arvon 1-31

  OLOTAMM = olotamm (kevään kirjoillaolo ) on virheellinen

  OLOTAMM1 = kevään läsnäolotieto voi olla 0, 1 tai 2

  OLOTAMM2 = jos tilastovuosi=kirjoihintulovuosi ja kirjoihintulolukukausi on syksy, kevään
  läsnäolotiedon on oltava 0

  OLOTAMM3 = kevään läsnäolotieto voi olla amk:n vanhoilla opiskelijoilla joko 1 tai 2

  OLOTAMM4 = kirjoihintulolukukausi on kevät, mutta kevään läsnäolotieto on 0 (olotamm=0)

  OLOSYYS = olosyys (läsnäolo 20.9.) on virheellinen
  syksyn läsnäolotieto voi olla 0, 1 tai 2

  TU = sama opiskelija on aineistossa kahteen kertaan

  TU1 = tarkistetaan onko joillakin havainnoilla samat arvot joka muuttujalla - täydellinen tuplatietue

  TU2 = tarkistetaan onko joillakin havainnoilla samat oppilaitostunnus-koulutustyyppi-koulutuskoodi -
  kombinaatiot

  OPES = ed. syyslukukaudella suoritetut opintopisteet on virheellinen
  lukukauden aikana suoritettu yli 99 opintopistettä

  OPEK = ed. kevätlukukaudella suoritetut opintopisteet on virheellinen
  lukukauden aikana suoritettu yli 99 opintopistettä

  OPKER = opker (ed. kevätlukukauden loppuun mennessä kertyneet
  opintopisteet) on virheellinen
  opintopistekertymä yli 300 tai ed. kevät- ja syyslukukausien opintopisteet yhteensä ovat enemmän
  kuin kertymä plus yksi (=pyöristykset voivat nostaa summaa yhdellä).

  HT = henkilötunnus (tai sukupuoli) on virheellinen

  HT1 = Puutteelliset henkilötunnukset - loppuosa puuttuu

  HT2 = henkilötunnukset, joiden jakojäännös ei täsmää - loppuosa virheellinen

  HT3 = sukupuolitieto virheellinen 

    HT4 = Hetu-välimerkki jos 2000-luvulla syntynyt ei '-' vaan 'A'

  AIKIELI = äidinkielitieto virheellinen
  verrataan äidinkieltä sallittujen kielten listaan

  ASKUN = asuinkuntatieto virheellinen
  verrataan kuntatietoa sallittujen kuntien listaan

  KANSAL = kansalaisuustieto virheellinen
  verrataan kansallisuustietoa sallittujen kansallisuuksien listaan

  LASNALK = läsnäolo- tai poissaololukukausissa virhe

  LASNALK1 = (läsnäololukukaudet + poissaololukukaudet) <= (3 - 1.kirjoihintulolukukausi) +
  (tilastovuosi - 1.kirjoihintulovuosi) * 2
  Esim. jos opiskelija on tullut kirjoille 1. kerran syyslukukaudella 2010, ja tilastovuosi on 2012:
  läsnä+poissa yhteensä voi olla maksimissaan: (3 - 2) + (2012-2010) * 2 = 5

  LASNALK2 = läsnä- tai poissaolokausia täytyy olla vähintään 1.

  OPLAAJ = opintojen laajuus virheellinen

  OPLAAJ1 = muodollinen virhe (voi olla 1 - 300)

  KIRTU1PV = Ensimmäinen kirjoihintuloajankohta ko. tutkintoon virheellinen

  KIRTU1PV = kirjoihintulokuukausi voi saada arvon 1-12, päivä arvon 1-31

  KIRTU1P2 = ei voi olla suurempi kuin kirjoihintulo tähän tutkintoon tässä amk:ssa

  OPETTAJA = Lastentarhanpettajan koulutus muodoltaan virheellinen

  OPETT1 = voi olla 1, 2, tai tyhjä.

  OPETT2 = opettajankoulutus ei ole sosionomi-tutkinnolla

  OPETT3 = opettajatieto syksyn uudella opiskelijalla

  RAHLAHDE = Rahoituslähde muodoltaan virheellinen

  RAHLAHDE= voi olla 1, 2, 3, 4 tai 5.

  RAHLAHD4= rahoituslähde on 4 ja maksullisen tilauskoulutuksen sijaintimaatieto puuttuu

  EIMUKAAN = Opiskelijalla ei ilmoittautumistietoa 20.9. eikä ole aloittanut
  vuonna 2014
  Ei kuulu perusjoukkoon
  
  TILMAA = Maksullisen tilauskoulutuksen sijaintimaatieto virheellinen
  Verrataan sijaintimaatietoa sallittujen maiden listaan
  
  OHJAUKSENALA= voi olla 1 - 12 jos koulutuskoodi 999999 
  
*/
--/*
IF OBJECT_ID('tempdb..#tarkistus') IS NOT NULL
BEGIN
  truncate table #tarkistus
  drop table #tarkistus
  print convert(varchar,getdate(),120)+' DROP temp-taulu'
END
;
create table #tarkistus (
  tunn varchar(5),
  avain varchar(20),
  ---koultyp varchar(4),
  --koultyp1 varchar(1),
  --koultyp2 varchar(8),
  kkieli varchar(2),
  kkun varchar(10), --muutettu
  kkun2 varchar(3),
  kirtupv varchar(10), --muutettu
  kirtupv2 varchar(8),
  olotamm varchar(10), --muutettu
  olotamm1 varchar(8),
  olotamm2 varchar(8),
  olotamm3 varchar(8),
  olotamm4 varchar(8),
  olosyys varchar(10), --muutettu(lisäys)
  ---tu varchar(1),
  tu1 varchar(1),
  tu2 varchar(1),
  opes varchar(4),
  opek varchar(4),
  opker varchar(4),
  ---ht varchar(11),
  ht1 varchar(11),
  ht2 varchar(11),
  ht3 varchar(11),
  ht4 varchar(11),
  aikieli varchar(2),
  askun varchar(3),
  kansal varchar(3),
  ---lasnalk varchar(4),
  --lasnalk1 varchar(10),
  --lasnalk2 varchar(10),
  ---oplaaj varchar(4),
  --oplaaj1 varchar(4),
  --kirtu1pv varchar(8),
  --kirtu1p2 varchar(8),
  ---opettaja varchar(1),
  --opett1 varchar(2),
  --opett2 varchar(8),
  --opett3 varchar(10),
  --rahlahde varchar(1),
  --
  opoik varchar(10), --lisäys
  ohjauksenAla varchar(2), 
  
  --
  opiskelijaavain varchar(100),
  opiskeluoikeusavain varchar(100),
  opiskelija_id int,
  opiskeluoikeus_id int,
  db varchar(8),
)
print convert(varchar,getdate(),120)+' CREATE temp-taulu #tarkistus'
;

--  truncate table #tarkistus
insert into #tarkistus
select
 tunn = ''--(case when kk not in (select koodi from virta..Organisaatio) then kk else '' end)
,avain = (case 
        when koulk IS NULL AND opiskeluoikeusavain IS NOT NULL  then  'puuttuu' 
        when koulk not in (select koodi from virta.dbo.Tutkintonimike) then koulk
-- lisätty tarkistus että tutkintonimike alkaa numerolla 6,7,8 tai 9
               when cast(substring(koulk,1,1) as int) not between 6 and 9 then koulk  
         
         when koulk LIKE '%00' then koulk + '_00 loppuinen' 
         
         else ''
         end
         
         )
--,avain2 = --amk-koulk kombinaatiot?
--,avain3 = --koulutusohjelma?
--,koultyp = --otsikko?
--,koultyp1 = (case when koultyp not in ('1','2','3','5','6') then koultyp else '' end)
--,koultyp2 = (case when koultyp in ('1','2','6') and koulk='999999' then koultyp+' '+koulk else '' end)
--,koultyp3 = --koulutusohjelma?
,kkieli = ''--(case when kiel not in ('fi','sv','en','de') then kiel else '' end)
,kkun = (case when coalesce(kkun,'')='' then '#puuttuu#' else '' end)
,kkun2 = (case
  when 1=1 --koultyp in ('2','3','5')
  and kkun not in (select koodi from virta..Kunta cross join #param where #param.tilpvm between coalesce(Alkamispaivamaara,'1900-1-1') and coalesce(Paattymispaivamaara,'9999-1-1'))
  then kkun else '' end)
,kirtupv = (case when coalesce(kirtu,'')='' then '#puuttuu#' else '' end)
,kirtupv2 = (case
  when cast(substring(kirtu,1,4) as int) > (select year(tilpvm) from #param) then kirtu
--  when cast(substring(kirtu,5,2) as int) not between 1 and 12 then kirtu
--  when cast(substring(kirtu,7,2) as int) not between 1 and 31 then kirtu
  when 1=1 then ''
  else '' end)
,olotamm = (case when coalesce(olotamm,'')='' then '#puuttuu#' else '' end)
,olotamm1 = (case when olotamm not in ('0','1','2') then olotamm else '' end)
,olotamm2 = (case
  when cast(substring(kirtu,1,4) as int) = (select year(tilpvm) from #param)
  --and cast(substring(kirtu,5,2) as int) >= 8
  and cast(substring(kirtu,5,1) as int) >= 2  
  and olotamm<>'0' then kirtu+' '+olotamm
  else '' end)
,olotamm3 = (case
  when(
      (cast(substring(kirtu,1,4) as int) < (select year(tilpvm) from #param))
   --or (cast(substring(kirtu,1,4) as int) = (select year(tilpvm) from #param) and cast(substring(kirtu,5,2) as int) < 8))
   or (cast(substring(kirtu,1,4) as int) = (select year(tilpvm) from #param) and cast(substring(kirtu,5,1) as int) < 2))
  and olotamm not in ('0','1','2') then kirtu+' '+olotamm
  else '' end)
,olotamm4 = (case
  --when (cast(substring(kirtu,1,4) as int) = (select year(tilpvm) from #param) and cast(substring(kirtu,5,2) as int) < 8)
  when (cast(substring(kirtu,1,4) as int) = (select year(tilpvm) from #param) and cast(substring(kirtu,5,1) as int) < 2)
  and olotamm = '0' then kirtu+' '+olotamm
  else '' end)
,olosyys = (case
  when coalesce(olosyys,'')='' then '#puuttuu#'
    when olosyys not in ('0','1','2') then olosyys
  else '' end)
--,tu = --otsikko?
,tu1 = (case
  when exists (
    select 1 from #tkopisk t2 where t2.opiskelijaavain=#tkopisk.opiskelijaavain and t2.kk = #tkopisk.kk
    group by kk, --koultyp, kiel,
    kkun, ht, snimi, enimi, sp, aikieliy, askuntay, kansaly, kirtu, olotamm, olosyys
    , opes, opek, opker, --lasnalk, poissalk, --laajuus, kirtu1pv, lastu,
    --rahlahde, 
    koulk
    having count(*)>1
  ) then '1'
  else '' end)
,tu2 = (case
  when exists (
    select 1 from #tkopisk t2 where t2.opiskelijaavain=#tkopisk.opiskelijaavain and t2.kk = #tkopisk.kk
    group by kk, --koultyp,
    koulk, ht, snimi, enimi, sp
    having count(*)>1
  ) then '1'
  else '' end)
,opes = (case when cast(opes as int) > 300 then opes else '' end)
,opek = (case when cast(opek as int) > 300 then opek else '' end)
,opker = (case when cast(opker as int) > 500 then opker else '' end)
--,ht = --otsikko?
,ht1 = (case when len(ht)<11 then ht else '' end)
,ht2 = (case
  when len(ht)=11
  and substring(ht,11,1) <>
    case when cast(SUBSTRING(ht,1,6) + SUBSTRING(ht,8,3) as int) % 31 = 0 then '0'
    else SUBSTRING('123456789ABCDEFHJKLMNPRSTUVWXY',cast(SUBSTRING(ht,1,6) + SUBSTRING(ht,8,3) as int) % 31,1) end
  then ht
  else '' end)
,ht3 = (case
  when len(ht)=11 and sp='1' and cast(SUBSTRING(ht,10,1) as int) % 2 = 0 then ht
  when len(ht)=11 and sp='2' and cast(SUBSTRING(ht,10,1) as int) % 2 = 1 then ht
  else '' end)
-- 2000 luvulla syntyneet välimerkki, tulisi olla A
,ht4 = (CASE 
    WHEN LEN(ht)<11  AND SUBSTRING(ht,7,1) = '-' AND (CAST(SUBSTRING(ht,5,2) AS int) < 10) THEN ht 
    ELSE '' 
    END)      
,aikieli = (case
--  when aikieliy not in (select koodi from virta..Kieli cross join #param where #param.tilpvm between coalesce(Alkamispaivamaara,'1900-1-1') and coalesce(Paattymispaivamaara,'9999-1-1'))
--  then aikieliy
  when 1=1 then ''
  else '' end)
,askun = (case
  when askuntay not in (select koodi from virta..Kunta cross join #param where #param.tilpvm between coalesce(Alkamispaivamaara,'1900-1-1') and coalesce(Paattymispaivamaara,'9999-1-1'))
  then askuntay
  else '' end)
,kansal = (case
  when kansaly not in (select koodi from virta..Maa cross join #param where #param.tilpvm between coalesce(Alkamispaivamaara,'1900-1-1') and coalesce(Paattymispaivamaara,'9999-1-1'))
  then kansaly
  else '' end)
--,lasnalk = --otsikko?
--,lasnalk1 = (case
--  when cast(lasnalk as int)+cast(poissalk as int)
--     > ((3 - (case when cast(substring(kirtu1pv,5,2) as int)<8 then 1 else 2 end))
--      + (((select year(tilpvm) from #param) - cast(substring(kirtu1pv,1,4) as int)) * 2))
--  then lasnalk+'+'+poissalk+'<'+
--      cast((3 - (case when cast(substring(kirtu1pv,5,2) as int)<8 then 1 else 2 end))
--      + (((select year(tilpvm) from #param) - cast(substring(kirtu1pv,1,4) as int)) * 2) as varchar)
--  else '' end)
--,lasnalk2 = (case
--  when cast(lasnalk as int)+cast(poissalk as int) < 1 then lasnalk+'+'+poissalk+'<1'
--  else '' end)
--,oplaaj = --otsikko?
--,oplaaj1 = (case when cast(laajuus as int) > 300 then laajuus else '' end)
--,kirtu1pv = (case
--  when cast(substring(kirtu1pv,5,2) as int) not between 1 and 12 then kirtu1pv
--  when cast(substring(kirtu1pv,7,2) as int) not between 1 and 31 then kirtu1pv
--  else '' end)
--,kirtu1p2 = (case when cast(kirtu1pv as int) > cast(kirtupv as int) then kirtu1pv else '' end)
--,opettaja = --otsikko?
--,opett1 = (case when coalesce(lastu,'') not in ('','1','2' ,'3','4','5') then lastu else '' end)
--,opett2 = (case when lastu in ('1' ,'3','4','5') and koulk in ('671201','771301') then koulk+'+'+lastu else '' end)
--,opett3 = (case
--  when lastu in ('1' ,'3','4','5')
--  and substring(kirtupv,1,4) = (select vuosi from #param) and cast(substring(kirtupv,5,2) as int) >= 8
--  then kirtupv+'+'+lastu
--  else '' end)
--,rahlahde = (case when rahlahde not in ('1','2','3','4','5') then rahlahde else '' end)
--
,opoik = (case when coalesce(opoik,'')='' then '#puuttuu#' else '' end)
--,ohjauksenAla = (CASE WHEN koulk='999999' AND ohjauksenAla NOT IN ('1','2','3','4','5','6','7','8','9','10','11','12') THEN ohjauksenAla +' '+ohjauksenAla ELSE '' END)
,ohjauksenAla = (CASE WHEN koulk='999999' AND ohjauksenAla NOT IN ('1','2','3','4','5','6','7','8','9','10','11','12')  THEN ohjauksenAla +' '+ohjauksenAla 
                      WHEN koulk='999999' AND ohjauksenAla IS NULL   THEN '99' ELSE '' END)
--
,opiskelijaavain
,opiskeluoikeusavain
,opiskelija_id
,opiskeluoikeus_id
,db = (select Asetus from Yhteiset.Asetukset.Ohjaus_Parametrit where Toiminto='YO_tunnus' and Arvo=kk)
from #tkopisk
;

/*
select * from #tarkistus
where ''<>
tunn+avain+
kkieli+kkun+kkun2+kirtupv+kirtupv2+
olotamm+olotamm1+olotamm2+olotamm3+olotamm4+
olosyys+tu1+tu2+
opes+opek+opker+
ht1+ht2+ht3+
aikieli+askun+kansal+
opoik
;
--*/
--select * from #tkopisk where opiskeluoikeusavain='108782275'

-- transponoi
delete from TK_tarkistus where tiedonkeruu='tk_opisk_yo';
insert into TK_tarkistus (virhekoodi,virhe,arvo,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,tiedonkeruu)
select 'tunn' as VIRHEKOODI, 'oppilaitostunnus on virheellinen' as VIRHE,tunn AS ARVO,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>tunn
union select 'avain', 'koulutuskoodi on virheellinen tai puuttuu',avain,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>avain
union select 'kkieli', 'koulutuksen opetuskieli -koodiarvo on virheellinen',kkieli,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>kkieli
union select 'kkun', 'koulutuksen sijaintikunta -koodiarvo on virheellinen',kkun,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>kkun
union select 'kkun2', 'kunta-koodiarvo on virheellinen ( koulutustyyppi 2, 3 ja 5 )',kkun2,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>kkun2
union select 'kirtupv', 'kirjoihintuloajankohta on virheellinen',kirtupv,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>kirtupv
union select 'kirtupv2', 'kirjoihintulovuosi ei saa olla suurempi kuin tilastovuosi, kirjoihintulokuukausi ei ole 1-12 tai päivä ei ole 1-31',kirtupv2,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>kirtupv2
union select 'olotamm', 'kevään kirjoillaolo on virheellinen',olotamm,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>olotamm
union select 'olotamm1', 'kevään läsnäolotieto voi olla 0, 1 tai 2',olotamm1,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>olotamm1
union select 'olotamm2', 'jos tilastovuosi=kirjoihintulovuosi ja kirjoihintulolukukausi on syksy, kevään läsnäolotiedon on oltava 0',olotamm2,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>olotamm2
union select 'olotamm3', 'kevään läsnäolotieto voi olla vanhoilla opiskelijoilla joko 1 tai 2',olotamm3,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>olotamm3
union select 'olotamm4', 'kirjoihintulolukukausi on kevät, mutta kevään läsnäolotieto on 0',olotamm4,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>olotamm4
union select 'olosyys', 'olosyys (läsnäolo 20.9.) on virheellinen. syksyn läsnäolotieto voi olla 0, 1 tai 2',olosyys,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>olosyys
union select 'tu1', 'joillakin havainnoilla samat arvot joka muuttujalla - täydellinen tuplatietue',tu1,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>tu1
union select 'tu2', 'sama oppilaitostunnus-koulutustyyppi-koulutuskoodi -kombinaatio useita kertoja',tu2,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>tu2
union select 'opes', 'ed. syyslukukaudella suoritettu liikaa opintopisteitä',opes,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>opes
union select 'opek', 'ed. kevätlukukaudella suoritettu liikaa opintopisteitä',opek,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>opek
union select 'opker', 'opintopistekertymä liian suuri tai ed. kevät- ja syyslukukausien opintopisteet yhteensä ovat enemmän kuin kertymä plus yksi (=pyöristykset voivat nostaa summaa yhdellä).',opker,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>opker
union select 'ht1', 'Puutteellinen henkilötunnus - loppuosa puuttuu',ht1,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>ht1
union select 'ht2', 'henkilötunnus, jonka jakojäännös ei täsmää - loppuosa virheellinen',ht2,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>ht2
union select 'ht3', 'sukupuolitieto virheellinen',ht3,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>ht3
union select 'ht4', 'Väärä välimerkki lopussa. Jos 2000 luvulla syntynyt tulee olla A ei -',ht4,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>ht4
union select 'aikieli', 'äidinkielitieto virheellinen',aikieli,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>aikieli
union select 'askun', 'asuinkuntatieto virheellinen',askun,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>askun
union select 'kansal', 'kansalaisuustieto virheellinen',kansal,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>kansal
---union select 'lasnalk1', '(läsnäololukukaudet + poissaololukukaudet) <= (3 - 1.kirjoihintulolukukausi) + (tilastovuosi - 1.kirjoihintulovuosi) * 2',lasnalk1,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>lasnalk1
---union select 'lasnalk2', 'läsnä- tai poissaolokausia täytyy olla vähintään 1.',lasnalk2,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>lasnalk2
---union select 'oplaaj1', 'Opintojen laajuus virheellinen; muodollinen virhe (voi olla 1 - 300)',oplaaj1,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>oplaaj1
---union select 'kirtu1pv', 'Ensimmäinen kirjoihintuloajankohta ko. tutkintoon virheellinen; kirjoihintulokuukausi voi saada arvon 1-12, päivä arvon 1-31',kirtu1pv,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>kirtu1pv
---union select 'kirtu1p2', 'Ensimmäinen kirjoihintuloajankohta ko. tutkintoon virheellinen; ei voi olla suurempi kuin kirjoihintulo tähän tutkintoon tässä amk:ssa',kirtu1p2,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>kirtu1p2
---union select 'opett1', 'Lastentarhanpettajan koulutus muodoltaan virheellinen; voi olla 1, 2, 3, 4, 5 tai tyhjä.',opett1,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>opett1
---union select 'opett2', 'opettajankoulutus ei ole sosionomi-tutkinnolla',opett2,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>opett2
---union select 'opett3', 'opettajatieto syksyn uudella opiskelijalla',opett3,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>opett3
---union select 'rahlahde', 'Rahoituslähde muodoltaan virheellinen. Voi olla 1, 2, 3, 4 tai 5.',rahlahde,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>rahlahde
union select 'opoik', 'OPOIK puuttuu',opoik,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' from #tarkistus where ''<>opoik
union SELECT 'ohjauksenAla', 'jos koulutuskoodi 999999 ja koulutustyyppi on 5, 6 tai 7 niin ohjauksenala on annettava koodiarvolla 1 - 12 ja se ei voi olla tyhjä',ohjauksenAla,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id,db,'tk_opisk_yo' FROM #tarkistus WHERE ''<>ohjauksenAla

;
print convert(varchar,getdate(),120)+' tarkistustiedot viety tauluun TK_tarkistus'
;

Muutoshistoria

27.5.2019 :: HT4 tarkistuksen lisäys :: wiki-versio 31

  • Lisätty tarkistus hetutomille, syntymäajan välimerkki, muodossa ppkkvv-. Hetu-välimerkki jos henkilö 2000-luvulla syntynyt ei saa olla '-' vaan 'A', syntymäaika tulee olla muodossa ppkkvvA

12.10.2018:: Ohjauksenala tyhjä ja tutkintokoodin tarkistus :: wiki-versio 30

Tarkistuskäsittelyyn lisätty avain muuttujaan tutkintokoodin ensimmäisen numeron tarkastelu että alkaa numeroilla 6,7,8 tai 9 ja ohjauksenala päättelyyn koulk = '999999' niin ohjauksenala ei saa olla tyhjä.

...