-- innreisende fra verdensdel
select  'uib.no:student:' || s.studentnr_tildelt studentnr,
        'INN/VDEL: ' || nvl (uibl.continentname, 'UKJENT') distlistenavn
from    fs.utvperson up,
        fs.utvavtale ua,
        fs.institusjon i,
        fs.land l,
        fs.student s,
        i0184_uib.land uibl
where   up.status_innreisende = 'J' and
        up.fodselsdato = s.fodselsdato and
        up.personnr = s.personnr and
        (up.utvekslingstatuskode is null or up.utvekslingstatuskode not in ('TRUKKET', 'IKKEMØTT', 'SYK', 'AVSLAGINST')) and
        up.dato_fra < sysdate + 30 and
        up.dato_til > sysdate - 30 and
        up.avtaleid = ua.avtaleid and
        up.institusjonsnr_ekst = i.institusjonsnr and
        i.landnr = l.landnr and
        l.landkode = uibl.countrycode (+)   
union     
-- utreisende til verdensdel
select  'uib.no:student:' || s.studentnr_tildelt studentnr,
        'UT/VDEL: ' || nvl (uibl.continentname, 'UKJENT') distlistenavn
from    fs.utvperson up,
        fs.utvavtale ua,
        fs.institusjon i,
        fs.land l,
        fs.student s,
        i0184_uib.land uibl
where   up.status_innreisende = 'N' and
        up.fodselsdato = s.fodselsdato and
        up.personnr = s.personnr and
        (up.utvekslingstatuskode is null or up.utvekslingstatuskode not in ('TRUKKET', 'IKKEMØTT', 'SYK', 'AVSLAGINST')) and
        up.dato_fra < sysdate + 30 and
        up.dato_til > sysdate - 30 and
        up.avtaleid = ua.avtaleid and
        up.institusjonsnr_ekst = i.institusjonsnr and
        i.landnr = l.landnr and
        l.landkode = uibl.countrycode (+)   
union
-- innreisende fra land   
select  'uib.no:student:' || s.studentnr_tildelt studentnr,
        'INN/LAND: ' || l.landnavn_norsk 
from    fs.utvperson up,
        fs.utvavtale ua,
        fs.institusjon i,
        fs.land l,
        fs.student s
where   up.status_innreisende = 'J' and
        up.fodselsdato = s.fodselsdato and --s.studentnr_tildelt = 178423 and
        up.personnr = s.personnr and
        (up.utvekslingstatuskode is null or up.utvekslingstatuskode not in ('TRUKKET', 'IKKEMØTT', 'SYK', 'AVSLAGINST')) and
        up.dato_fra < sysdate + 30 and
        up.dato_til > sysdate - 30 and
        up.avtaleid = ua.avtaleid and
        up.institusjonsnr_ekst = i.institusjonsnr and
        i.landnr = l.landnr
union     
-- utreisende til land        
select  'uib.no:student:' || s.studentnr_tildelt studentnr,
        'UT/LAND: ' || l.landnavn_norsk 
from    fs.utvperson up,
        fs.utvavtale ua,
        fs.institusjon i,
        fs.land l,
        fs.student s
where   up.status_innreisende = 'N' and
        up.fodselsdato = s.fodselsdato and --s.studentnr_tildelt = 178423 and
        up.personnr = s.personnr and
        (up.utvekslingstatuskode is null or up.utvekslingstatuskode not in ('TRUKKET', 'IKKEMØTT', 'SYK', 'AVSLAGINST')) and
        up.dato_fra < sysdate + 30 and
        up.dato_til > sysdate - 30 and
        up.avtaleid = ua.avtaleid and
        up.institusjonsnr_ekst = i.institusjonsnr and
        i.landnr = l.landnr
union        
-- innreisende fra institusjon   
select  'uib.no:student:' || s.studentnr_tildelt studentnr,
        'INN/INST: ' || i.institusjonsnavn_bokmal
from    fs.utvperson up,
        fs.utvavtale ua,
        fs.institusjon i,
        fs.student s
where   up.status_innreisende = 'J' and
        up.fodselsdato = s.fodselsdato and
        up.personnr = s.personnr and
        (up.utvekslingstatuskode is null or up.utvekslingstatuskode not in ('TRUKKET', 'IKKEMØTT', 'SYK', 'AVSLAGINST')) and
        up.dato_fra < sysdate + 30 and
        up.dato_til > sysdate - 30 and
        up.avtaleid = ua.avtaleid and
        up.institusjonsnr_ekst = i.institusjonsnr
union                
-- utreisende til institusjon
select  'uib.no:student:' || s.studentnr_tildelt studentnr,
        'UT/INST: ' || i.institusjonsnavn_bokmal
from    fs.utvperson up,
        fs.utvavtale ua,
        fs.institusjon i,
        fs.student s
where   up.status_innreisende = 'N' and
        up.fodselsdato = s.fodselsdato and
        up.personnr = s.personnr and
        (up.utvekslingstatuskode is null or up.utvekslingstatuskode not in ('TRUKKET', 'IKKEMØTT', 'SYK', 'AVSLAGINST')) and
        up.dato_fra < sysdate + 30 and
        up.dato_til > sysdate - 30 and
        up.avtaleid = ua.avtaleid and
        up.institusjonsnr_ekst = i.institusjonsnr       
union
-- innreisende fra by
select  'uib.no:student:' || s.studentnr_tildelt studentnr,
        'INN/BY: ' || l.landnavn_norsk || ': ' || i.bynavn
from    fs.utvperson up,
        fs.utvavtale ua,
        fs.institusjon i,
        fs.land l,
        fs.student s
where   up.status_innreisende = 'J' and
        up.fodselsdato = s.fodselsdato and --s.studentnr_tildelt = 178423 and
        up.personnr = s.personnr and
        (up.utvekslingstatuskode is null or up.utvekslingstatuskode not in ('TRUKKET', 'IKKEMØTT', 'SYK', 'AVSLAGINST')) and
        up.dato_fra < sysdate + 30 and
        up.dato_til > sysdate - 30 and
        up.avtaleid = ua.avtaleid and
        up.institusjonsnr_ekst = i.institusjonsnr and
        i.landnr = l.landnr
union
-- utreisende til by
select  'uib.no:student:' || s.studentnr_tildelt studentnr,
        'UT/BY: ' || l.landnavn_norsk || ': ' || i.bynavn
from    fs.utvperson up,
        fs.utvavtale ua,
        fs.institusjon i,
        fs.land l,
        fs.student s
where   up.status_innreisende = 'N' and
        up.fodselsdato = s.fodselsdato and 
        up.personnr = s.personnr and
        (up.utvekslingstatuskode is null or up.utvekslingstatuskode not in ('TRUKKET', 'IKKEMØTT', 'SYK', 'AVSLAGINST')) and
        up.dato_fra < sysdate + 30 and
        up.dato_til > sysdate - 30 and
        up.avtaleid = ua.avtaleid and
        up.institusjonsnr_ekst = i.institusjonsnr and
        i.landnr = l.landnr