SuperX

Mail für InfosKontaktLogin

Entladescript für ZUL-Modul

SuperX-Version 2.1
SuperX-Modul zul Version 0.8b

Parameter für das Entladen

Parametername Default Wert Beschreibung Kommentar
SOURCESYSTEM hisinone sospos (SOSPOS-GX Datenbank), hisinone (HIS1 Datenbank), co (CampusOnline-Datenbank)
VERSION 10 Version des Vorsystems. Wird nicht mehr gepflegt, ab ZUL-Version 10 immer auf 10 setzen. Bei HISinOne wird sie automatisch gesetzt.
app_prot_maxid 0 Letzte Protokoll-ID beim inkrementellen Laden; Wird automatisch gesetzt, bitte nicht ändern. Gilt nur für HISinOne-APP als Quellsystem
app_updated_at 1900-01-01 Letzter entladener Datensatz beim inkrementellen Laden; Wird automatisch gesetzt, bitte nicht ändern. Gilt nur für HISinOne-APP als Quellsystem
APP_request_status R.k_request_status_id in (select KRS.id from k_request_status KRS where (KRS.hiskey_id not in (1,2,3) or KRS.hiskey_id is null)) [Nur für HISinOne als Quellsystem] Antragsstatus als erstes Kriterium für die Übernahme von Antragsdaten aus APP. Default ist alle übernehmen, deren Antragsstatus nicht die hiskey_id (1), (2) oder (3) hat, s. Tabelle k_request_status.
APP_requestsubject_status RS.k_requestsubject_status_id in (select KRS.id from k_requestsubject_status KRS where (KRS.hiskey_id is null or KRS.hiskey_id not in (1,2,3))) [Nur für HISinOne als Quellsystem] Antragsfachstatus als zweites Kriterium für die Übernahme von Antragsdaten aus APP. Default ist alle übernehmen, deren Antragsfachstatus nicht die hiskey_id (1), (2) oder (3) hat, s. Tabelle k_requestsubject_status.
SOS_UNL_ANON false Pseudonymisierung Matrikelnummern pseudonymisieren (true, false). Muss bei Datenquelle HISinOne auf "false" gesetzt seien.
bew_nachname null::char(1) Soll das Feld bew.nachname entladen werden? Wenn ja, dann ist der Wert "B.nachname", wenn nein, dann ist es null::char(1). Gilt nur für SOSPOS als Quellsystem
bew_sortname null::char(1) Soll das Feld bew.sortname entladen werden? Wenn ja, dann ist der Wert "B.sortname", wenn nein, dann ist es null::char(1). Gilt nur für SOSPOS als Quellsystem
bew_vorname null::char(1) Soll das Feld bew.vorname entladen werden? Wenn ja, dann ist der Wert "B.vorname", wenn nein, dann ist es null::char(1). Gilt nur für SOSPOS als Quellsystem
bew_gebname null::char(1) Soll das Feld bew.gebname entladen werden? Wenn ja, dann ist der Wert "B.gebname", wenn nein, dann ist es null::char(1). Gilt nur für SOSPOS als Quellsystem
bew_gebort null::char(1) Soll das Feld bew.gebort entladen werden? Wenn ja, dann ist der Wert "B.gebort", wenn nein, dann ist es null::char(1). Gilt nur für SOSPOS als Quellsystem
bew_gebdat gebdat Soll das Feld bew.gebdat entladen werden? Wenn ja, dann ist der Wert "B.gebdat", wenn nein, dann ist es null::char(1). Gilt nur für SOSPOS als Quellsystem
BEW_FILTER (B.fehlerkz != 'F' or B.fehlerkz is null) [Nur für ZUL-GX oder CO als Quellsystem] Filter für Bewerber beim Entladen aus ZUL. Default ist: alle, die kein Fehlerkz=J haben
zul_hzb_unload true Soll die Tabelle zul_hzb entladen werden? Wenn ja, dann ist der Wert "true", wenn nein, dann ist er "false". Gilt nur für SOSPOS als Quellsystem
zul_k_nc_unload true Sollen die Studienplätze (Tabellen k_nc/k_ncbuch/k_ncplaz/k_topf/nc_rang) entladen werden? Wenn ja, dann ist der Wert "true", wenn nein, dann ist er "false"
zul_eign_unload false Sollen die Eignungsdaten(eignstg,eigntxt,eignbew) entladen werden? Wenn ja, dann ist der Wert "true", wenn nein, dann ist er "false". Gilt nur für SOSPOS als Quellsystem
zul_quote_unload false Soll die Tabelle zul_quote entladen werden? Wenn ja, dann ist der Wert "true", wenn nein, dann ist er "false". Gilt nur für SOSPOS als Quellsystem
bew_efh efh Soll das Feld bew.efh (erfassende FH, nur Bayern) entladen werden? Wenn ja, dann ist der Wert "efh", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_prfzif prfzif Soll das Feld bew.prfzif (Pruefziffer der Matrikelnummer) entladen werden? Wenn ja, dann ist der Wert "prfzif", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_bishsem bishsem Soll das Feld bew.bishsem (Anzahl der bisher studierten Semester) entladen werden? Wenn ja, dann ist der Wert "bishsem", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_hmkfzkz hmkfzkz Soll das Feld bew.hmkfzkz (Heimat-Kfz-Kennz., I=Inland, A=Ausland) entladen werden? Wenn ja, dann ist der Wert "hmkfzkz", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_hmkfz hmkfz Soll das Feld bew.hmkfz (Heimat-Kfz) entladen werden? Wenn ja, dann ist der Wert "hmkfz", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_antrnr antrnr Soll das Feld bew.antrnr (Kleinste Antragsnummer, zu der ein Zulassung vorliegt, sonst 99) entladen werden? Wenn ja, dann ist der Wert "antrnr", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_f1 f1 Soll das Feld bew.f1 (Fehlerkennzeichen 1) entladen werden? Wenn ja, dann ist der Wert "f1", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_f2 f2 Soll das Feld bew.f2 (Fehlerkennzeichen 2) entladen werden? Wenn ja, dann ist der Wert "f2", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_f3 f3 Soll das Feld bew.f3 (Fehlerkennzeichen 3) entladen werden? Wenn ja, dann ist der Wert "f3", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_f4 f4 Soll das Feld bew.f4 (Fehlerkennzeichen 4) entladen werden? Wenn ja, dann ist der Wert "f4", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_f5 f5 Soll das Feld bew.f5 (Fehlerkennzeichen 5) entladen werden? Wenn ja, dann ist der Wert "f5", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_f6 f6 Soll das Feld bew.f6 (Fehlerkennzeichen 6) entladen werden? Wenn ja, dann ist der Wert "f6", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_f7 f7 Soll das Feld bew.f7 (Fehlerkennzeichen 7) entladen werden? Wenn ja, dann ist der Wert "f7", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_f8 f8 Soll das Feld bew.f8 (Fehlerkennzeichen 8) entladen werden? Wenn ja, dann ist der Wert "f8", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_verwkz1 verwkz1 Soll das Feld bew.verwkz1 (Verwaltungskennzeichen 1) entladen werden? Wenn ja, dann ist der Wert "verwkz1", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_verwkz2 verwkz2 Soll das Feld bew.verwkz1 (Verwaltungskennzeichen 2) entladen werden? Wenn ja, dann ist der Wert "verwkz2", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_verwkz3 verwkz3 Soll das Feld bew.verwkz1 (Verwaltungskennzeichen 3) entladen werden? Wenn ja, dann ist der Wert "verwkz3", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_verwkz4 verwkz4 Soll das Feld bew.verwkz1 (Verwaltungskennzeichen 4) entladen werden? Wenn ja, dann ist der Wert "verwkz4", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_verarbkz verarbkz Soll das Feld bew.verarbkz (Verarbeitungskennzeichen) entladen werden? Wenn ja, dann ist der Wert "verarbkz", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_anschrkz anschrkz Soll das Feld bew.anschrkz (fuer Vorabimmatrikulation - siehe Tabelle sos) entladen werden? Wenn ja, dann ist der Wert "anschrkz", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_erhskfz erhskfz Soll das Feld bew.erhskfz (fuer Vorabimmatrikulation - siehe Tabelle sos) entladen werden? Wenn ja, dann ist der Wert "erhskfz", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_erhsart erhsart Soll das Feld bew.erhsart (fuer Vorabimmatrikulation - siehe Tabelle sos) entladen werden? Wenn ja, dann ist der Wert "erhsart", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_erhssembrd erhssembrd Soll das Feld bew.erhssembrd (fuer Vorabimmatrikulation - siehe Tabelle sos) entladen werden? Wenn ja, dann ist der Wert "erhssembrd", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_erstsemhs erstsemhs Soll das Feld bew.erstsemhs (fuer Vorabimmatrikulation - siehe Tabelle sos) entladen werden? Wenn ja, dann ist der Wert "erstsemhs", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_urlsem urlsem Soll das Feld bew.urlsem (fuer Vorabimmatrikulation - siehe Tabelle sos) entladen werden? Wenn ja, dann ist der Wert "urlsem", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_praxsem praxsem Soll das Feld bew.praxsem (fuer Vorabimmatrikulation - siehe Tabelle sos) entladen werden? Wenn ja, dann ist der Wert "praxsem", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_kolsem kolsem Soll das Feld bew.kolsem (fuer Vorabimmatrikulation - siehe Tabelle sos) entladen werden? Wenn ja, dann ist der Wert "kolsem", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_klinsem klinsem Soll das Feld bew.klinsem (fuer Vorabimmatrikulation - siehe Tabelle sos) entladen werden? Wenn ja, dann ist der Wert "klinsem", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_zvs_zusatz zvs_zusatz Soll das Feld bew.zvs_zusatz (Block der ZVS-Zusatzdaten) entladen werden? Wenn ja, dann ist der Wert "zvs_zusatz", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_bewnrhist bewnrhist Soll das Feld bew.bewnrhist (fruehere Bewerbernummern) entladen werden? Wenn ja, dann ist der Wert "bewnrhist", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
bew_erfassungsart erfassungsart Soll das Feld bew.erfassungsart (Erfassungsart) entladen werden? Wenn ja, dann ist der Wert "erfassungsart", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
antr_antrnr A.antrnr Soll das Feld antr.antrnr (Antragsnummer) entladen werden? Wenn ja, dann ist der Wert "A.antrnr", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
antr_vert vert Soll das Feld antr.vert (Vertiefungsrichtung) entladen werden? Wenn ja, dann ist der Wert "vert", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
antr_stuart stuart Soll das Feld antr.stuart (Studiumsart) entladen werden? Wenn ja, dann ist der Wert "stuart", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
antr_stutyp stutyp Soll das Feld antr.stutyp (Studiumstyp) entladen werden? Wenn ja, dann ist der Wert "stutyp", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
antr_stufrm stufrm Soll das Feld antr.stufrm (Studienform) entladen werden? Wenn ja, dann ist der Wert "stufrm", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
antr_stort stort Soll das Feld antr.stort (Studiort, falls HS mehrere Standorte hat) entladen werden? Wenn ja, dann ist der Wert "stort", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
antr_verfnote verfnote Soll das Feld antr.verfnote (resultierende Leistungsbewertung Note) entladen werden? Wenn ja, dann ist der Wert "verfnote", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
antr_zulart zulart Soll das Feld antr.zulart (Status des Bewerbers) entladen werden? Wenn ja, dann ist der Wert "zulart", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
antr_zulfh zulfh Soll das Feld antr.zulfh (zulassende FHS, nur Bayern) entladen werden? Wenn ja, dann ist der Wert "zulfh", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
antr_ablart ablart Soll das Feld antr.ablart (Ablehnungsgrund des Bewerbers) entladen werden? Wenn ja, dann ist der Wert "ablart, wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
antr_eignnote eignnote Soll das Feld antr.eignnote (Eignungsnote) entladen werden? Wenn ja, dann ist der Wert "eignnote", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
antr_lepsem lepsem Soll das Feld antr.lepsem (Lehrplan-/Einstufungssemester) entladen werden? Wenn ja, dann ist der Wert "lepsem", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
antr_kmpldatum kmpldatum Soll das Feld antr.kmpldatum (Datum der Komplettierung des Antrags) entladen werden? Wenn ja, dann ist der Wert "kmpldatum", wenn nein, dann ist er "null::char(1)". Gilt nur für SOSPOS als Quellsystem
APP_CONTENT ('uniquename1','uniquename2') Welche Bewerbungsbestandteile sollen entladen werden? Bitte tragen Sie zum Entladen der jeweiligen Bewerbungsbestandteile die uniquenames von application_content ein.

Entladeschritte

Kurzitel Beschreibung Tabelle/Script Datei
preparation1 wichtige Konstanten aus SOS entladen, z.B. HISSOS-Version.
Quellsystem sospos

DROP TABLE IF EXISTS tmp_bew;
create table tmp_bew(bewnr integer,mtknr integer, mtknr_ldsg integer);


Quellsystem hisinone

DROP TABLE IF EXISTS tmp_bew;
create table tmp_bew(bewnr integer,mtknr integer, mtknr_ldsg integer);


preparation2 Bewerber für Laderoutine sammeln, ggf. Pseudonym hinzufügen
Quellsystem sospos


insert into tmp_bew(bewnr,mtknr,mtknr_ldsg)
select B.bewnr,B.mtknr,L.mtknr_ldsg from bew B left outer join mtknr_ldsg L
on (L.mtknr=B.mtknr)
where $BEW_FILTER;


Quellsystem hisinone


insert into tmp_bew(bewnr,mtknr,mtknr_ldsg)
--erster Fall komplettes Entladen mit Pseudonymisierung
select distinct AT.id,S.registrationnumber,S.id
from applicant AT left outer join student S
on (S.person_id=AT.person_id)
where $app_prot_maxid=0
and '$SOS_UNL_ANON' = 'true'
--keine Personen mit Rolle "Gelöscht"
and 0 = (
    SELECT
      count(*)
    FROM
      orgrole O,
      role R
    WHERE
      R.id = O.role_id
      AND AT.person_id = O.person_id
      AND R.hiskey_id IN (3000)
    )
union
--zweiter Fall komplettes Entladen (default) ohne Pseudonymisierung
select distinct AT.id,S.registrationnumber,S.registrationnumber
from applicant AT left outer join student S
on (S.person_id=AT.person_id)
where $app_prot_maxid=0
and '$SOS_UNL_ANON' = 'false'
--keine Personen mit Rolle "Gelöscht"
and 0 = (
    SELECT
      count(*)
    FROM
      orgrole O,
      role R
    WHERE
      R.id = O.role_id
      AND AT.person_id = O.person_id
      AND R.hiskey_id IN (3000)
    )
