Berichtsassistent
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

133 lines
3.4 KiB

--freemarker template
<#assign makros = [
{"tid":"48140"}
] />
<#assign masken = [
{"makro":"48140", "tid":"48110", "sortnr":"10", "schleifenrelation":"<<SQL>>select ''s_'' || tid,text from lehr_stg_ab where stg in (<<Fächer>>) order by 2",
"schleifenfeldname":"Studiengang","schleifenfstand":"12.03.2025", "schleifenfsicht":"<<Studiengang-Sicht>>"}
] />
<#assign felder = [
] />
-- ab hier nicht mehr ändern:
CREATE TEMP TABLE tmp_macro_masken_bez (
maskeninfo_id1 integer NOT NULL,
maskeninfo_id2 integer NOT NULL,
active integer DEFAULT 1 NOT NULL,
sortnr smallint NOT NULL,
schleifenrelation character(255),
schleifenfeldname character(255),
alias character(255),
schleifenfstand character(255),
schleifenfsicht character(255),
aktion character(255)
);
CREATE TEMP TABLE tmp_macro_feld_wert (
macro integer NOT NULL,
sortnr integer NOT NULL,
feldname character(255) NOT NULL,
alias character(255) NOT NULL,
value character(255),
value_caption character(255),
feldstand character(255),
feldsicht character(255),
active integer DEFAULT 1 NOT NULL
);
<#foreach makro in makros>
<#foreach maske in masken>
<#if maske.makro==makro.tid>
insert into tmp_macro_masken_bez(maskeninfo_id1,
maskeninfo_id2,
active,
sortnr,
schleifenrelation,
schleifenfeldname,
schleifenfstand,
schleifenfsicht)
select ${makro.tid},--maskeninfo_id1,
${maske.tid},--maskeninfo_id2,
1,--active,
${maske.sortnr}, --sortnr,
'${maske.schleifenrelation}', --schleifenrelation,
'${maske.schleifenfeldname}', --schleifenfeldname,
'${maske.schleifenfstand}', --schleifenfstand,
'${maske.schleifenfsicht}' --schleifenfsicht
from xdummy;
<#foreach feld in felder>
<#if feld.makro==makro.tid && feld.sortnr==maske.sortnr>
--Tab.12: alle ohne Exmatr
insert into tmp_macro_feld_wert
( macro,
sortnr,
feldname,
alias,
value,
value_caption,
feldstand,
feldsicht,
active)
SELECT ${makro.tid}, --macro
${maske.sortnr},--sortnr
'${feld.feldname}',--feldname,
'',--alias,
'${feld.value}', --value,
'',--value_caption,
'', --feldstand,
'',--feldsicht,
1 --active
FROM xdummy;
</#if>
</#foreach>
</#if>
</#foreach>
</#foreach>
delete from macro_masken_bez where maskeninfo_id1 in (select maskeninfo_id1 from tmp_macro_masken_bez)
;
insert into macro_masken_bez
(maskeninfo_id1,
maskeninfo_id2,
active,
sortnr,
schleifenrelation,
schleifenfeldname,
alias,
schleifenfstand,
schleifenfsicht,
aktion)
select maskeninfo_id1,
maskeninfo_id2,
active,
sortnr,
schleifenrelation,
schleifenfeldname,
alias,
schleifenfstand,
schleifenfsicht,
aktion
FROM tmp_macro_masken_bez
;
delete from macro_feld_wert where macro in (select macro from tmp_macro_feld_wert);
insert into macro_feld_wert
( macro,
sortnr,
feldname,
alias,
value,
value_caption,
feldstand,
feldsicht,
active)
SELECT macro,
sortnr,
feldname,
alias,
value,
value_caption,
feldstand,
feldsicht,
active
FROM tmp_macro_feld_wert;
drop table tmp_macro_masken_bez;
drop table tmp_macro_feld_wert;