From c804b4f56f3add8c5cee01e08a85bc7c0adb0fd0 Mon Sep 17 00:00:00 2001 From: Daniel Quathamer Date: Wed, 18 Feb 2026 08:06:14 +0100 Subject: [PATCH] Bugfix Upload Spaltenlayout #5 --- src-modules/module/etl/conf/etl.xml | 2 +- .../create_load_etl_sx_captions.sql | 22 ++++++++++++++++ .../schluesseltabellen/etl_step_fuellen.sql | 17 +++++++++++-- .../sx_captions_fuellen.sql | 25 +++++++++++++++++++ .../trans_rpta_column_layout.sql | 10 ++++---- 5 files changed, 68 insertions(+), 8 deletions(-) create mode 100644 src-modules/module/etl/schluesseltabellen/create_load_etl_sx_captions.sql create mode 100644 src-modules/module/etl/schluesseltabellen/sx_captions_fuellen.sql diff --git a/src-modules/module/etl/conf/etl.xml b/src-modules/module/etl/conf/etl.xml index 599af1f..b40ecde 100644 --- a/src-modules/module/etl/conf/etl.xml +++ b/src-modules/module/etl/conf/etl.xml @@ -1,6 +1,6 @@ - diff --git a/src-modules/module/etl/schluesseltabellen/create_load_etl_sx_captions.sql b/src-modules/module/etl/schluesseltabellen/create_load_etl_sx_captions.sql new file mode 100644 index 0000000..ee376d2 --- /dev/null +++ b/src-modules/module/etl/schluesseltabellen/create_load_etl_sx_captions.sql @@ -0,0 +1,22 @@ +--Freemarker Template + +--used in etl-job sx_insert_mask +<#if SQLdialect='Postgres'> +drop table if exists tmp_etl_sx_captions; + + + +create table tmp_etl_sx_captions( + id CHAR(200) , +table_name CHAR(200) , +field_name CHAR(200) , +record_no INTEGER , +locale CHAR(10) , +contents_short CHAR(255) , +contents_long text , +equalitystatus SMALLINT , +sachgebiete_id INTEGER , +doku_link VARCHAR(255) , +export_to_glossar INTEGER +); + diff --git a/src-modules/module/etl/schluesseltabellen/etl_step_fuellen.sql b/src-modules/module/etl/schluesseltabellen/etl_step_fuellen.sql index 71b6105..ece1c0a 100644 --- a/src-modules/module/etl/schluesseltabellen/etl_step_fuellen.sql +++ b/src-modules/module/etl/schluesseltabellen/etl_step_fuellen.sql @@ -69,6 +69,7 @@ {"etl_job":"sx_select_mask", "uniquename":"unload_sx_mask_style", "name":"sx_mask_style entladen", "type":"UNLOAD"}, {"etl_job":"sx_select_mask", "uniquename":"unload_sx_stylesheets", "name":"sx_stylesheets entladen", "type":"UNLOAD"}, {"etl_job":"sx_select_mask", "uniquename":"unload_stylesheet_field", "name":"stylesheet_field entladen", "type":"UNLOAD"}, + {"etl_job":"sx_select_mask", "uniquename":"unload_captions", "name":"captions entladen", "type":"UNLOAD"}, {"etl_job":"sx_insert_mask", "uniquename":"create_tmp_etl_masken", "name":"Tabellen tmp_etl_masken erzeugen", "type":"DOSQL" }, @@ -83,15 +84,18 @@ {"etl_job":"sx_insert_mask", "uniquename":"upload_maske_system_bez", "name":"maske_system_bez hochladen", "type":"LOAD" }, {"etl_job":"sx_insert_mask", "uniquename":"create_tmp_etl_themenbaum", "name":"Tabelle tmp_etl_themenbaum erzeugen", "type":"DOSQL" }, {"etl_job":"sx_insert_mask", "uniquename":"create_tmp_etl_stylesheets", "name":"Tabelle tmp_etl_stylesheets erzeugen", "type":"DOSQL" }, - + {"etl_job":"sx_insert_mask", "uniquename":"create_tmp_etl_sx_captions", "name":"Tabelle tmp_etl_sx_captions erzeugen", "type":"DOSQL" }, + {"etl_job":"sx_insert_mask", "uniquename":"upload_tmp_etl_themenbaum", "name":"tmp_etl_themenbaum hochladen", "type":"LOAD" }, {"etl_job":"sx_insert_mask", "uniquename":"upload_tmp_etl_stylesheets", "name":"tmp_etl_stylesheets hochladen", "type":"LOAD" }, {"etl_job":"sx_insert_mask", "uniquename":"upload_tmp_etl_mask_style", "name":"tmp_etl_mask_style hochladen", "type":"LOAD" }, {"etl_job":"sx_insert_mask", "uniquename":"upload_tmp_etl_stylesheet_field", "name":"tmp_etl_stylesheet_field hochladen", "type":"LOAD" }, + {"etl_job":"sx_insert_mask", "uniquename":"upload_tmp_sx_captions", "name":"tmp_sx_captions hochladen", "type":"LOAD" }, {"etl_job":"sx_insert_mask", "uniquename":"masken_fuellen", "name":"masken_fuellen", "type":"DOSQL" }, {"etl_job":"sx_insert_mask", "uniquename":"themenbaum_fuellen", "name":"themenbaum_fuellen", "type":"DOSQL" }, {"etl_job":"sx_insert_mask", "uniquename":"sx_stylesheets_fuellen", "name":"sx_stylesheets_fuellen", "type":"DOSQL" }, + {"etl_job":"sx_insert_mask", "uniquename":"sx_captions_fuellen", "name":"sx_captions_fuellen", "type":"DOSQL" }, {"etl_job":"kern_konstanten_update", "uniquename":"kern_konstanten_update", "name":"Kern Konstanten aktualisieren", "type":"DOSQL" }, @@ -142,6 +146,7 @@ {"etl_step":"unload_sx_mask_style","prop_name":"select_stmt", "prop_value":"select maskeninfo_id,stylesheet_id,ord,(select filename from sx_stylesheets where tid=S.stylesheet_id) as stylesheet_filename from sx_mask_style S where maskeninfo_id in ( $TID ) order by 1,2,3" }, {"etl_step":"unload_sx_stylesheets","prop_name":"select_stmt", "prop_value":"select S.tid,S.filename,S.caption,S.description,S.relation,S.useragent,S.contenttype,S.is_generic,S.toolbar_icon_filepath,S.usage_resultset_data,S.stylesheet_type,S.jr_datasource from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id in ( $TID ) order by 1,2,3" }, {"etl_step":"unload_stylesheet_field","prop_name":"select_stmt", "prop_value":"select F.tid,F.stylesheet_id,S.filename as stylesheet_filename,F.tablename,F.fieldname FROM stylesheet_field F, sx_stylesheets S, sx_mask_style M where F.stylesheet_id=S.tid and S.tid=M.stylesheet_id and M.maskeninfo_id in ( $TID ) order by 1,2,3,4,5" }, + {"etl_step":"unload_captions","prop_name":"select_stmt", "prop_value":"select id, table_name, field_name, record_no, locale, contents_short, contents_long, equalitystatus, sachgebiete_id, doku_link, export_to_glossar from sx_captions where table_name=''felderinfo'' and record_no in (select B.felderinfo_id from masken_felder_bez B where B.maskeninfo_id in ( $TID )) order by 1,2,3,4,5" }, {"etl_step":"create_tmp_etl_masken","prop_name":"PATH_TO_INPUTFILE", "prop_value":"$SUPERX_DIR/db/module/etl/schluesseltabellen/create_load_etl_masken.sql" }, @@ -171,7 +176,8 @@ {"etl_step":"upload_maske_system_bez","prop_name":"path_to_inputfile", "prop_value":"$PATH_TO_INPUTFILE" }, {"etl_step":"create_tmp_etl_themenbaum","prop_name":"PATH_TO_INPUTFILE", "prop_value":"$SUPERX_DIR/db/module/etl/schluesseltabellen/create_load_etl_themenbaum.sql" }, {"etl_step":"create_tmp_etl_stylesheets","prop_name":"PATH_TO_INPUTFILE", "prop_value":"$SUPERX_DIR/db/module/etl/schluesseltabellen/create_load_etl_stylesheets.sql" }, - + {"etl_step":"create_tmp_etl_sx_captions","prop_name":"PATH_TO_INPUTFILE", "prop_value":"$SUPERX_DIR/db/module/etl/schluesseltabellen/create_load_etl_sx_captions.sql" }, + {"etl_step":"upload_tmp_etl_themenbaum","prop_name":"target_table", "prop_value":"tmp_etl_themenbaum" }, {"etl_step":"upload_tmp_etl_themenbaum","prop_name":"format", "prop_value":"xml" }, {"etl_step":"upload_tmp_etl_themenbaum","prop_name":"search_path", "prop_value":"/etlAction/unload [@name=\"unload_themenbaum\"]/rs/row" }, @@ -192,6 +198,12 @@ {"etl_step":"upload_tmp_etl_stylesheet_field","prop_name":"search_path", "prop_value":"/etlAction/unload [@name=\"unload_stylesheet_field\"]/rs/row" }, {"etl_step":"upload_tmp_etl_stylesheet_field","prop_name":"path_to_inputfile", "prop_value":"$PATH_TO_INPUTFILE" }, + {"etl_step":"upload_tmp_sx_captions","prop_name":"target_table", "prop_value":"tmp_etl_sx_captions" }, + {"etl_step":"upload_tmp_sx_captions","prop_name":"format", "prop_value":"xml" }, + {"etl_step":"upload_tmp_sx_captions","prop_name":"search_path", "prop_value":"/etlAction/unload [@name=\"unload_captions\"]/rs/row" }, + {"etl_step":"upload_tmp_sx_captions","prop_name":"path_to_inputfile", "prop_value":"$PATH_TO_INPUTFILE" }, + + {"etl_step":"create_tmp_etl_sichten","prop_name":"PATH_TO_INPUTFILE", "prop_value":"$SUPERX_DIR/db/module/etl/schluesseltabellen/create_load_etl_sichten.sql" }, {"etl_step":"upload_tmp_etl_sichten","prop_name":"target_table", "prop_value":"tmp_etl_sichten" }, {"etl_step":"upload_tmp_etl_sichten","prop_name":"format", "prop_value":"xml" }, @@ -209,6 +221,7 @@ {"etl_step":"masken_fuellen","prop_name":"PATH_TO_INPUTFILE", "prop_value":"$SUPERX_DIR/db/module/etl/schluesseltabellen/masken_fuellen.sql" }, {"etl_step":"themenbaum_fuellen","prop_name":"PATH_TO_INPUTFILE", "prop_value":"$SUPERX_DIR/db/module/etl/schluesseltabellen/themenbaum_fuellen.sql" }, {"etl_step":"sx_stylesheets_fuellen","prop_name":"PATH_TO_INPUTFILE", "prop_value":"$SUPERX_DIR/db/module/etl/schluesseltabellen/sx_stylesheets_fuellen.sql" }, + {"etl_step":"sx_captions_fuellen","prop_name":"PATH_TO_INPUTFILE", "prop_value":"$SUPERX_DIR/db/module/etl/schluesseltabellen/sx_captions_fuellen.sql" }, {"etl_step":"kern_konstanten_update","prop_name":"path_to_inputfile", "prop_value":"$PATH_TO_INPUTFILE" }, diff --git a/src-modules/module/etl/schluesseltabellen/sx_captions_fuellen.sql b/src-modules/module/etl/schluesseltabellen/sx_captions_fuellen.sql new file mode 100644 index 0000000..ec07889 --- /dev/null +++ b/src-modules/module/etl/schluesseltabellen/sx_captions_fuellen.sql @@ -0,0 +1,25 @@ +delete from sx_captions where table_name='felderinfo' +and (table_name, record_no) in +(select T.table_name,T.record_no +from tmp_etl_sx_captions T) +; +insert into sx_captions (id, +table_name, +field_name, +record_no, +locale, +contents_short, +contents_long) +select id, +table_name, +field_name, +record_no, +locale, +contents_short, +contents_long +from tmp_etl_sx_captions; + +drop table tmp_etl_sx_captions; + + + diff --git a/src-modules/module/etl/schluesseltabellen/trans_rpta_column_layout.sql b/src-modules/module/etl/schluesseltabellen/trans_rpta_column_layout.sql index a7008f1..ff0ad44 100644 --- a/src-modules/module/etl/schluesseltabellen/trans_rpta_column_layout.sql +++ b/src-modules/module/etl/schluesseltabellen/trans_rpta_column_layout.sql @@ -143,11 +143,11 @@ select R.tid, '${column.srcfieldname}', <#if !column.targetfieldname?exists || column.targetfieldname=="">'${column.srcfieldname}' <#else>'${column.targetfieldname}' , T.tid as column_type, -<#if column.col_function?exists>'${column.col_function}'<#else>null::varchar , -${column.is_visible}, -${column.visible_size}, -${column.is_aggregate}, -${sortnr*10}, +<#if column.col_function?exists>'${column.col_function}'<#else>null::varchar as col_function, +${column.is_visible} as is_visible, +<#if column.visible_size?exists && column.visible_size?string !="" > ${column.visible_size} <#else>null::integer as visible_size, +${column.is_aggregate} as is_aggregate, +${sortnr*10} as sortnr, <#if column.description?exists>'${column.description}'<#elseif column.description_der_spalte?exists>'${column.description_der_spalte}'<#else>null::varchar , <#if column.description_in_ergebnistabelle?exists>'${column.description_in_ergebnistabelle}'<#elseif column.description?exists>'${column.description}'<#else>null::varchar , <#if column.format_code?exists>'${column.format_code}'<#else>null::varchar