union
--dritter Fall: inkrementelles Entladen mit Pseudonymisierung, wird nur in Unterladeroutine app_realtime_unload genutzt:
select distinct AT.id,S.registrationnumber,S.id
from requestsubject RS, requestsubjectgroup_requestsubject RG, requestsubjectgroup RSG,request R, requestgroup G,
application AP, applicant AT left outer join student S
on (S.person_id=AT.person_id)
where $app_prot_maxid>0
and
(
AP.updated_at > '$app_updated_at'
or RS.updated_at > '$app_updated_at'
or AT.updated_at > '$app_updated_at'
or R.updated_at > '$app_updated_at'
)
and RS.id=RG.requestsubject_id
and RSG.id=RG.requestsubjectgroup_id
and RSG.request_id=R.id
and R.requestgroup_id=G.id
and G.application_id=AP.id
and AP.applicant_id=AT.id
--keine Personen mit Rolle "Gelöscht"
and 0 = (
    SELECT
      count(*)
    FROM
      orgrole O,
      role R
    WHERE
      R.id = O.role_id
      AND AT.person_id = O.person_id
      AND R.hiskey_id IN (3000)
    )
union
--vierter Fall: inkrementelles Entladen ohne Pseudonymisierung, wird nur in Unterladeroutine app_realtime_unload genutzt:
select distinct AT.id,S.registrationnumber,S.registrationnumber
from requestsubject RS, requestsubjectgroup_requestsubject RG, requestsubjectgroup RSG,request R, requestgroup G,
application AP, applicant AT left outer join student S
on (S.person_id=AT.person_id)
where $app_prot_maxid>0
and
(
AP.updated_at > '$app_updated_at'
or RS.updated_at > '$app_updated_at'
or AT.updated_at > '$app_updated_at'
or R.updated_at > '$app_updated_at'
)
and RS.id=RG.requestsubject_id
and RSG.id=RG.requestsubjectgroup_id
and RSG.request_id=R.id
and R.requestgroup_id=G.id
and G.application_id=AP.id
and AP.applicant_id=AT.id
--keine Personen mit Rolle "Gelöscht"
and 0 = (
    SELECT
      count(*)
    FROM
      orgrole O,
      role R
    WHERE
      R.id = O.role_id
      AND AT.person_id = O.person_id
      AND R.hiskey_id IN (3000)
    )
;

preparation3 wichtige Konstanten aus SOS entladen, z.B. HISSOS-Version.
Quellsystem sospos

-- alle mtknr aus der Tabelle sos in die Tabelle mtknr_ldsg einfügen

create temp table tmp_mtknr_ldsg(mtknr integer);
--Welche Matrikelnummern sind neu?
insert into tmp_mtknr_ldsg
select S.mtknr from tmp_bew S left outer join mtknr_ldsg L
on (L.mtknr=S.mtknr)
where S.mtknr is not null
and L.mtknr is null
;

--Nur die neuen Matrikelnummern hinzufügen
	   insert into mtknr_ldsg(mtknr)
	   select  distinct mtknr from tmp_mtknr_ldsg
	   where '$SOS_UNL_ANON' = 'true';

	   insert into mtknr_ldsg(mtknr,mtknr_ldsg)
	   select  distinct mtknr,mtknr from tmp_mtknr_ldsg
	   where '$SOS_UNL_ANON' != 'true';

update tmp_bew set mtknr_ldsg=(select L.mtknr_ldsg
from mtknr_ldsg L
where L.mtknr=tmp_bew.mtknr)
where mtknr_ldsg is null;

drop table tmp_mtknr_ldsg;


Quellsystem hisinone

DROP TABLE IF EXISTS temp_wohnort_bewerber;
create table temp_wohnort_bewerber
(
bewerber_id int,
postcode varchar(20),
astat varchar(5),
country_lid int,
country_astat varchar(10)
);
-- temp. Tabelle zur Zuordnung von Bewerbern-innen zu Landkreisen(astat) und Staaten(astat)

-- alle Bewerber ids aus Tabelle applicant (ausser mit dem status -nicht validiert- ) die eine Bewerbung gestellt haben
--insert into temp_wohnort_bewerber (bewerber_id) select ap.person_id from applicant ap,application app where ap.id=app.applicant_id;
insert into temp_wohnort_bewerber (bewerber_id) select ap.person_id from tmp_bew B, applicant ap,application app, person p
where B.bewnr=ap.id
and ap.id=app.applicant_id
and p.id=ap.person_id
-- and (p.registration_k_status_id <> 1001 or registration_k_status_id is NULL)
;


-- die Postleitzahl der Hinterlegten Adresse des Bewerbers (-> welcher Adresstype(n) ist richtig? Ein Bewerber kann verschiedene Adressarten hinterlegen...)
-- und die country_lid ueber die der Staat ermittelt werden kann (temp_wohnort_bewerber.country_lid->country.country_lid)
update temp_wohnort_bewerber
-- in HISinOne kann postcode bis 255 Zeichen sein
set postcode = substr(address.postcode, 0, 20),
country_lid = address.country_lid
FROM address, person, address_k_notificationcategory, k_notificationcategory
WHERE temp_wohnort_bewerber.bewerber_id=person.id and address.person_id=person.id
and address_k_notificationcategory.address_id = address.id
and address_k_notificationcategory.k_notificationcategory_id=k_notificationcategory.id  and k_notificationcategory.hiskey_id=1
AND address.eaddresstype_id IS NULL;

-- wenn der Studierende sich erneut in APP bewirbt (Z-177571)
update temp_wohnort_bewerber
-- in HISinOne kann postcode bis 255 Zeichen sein
set postcode = substr(address.postcode, 0, 20)
FROM address, person, address_k_notificationcategory, k_notificationcategory
WHERE temp_wohnort_bewerber.bewerber_id=person.id and address.person_id=person.id
and address_k_notificationcategory.address_id = address.id
and address_k_notificationcategory.k_notificationcategory_id=k_notificationcategory.id  and k_notificationcategory.hiskey_id=2
AND address.eaddresstype_id IS NULL
AND temp_wohnort_bewerber.postcode IS NULL;

update temp_wohnort_bewerber
-- in HISinOne kann postcode bis 255 Zeichen sein
set country_lid = address.country_lid
FROM address, person, address_k_notificationcategory, k_notificationcategory
WHERE temp_wohnort_bewerber.bewerber_id=person.id and address.person_id=person.id
and address_k_notificationcategory.address_id = address.id
and address_k_notificationcategory.k_notificationcategory_id=k_notificationcategory.id  and k_notificationcategory.hiskey_id=2
AND address.eaddresstype_id IS NULL
AND temp_wohnort_bewerber.country_lid IS NULL;

-- für jeden Bewerber mit Postleitzahl den astat-Schlüssel des Landkreises aus k_postcode holen
update temp_wohnort_bewerber
set astat=(select k_postcode.astat from k_postcode where temp_wohnort_bewerber.postcode=k_postcode.postcode limit 1);

-- Astat-Schlüssel aus Country
update temp_wohnort_bewerber
set country_astat=(select country.astat from country where temp_wohnort_bewerber.country_lid=country.lid and current_date between valid_from and valid_to limit 1);

preparation4 nur fuer hisinone: preparation fuers Entladen hzb_erste"".
Quellsystem sospos

-- dummy-step fuer sospos, darf keinen Rueckgabewert haben:
DROP TABLE IF EXISTS statement_without_return_value_see_ticket_266726;

Quellsystem hisinone

DROP TABLE IF EXISTS tmp_for_hzb_erste;

CREATE TABLE tmp_for_hzb_erste AS
SELECT AT.id, R.requestnumber    
FROM
applicant AT ,
person P ,
application AP , 
requestgroup G , 
request R ,  
examplan E ,
entrance_qualification H ,
unit U, k_elementtype Y ,
requestsubjectgroup RSG ,
requestsubjectgroup_requestsubject RG,
requestsubject RS , 
requestsubject_examplan RE ,
examrelation X ,
examresult L ,
examimport I left outer join district D
on (D.lid=I.district_lid
and current_date between D.valid_from and D.valid_to)
where
P.id=AT.person_id 
and AP.applicant_id=AT.id
and G.application_id=AP.id
and R.requestgroup_id=G.id
and E.person_id=P.id
and H.examplan_id=E.id
and E.unit_id=U.id
and U.k_elementtype_id=Y.id and Y.hiskey_id=7
and RSG.request_id=R.id
and RSG.id=RG.requestsubjectgroup_id
and RS.id=RG.requestsubject_id
and RE.examplan_id=E.id
and RE.requestsubject_id=RS.id
and E.default_examrelation_id =X.id
and L.examrelation_id=X.id
and I.examplan_id=E.id
; 
  
CREATE index i_tmp_for_hzb_erste_id ON tmp_for_hzb_erste(id);

preparation5 nur fuer hisinone: preparation fuers Entladen subject, Kopie von Unload Job SOS unload-job id=preparation3.
Quellsystem sospos

-- dummy-step fuer sospos, darf keinen Rueckgabewert haben:
DROP TABLE IF EXISTS statement_without_return_value_see_ticket_266726;

Quellsystem hisinone


DROP TABLE IF EXISTS tmp_course_of_study;
CREATE TABLE tmp_course_of_study (
    id integer NOT NULL,
    lid integer NOT NULL,
    degree_lid integer,
    degree_id integer,
    subject_lid integer,
    subject_id integer,
    major_field_of_study_lid integer,
    major_field_of_study_id integer,
    course_specialization_lid integer,
    course_specialization_id integer,
    k_subject_indicator_id integer,
    k_examinationversion_id integer,
    k_place_of_studies_id integer,
    k_enrollment_id integer,
    k_type_of_study_id integer,
    k_form_of_studies_id integer,
    part_of_studies integer NOT NULL,
    valid_from date,
    valid_to date,
    k_language_id integer NOT NULL,
    shorttext character varying,
    defaulttext character varying NOT NULL,
    longtext character varying,
    orgunit_lid integer,
    orgunit_id integer,
    regular_number_of_semesters integer,
    uniquename character varying,
    from_term_year integer,
    from_term_type_id integer,
    to_term_year integer,
    to_term_type_id integer,
    admission_to_study_id integer,
    is_admission_to_study integer,
    is_course_of_study_start integer,
    k_course_of_study_type_id integer NOT NULL,
    termcategory integer NOT NULL,
    teachingunit_orgunit_lid integer,
    teachingunit_orgunit_id integer,
    k_field_of_study_id integer,
    examination_office_no character varying,
    is_historized smallint
);

--DDP.studysemester fuer Teilzeit-Studienverlauf ungewichtet entladen: Z-242699
--COS.regular_number_of_semesters fuer Teilzeit-Studiengaenge gewichtet entladen: Z-242699
DROP TABLE IF EXISTS tmp_studysem;
CREATE TABLE tmp_studysem AS
(
  SELECT CAST(cv.parameter_value AS INTEGER) AS studysem_integer 
  FROM confparameter cp
    JOIN confvalue cv ON cp.id=cv.confparameter_id
    JOIN confsrc cs ON cv.confsrc_id=cs.id
  WHERE cp.confkey='cm.stu.degreeprogramprogress.studysemester_integer' AND
    cp.active=1 AND cs.active=1
  ORDER BY cs.priority DESC
  LIMIT 1
); 
INSERT INTO tmp_studysem select 1 WHERE 0=(select count(*) from tmp_studysem);


insert into tmp_course_of_study( id,
       lid,
       degree_lid,
       subject_lid,
       major_field_of_study_lid,
       course_specialization_lid,
       k_subject_indicator_id,
       k_examinationversion_id,
       k_place_of_studies_id,
       k_enrollment_id,
       k_type_of_study_id,
       k_form_of_studies_id,
       part_of_studies,
       valid_from,
       valid_to,
       k_language_id,
       shorttext,
       defaulttext,
       longtext,
       orgunit_lid,
       regular_number_of_semesters,
       uniquename,
       from_term_year,
       from_term_type_id,
       to_term_year,
       to_term_type_id,
       admission_to_study_id,
       is_admission_to_study,
       is_course_of_study_start,
       k_course_of_study_type_id,
       termcategory,
       teachingunit_orgunit_lid,
       k_field_of_study_id,
       examination_office_no,
       is_historized)
SELECT id,
       lid,
       degree_lid,
       subject_lid,
       major_field_of_study_lid,
       course_specialization_lid,
       k_subject_indicator_id,
       k_examinationversion_id,
       k_place_of_studies_id,
       k_enrollment_id,
       k_type_of_study_id,
       k_form_of_studies_id,
       part_of_studies,
       valid_from,
       valid_to,
       k_language_id,
       shorttext,
       defaulttext,
       longtext,
       orgunit_lid,
--       regular_number_of_semesters, --Z-242699
       CASE WHEN (0=(select studysem_integer from tmp_studysem) AND (k_enrollment_id=3 AND (part_time_percentage IS NOT NULL) AND part_time_percentage!=0) ) THEN trunc(regular_number_of_semesters*100/part_time_percentage) ELSE regular_number_of_semesters END,
       uniquename,
       from_term_year,
       from_term_type_id,
       to_term_year,
       to_term_type_id,
       admission_to_study_id,
       is_admission_to_study,
       is_course_of_study_start,
       k_course_of_study_type_id,
       termcategory,
       teachingunit_orgunit_lid,
       k_field_of_study_id,
       examination_office_no,
       0 --is_historized
FROM course_of_study;
--ermitteln der historisierten IDs
--degree
update tmp_course_of_study set degree_id=(select D.id from degree D
where D.lid=tmp_course_of_study.degree_lid
and (D.valid_from <= tmp_course_of_study.valid_from
or D.valid_from is null
or ( D.valid_from is null and tmp_course_of_study.valid_from is null)
)
and (D.valid_to >= tmp_course_of_study.valid_to
or D.valid_to is null
or ( D.valid_from is null and tmp_course_of_study.valid_from is null)
)
);
--wenn degree nicht ermittelt werden kann, dann ohne Historisierung
update tmp_course_of_study set degree_id=(select min(D.id) from degree D
where D.lid=tmp_course_of_study.degree_lid
)
where degree_id is null
;
--subject
update tmp_course_of_study set subject_id=(select D.id from subject D
where D.lid=tmp_course_of_study.subject_lid
and (D.valid_from <= tmp_course_of_study.valid_from
or D.valid_from is null
or ( D.valid_from is null and tmp_course_of_study.valid_from is null)
)
and (D.valid_to >= tmp_course_of_study.valid_to
or D.valid_to is null
or ( D.valid_from is null and tmp_course_of_study.valid_from is null)
)
);
--wenn subject nicht ermittelt werden kann, dann ohne Historisierung
update tmp_course_of_study set subject_id=(select min(D.id) from subject D
where D.lid=tmp_course_of_study.subject_lid
)
where subject_id is null
;
--major_field_of_study
update tmp_course_of_study set major_field_of_study_id=(select D.id from major_field_of_study D
where D.lid=tmp_course_of_study.major_field_of_study_lid
and (D.valid_from <= tmp_course_of_study.valid_from
or D.valid_from is null
or ( D.valid_from is null and tmp_course_of_study.valid_from is null)
)
and (D.valid_to >= tmp_course_of_study.valid_to
or D.valid_to is null
or ( D.valid_from is null and tmp_course_of_study.valid_from is null)
)
);
--course_specialization_lid
update tmp_course_of_study set course_specialization_id=(select D.id from course_specialization D
where D.lid=tmp_course_of_study.course_specialization_lid
and (D.valid_from <= tmp_course_of_study.valid_from
or D.valid_from is null
or ( D.valid_from is null and tmp_course_of_study.valid_from is null)
)
and (D.valid_to >= tmp_course_of_study.valid_to
or D.valid_to is null
or ( D.valid_from is null and tmp_course_of_study.valid_from is null)
)
);
--orgunit
update tmp_course_of_study set orgunit_id=(select D.id from orgunit D
where D.lid=tmp_course_of_study.orgunit_lid
and (D.valid_from <= tmp_course_of_study.valid_from
or D.valid_from is null
or ( D.valid_from is null and tmp_course_of_study.valid_from is null)
)
and (D.valid_to >= tmp_course_of_study.valid_to
or D.valid_to is null
or ( D.valid_from is null and tmp_course_of_study.valid_from is null)
)
);
--wenn Studiengang heute gültig ist und orgunit historisiert, nimmt er den aktuellen FB
update tmp_course_of_study set orgunit_id=(select D.id from orgunit D
where D.lid=tmp_course_of_study.orgunit_lid
and current_date between D.valid_from and D.valid_to)
where current_date between valid_from and valid_to
and orgunit_id is null;


--teachingunit_orgunit_lid

update tmp_course_of_study set teachingunit_orgunit_id=(select D.id from orgunit D
where D.lid=tmp_course_of_study.teachingunit_orgunit_lid
and (D.valid_from <= tmp_course_of_study.valid_from
or D.valid_from is null
or ( D.valid_from is null and tmp_course_of_study.valid_from is null)
)
and (D.valid_to >= tmp_course_of_study.valid_to
or D.valid_to is null
or ( D.valid_from is null and tmp_course_of_study.valid_from is null)
)
)
where teachingunit_orgunit_lid is not null;

--wenn Studiengang heute gültig ist und orgunit historisiert, nimmt er aktuelle LE
update tmp_course_of_study set teachingunit_orgunit_id=(select D.id from orgunit D
where D.lid=tmp_course_of_study.teachingunit_orgunit_lid
and current_date between D.valid_from and D.valid_to)
where current_date between valid_from and valid_to
and teachingunit_orgunit_id is null;


--k_field_of_study
update tmp_course_of_study set k_field_of_study_id=(select S.k_field_of_study_id
from subject S
where S.id=tmp_course_of_study.subject_id)
where k_field_of_study_id is null;
--hochprojizieren auf Fächergruppe
update tmp_course_of_study set k_field_of_study_id=(select K.parent_id
from k_field_of_study K
where K.id=tmp_course_of_study.k_field_of_study_id);

--is_historized=1 wenn es mehrere Studiengänge pro LID gibt
update tmp_course_of_study set is_historized=1
where 1 < (select count(*) from course_of_study C
where C.lid=tmp_course_of_study.lid);

create index i_tc1 on tmp_course_of_study(lid);


konstanten wichtige Konstanten aus SOS entladen, z.B. HISSOS-Version.
Quellsystem sospos

select 1,'' || $VERSION::varchar(200),'ZUL-Version' from db_version
 where his_system='SOS_POS_ZUL'
 union
select 30,'1',beschr from k_s_var where beschr='Semester 5-stellig' and wert1='J'
union
select 31,'0',beschr from k_s_var where beschr='Semester 5-stellig' and wert1 <>'J'
union
select 32,'1','zul_unload_complete' from hskonst
union
select 33,'5','ZUL_Quellsystem' from hskonst
;

Quellsystem hisinone

--k_status wird nur genommen weil sie klein ist
select distinct 1,'' || $VERSION::varchar(200),'ZUL-Version'::varchar(200) from k_status
union
select distinct 3,'1'::varchar(200),'zul_unload_complete'::varchar(200) from k_status
union
select distinct  2,'6'::varchar(200),'ZUL_Quellsystem'::varchar(200) from k_status
;

Quellsystem co


select distinct 1,'' || '$VERSION','ZUL-Version' from k_stg
union
select distinct 3,'1','zul_unload_complete' from k_stg
union
select distinct  2,'15','ZUL_Quellsystem' from k_stg
;

unl/konstanten.unl
zul_bew Bewerber-Stammdaten
Quellsystem sospos

SELECT 
null::integer as personid,
B.bewnr,--ZUL-GX ueberschreib die Bewerbernummer jedes Semester
B.bewnr as bewnr_ext,
$bew_efh,
       eingangdat,
       fehlerkz,
       T.mtknr_ldsg,
       $bew_prfzif,
       bewsem,
       null::char(1),--anti,
       $bew_nachname,
       $bew_sortname,
       $bew_vorname,
       $bew_gebname,
       $bew_gebort,
       $bew_gebdat,
       geschl,
       staat,
       null::char(1),--pozusatz,
       null::char(1),--postrasse,
       null::char(1),--poplz,
       null::char(1),--poort,
       null::char(1),--pozustbez,
       null::char(1),--pokfz,
       null::char(1),--potel,
       $bew_bishsem,
       null::char(1),--zweitst,
       $bew_hmkfzkz,
       $bew_hmkfz,
       $bew_antrnr,
       null::char(1),--gebn,
       B.fehlunt,--fehlunt,
       $bew_f1,
       $bew_f2,
       $bew_f3,
       $bew_f4,
       $bew_f5,
       $bew_f6,
       $bew_f7,
       $bew_f8,
       null::char(1),--bem,
       $bew_verwkz1,
       $bew_verwkz2,
       $bew_verwkz3,
       $bew_verwkz4,
       $bew_verarbkz,
       null::char(1),--bemlang,
       staatkez,
       $bew_anschrkz,
       null::char(1),--kravers,
       null::char(1),--kravnr,
      null::char(1),-- krabnr,
       null::char(1),--berufab,
       null::char(1),--berufmon,
       null::char(1),--berufjahr,
       null::char(1),--prakt1,
       null::char(1),--prakt2,
       null::char(1),--sonsttaet,
       null::char(1),--gesadauer,
       null::char(1),--prakdauer,
       $bew_erhskfz,
       $bew_erhsart,
       $bew_erhssembrd,
       $bew_erstsemhs,
       hssem,
       $bew_urlsem,
       $bew_praxsem,
       null::char(1),--prax1,
       null::char(1),--prax2,
       $bew_kolsem,
       $bew_klinsem,
       null::char(1),--ddrsem,
       null::char(1),--ddrart,
       null::char(1),--stuntsem,
       null::char(1),--staukfz1,
       null::char(1),--staumon1,
       null::char(1),--stauart1,
       null::char(1),--staukfz2,
       null::char(1),--staumon2,
       null::char(1),--stauart2,
       null::char(1),--staukfz3,
       null::char(1),--staumon3,
       null::char(1),--stauart3,
       null::char(1),--wahlkz,
       null::char(1),--wahlfb,
       null::char(1),--antizudtxt,
       null::char(1),--zusastrasse,
       null::char(1),--zusaort,
       null::char(1),--ord_kuenstname,
       gebland,
       null::char(1),--dokvorname,
       $bew_zvs_zusatz,
       $bew_bewnrhist,
       null::char(1),--tnaustausch,
       null::char(1),--titel_nachgestellt,
       null::char(1),--basem,
       null::char(1),--baabdatum,
       null::char(1),--akdsem,
       null::char(1),--akdabdatum,
       $bew_erfassungsart,
       null::char(1),--zustimmung_alumni,
       null::char(1), --zvs_ekritpaket_01,
       null::char(1), --zvs_ekritpaket_02,
       null::char(1), --zvs_ekritpaket_03,
       null::char(1), --zvs_ekritpaket_04,
       null::char(1), --zvs_ekritpaket_05,
       null::char(1), --zvs_ekritpaket_06,
       null::char(1), --zvs_ekritpaket_07,
       null::char(1), --zvs_ekritpaket_08,
       null::char(1), --zvs_ekritpaket_09,
       null::char(1), --zvs_ekritpaket_10,
       null::char(1), --zvs_ekritpaket_11,
       null::char(1), --zvs_ekritpaket_12,
       null::char(1), --zvs_ekritpaket_13,
       null::char(1), --zvs_ekritpaket_14,
       null::char(1), --zvs_ekritpaket15,
       null::char(1), --zvs_ekritpaket_16,
       null::char(1), --zvs_ekritpaket_17,
       null::char(1), --zvs_ekritpaket_18,
       null::char(1) --zvs_spezkrit
FROM tmp_bew T, bew B
where T.bewnr=B.bewnr
and $BEW_FILTER;


Quellsystem hisinone

SELECT distinct P.id as personid,
A.id,--bewnr,
A.applicantnumber as bewnr_ext,
null::char(1), --efh,
       A.servicebegin,  --eingangdat,
       null::char(1),--fehlerkz,
       T.mtknr_ldsg, --mtknr,
       null::char(1),--prfzif,
       '' || AP.term_year || TT.termnumber, --bewsem,
       null::char(1),--anti,
       null::char(1), --P.surname,
       null::char(1),--sortname,
       null::char(1), --P.firstname vorname,
       null::char(1),--gebname,
       null::char(1),--gebort,
       P.birthdate,--gebdat,
       G.astat as geschl, --geschl,
       C.id,--staat,
       null::char(1),--pozusatz,
       null::char(1),--postrasse,
       null::char(1),--poplz, zukuenftig aus Tab. address
       null::char(1),--poort,
       null::char(1),--pozustbez,
       null::char(1),--pokfz,
       null::char(1),--potel,
       AP.studysemesters_completed,--bishsem, //Z.78411
       null::char(1),--zweitst,
       tbw.country_astat, --hmkfzkz [hier wird der astat-key des Staates entladen]
       tbw.astat,--hmkfz [hier wird aus k_postcode der astat Schluessel entladen, ermittelt via Postleitzahl der Adresse Bewerber-in]
       null::char(1),--antrnr,
       null::char(1),--gebn,
       null::char(1),--fehlunt,
       null::char(1),--f1,
       null::char(1),--f2,
       null::char(1),--f3,
       null::char(1),--f4,
       null::char(1),--f5,
       null::char(1),--f6,
       null::char(1),--f7,
       null::char(1),--f8,
       null::char(1),--bem,
       null::char(1),--verwkz1,
       null::char(1),--verwkz2,
       null::char(1),--verwkz3,
       null::char(1),--verwkz4,
       null::char(1),--AP.application_status_id,--verarbkz,
       null::char(1),--bemlang,
       null::char(1),--staatkez,
       null::char(1),--anschrkz,
       null::char(1),--kravers,
       null::char(1),--kravnr,
       null::char(1),--krabnr,
       null::char(1),--berufab,
       null::char(1),--berufmon,
       null::char(1),--berufjahr,
       null::char(1),--prakt1,
       null::char(1),--prakt2,
       null::char(1),--sonsttaet,
       null::char(1),--gesadauer,
       null::char(1),--prakdauer,
       null::char(1),--erhskfz,
       null::char(1),--erhsart,
       null::char(1),--erhssembrd,
       null::char(1),--erstsemhs,
       null::char(1),--hssem,
       null::char(1),--urlsem,
       null::char(1),--praxsem,
       null::char(1),--prax1,
       null::char(1),--prax2,
       null::char(1),--kolsem,
       null::char(1),--klinsem,
       null::char(1),--ddrsem,
       null::char(1),--ddrart,
       null::char(1),--stuntsem,
       null::char(1),--staukfz1,
       null::char(1),--staumon1,
       null::char(1),--stauart1,
       null::char(1),--staukfz2,
       null::char(1),--staumon2,
       null::char(1),--stauart2,
       null::char(1),--staukfz3,
       null::char(1),--staumon3,
       null::char(1),--stauart3,
       null::char(1),--wahlkz,
       null::char(1),--wahlfb,
       null::char(1),--antizudtxt,
       null::char(1),--zusastrasse,
       null::char(1),--zusaort,
       null::char(1),--ord_kuenstname,
       null::char(1),--gebland,
       null::char(1),--dokvorname,
       null::char(1),--zvs_zusatz,
       A.applicantnumber,--bewnrhist,
       null::char(1),--tnaustausch,
       null::char(1),--titel_nachgestellt,
       null::char(1),--basem,
       null::char(1),--baabdatum,
       null::char(1),--akdsem,
       null::char(1),--akdabdatum,
       null::char(1),--erfassungsart,
       null::char(1),--zustimmung_alumni,
       null::char(1), --zvs_ekritpaket_01,
       null::char(1), --zvs_ekritpaket_02,
       null::char(1), --zvs_ekritpaket_03,
       null::char(1), --zvs_ekritpaket_04,
       null::char(1), --zvs_ekritpaket_05,
       null::char(1), --zvs_ekritpaket_06,
       null::char(1), --zvs_ekritpaket_07,
       null::char(1), --zvs_ekritpaket_08,
       null::char(1), --zvs_ekritpaket_09,
       null::char(1), --zvs_ekritpaket_10,
       null::char(1), --zvs_ekritpaket_11,
       null::char(1), --zvs_ekritpaket_12,
       null::char(1), --zvs_ekritpaket_13,
       null::char(1), --zvs_ekritpaket_14,
       null::char(1), --zvs_ekritpaket15,
       null::char(1), --zvs_ekritpaket_16,
       null::char(1), --zvs_ekritpaket_17,
       null::char(1), --zvs_ekritpaket_18,
       null::char(1) --zvs_spezkrit
FROM tmp_bew T ,application AP, applicant A,temp_wohnort_bewerber tbw, term_type TT, k_gender G, person P, personinfo PI left outer join country C
on (C.lid=PI.country_lid
--in person und applicant gibt es kein Datumsfeld, daher today():
and current_date between C.valid_from and C.valid_to)
where T.bewnr=A.id
and G.id=P.k_gender_id
and A.person_id=P.id
and PI.person_id=P.id
and AP.applicant_id=A.id
and tbw.bewerber_id=A.person_id
and AP.term_type_id=TT.id
;


Quellsystem co

SELECT 
B.bewerbernummer,-- personid,
B.bewnr,--ZUL-GX ueberschreib die Bewerbernummer jedes Semester
B.bewerbernummer as bewnr_ext,
$bew_efh,
       null,--eingangdat,
       fehlerkz,
       B.mtknr,
       $bew_prfzif,
       bewsem,
       null,--anti,
       $bew_nachname,
       $bew_sortname,
       $bew_vorname,
       $bew_gebname,
       $bew_gebort,
       $bew_gebdat,
       geschl,
       staat,
       null,--pozusatz,
       null,--postrasse,
       null,--poplz,
       null,--poort,
       null,--pozustbez,
       null,--pokfz,
       null,--potel,
       $bew_bishsem,
       null,--zweitst,
       $bew_hmkfzkz,
       $bew_hmkfz,
       bewnr,
       null,--gebn,
       null,--fehlunt,
       $bew_f1,
       $bew_f2,
       $bew_f3,
       $bew_f4,
       $bew_f5,
       $bew_f6,
       $bew_f7,
       $bew_f8,
       null,--bem,
       $bew_verwkz1,
       $bew_verwkz2,
       $bew_verwkz3,
       $bew_verwkz4,
       $bew_verarbkz,
       null,--bemlang,
       null, --staatkez,
       $bew_anschrkz,
       null,--kravers,
       null,--kravnr,
      null,-- krabnr,
       null,--berufab,
       null,--berufmon,
       null,--berufjahr,
       null,--prakt1,
       null,--prakt2,
       null,--sonsttaet,
       null,--gesadauer,
       null,--prakdauer,
       $bew_erhskfz,
       $bew_erhsart,
       $bew_erhssembrd,
       $bew_erstsemhs,
       null, --hssem,
       $bew_urlsem,
       $bew_praxsem,
       null,--prax1,
       null,--prax2,
       $bew_kolsem,
       $bew_klinsem,
       null,--ddrsem,
       null,--ddrart,
       null,--stuntsem,
       null,--staukfz1,
       null,--staumon1,
       null,--stauart1,
       null,--staukfz2,
       null,--staumon2,
       null,--stauart2,
       null,--staukfz3,
       null,--staumon3,
       null,--stauart3,
       null,--wahlkz,
       null,--wahlfb,
       null,--antizudtxt,
       null,--zusastrasse,
       null,--zusaort,
       null,--ord_kuenstname,
       gebland,
       null,--dokvorname,
       $bew_zvs_zusatz,
       $bew_bewnrhist,
       null,--tnaustausch,
       null,--titel_nachgestellt,
       null,--basem,
       null,--baabdatum,
       null,--akdsem,
       null,--akdabdatum,
       $bew_erfassungsart,
       null,--zustimmung_alumni,
       null, --zvs_ekritpaket_01,
       null, --zvs_ekritpaket_02,
       null, --zvs_ekritpaket_03,
       null, --zvs_ekritpaket_04,
       null, --zvs_ekritpaket_05,
       null, --zvs_ekritpaket_06,
       null, --zvs_ekritpaket_07,
       null, --zvs_ekritpaket_08,
       null, --zvs_ekritpaket_09,
       null, --zvs_ekritpaket_10,
       null, --zvs_ekritpaket_11,
       null, --zvs_ekritpaket_12,
       null, --zvs_ekritpaket_13,
       null, --zvs_ekritpaket_14,
       null, --zvs_ekritpaket15,
       null, --zvs_ekritpaket_16,
       null, --zvs_ekritpaket_17,
       null, --zvs_ekritpaket_18,
       null --zvs_spezkrit
FROM  bew B
where $BEW_FILTER;


unl/zul_bew.unl
zul_antr antr-Saetze aus zul
Quellsystem sospos

SELECT  A.bewnr,
       null::char(1),--efh,
       $antr_antrnr,
       fachnr,
       kzfa,
       stg,
       abschl,
       $antr_vert,
       null::char(1),--schwerpunkt
       $antr_stuart,
       $antr_stutyp,
       $antr_stufrm,
       stgsem,
       null::char(1),--stgspz,
       null::char(1),--dowunsch1,
       null::char(1),--dowunsch2,
       $antr_stort,
       null::char(1),--haerteantr,
       null::char(1),--haerte,
       null::char(1),--haertegrd,
       null::char(1),--haertepunkte,
       null::char(1),--vorzul,
       null::char(1),--dienst,
       null::char(1),--dienstende,
       null::char(1),--bevzul,
       null::char(1),--wartevor,
       null::char(1),--hindvor,
       null::char(1),--wartenach,
       null::char(1),--hindnach,
       null::char(1),--wartemind,
       null::char(1),--zuskr1,
       null::char(1),--zusbew1,
       null::char(1),--zuskr2,
       null::char(1),--zusbew2,
       null::char(1),--zuskr3,
       null::char(1),--zusbew3,
       null::char(1),--zuskr4,
       null::char(1),--zusbew4,
       null::char(1),--zuskr5,
       null::char(1),--zusbew5,
       null::char(1),--zuskr6,
       null::char(1),--zusbew6,
       null::char(1),--noteantr,
       null::char(1),--verbnote,
       null::char(1),--notegrd,
       null::char(1),--noteneu,
       null::char(1),--zeitantr,
       null::char(1),--verbzeit,
       null::char(1),--zeitgrd,
       null::char(1),--wartezeit,
       $antr_verfnote,
       null::char(1),--wartesem,
       null::char(1),--mischnote,
       null::char(1),--punkte,
       null::char(1),--besausl,
       null::char(1),--messausl,
       null::char(1),--messzweit,
       zulassung,
       zuldat,
       $antr_zulart,
       $antr_zulfh,
       $antr_ablart,
      null::char(1),-- quotenr,
       null::char(1),--annfrist,
       annahme,
       null::char(1), --antrags_status
       null::char(1),--antrf1,
       null::char(1),--antrf2,
       null::char(1),--antrf3,
       null::char(1),--antrf4,
       null::char(1),--antrfu,
       null::char(1),--berdatum,
       null::char(1),--bertaet,
       null::char(1),--spvo,
       null::char(1),--immend,
       null::char(1),--beweign,
       $antr_eignnote,
       null::char(1),--bonussem,
       einschreib,
       $antr_lepsem,
       null::char(1),--frisem,
       null::char(1),--angsemg,
       null::char(1),--angsems,
       null::char(1),--angsemb,
       null::char(1),--angsema,
       null::char(1),--klinsem,
       null::char(1),--kohsem,
       null::char(1),--eignteilnahme,
       null::char(1),--eignteilnote,
       null::char(1),--beranfdatum,
       null::char(1),--klinsembean,
       null::char(1),--stgsembean,
       null::char(1),--vklinsembean,
       B.bewsem,
       $antr_kmpldatum,
       A.satzid,
       null::char(1),--ortspraef,
       null::char(1),--raliausw,
       null::char(1),--bewsaldo,
       null::char(1), --fachbind
       B.eingangdat,
       null::integer, -- pversion
       A.zvs_ekritpaket_01,
       A.zvs_ekritpaket_02
FROM antr A, bew B,tmp_bew T
where B.bewnr=A.bewnr
and T.bewnr=B.bewnr
and $BEW_FILTER;

Quellsystem hisinone

SELECT AT.id, --bewnr,
       null::char(1),--efh,
       R.requestnumber, --antrnr,
       RSG.subjectnumber, --fachnr,
       C.k_subject_indicator_id,--kzfa,
       C.subject_id,--stg
       C.degree_id,--abschl,
       C.major_field_of_study_id, --vert,
       C.course_specialization_id, --schwerpunkt
       C.k_type_of_study_id,--stuart,
       C.k_enrollment_id,--stutyp,
       C.k_form_of_studies_id,--stufrm,
       RS.studysemester_admitted,--stgsem,
       null::char(1),--stgspz,
       null::char(1),--dowunsch1,
       null::char(1),--dowunsch2,
       C.k_place_of_studies_id,--stort,
       null::char(1),--haerteantr,
       null::char(1),--haerte,
       null::char(1),--haertegrd,
       null::char(1),--haertepunkte,
       null::char(1),--vorzul,
       null::char(1),--dienst,
       null::char(1),--dienstende,
       null::char(1),--bevzul,
       null::char(1),--wartevor,
       null::char(1),--hindvor,
       null::char(1),--wartenach,
       null::char(1),--hindnach,
       null::char(1),--wartemind,
       null::char(1),--zuskr1,
       null::char(1),--zusbew1,
       null::char(1),--zuskr2,
       null::char(1),--zusbew2,
       null::char(1),--zuskr3,
       null::char(1),--zusbew3,
       null::char(1),--zuskr4,
       null::char(1),--zusbew4,
       null::char(1),--zuskr5,
       null::char(1),--zusbew5,
       null::char(1),--zuskr6,
       null::char(1),--zusbew6,
       null::char(1),--noteantr,
       null::char(1),--verbnote,
       null::char(1),--notegrd,
       null::char(1),--noteneu,
       null::char(1),--zeitantr,
       null::char(1),--verbzeit,
       null::char(1),--zeitgrd,
       null::char(1),--wartezeit,
       null::char(1),--verfnote,
       null::char(1),--wartesem,
       null::char(1),--mischnote,
       null::char(1),--punkte,
       null::char(1),--besausl,
       null::char(1),--messausl,
       null::char(1),--messzweit,
       null::char(1) AS zulassung,
       RS.admissiondate,--zuldat,
       RS.k_admissionstatus_id,--zulart,
       null::char(1),--zulfh,
       null::char(1),--ablart,
       null::char(1),--quotenr,
       R.acceptancedate,--annfrist,
       RS.k_requestsubject_status_id AS annahme,
       KR.id AS antrags_status,
       null::char(1),--antrf1,
       null::char(1),--antrf2,
       null::char(1),--antrf3,
       null::char(1),--antrf4,
       null::char(1),--antrfu,
       null::char(1),--berdatum,
       null::char(1),--bertaet,
       null::char(1),--spvo,
       null::char(1),--immend,
       null::char(1),--beweign,
       null::char(1),--eignnote,
       null::char(1),--bonussem,
       RS.k_requestsubject_status_id,--einschreib,
       null::char(1),--lepsem,
       null::char(1),--frisem,
       null::char(1),--angsemg,
       null::char(1),--angsems,
       null::char(1),--angsemb,
       null::char(1),--angsema,
       null::char(1),--klinsem,
       null::char(1),--kohsem,
       null::char(1),--eignteilnahme,
       null::char(1),--eignteilnote,
       null::char(1),--beranfdatum,
       null::char(1),--klinsembean,
       RS.studysemester_requested,--stgsembean,
       null::char(1),--vklinsembean,
       '' || AP.term_year || T.termnumber,--bewsem
       null::char(1),--kmpldatum,
       AP.id,--satzid,
       null::char(1),--ortspraef,
       null::char(1),--raliausw,
       null::char(1),--bewsaldo,
       null::char(1),--fachbind
       R.receiptdate, --eingangdat
       C.k_examinationversion_id, --pversion
       null::char(1), --zvs_ekritpaket_01,
       null::char(1) --zvs_ekritpaket_02
from
requestsubject RS, requestsubjectgroup_requestsubject RG, requestsubjectgroup RSG,request R, requestgroup G,
application AP, applicant AT,tmp_bew TB ,k_request_status KR,
term_type T,
tmp_course_of_study C
where RS.course_of_study_id=C.id
and RS.id=RG.requestsubject_id
and RSG.id=RG.requestsubjectgroup_id
-- in 4.0 obsolet: and RS.requestsubjectgroup_id=RSG.id
and RSG.request_id=R.id
and R.requestgroup_id=G.id
and G.application_id=AP.id
and AP.applicant_id=AT.id
and T.id=AP.term_type_id
-- and AP.application_status_id=O.id
and TB.bewnr=AT.id
and KR.id = R.k_request_status_id
and ${APP_request_status} --Bewerbung vollständig, Bearbeitung abgeschlossen
and ${APP_requestsubject_status} --Bewerbung vollständig, Bearbeitung abgeschlossen
;


Quellsystem co

SELECT  A.bewnr,
       null,--efh,
       A.antrnr,
       A.fachnr,
       A.kzfa,
A.stg,
A.abschl,
       $antr_vert,
       null,--schwerpunkt
       $antr_stuart,
       $antr_stutyp,
       $antr_stufrm,
A.stgsem,
       null,--stgspz,
       null,--dowunsch1,
       null,--dowunsch2,
       $antr_stort,
       null,--haerteantr,
       null,--haerte,
       null,--haertegrd,
       null,--haertepunkte,
       null,--vorzul,
       null,--dienst,
       null,--dienstende,
       null,--bevzul,
       null,--wartevor,
       null,--hindvor,
       null,--wartenach,
       null,--hindnach,
       null,--wartemind,
       null,--zuskr1,
       null,--zusbew1,
       null,--zuskr2,
       null,--zusbew2,
       null,--zuskr3,
       null,--zusbew3,
       null,--zuskr4,
       null,--zusbew4,
       null,--zuskr5,
       null,--zusbew5,
       null,--zuskr6,
       null,--zusbew6,
       null,--noteantr,
       null,--verbnote,
       null,--notegrd,
       null,--noteneu,
       null,--zeitantr,
       null,--verbzeit,
       null,--zeitgrd,
       null,--wartezeit,
       $antr_verfnote,
       null,--wartesem,
       null,--mischnote,
       null,--punkte,
       null,--besausl,
       null,--messausl,
       null,--messzweit,
A.zulassung,
A.zuldat,
       $antr_zulart,
       $antr_zulfh,
       $antr_ablart,
      null,-- quotenr,
       null,--annfrist,
A.annahme,
       null, --antrags_status
       null,--antrf1,
       null,--antrf2,
       null,--antrf3,
       null,--antrf4,
       null,--antrfu,
       null,--berdatum,
       null,--bertaet,
       null,--spvo,
       null,--immend,
       null,--beweign,
       $antr_eignnote,
       null,--bonussem,
A.einschreib,
       $antr_lepsem,
       null,--frisem,
       null,--angsemg,
       null,--angsems,
       null,--angsemb,
       null,--angsema,
       null,--klinsem,
       null,--kohsem,
       null,--eignteilnahme,
       null,--eignteilnote,
       null,--beranfdatum,
       null,--klinsembean,
       null,--stgsembean,
       null,--vklinsembean,
A.bewsem,
       $antr_kmpldatum,
A.satzid,
       null,--ortspraef,
       null,--raliausw,
       null,--bewsaldo,
       null, --fachbind
       null, --B.eingangdat
       null, -- pversion
       null, --zvs_ekritpaket_01,
       null --zvs_ekritpaket_02
FROM antr A,  bew B
where B.bewnr=A.bewnr
and A.bewsem=B.bewsem
and $BEW_FILTER;
;

unl/zul_antr.unl
zul_hzb hzb-Saetze aus zul
Quellsystem sospos

SELECT  A.bewnr,
        A.antrnr,
	A.satzid,
       A.fachnr,
       A.hzbwiedeu,
       A.hzbart,
       A.hzbnote,
       A.hzbdatum,
       A.hzbkfzkz,
       A.hzbort,
       A.hzbregion,
       A.hzbbes
FROM antr A, bew B
where B.bewnr=A.bewnr
and '$zul_hzb_unload' ='true'
and $BEW_FILTER;

Quellsystem hisinone

SELECT AT.id, --bewnr,
       R.requestnumber, --antrnr
       AP.id, --satzid,
       RSG.subjectnumber, --fachnr,
       null::char(1),--A.hzbwiedeu,
       H.entrance_qualification_type_id,--.hzbart,
       round(L.grade,2),--hzbnote,
       E.date_of_work,--A.hzbdatum,
       I.country_lid,--hzbkfzkz,
       D.uniquename,--hzbort,
       null::char(1),--hzbregion,
       null::char(1)--hzbbes
from
requestsubject RS, requestsubjectgroup RSG,
requestsubjectgroup_requestsubject RG,
request R, requestgroup G,
application AP, applicant AT,
person P,
requestsubject_examplan RE,
examplan E,
entrance_qualification H,
unit U,
k_elementtype Y,
examresult L,
examrelation X,
examimport I left outer join district D
on (D.lid=I.district_lid
and current_date between D.valid_from and D.valid_to)
where
P.id=AT.person_id
and E.person_id=P.id
and RS.id=RG.requestsubject_id
and RSG.id=RG.requestsubjectgroup_id
and RSG.request_id=R.id
and R.requestgroup_id=G.id
and G.application_id=AP.id
and AP.applicant_id=AT.id
and RE.requestsubject_id=RS.id
and RE.examplan_id=E.id
and H.examplan_id=E.id
and E.unit_id=U.id
and U.k_elementtype_id=Y.id
and Y.hiskey_id=7
and E.default_examrelation_id =X.id
and L.examrelation_id=X.id
and I.examplan_id=E.id
--and AT.id=873
;

Quellsystem co

SELECT  A.bewnr,
        A.antrnr,
	A.satzid,
       A.fachnr,
       null, --A.hzbwiedeu,
       A.hzbart,
       A.hzbnote,
       A.hzbdatum,
       A.hzbkfzkz,
       A.hzbort,
       null, --A.hzbregion,
       null --A.hzbbes
FROM antr A, bew B
where B.bewnr=A.bewnr
and B.bewsem=A.bewsem
and '$zul_hzb_unload' ='true'
and $BEW_FILTER;

unl/zul_hzb.unl
zul_hzb_erste hzb-Saetze von Bewerbern mit Antraegen ohne HZB-Zuordnung. Explizite Ermittlung
Quellsystem sospos

select * from k_status where 1=0;

Quellsystem hisinone

SELECT AT.id, --bewnr,
       R.requestnumber, --antrnr
       AP.id, --satzid,
       RSG.subjectnumber, --fachnr,
       null::char(1),--A.hzbwiedeu,
       H.entrance_qualification_type_id,--.hzbart,
       round(L.grade,2),--hzbnote,
       E.date_of_work,--A.hzbdatum,
       I.country_lid,--hzbkfzkz,
       D.uniquename,--hzbort,
       null::char(1),--hzbregion,
       null::char(1)--hzbbes
from
applicant AT ,
person P ,
application AP , 
requestgroup G , 
request R ,  
examplan E ,
entrance_qualification H ,
unit U, k_elementtype Y ,
requestsubjectgroup RSG ,
requestsubjectgroup_requestsubject RG ,
requestsubject RS , 
--requestsubject_examplan RE ,
examrelation X ,
examresult L ,
examimport I left outer join district D
on (D.lid=I.district_lid
and current_date between D.valid_from and D.valid_to)
where
P.id=AT.person_id
and AP.applicant_id=AT.id
and G.application_id=AP.id
and R.requestgroup_id=G.id
and E.person_id=P.id
and H.examplan_id=E.id
and E.unit_id=U.id
and U.k_elementtype_id=Y.id and Y.hiskey_id=7
and RSG.request_id=R.id
and RSG.id=RG.requestsubjectgroup_id
and RS.id=RG.requestsubject_id
--and RE.examplan_id=E.id
--and RE.requestsubject_id=RS.id
and E.default_examrelation_id =X.id
and L.examrelation_id=X.id
and I.examplan_id=E.id
----and AT.id=633 
and 0=(
SELECT count(*) 
FROM tmp_for_hzb_erste TFHE
WHERE AT.id=TFHE.id AND R.requestnumber=TFHE.requestnumber
)
;

Quellsystem co

select * from k_status where 1=0;

unl/zul_hzb_erste.unl
zul_k_nc Studienplätze
Quellsystem hisinone

select distinct C.subject_id,--stg
P.from_studysemester, --stgsem
C.degree_id ,--abschl,
C.k_subject_indicator_id,--kzfa,
null::char(1),--stgchar,
'' || P.term_year || T.termnumber,--bewsem
null::char(1),--ncort,
'J',--topfzul,
P.id,--topf,
P.capacity,   --maxbewerber
null::char(1),--anzbewerber,
null::char(1),--anzbewerberh,
null::char(1),--ueberbuchg,
null::char(1),--prozuebbul,
null::char(1),--ueberbuchl,
null::char(1),--prozuebbuw,
null::char(1),--ueberbuchw,
null::char(1),--switchmisch,
null::char(1),--datbescheid,
null::char(1),--annfrist,
null::char(1),--immanf,
null::char(1),--immend,
null::char(1),--datverf,
null::char(1),--bewsemkz,
null::char(1),--efh,
null::char(1),--bearbverf,
null::char(1),--zeitstempel
P.to_studysemester, --stgsem_bis
round(A.numerator/A.denominator,0) as gewichtung
from admissionshare A, admissionpackage P,
term_type T,
tmp_course_of_study C
where A.admissionpackage_id=P.id
and C.id=A.course_of_study_id
and T.id=P.term_type_id
and '$zul_k_nc_unload' ='true'
;


Quellsystem sospos

SELECT stg,
       stgsem,
       abschl,
       kzfa,
       stgchar,
       Z.bezsem, --sem,
       ncort,
       topfzul,
       topf,
       maxbewerber,
       anzbewerber,
       anzbewerberh,
       ueberbuchg,
       prozuebbul,
       ueberbuchl,
       prozuebbuw,
       ueberbuchw,
       switchmisch,
       datbescheid,
       annfrist,
       K.immanf,
       K.immend,
       datverf,
       bewsemkz,
       efh,
       bearbverf,
       zeitstempel,
       stgsem, --fachsem_bis
       1 as gewichtung
FROM k_nc K, zulsys Z
where Z.aikz='A'
and '$zul_k_nc_unload' ='true';


Quellsystem co

select * from k_stg where 1=0;

unl/zul_k_nc.unl
zul_k_ncbuch k_ncbuch
Quellsystem hisinone
select * from k_status where 1=0;
Quellsystem sospos
SELECT stg,
       stgsem,
       abschl,
       kzfa,
       quotenr,
       ubabs,
       ubrel,
       ubmin,
       ubmax,
       pauschres
FROM k_ncbuch
where '$zul_k_nc_unload' ='true';


Quellsystem co

select * from k_stg where 1=0;

unl/zul_k_ncbuch.unl
zul_k_ncplaz
Quellsystem hisinone
select * from k_status where 1=0;
Quellsystem sospos
SELECT stg,
       stgsem,
       abschl,
       kzfa,
       quotenr,
       anz,
       anzub,
       bes,
       rue,
       grenznote,
       grenzwarte,
       grenzrang,
       grenznoteakt,
       grenzwarteakt,
       grenzrangakt
FROM k_ncplaz
where '$zul_k_nc_unload' ='true';

Quellsystem co

select * from k_stg where 1=0;

unl/zul_k_ncplaz.unl
zul_eignstg
Quellsystem hisinone
select * from k_status where 1=0;
Quellsystem sospos

SELECT abschl,
       stg,
       kzfa,
       stufe,
       stgsem,
       anznk,
       speichern,
       arteign,
       rundung,
       abrundbis,
       efh,
       testende,
       null::char(1),--eigngrp,
       null::char(1),--eignbed,
       null::char(1), --endeeing,
       null::char(1), --endeeingzeit,
       null::char(1) --endeeingpruef
FROM eignstg
where '$zul_eign_unload' ='true';


Quellsystem co

select * from k_stg where 1=0;

unl/zul_eignstg.unl
zul_eigntxt
Quellsystem hisinone
select * from k_status where 1=0;
Quellsystem sospos

SELECT abschl,
       stg,
       kzfa,
       stgsem,
       lfdnr1,
       lfdnr2,
       stufe,
       bewerttxt,
       gewicht,
       ansprung,
       anznk,
       rundung,
       bewmin,
       bewminpl,
       bewmax,
       bewmaxpl,
       umrechnung,
       gewaend,
       efh,
       ltxt,
       copynumber,
       gremkrit,
       funktion,
       faktor,
       faktorart,
       hilfedatei,
       zvs_ref,
       webpl,
       null::char(1), --bewertung_mindestanf,
       null::char(1) --mindestanf_operator
FROM eigntxt
where '$zul_eign_unload' ='true';

Quellsystem co

select * from k_stg where 1=0;

unl/zul_eigntxt.unl
zul_eignbew Anschriften aus SOS
Quellsystem hisinone
select * from k_status where 1=0;
Quellsystem sospos

SELECT bewnr,
       efh,
       antrnr,
       fachnr,
       abschl,
       stg,
       kzfa,
       stgsem,
       lfdnr1,
       lfdnr2,
       stufe,
       bewertung,
       gewicht,
       eingabe,
       bewsem,
       webplnr
FROM eignbew
where '$zul_eign_unload' ='true';


Quellsystem co

select * from k_stg where 1=0;

unl/zul_eignbew.unl
zul_nc_rang
Quellsystem hisinone
select * from k_status where 1=0;
Quellsystem sospos

SELECT bewnr,
       efh,
       antrnr,
       fachnr,
       stg,
       abschl,
       kzfa,
       stgsem,
       quotenr,
       rang,
       rangeinz,
       losnr,
       res01,
       res02,
       res03,
       res04,
       res05
FROM nc_rang
where '$zul_k_nc_unload' ='true';


Quellsystem co

select * from k_stg where 1=0;

unl/zul_nc_rang.unl
zul_quote
Quellsystem hisinone
select * from k_status where 1=0;
Quellsystem sospos

   SELECT quotenr,
       aikz,
       stgchar,
       sem,
       ordnr,
       quote,
       prozent,
       bezugmindernd,
       vorab,
       auswahl,
       auswahlerg,
       sort,
       sort01,
       minplaetze,
       qtxt,
       ztxt
FROM quote
where '$zul_quote_unload' ='true';

Quellsystem co

select * from k_stg where 1=0;

unl/zul_quote.unl
zul_k_topf
Quellsystem hisinone

select distinct
P.id,-- topf,
P.defaulttext,--topfname,
null::char(1),--stgchar,
'' || P.term_year || T.termnumber,--sem,
P.capacity,--maxbewerber,
null::char(1),--anzbewerber,
null::char(1),--anzbewerberh,
null::char(1),--ueberbuchg,
null::char(1),--prozuebbul,
null::char(1),--ueberbuchl,
null::char(1),--prozuebbuw,
null::char(1),--ueberbuchw,
null::char(1),--switchmisch,
null::char(1),--datbescheid,
null::char(1),--annfrist,
null::char(1),--immanf,
null::char(1),--immend,
null::char(1), --datverf
P.k_admissiontype_id
from admissionpackage P,
term_type T
where T.id=P.term_type_id
and '$zul_k_nc_unload' ='true'
;


Quellsystem sospos

SELECT T.topf,
T.topfname,
T.stgchar,
Z.bezsem,--sem
T.maxbewerber,
T.anzbewerber,
T.anzbewerberh,
T.ueberbuchg,
T.prozuebbul,
T.ueberbuchl,
T.prozuebbuw,
T.ueberbuchw,
T.switchmisch,
T.datbescheid,
T.annfrist,
       T.immanf,
       T.immend,
       T.datverf,
       '' --zultyp
FROM k_topf T, zulsys Z
where Z.aikz='A'
and '$zul_k_nc_unload' ='true';


Quellsystem co

select * from k_stg where 1=0;

unl/zul_k_topf.unl
cifx Schluesseltabelle cifx
Quellsystem sospos


   SELECT
 --zuerst gemeinsame Schluessel von SOS, POS und ZUL
 --die gleichen selects muessen auch in der sos_unload.xml sein!!!
   35,
-1,
   refabint,
   ktxt,
   dtxt,
   ltxt,
astat,
null::char(1),--parent
refabint,--sortc1 wird spaeter uniquename
null::char(1),--sortorder
null::char(1),
sprache,
null::char(1), --gueltig von
null::char(1), --gueltig bis
refabint, --sourcesystem_id
null::char(1), --hiskey_id
null::char(1), --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_abint
   WHERE refabint is not null and refabint != '' and refabint != ''
   and (sprache='D' or sprache is null)
    union
SELECT
   30,
-1,
   refstg,
   ktxt,
   dtxt,
   ltxt,
astat,
null::char(1),--parent
refstg, --sortc1
null::char(1),--sortorder
null::char(1),--bund_apnr
sprache,
null::char(1), --gueltig von
null::char(1), --gueltig bis
refstg , --sourcesystem_id
null::char(1), --hiskey_id
fb,  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_stg
   WHERE refstg is not null
      and (sprache='D' or sprache is null)
       and trim (refstg) !=''
union
SELECT
   39,
-1,
   refvert,
   ktxt,
   dtxt,
   ltxt,
null::char(1),
null::char(1),
vert,
null::char(1),--sortorder
null::char(1),
sprache,
null::char(1), --gueltig von
null::char(1), --gueltig bis
refvert , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1),  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_vert
      WHERE refvert is not null
      and (sprache='D' or sprache is null)
       and trim (refvert) !=''

   union
SELECT
   41,
0,
   schwp,
   ktxt,
   dtxt,
   ltxt,
null::char(1),
null::char(1),
schwp,
null::char(1),--sortorder
null::char(1),
sprache ,
null::char(1), --gueltig von
null::char(1), --gueltig bis
schwp , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1),  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid

   FROM k_schwp
   WHERE schwp is not null
   and  trim(schwp) != ''
   union
   SELECT
   601,
-1,
   hzbart,
   ktxt,
   dtxt,
   ltxt,
astat,
null::char(1),
hzbart ,
null::char(1),--sortorder
null::char(1),
null::char(1),
null::char(1), --gueltig von
null::char(1), --gueltig bis
hzbart , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1),  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_hzbart
   union
   SELECT
   612,
-1,
   stufrm,
   ktxt,
   dtxt,
   ltxt,
astat,
null::char(1),
stufrm ,
null::char(1),--sortorder
null::char(1),
null::char(1),
null::char(1), --gueltig von
null::char(1), --gueltig bis
stufrm , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1),  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_stufrm
   union
   SELECT
   614,
-1,
   kzfa,
   ktxt,
   dtxt,
   ltxt,
   his_kzfa,
refkzfa,
kzfa ,
null::char(1),--sortorder
null::char(1),
sprache,
null::char(1), --gueltig von
null::char(1), --gueltig bis
kzfa, --sourcesystem_id
null::char(1), --hiskey_id
null::char(1),  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_kzfa
   where (sprache='D' or sprache is null)
   union
   SELECT
   613,
-1,
   hrst,
   ktxt,
   dtxt,
   ltxt,
astat,
his_hrst,
hrst ,
null::char(1),--sortorder
null::char(1),
null::char(1),
null::char(1), --gueltig von
null::char(1), --gueltig bis
hrst , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1),  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_hrst
   union
   SELECT
   616,
-1,
   stuart,
   ktxt,
   dtxt,
   ltxt,
astat,
null::char(1),
stuart ,
null::char(1),--sortorder
null::char(1),
null::char(1),
null::char(1), --gueltig von
null::char(1), --gueltig bis
stuart , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1),  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_stuart
   union
   SELECT
   620,
-1,
   astfr,
   ktxt,
   dtxt,
   ltxt,
null::char(1),
null::char(1),
astfr ,
null::char(1),--sortorder
null::char(1),
null::char(1),
null::char(1), --gueltig von
null::char(1), --gueltig bis
astfr , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1),  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_astfr
   where astfr is not null
   and trim(astfr)!=''
   union
   SELECT
   621,
-1,
   astgrp,
   ktxt,
   dtxt,
   ltxt,
null::char(1),
null::char(1),
astgrp ,
null::char(1),--sortorder
null::char(1),
null::char(1),
null::char(1), --gueltig von
null::char(1), --gueltig bis
astgrp , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1),  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_astgrp
   where astgrp is not null
   and trim(astgrp)!=''
   union
   SELECT
   618,
-1,
   abext,
   ktxt,
   dtxt,
   ltxt,
astat,
astat,
abext ,
null::char(1),--sortorder
null::char(1),
null::char(1),
null::char(1), --gueltig von
null::char(1), --gueltig bis
abext , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1),  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_abext
   union
   SELECT
   	622,
	-1,
   	refpstatus,
   	ktxt,
   	dtxt,
   	ltxt,
	null::char(1),
	null::char(1),
	refpstatus ,
	null::char(1),--sortorder
	null::char(1),
	null::char(1),
null::char(1), --gueltig von
null::char(1), --gueltig bis
refpstatus , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1),  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_pstatus
   where aikz='A'
   and (sprache='D' or sprache is null)

  union
   SELECT
   40,
-1,
   stutyp,
   ktxt,
   dtxt,
   ltxt,
astat,
null::char(1),
stutyp ,
null::char(1),--sortorder
null::char(1),
null::char(1),
null::char(1), --gueltig von
null::char(1), --gueltig bis
stutyp, --sourcesystem_id
null::char(1), --hiskey_id
null::char(1),  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_stutyp
union
SELECT
   11,
-1,
   ikfz,
   ktxt,
   dtxt,
   ltxt,
astat,
null::char(1),
ikfz,
null::char(1),--sortorder
bland,
null::char(1) ,
null::char(1), --gueltig von
null::char(1), --gueltig bis
ikfz , --sourcesystem_id
null::char(1), --hiskey_id
aikz,  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_ikfz
   WHERE astat is not null

 union
SELECT
   12,
0,
   akfz,
   ktxt,
   dtxt,
   ltxt,
astat,
null::char(1),
akfz,--uniqename
null::char(1),--sortorder
erdteil,
null::char(1) ,
null::char(1), --gueltig von
null::char(1), --gueltig bis
akfz , --sourcesystem_id
null::char(1), --hiskey_id
egmitgl,  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_akfz
   WHERE akfz is not null
   and (sprache ='D' or sprache is null)
   and aikz='A'
   union
   SELECT
   12,
0,
   akfz,
   ktxt,
   dtxt,
   ltxt,
astat,
null::char(1),
akfz,--bei staaten ist astat=uniqename
null::char(1),--sortorder
erdteil,
null::char(1) ,
null::char(1), --gueltig von
'01.01.2009', --gueltig bis
akfz , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1),  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_akfz
   WHERE akfz is not null
   and (sprache ='D' or sprache is null)
  and aikz='I'

    union
SELECT
   8,
0,
   bland,
   ktxt,
   dtxt,
   ltxt,
astat,
null::char(1),
bland,
null::char(1),--sortorder
null::char(1),
null::char(1),
null::char(1), --gueltig von
null::char(1), --gueltig bis
bland, --sourcesystem_id
null::char(1), --hiskey_id
null::char(1),  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_bland
   WHERE bland is not null
   union
   SELECT
   305,
0,
   sperre,
   ktxt,
   dtxt  ,
  ltxt ,
sos_sperre1::char(10),
sos_sperre2::char(10),
sperre,
null::char(1),--sortorder
null::char(1),
null::char(1),
null::char(1), --gueltig von
null::char(1), --gueltig bis
sperre , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1),  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_sperre
   WHERE sperre is not null
   and aikz='A'
   union
SELECT
   9001,
0,
   status,
   ktxt,
   dtxt,
   ltxt ,
astat,
null::char(1),
status,
null::char(1),--sortorder
null::char(1),
null::char(1),
null::char(1), --gueltig von
null::char(1), --gueltig bis
status, --sourcesystem_id
null::char(1), --hiskey_id
null::char(1),  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_status
   WHERE status is not null
   and aikz='A'
    union
SELECT
   9013,
0,
   modulart,
   ktxt,
   dtxt  ,
  ltxt ,
null::char(1),
null::char(1),
modulart,
null::char(1),--sortorder
null::char(1),
sprache,
null::char(1), --gueltig von
null::char(1), --gueltig bis
modulart, --sourcesystem_id
null::char(1), --hiskey_id
null::char(1),  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_modulart
   WHERE modulart is not null
   and aikz='A'
   union

   SELECT
   90,
-1,
   reffb,
   ktxt,
   dtxt,
   ltxt,
null::char(1),
null::char(1),
fb ,
null::char(1),--sortorder
null::char(1),
sprache,
null::char(1), --gueltig von
null::char(1), --gueltig bis
reffb , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1),  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_fb
   where aikz='A'
 union
   SELECT
   	9012,
	-1,
   	stort,
   	ktxt,
   	dtxt,
   	ltxt,
	astat,
	null::char(1),
	stort ,
	null::char(1),--sortorder
	null::char(1),
	null::char(1),
null::char(1), --gueltig von
null::char(1), --gueltig bis
stort, --sourcesystem_id
null::char(1), --hiskey_id
null::char(1),  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_stort
    where aikz='A'
    union
   SELECT
   619,
-1,
   lehreinh,
   ktxt,
   dtxt,
   ltxt,
null::char(1),
null::char(1),
lehreinh ,
null::char(1),--sortorder
null::char(1),
null::char(1),
null::char(1), --gueltig von
null::char(1), --gueltig bis
null::char(1) , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1),  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_le
   where lehreinh is not null
   and trim(lehreinh)!=''
   ;


Quellsystem hisinone


SELECT
  35,
  - 1,
  ('' || id)::varchar(255) AS id,
  substring(shorttext FROM 1 FOR 10),
  substring(defaulttext FROM 1 FOR 100),
  substring(longtext FROM 1 FOR 150),
  substring(astat_land FROM 1 FOR 10),           --astat,
  null::char(1),                                 --parent
  uniquename,
  sortorder,
  substring(astat_bund FROM 1 FOR 10),           --bund_apnr
  substring('' || k_language_id FROM 1 FOR 3),   --sprache,
  valid_from,                                    --gueltig von
  valid_to,                                      --gueltig bis
  id,                                            --sourcesystem_id
  null::char(1),                                 --hiskey_id
  null::char(1),                                 --struktur_c
  lid::char(255),
  null::char(1)                                  --parent_lid
FROM
  degree
WHERE
  hiskey_id = 1                                  --nur interne Abschlüsse

UNION

SELECT 30,
-1,
   '' || S.id,
substring(S.shorttext from 1 for 10),
substring(S.defaulttext from 1 for 100),
substring(S.longtext from 1 for 150),
substring(S.astat_land from 1 for 10) as astat,
null::char(1),--parent
substring(S.uniquename from 1 for 10), --sortc1
 S.sortorder,
S.astat_bund ,--bund_apnr
substring('' || S.k_language_id from 1 for 3),--sprache,
S.valid_from, --gueltig von
S.valid_to, --gueltig bis
S.id , --sourcesystem_id
min('' || F.uniquename) as astgrp, --hiskey_id
min('' || C.orgunit_id), --struktur_c ist FB, keine Duplikate erlaubt
S.lid::char(255) as lid,
null::char(255) as parent_lid
   FROM subject S, tmp_course_of_study C left outer join k_field_of_study F on
(F.id=C.k_field_of_study_id)
where S.id=C.subject_id
and S.hiskey_id=1 --nur interne Fächer
group by 1,2,3,4,5,6,7,9,10,11,12,13,14,15,18,19

UNION

SELECT
--Vertiefung
  39,
  - 1,
  '' || id,
  substring(shorttext FROM 1 FOR 10),
  substring(defaulttext FROM 1 FOR 100),
  substring(longtext FROM 1 FOR 150),
  null::char(1) AS astat,
  null::char(1),                                 --parent
  uniquename,
  sortorder,
  null::char(1),                                 --bund_apnr
  substring('' || k_language_id FROM 1 FOR 3),   --sprache,
  valid_from,                                    --gueltig von
  valid_to,                                      --gueltig bis
  id,                                            --sourcesystem_id
  null::char(1),                                 --hiskey_id
  null::char(1),                                 --struktur_c
  null::char(1),                                 --lid,
  null::char(1)                                  --parent_lid
FROM
  major_field_of_study

UNION

SELECT
--Schwerpunkt
  41,
  0,
  '' || id,
  substring(shorttext FROM 1 FOR 10),
  substring(defaulttext FROM 1 FOR 100),
  substring(longtext FROM 1 FOR 150),
  null::char(1) AS astat,
  null::char(1),                                 --parent
  uniquename,
  sortorder,
  null::char(1),                                 --bund_apnr
  substring('' || k_language_id FROM 1 FOR 3),   --sprache,
  valid_from,                                    --gueltig von
  valid_to,                                      --gueltig bis
  id,                                            --sourcesystem_id
  null::char(1),                                 --hiskey_id
  null::char(1),                                 --struktur_c
  null::char(255) as lid,
  null::char(255) as parent_lid
  
FROM
  course_specialization

UNION

--HZB-Art
SELECT
  601,
  - 1,
  '' || id,
  substring(shorttext FROM 1 FOR 10),
  substring(defaulttext FROM 1 FOR 100),
  substring(longtext FROM 1 FOR 150),
  substring('' || astat FROM 1 FOR 10),          --astat,
  null::char(1),                                 --parent
  uniquename,
  sortorder,
  null::char(1),                                 --bund_apnr
  substring('' || k_language_id FROM 1 FOR 3),   --sprache,
  valid_from,                                    --gueltig von
  valid_to,                                      --gueltig bis
  id,                                            --sourcesystem_id
  null::char(1),                                 --hiskey_id
  null::char(1),                                 --struktur_c
  null::char(1),                                 --lid,
  null::char(1)                                  --parent_lid
FROM
  entrance_qualification_type

UNION

SELECT
  612,
  - 1,
  '' || id,                                      --stufrm
  substring(shorttext FROM 1 FOR 10),
  substring(defaulttext FROM 1 FOR 100),
  substring(longtext FROM 1 FOR 150),
  substring('' || astat FROM 1 FOR 10),          --astat,
  null::char(1),                                 --parent
  uniquename,
  sortorder,
  null::char(1),                                 --bund_apnr
  substring('' || k_language_id FROM 1 FOR 3),   --sprache,
  null::date,                                    --gueltig von
  null::date,                                    --gueltig bis
  id,                                            --sourcesystem_id
  '' || hiskey_id,
  null::char(1),                                 --struktur_c
  null::char(1),                                 --lid,
  null::char(1)                                  --parent_lid
FROM
  k_form_of_studies

UNION

--kzfa:
SELECT
  614,
  - 1,
  '' || id,
  substring(shorttext FROM 1 FOR 10),
  substring(defaulttext FROM 1 FOR 100),
  substring(longtext FROM 1 FOR 150),
  '' || hiskey_id,
  null::char(1),                                 --parent
  uniquename,
  sortorder,
  null::char(1),                                 --bund_apnr
  substring('' || k_language_id FROM 1 FOR 3),   --sprache,
  date('01.01.1900'),                            --gueltig von
  date('01.01.2900'),                            --gueltig bis
  id,                                            --sourcesystem_id
  '' || hiskey_id,
  null::char(1),                                 --struktur_c
  null::char(1),                                 --lid,
  null::char(1)                                  --parent_lid
FROM
  k_subject_indicator

UNION

SELECT
  616,
  - 1,
  '' || id,
  substring(shorttext FROM 1 FOR 10),
  substring(defaulttext FROM 1 FOR 100),
  substring(longtext FROM 1 FOR 150),
  substring('' || astat FROM 1 FOR 10),          --astat,
  null::char(1),                                 --parent
  uniquename,
  sortorder,
  null::char(1),                                 --bund_apnr
  substring('' || k_language_id FROM 1 FOR 3),   --sprache,
  null::date,                                    --gueltig von
  null::date,                                    --gueltig bis
  id,                                            --sourcesystem_id
  '' || hiskey_id,
  null::char(1),                                 --struktur_c
  null::char(1),                                 --lid,
  null::char(1)                                  --parent_lid
FROM
  k_type_of_study

UNION

-- stutyp,
SELECT
  40,
  - 1,
  '' || id,
  substring(shorttext FROM 1 FOR 10),
  substring(defaulttext FROM 1 FOR 100),
  substring(longtext FROM 1 FOR 150),
  substring('' || astat FROM 1 FOR 10),          --astat,
  null::char(1),                                 --parent
  uniquename,
  sortorder,
  null::char(1),                                 --bund_apnr
  substring('' || k_language_id FROM 1 FOR 3),   --sprache,
  null::date,                                    --gueltig von
  null::date,                                    --gueltig bis
  id,                                            --sourcesystem_id
  '' || hiskey_id,
  null::char(1),                                 --struktur_c
  null::char(1),                                 --lid,
  null::char(1)                                  --parent_lid
FROM
  k_enrollment

UNION

SELECT
  11,
  - 1,
  '' || id,                                      -- ikfz,
  substring(shorttext FROM 1 FOR 10),
  substring(defaulttext FROM 1 FOR 100),
  substring(longtext FROM 1 FOR 150),
  substring(astat FROM 1 FOR 10),                -- astat,
  null::char(1),                                 --parent
  uniquename,
  sortorder,
  substring(astat FROM 1 FOR 2),                 -- (bund_apnr) hier StBa-Key für Bundesland aus astat,
  substring('' || k_language_id FROM 1 FOR 3),   --sprache,
  valid_from,                                    --gueltig von
  valid_to,                                      --gueltig bis
  id,                                            --sourcesystem_id
  null::char(1),                                 --hiskey_id
  'A',                                           --struktur_c
  lid::char(255),
  null::char(1)                                  --parent_lid
FROM
  district
WHERE (valid_to IS NULL
  OR CURRENT_DATE <= valid_to)

UNION

SELECT
  11,
  - 1,
  '' || id,                                      -- ikfz,
  substring(shorttext FROM 1 FOR 10),
  substring(defaulttext FROM 1 FOR 100),
  substring(longtext FROM 1 FOR 150),
  substring(astat FROM 1 FOR 10),                -- astat,
  null::char(1),                                 --parent
  uniquename,
  sortorder,
  substring(astat FROM 1 FOR 2),                 -- (bund_apnr) hier StBa-Key für Bundesland aus astat,
  substring('' || k_language_id FROM 1 FOR 3),   --sprache,
  valid_from,                                    --gueltig von
  valid_to,                                      --gueltig bis
  id,                                            --sourcesystem_id
  null::char(1),                                 --hiskey_id
  'I',                                           --struktur_c
  lid::char(255),
  null::char(1)                                  --parent_lid
FROM
  district
WHERE
  valid_to < CURRENT_DATE

UNION

SELECT
  12,
  0,
  '' || id,
  substring(shorttext FROM 1 FOR 10),
  substring(defaulttext FROM 1 FOR 100),
  substring(longtext FROM 1 FOR 150),
  substring('' || astat FROM 1 FOR 10),          --astat,
  null::char(1),                                 --parent
  substring('' || uniquename FROM 1 FOR 10),     --sortc1, uniquename
  sortorder,
  substring('' || continent FROM 1 FOR 10),      -- erdteil
  substring('' || k_language_id FROM 1 FOR 3),   --sprache,
  valid_from,                                    --gueltig von
  valid_to,                                      --gueltig bis
  id,                                            --sourcesystem_id
  null::char(1),                                 --hiskey_id
  '' || lid,                                     --struktur_c
  lid::char(255),
  null::char(1)                                  --parent_lid
FROM
  country

UNION

SELECT
  90,
  - 1,
  '' || O.id,
  substring(O.shorttext FROM 1 FOR 10),
  substring(O.defaulttext FROM 1 FOR 100),
  substring(O.longtext FROM 1 FOR 150),
  substring(O.astat FROM 1 FOR 10),              --astat,
  substring('' || O.parent_lid FROM 1 FOR 3),    --parent
  substring(O.uniquename FROM 1 FOR 10),         --sortc1
  O.sortorder,
  null::char(1),                                 --bund_apnr
  substring('' || O.k_language_id FROM 1 FOR 3), --sprache,
  O.valid_from,                                  --gueltig von
  O.valid_to,                                    --gueltig bis
  O.id,                                          --sourcesystem_id
  '' || T.hiskey_id,
  null::char(1),                                 --struktur_c
  O.lid::char(255),
  O.parent_lid::char(255)
FROM
  orgunit O,
  k_orgunittype T
WHERE
  O.k_orgunittype_id = T.id
  AND T.hiskey_id = 4                            --Fachbereich

UNION

--Standorte
SELECT
  9012,
  - 1,
  '' || id,
  substring(shorttext FROM 1 FOR 10),
  substring(defaulttext FROM 1 FOR 100),
  substring(longtext FROM 1 FOR 150),
  substring(astat FROM 1 FOR 10),                --astat,
  null::char(1),                                 --parent
  uniquename,
  sortorder,
  substring('' || hiskey_id FROM 1 FOR 10),      --bund_apnr
  substring('' || k_language_id FROM 1 FOR 3),   --sprache,
  date('01.01.1900'),                            --gueltig von
  date('01.01.2900'),                            --gueltig bis
  id,                                            --sourcesystem_id
  null::char(1),                                 --hiskey_id
  null::char(1),                                 --struktur_c
  null::char(1),                                 --lid,
  null::char(1)                                  --parent_lid
FROM
  k_place_of_studies;


Quellsystem co



    SELECT
    --zuerst gemeinsame Schluessel von SOS, POS und ZUL
 --die gleichen selects muessen auch in der zul_unload.xml sein!!!

   35,
-1,
   abint,
   abint,--ktxt,
   dtxt,
   ltxt,
astat,
' ',--parent
abint,--sortc1 wird später uniquename
null,--sortorder
' ',
' ' ,--sprache,
' ', --gültig von
' ', --gültig bis
abint, --sourcesystem_id
' ', --hiskey_id
aikz,  --struktur_c
null, --lid,
null --parent_lid
   FROM k_abint
   WHERE abint is not null

    union
SELECT
   30,
-1,
   stg,
   stg as ktxt,
   dtxt,
   ltxt,
astat,
' ',--parent
stg, --sortc1  wird später uniquename
null,--sortorder
' ',--bund_apnr
' ' ,--sprache,
' ', --gültig von
' ', --gültig bis
stg , --sourcesystem_id
' ', --hiskey_id
fb,  --struktur_c
null, --lid,
null --parent_lid
   FROM k_stg
   WHERE stg is not null

 union
 SELECT
    12,
 0,
    akfz,
    akfz as ktxt,
    dtxt,
    ltxt,
 astat,
 '',
 akfz,--uniqename
 null,--sortorder
 erdteil,
 '' ,
 '', --gültig von
 '', --gültig bis
 akfz , --sourcesystem_id
 '' , --hiskey_id
 '',  --struktur_c
null, --lid,
null --parent_lid
    FROM k_akfz
    WHERE akfz is not null
   union
 SELECT
   90,
-1,
'' || O.fb, --   reffb,
'',--   ktxt,
 O.dtxt,
O.ltxt,
'',
'',
''  ,
null,--sortorder
'',
'',--sprache,
'', --gültig von
'', --gültig bis
'' || O.fb , --sourcesystem_id
'', --hiskey_id
'',  --struktur_c
null, --lid,
null --parent_lid
   FROM k_fb O
   where O.fb in (select distinct fb from k_abstgv)
   ;


unl/cifx.unl
zul_cifx Schluesseltabelle cifx
Quellsystem sospos


   SELECT distinct
       --hier beginnen die ZUL-spezifischen selects:
       --reactionstatus angenommen

   	307,
	-1,
   	'J',
   	'Angenommen',
   	'Angenommen',
   	'Angenommen',
	null::char(1),
	null::char(1),
	'J' ,
	null::char(1),--sortorder
	null::char(1),
	null::char(1),
null::char(1), --gueltig von
null::char(1), --gueltig bis
null::char(1) , --sourcesystem_id
'4', --hiskey_id
null::char(1) ,  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_stg
   union
    --reactionstatus immatr.
   SELECT distinct
   	307,
	-1,
   	'IM',
   	'Immatr.',
   	'Immatrikulation',
   	'Immatrikulation',
	null::char(1),
	null::char(1),
	'IM' ,
	null::char(1),--sortorder
	null::char(1),
	null::char(1),
null::char(1), --gueltig von
null::char(1), --gueltig bis
null::char(1) , --sourcesystem_id
'104', --hiskey_id
null::char(1) ,  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_stg
   union
    --k_admissionstatus /zulart zugelassen

   SELECT
   308,
-1,
   '-9',
   'keine',
   'Keine Zulassung',
   'Keine Zulassung',
   null::char(1), --astat,
null::char(1),
'-9' ,
null::char(1),--sortorder
null::char(1),
null::char(1),--sprache,
null::char(1), --gueltig von
null::char(1), --gueltig bis
null::char(1) , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1) ,  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM hskonst --Tab. k_zulart wird nicht mehr genutzt

  union
  SELECT
   308,
-1,
   'HV',
   'Hauptv.',
   'zugelassen im Hauptverfahren',
   'zugelassen im Hauptverfahren',
   null::char(1), --astat,
null::char(1),
'HV' ,
null::char(1),--sortorder
null::char(1),
null::char(1),--sprache,
null::char(1), --gueltig von
null::char(1), --gueltig bis
null::char(1) , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1) ,  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM hskonst --Tab. k_zulart wird nicht mehr genutzt

  union
  SELECT
   308,
-1,
   'N1',
   'Nachr. 1',
   'zugelassen im 1. Nachrückverfahren',
   'zugelassen im 1. Nachrückverfahren',
   null::char(1), --astat,
null::char(1),
'N1' ,
null::char(1),--sortorder
null::char(1),
null::char(1),--sprache,
null::char(1), --gueltig von
null::char(1), --gueltig bis
null::char(1) , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1) ,  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM hskonst --Tab. k_zulart wird nicht mehr genutzt
union
  SELECT
   308,
-1,
   'N2',
   'Nachr. 2',
   'zugelassen im 2. Nachrückverfahren',
   'zugelassen im 2. Nachrückverfahren',
   null::char(1), --astat,
null::char(1),
'N2' ,
	null::char(1),--sortorder
	null::char(1),
null::char(1),--sprache,
null::char(1), --gueltig von
null::char(1), --gueltig bis
null::char(1) , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1),  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM hskonst --Tab. k_zulart wird nicht mehr genutzt
union
  SELECT
   308,
-1,
   'N3',
   'Nachr. 3',
   'zugelassen im 3. Nachrückverfahren',
   'zugelassen im 3. Nachrückverfahren',
   null::char(1), --astat,
null::char(1),
'N3' ,
	null::char(1),--sortorder
	null::char(1),
null::char(1),--sprache,
null::char(1), --gueltig von
null::char(1), --gueltig bis
null::char(1) , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1) ,  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM hskonst --Tab. k_zulart wird nicht mehr genutzt
union
  SELECT
   308,
-1,
   'N4',
   'Nachr. 4',
   'zugelassen im 4. Nachrückverfahren',
   'zugelassen im 4. Nachrückverfahren',
   null::char(1), --astat,
null::char(1),
'N4' ,
	null::char(1),--sortorder
	null::char(1),
null::char(1),--sprache,
null::char(1), --gueltig von
null::char(1), --gueltig bis
null::char(1) , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1) ,  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM hskonst --Tab. k_zulart wird nicht mehr genutzt
union
  SELECT
   308,
-1,
   'N5',
   'Nachr. 5',
   'zugelassen im 5. Nachrückverfahren',
   'zugelassen im 5. Nachrückverfahren',
   null::char(1), --astat,
null::char(1),
'N5' ,
	null::char(1),--sortorder
	null::char(1),
null::char(1),--sprache,
null::char(1), --gueltig von
null::char(1), --gueltig bis
null::char(1) , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1) ,  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM hskonst --Tab. k_zulart wird nicht mehr genutzt
union
  SELECT
   308,
-1,
   'N6',
   'Nachr. 6',
   'zugelassen im 6. Nachrückverfahren',
   'zugelassen im 6. Nachrückverfahren',
   null::char(1), --astat,
null::char(1),
'N6' ,
	null::char(1),--sortorder
	null::char(1),
null::char(1),--sprache,
null::char(1), --gueltig von
null::char(1), --gueltig bis
null::char(1) , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1) ,  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM hskonst --Tab. k_zulart wird nicht mehr genutzt
union
  SELECT
   308,
-1,
   'N7',
   'Nachr. 7',
   'zugelassen im 7. Nachrückverfahren',
   'zugelassen im 7. Nachrückverfahren',
   null::char(1), --astat,
null::char(1),
'N7' ,
	null::char(1),--sortorder
	null::char(1),
null::char(1),--sprache,
null::char(1), --gueltig von
null::char(1), --gueltig bis
null::char(1) , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1) ,  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM hskonst --Tab. k_zulart wird nicht mehr genutzt
union
  SELECT
   308,
-1,
   'N8',
   'Nachr. 8',
   'zugelassen im 8. Nachrückverfahren',
   'zugelassen im 8. Nachrückverfahren',
   null::char(1), --astat,
null::char(1),
'N8' ,
	null::char(1),--sortorder
	null::char(1),
null::char(1),--sprache,
null::char(1), --gueltig von
null::char(1), --gueltig bis
null::char(1) , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1) ,  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM hskonst --Tab. k_zulart wird nicht mehr genutzt
union
  SELECT
   308,
-1,
   'N9',
   'Nachr. 9',
   'zugelassen im 9. Nachrückverfahren',
   'zugelassen im 9. Nachrückverfahren',
   null::char(1), --astat,
null::char(1),
'N9' ,
	null::char(1),--sortorder
	null::char(1),
null::char(1),--sprache,
null::char(1), --gueltig von
null::char(1), --gueltig bis
null::char(1) , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1) ,  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM hskonst --Tab. k_zulart wird nicht mehr genutzt

  union
  SELECT
   308,
-1,
   'MA',
   'manuell',
   'manuell zugelassen',
   'manuell zugelassen',
   null::char(1), --astat,
null::char(1),
'MA' ,
	null::char(1),--sortorder
	null::char(1),
null::char(1),--sprache,
null::char(1), --gueltig von
null::char(1), --gueltig bis
null::char(1) , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1) ,  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM hskonst --Tab. k_zulart wird nicht mehr genutzt

  union
  SELECT
   308,
-1,
   'ZU',
   'frei',
   'Zulassung in freiem Fach',
   'Zulassung in freiem Fach',
   null::char(1), --astat,
null::char(1),
'ZU' ,
	null::char(1),--sortorder
	null::char(1),
null::char(1),--sprache,
null::char(1), --gueltig von
null::char(1), --gueltig bis
null::char(1) , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1) ,  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM hskonst --Tab. k_zulart wird nicht mehr genutzt

  union
    --k_verarbkz

   SELECT
   309,
-1,
   verarbkz,
   ktxt,
   dtxt,
   ltxt,
null::char(1),
null::char(1),
verarbkz ,
	null::char(1),--sortorder
	null::char(1),
null::char(1),
null::char(1), --gueltig von
null::char(1), --gueltig bis
verarbkz , --sourcesystem_id
null::char(1), --hiskey_id
null::char(1) ,  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_verarbkz
   where aikz='A'
   ;


Quellsystem hisinone


    SELECT
  --k_requestsubject_status
   	307,
	-1,
    '' || id,
   substring(shorttext from 1 for 10),
   substring(defaulttext from 1 for 100),
   substring(longtext from 1 for 150),
null::char(1), --astat,
null::char(1) ,--parent vorher || k_admissionstatus_id
uniquename, --uniquename
sortorder,
null::char(1), --bund_apnr
substring('' || k_language_id from 1 for 3),--sprache,
date('01.01.1900'), --gueltig von
date('01.01.2900'), --gueltig bis
id, --sourcesystem_id
'' || hiskey_id,
null::char(1) ,  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_requestsubject_status
     union
   --k_admissionstatus
   SELECT
   	308,
	-1,
    '' || id,
   substring(shorttext from 1 for 10),
   substring(defaulttext from 1 for 100),
   substring(longtext from 1 for 150),
null::char(1), --astat,
null::char(1) ,--parent
uniquename,
sortorder,
null::char(1), --bund_apnr
substring('' || k_language_id from 1 for 3),--sprache,
date('01.01.1900'), --gueltig von
date('01.01.2900'), --gueltig bis
id, --sourcesystem_id
'' ||hiskey_id,
null::char(1) ,  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM k_admissionstatus
     union
   --application_status
   SELECT
   	309,
	-1,
    '' || id,
   substring(shorttext from 1 for 10),
   substring(defaulttext from 1 for 100),
   substring(longtext from 1 for 150),
null::char(1), --astat,
null::char(1) ,--parent
uniquename,
sortorder,
null::char(1), --bund_apnr
substring('' || k_language_id from 1 for 3),--sprache,
valid_from, --gueltig von
valid_to, --gueltig bis
id, --sourcesystem_id
'' || hiskey_id,
null::char(1) ,  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM application_status
      union
   --admission_type
   select
	310,
	-1,
    '' || id,
   substring(shorttext from 1 for 10),
   substring(defaulttext from 1 for 100),
   substring(longtext from 1 for 150),
'', --astat,
'' ,--parent
uniquename,
sortorder,
'', --bund_apnr
substring('' || k_language_id from 1 for 3),--sprache,
date('01.01.1900'), --gueltig von
date('01.01.2900'), --gueltig bis
id, --sourcesystem_id
'' || hiskey_id,
'' ,  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM hisinone.k_admissiontype
      union
   --k_request_status
   select
    311,
    -1,
    '' || id,
   substring(uniquename || ', ' || shorttext from 1 for 10),
   substring(uniquename || ', ' || defaulttext from 1 for 100),
   substring(uniquename || ', ' || longtext from 1 for 150),
'', --astat,
'' ,--parent
uniquename,
sortorder,
'', --bund_apnr
substring('' || k_language_id from 1 for 3),--sprache,
date('01.01.1900'), --gueltig von
date('01.01.2900'), --gueltig bis
id, --sourcesystem_id
'' || hiskey_id,
'' ,  --struktur_c
null::char(1), --lid,
null::char(1) --parent_lid
   FROM hisinone.k_request_status
   ;



Quellsystem co

 SELECT distinct
       --hier beginnen die ZUL-spezifischen selects:
       --reactionstatus angenommen

   	307,
	-1,
   	'J',
   	'Angenommen',
   	'Angenommen',
   	'Angenommen',
	null,
	null,
	'J' ,
	null,--sortorder
	null,
	null,
null, --gueltig von
null, --gueltig bis
null , --sourcesystem_id
'4', --hiskey_id
null,  --struktur_c
null, --lid,
null --parent_lid
   FROM k_stg
   union
    --reactionstatus immatr.
   SELECT distinct
   	307,
	-1,
   	'IM',
   	'Immatr.',
   	'Immatrikulation',
   	'Immatrikulation',
	null,
	null,
	'IM' ,
	null,--sortorder
	null,
	null,
null, --gueltig von
null, --gueltig bis
null , --sourcesystem_id
'104', --hiskey_id
null,  --struktur_c
null, --lid,
null --parent_lid
   FROM k_stg
   union
    --k_admissionstatus /zulart zugelassen

   SELECT distinct
   308,
-1,
   '-9',
   'keine',
   'Keine Zulassung',
   'Keine Zulassung',
   null, --astat,
null,
'-9' ,
null,--sortorder
null,
null,--sprache,
null, --gueltig von
null, --gueltig bis
null , --sourcesystem_id
null, --hiskey_id
null,  --struktur_c
null, --lid,
null --parent_lid
   FROM k_stg --Tab. k_zulart wird nicht mehr genutzt

  union
  SELECT distinct
   308,
-1,
   'HV',
   'Hauptv.',
   'zugelassen im Hauptverfahren',
   'zugelassen im Hauptverfahren',
   null, --astat,
null,
'HV' ,
null,--sortorder
null,
null,--sprache,
null, --gueltig von
null, --gueltig bis
null , --sourcesystem_id
null, --hiskey_id
null,  --struktur_c
null, --lid,
null --parent_lid
   FROM k_stg --Tab. k_zulart wird nicht mehr genutzt

  union
  SELECT distinct
   308,
-1,
   'N1',
   'Nachr. 1',
   'zugelassen im 1. Nachrückverfahren',
   'zugelassen im 1. Nachrückverfahren',
   null, --astat,
null,
'N1' ,
null,--sortorder
null,
null,--sprache,
null, --gueltig von
null, --gueltig bis
null , --sourcesystem_id
null, --hiskey_id
null,  --struktur_c
null, --lid,
null --parent_lid
   FROM k_stg --Tab. k_zulart wird nicht mehr genutzt
union
  SELECT distinct
   308,
-1,
   'N2',
   'Nachr. 2',
   'zugelassen im 2. Nachrückverfahren',
   'zugelassen im 2. Nachrückverfahren',
   null, --astat,
null,
'N2' ,
	null,--sortorder
	null,
null,--sprache,
null, --gueltig von
null, --gueltig bis
null , --sourcesystem_id
null, --hiskey_id
null,  --struktur_c
null, --lid,
null --parent_lid
   FROM k_stg --Tab. k_zulart wird nicht mehr genutzt
union
  SELECT distinct
   308,
-1,
   'N3',
   'Nachr. 3',
   'zugelassen im 3. Nachrückverfahren',
   'zugelassen im 3. Nachrückverfahren',
   null, --astat,
null,
'N3' ,
	null,--sortorder
	null,
null,--sprache,
null, --gueltig von
null, --gueltig bis
null , --sourcesystem_id
null, --hiskey_id
null,  --struktur_c
null, --lid,
null --parent_lid
   FROM k_stg --Tab. k_zulart wird nicht mehr genutzt
union
  SELECT distinct
   308,
-1,
   'N4',
   'Nachr. 4',
   'zugelassen im 4. Nachrückverfahren',
   'zugelassen im 4. Nachrückverfahren',
   null, --astat,
null,
'N4' ,
	null,--sortorder
	null,
null,--sprache,
null, --gueltig von
null, --gueltig bis
null , --sourcesystem_id
null, --hiskey_id
null,  --struktur_c
null, --lid,
null --parent_lid
   FROM k_stg --Tab. k_zulart wird nicht mehr genutzt
union
  SELECT distinct
   308,
-1,
   'N5',
   'Nachr. 5',
   'zugelassen im 5. Nachrückverfahren',
   'zugelassen im 5. Nachrückverfahren',
   null, --astat,
null,
'N5' ,
	null,--sortorder
	null,
null,--sprache,
null, --gueltig von
null, --gueltig bis
null , --sourcesystem_id
null, --hiskey_id
null,  --struktur_c
null, --lid,
null --parent_lid
   FROM k_stg --Tab. k_zulart wird nicht mehr genutzt
union
  SELECT distinct
   308,
-1,
   'N6',
   'Nachr. 6',
   'zugelassen im 6. Nachrückverfahren',
   'zugelassen im 6. Nachrückverfahren',
   null, --astat,
null,
'N6' ,
	null,--sortorder
	null,
null,--sprache,
null, --gueltig von
null, --gueltig bis
null , --sourcesystem_id
null, --hiskey_id
null,  --struktur_c
null, --lid,
null --parent_lid
   FROM k_stg --Tab. k_zulart wird nicht mehr genutzt
union
  SELECT distinct
   308,
-1,
   'N7',
   'Nachr. 7',
   'zugelassen im 7. Nachrückverfahren',
   'zugelassen im 7. Nachrückverfahren',
   null, --astat,
null,
'N7' ,
	null,--sortorder
	null,
null,--sprache,
null, --gueltig von
null, --gueltig bis
null , --sourcesystem_id
null, --hiskey_id
null,  --struktur_c
null, --lid,
null --parent_lid
   FROM k_stg --Tab. k_zulart wird nicht mehr genutzt
union
  SELECT distinct
   308,
-1,
   'N8',
   'Nachr. 8',
   'zugelassen im 8. Nachrückverfahren',
   'zugelassen im 8. Nachrückverfahren',
   null, --astat,
null,
'N8' ,
	null,--sortorder
	null,
null,--sprache,
null, --gueltig von
null, --gueltig bis
null , --sourcesystem_id
null, --hiskey_id
null,  --struktur_c
null, --lid,
null --parent_lid
   FROM k_stg --Tab. k_zulart wird nicht mehr genutzt
union
  SELECT distinct
   308,
-1,
   'N9',
   'Nachr. 9',
   'zugelassen im 9. Nachrückverfahren',
   'zugelassen im 9. Nachrückverfahren',
   null, --astat,
null,
'N9' ,
	null,--sortorder
	null,
null,--sprache,
null, --gueltig von
null, --gueltig bis
null , --sourcesystem_id
null, --hiskey_id
null,  --struktur_c
null, --lid,
null --parent_lid
   FROM k_stg --Tab. k_zulart wird nicht mehr genutzt

  union
  SELECT distinct
   308,
-1,
   'MA',
   'manuell',
   'manuell zugelassen',
   'manuell zugelassen',
   null, --astat,
null,
'MA' ,
	null,--sortorder
	null,
null,--sprache,
null, --gueltig von
null, --gueltig bis
null , --sourcesystem_id
null, --hiskey_id
null,  --struktur_c
null, --lid,
null --parent_lid
   FROM k_stg --Tab. k_zulart wird nicht mehr genutzt

  union
  SELECT distinct
   308,
-1,
   'ZU',
   'frei',
   'Zulassung in freiem Fach',
   'Zulassung in freiem Fach',
   null, --astat,
null,
'ZU' ,
	null,--sortorder
	null,
null,--sprache,
null, --gueltig von
null, --gueltig bis
null , --sourcesystem_id
null, --hiskey_id
null,  --struktur_c
null, --lid,
null --parent_lid
   FROM k_stg --Tab. k_zulart wird nicht mehr genutzt
   union
      SELECT
   309,
-1,
   verarbkz,
   verarbkz, --ktxt,
   dtxt,
   ltxt,
null,
null,
verarbkz ,
	null,--sortorder
	null,
null,
null, --gueltig von
null, --gueltig bis
verarbkz , --sourcesystem_id
null, --hiskey_id
null,  --struktur_c
null, --lid,
null --parent_lid
   FROM k_verarbkz
   where aikz='A'
   ;


unl/zul_cifx.unl
zul_semester SuperX-semester
Quellsystem sospos DBMS ACCESS

   SELECT distinctrow aktsem,aktsem, format([sembg],'dd.mm.yyyy'),format([semende],'dd.mm.yyyy'),format([stistat],'dd.mm.yyyy')
FROM sossys;

Quellsystem sospos DBMS INFORMIX

SELECT distinct aktsem,aktsem, sembg,semende,stistat
FROM sossys;
   
Quellsystem sospos DBMS POSTGRES

SELECT distinct aktsem,aktsem,
   extract(day from sembg)::varchar(2) || '.' || extract(month from sembg)::varchar(2) || '.' || extract(year from sembg)::varchar(4),
   extract(day from semende)::varchar(2) || '.' || extract(month from semende)::varchar(2) || '.' || extract(year from semende)::varchar(4),
   extract(day from stistat)::varchar(2) || '.' || extract(month from stistat)::varchar(2) || '.' || extract(year from stistat)::varchar(4)
FROM sossys;
   
Quellsystem hisinone

SELECT distinct '' || P.term_year || T.termnumber,'' || P.term_year || T.termnumber, date(P.startdate),date(P.enddate),date(P.startdate)+85 --Mitte des semesters
FROM k_period_usage K,period_usage U,period P,term_type T
where K.id=U.k_period_usage_id
and K.hiskey_id=7 --Semesterzeitraum
and U.period_id=P.id
and T.id=P.term_type_id
-- raus fuer Muenchen Bundeswehre HS Trimester and T.termcategory=2 --Semester
;
   
Quellsystem sospos DBMS POSTGRES

SELECT distinct aktsem,aktsem,
   extract(day from sembg)::varchar(2) || '.' || extract(month from sembg)::varchar(2) || '.' || extract(year from sembg)::varchar(4),
   extract(day from semende)::varchar(2) || '.' || extract(month from semende)::varchar(2) || '.' || extract(year from semende)::varchar(4),
   extract(day from stistat)::varchar(2) || '.' || extract(month from stistat)::varchar(2) || '.' || extract(year from stistat)::varchar(4)
FROM sossys;
   
Quellsystem co

select distinct bewsem as tid,
bewsem as eintrag,
'01.10.' || substr('' || bewsem,1,4) as sem_beginn,
'31.03.' || substr('' || (bewsem+9),1,4) as sem_beginn,
'01.12.' || substr('' || bewsem,1,4) as stichtag
from bew
where '' || bewsem like '%2'
union
select distinct bewsem as tid,
bewsem as eintrag,
'01.04.' || substr('' || bewsem,1,4) as sem_beginn,
'30.09.' || substr('' || bewsem,1,4) as sem_beginn,
'01.06.' || substr('' || bewsem,1,4) as stichtag
from bew
where '' || bewsem like '%1'



unl/zul_semester.unl
zul_update_prot Letzter entladener Protokollsatz (APP)
Quellsystem sospos

SELECT *
FROM sossys
where 1=0
   
Quellsystem hisinone

SELECT 130::INTEGER,'app'::CHAR(40), CAST(EXTRACT(epoch FROM (SELECT MAX(updated_at)))AS INTEGER), MAX(updated_at) FROM
(
SELECT MAX(updated_at) AS updated_at FROM application
UNION
SELECT MAX(updated_at) AS updated_at  FROM applicant
UNION
SELECT MAX(updated_at) AS updated_at  FROM request
UNION
SELECT MAX(updated_at) AS updated_at  FROM requestsubject
) AS proformaalisas;

Quellsystem co

select * from k_stg where 1=0;

unl/zul_update_prot.unl
zul_app_content_value Wert Bewerbungsbestandteile
Quellsystem sospos

SELECT *
FROM sossys
where 1=0
   
Quellsystem hisinone

select
	F.application_content_id,
	F.id as field_id,
	A.id,
	'' || AN.term_year || TT.termnumber, --bewsem,
	case when FI.intvalue is null then FI.decimalvalue else FI.intvalue end,
	substring(FI.textvalue from 1 for 255),
	R.course_of_study_id,
	C.subject_lid,
	C.degree_lid,
	null::char(10) as stg,
	null::char(10) as abschluss
from
	hisinone.application_content_field F,
	hisinone.application_content_field_input FI,
	hisinone.requestsubject_application_content_input RA,
	hisinone.requestsubject R,
	hisinone.course_of_study C,
	hisinone.application AN,
	hisinone.applicant A,
	hisinone.term_type TT
where
	F.id=FI.application_content_field_id
	and FI.application_content_input_id=RA.application_content_input_id
	and RA.requestsubject_id=R.id
	and R.application_id=AN.id
	and AN.applicant_id=A.id
	and C.id=R.course_of_study_id
	and F.application_content_id in (select id from hisinone.application_content where uniquename in ${APP_CONTENT})
	and AN.term_type_id=TT.id
;

unl/zul_app_content_value.unl
zul_app_content Wert Bewerbungsbestandteile
Quellsystem sospos

SELECT *
FROM sossys
where 1=0
   
Quellsystem hisinone

select
  AC.id,
  AC.uniquename,
  substring(AC.defaulttext from 1 for 255),
  CF.id,
  CF.discriminator,
  CF.uniquename,
  substring(CF.defaulttext from 1 for 255)
from 
  hisinone.application_content AC,
  hisinone.application_content_field CF
where 
  AC.id=CF.application_content_id
order by 2
;

unl/zul_app_content.unl
finalize1 Beendigung
Quellsystem hisinone


drop table tmp_bew;

drop table if exists tmp_course_of_study;



Quellsystem sospos


drop table tmp_bew;


finalize2 Beendigung
Quellsystem hisinone


DROP TABLE IF EXISTS temp_wohnort_bewerber;
DROP TABLE IF EXISTS tmp_for_hzb_erste;
DROP TABLE IF EXISTS tmp_studysem;