From 15dbe867975adfe29903dd3edcd85606040cbf3a Mon Sep 17 00:00:00 2001 From: Imo John Date: Thu, 26 Jun 2025 13:07:50 +0200 Subject: [PATCH] Stammdaten Upload-Job und Ausgabe-Maske; sxc_zahl_wert eingefuehrt --- src-modules/module/sxc/conf/sxc.xml | 71 + .../import_bestand_mwk_nrw_hskennz.kjb | 529 +++++++ .../import_bestand_mwk_nrw_hskennz_1.ktr | 998 +++++++++++++ .../import_bestand_mwk_nrw_hskennz_2.ktr | 690 +++++++++ .../import_bestand_mwk_nrw_hskennz.kjb | 491 +++++++ .../import_bestand_mwk_nrw_hskennz_1.ktr | 1292 +++++++++++++++++ .../import_bestand_mwk_nrw_hskennz_2.ktr | 666 +++++++++ .../module/sxc/masken/47110_felderinfo.unl | 26 + .../sxc/masken/47110_maske_system_bez.unl | 1 + .../sxc/masken/47110_masken_felder_bez.unl | 12 + .../module/sxc/masken/47110_maskeninfo.unl | 817 +++++++++++ .../sxc/masken/47110_sachgeb_maske_bez.unl | 1 + .../schluesseltabellen/sichten_fuellen.sql | 7 +- 13 files changed, 5600 insertions(+), 1 deletion(-) create mode 100644 src-modules/module/sxc/etl/import_bestand/2025_5_22_mwk_nrw_hochschulkennzahlen_alt/import_bestand_mwk_nrw_hskennz.kjb create mode 100644 src-modules/module/sxc/etl/import_bestand/2025_5_22_mwk_nrw_hochschulkennzahlen_alt/import_bestand_mwk_nrw_hskennz_1.ktr create mode 100644 src-modules/module/sxc/etl/import_bestand/2025_5_22_mwk_nrw_hochschulkennzahlen_alt/import_bestand_mwk_nrw_hskennz_2.ktr create mode 100644 src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/import_bestand_mwk_nrw_hskennz.kjb create mode 100644 src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/import_bestand_mwk_nrw_hskennz_1.ktr create mode 100644 src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/import_bestand_mwk_nrw_hskennz_2.ktr create mode 100644 src-modules/module/sxc/masken/47110_felderinfo.unl create mode 100644 src-modules/module/sxc/masken/47110_maske_system_bez.unl create mode 100644 src-modules/module/sxc/masken/47110_masken_felder_bez.unl create mode 100644 src-modules/module/sxc/masken/47110_maskeninfo.unl create mode 100644 src-modules/module/sxc/masken/47110_sachgeb_maske_bez.unl diff --git a/src-modules/module/sxc/conf/sxc.xml b/src-modules/module/sxc/conf/sxc.xml index 95287c4..437adc3 100644 --- a/src-modules/module/sxc/conf/sxc.xml +++ b/src-modules/module/sxc/conf/sxc.xml @@ -314,6 +314,71 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[SXC]" /> + +Kennzahlen aus manueller Schnittstelle + + Primaerschluessel + + + + + + + + + + + + + + + + + + + + + + + +
+ + +Bestände und deren Quellen + + Primaerschluessel + bspw. MKW NRW Hochschulkennzahlen + bspw. MKW NRW + 0 heißt deutschlandweit + +
+ + +Bestände und deren Quellen + + bspw. 1 + bspw. Hochschule + bspw. Uni Leipzig + bspw. sxc_zahl_wert + bspw. 1 + bspw. hs_nr + bspw. 361 + +
@@ -422,6 +487,12 @@ parent="SuperX-Connect">Abfragen zur Administration von SuperX-Connect $SXC_PFAD/masken + + + + $SXC_PFAD/masken + + diff --git a/src-modules/module/sxc/etl/import_bestand/2025_5_22_mwk_nrw_hochschulkennzahlen_alt/import_bestand_mwk_nrw_hskennz.kjb b/src-modules/module/sxc/etl/import_bestand/2025_5_22_mwk_nrw_hochschulkennzahlen_alt/import_bestand_mwk_nrw_hskennz.kjb new file mode 100644 index 0000000..cc3a2e4 --- /dev/null +++ b/src-modules/module/sxc/etl/import_bestand/2025_5_22_mwk_nrw_hochschulkennzahlen_alt/import_bestand_mwk_nrw_hskennz.kjb @@ -0,0 +1,529 @@ + + + import_bestand_mwk_nrw_hskennz + + + + / + - + 2025/05/09 08:04:01.642 + - + 2025/05/09 08:04:01.642 + + + + eduetl + localhost + POSTGRESQL + Native + eduetl_muster_2024_12 + 9996 + superx + Encrypted 2be98afc86aa7f285a51faf7ed9c3fd89 + + + + + FORCE_IDENTIFIERS_TO_LOWERCASEN + FORCE_IDENTIFIERS_TO_UPPERCASEN + IS_CLUSTEREDN + PORT_NUMBER9996 + PRESERVE_RESERVED_WORD_CASEY + QUOTE_ALL_FIELDSN + SUPPORTS_BOOLEAN_DATA_TYPEY + SUPPORTS_TIMESTAMP_DATA_TYPEY + USE_POOLINGN + + + + + + + + + + + + + ID_JOB + Y + ID_JOB + + + CHANNEL_ID + Y + CHANNEL_ID + + + JOBNAME + Y + JOBNAME + + + STATUS + Y + STATUS + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + STARTDATE + Y + STARTDATE + + + ENDDATE + Y + ENDDATE + + + LOGDATE + Y + LOGDATE + + + DEPDATE + Y + DEPDATE + + + REPLAYDATE + Y + REPLAYDATE + + + LOG_FIELD + Y + LOG_FIELD + + + EXECUTING_SERVER + N + EXECUTING_SERVER + + + EXECUTING_USER + N + EXECUTING_USER + + + START_JOB_ENTRY + N + START_JOB_ENTRY + + + CLIENT + N + CLIENT + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + JOBNAME + Y + TRANSNAME + + + JOBENTRYNAME + Y + STEPNAME + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + RESULT + Y + RESULT + + + NR_RESULT_ROWS + Y + NR_RESULT_ROWS + + + NR_RESULT_FILES + Y + NR_RESULT_FILES + + + LOG_FIELD + N + LOG_FIELD + + + COPY_NR + N + COPY_NR + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + LOGGING_OBJECT_TYPE + Y + LOGGING_OBJECT_TYPE + + + OBJECT_NAME + Y + OBJECT_NAME + + + OBJECT_COPY + Y + OBJECT_COPY + + + REPOSITORY_DIRECTORY + Y + REPOSITORY_DIRECTORY + + + FILENAME + Y + FILENAME + + + OBJECT_ID + Y + OBJECT_ID + + + OBJECT_REVISION + Y + OBJECT_REVISION + + + PARENT_CHANNEL_ID + Y + PARENT_CHANNEL_ID + + + ROOT_CHANNEL_ID + Y + ROOT_CHANNEL_ID + + + N + + + + START + + SPECIAL + Y + N + N + 0 + 0 + 60 + 12 + 0 + 1 + 1 + N + Y + 0 + 96 + 192 + + + Success + + SUCCESS + N + Y + 0 + 1056 + 192 + + + excel_into_tmp + + TRANS + filename + + ${Internal.Job.Filename.Directory}/import_bestand_mwk_nrw_hskennz_1.ktr + + N + N + N + N + N + N + + + N + N + Basic + N + + N + Y + N + N + N + + Y + + N + Y + 0 + 272 + 320 + + + create tmp_sxc_zahl_wert + + SQL + drop table if exists tmp_sxc_zahl_wert; CREATE TABLE tmp_sxc_zahl_wert ( tid serial, hs_nr_str varchar(255), hs_nr integer, kenn_zahl char(100) NOT NULL, jahr smallint, sem smallint, ch110_institut char(10), bland integer, sxc_bestand_id integer, wert_str varchar(255), wert decimal(20,10), generic_dim1 char(100), generic_dim2 char(100) ); + F + F + + F + eduetl + N + Y + 0 + 272 + 192 + + + update tmp_sxc_zahl_wert + + SQL + update tmp_sxc_zahl_wert set hs_nr=M.target_value from sxc_mapping_bestand M where M.sxc_bestand_id=1 and M.object_type='Hochschule' and M.object_value=tmp_sxc_zahl_wert.hs_nr_str ; update tmp_sxc_zahl_wert set wert = case when wert_str != '--' and wert_str is not null and wert_str <> '' then cast(replace(wert_str, ',' , '.') as decimal(20,10)) * 100 else null end where kenn_zahl like '%_proz%' ; update tmp_sxc_zahl_wert set wert = case when wert_str != '--' and wert_str is not null and wert_str <> '' then cast(replace(wert_str, ',' , '.') as decimal(20,10)) else null end where wert is null ; update tmp_sxc_zahl_wert set sxc_bestand_id=1; -- MKW NRW Hochschulkennzahlen update tmp_sxc_zahl_wert set bland=5; -- NRW + F + F + ${Internal.Job.Filename.Directory}/update_tmp_sxc_zahl_wert.sql + F + eduetl + N + Y + 0 + 688 + 192 + + + insert into sxc_zahl_wert + + SQL + delete from sxc_zahl_wert where sxc_bestand_id=1 and jahr in (select jahr from tmp_sxc_zahl_wert) and hs_nr in (select hs_nr from tmp_sxc_zahl_wert) ; INSERT INTO sxc_zahl_wert ( hs_nr, kenn_zahl, jahr, sem, bland, ch110_institut, sxc_bestand_id, wert, generic_dim1, generic_dim2 ) select hs_nr, kenn_zahl, jahr, sem, bland, ch110_institut, sxc_bestand_id, wert, generic_dim1, generic_dim2 from tmp_sxc_zahl_wert where hs_nr is not null order by sxc_bestand_id,1,2,3,4 ; drop table if exists tmp_sxc_zahl_wert; + F + F + + F + eduetl + N + Y + 0 + 880 + 272 + + + excel_into_tmp 2 + + TRANS + filename + + ${Internal.Job.Filename.Directory}/import_bestand_mwk_nrw_hskennz_2.ktr + + N + N + N + N + N + N + + + N + N + Basic + N + + N + Y + N + N + N + + Y + + N + Y + 0 + 448 + 320 + + + + + START + create tmp_sxc_zahl_wert + 0 + 0 + Y + Y + Y + + + create tmp_sxc_zahl_wert + excel_into_tmp + 0 + 0 + Y + Y + N + + + insert into sxc_zahl_wert + Success + 0 + 0 + Y + Y + N + + + update tmp_sxc_zahl_wert + insert into sxc_zahl_wert + 0 + 0 + Y + Y + N + + + excel_into_tmp + excel_into_tmp 2 + 0 + 0 + Y + Y + N + + + excel_into_tmp 2 + update tmp_sxc_zahl_wert + 0 + 0 + Y + Y + N + + + update tmp_sxc_zahl_wert + Success + 0 + 0 + N + Y + N + + + + + diff --git a/src-modules/module/sxc/etl/import_bestand/2025_5_22_mwk_nrw_hochschulkennzahlen_alt/import_bestand_mwk_nrw_hskennz_1.ktr b/src-modules/module/sxc/etl/import_bestand/2025_5_22_mwk_nrw_hochschulkennzahlen_alt/import_bestand_mwk_nrw_hskennz_1.ktr new file mode 100644 index 0000000..5ef0d03 --- /dev/null +++ b/src-modules/module/sxc/etl/import_bestand/2025_5_22_mwk_nrw_hochschulkennzahlen_alt/import_bestand_mwk_nrw_hskennz_1.ktr @@ -0,0 +1,998 @@ + + + + import_bestand_mwk_nrw_hskennz_1 + + + + Normal + 0 + / + + + PATH_TO_UPLOADFILE + file:///home/superx/git/Memtext-Interna/Projekte/duisburg-essen_uni/muster/2025_stammdaten_nrw/Stammdaten_MKW_orig_2023.xlsx + + + + + + + +
+ + + + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + TRANSNAME + Y + TRANSNAME + + + STATUS + Y + STATUS + + + LINES_READ + Y + LINES_READ + + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + + LINES_UPDATED + Y + LINES_UPDATED + + + + LINES_INPUT + Y + LINES_INPUT + + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + + LINES_REJECTED + Y + LINES_REJECTED + + + + ERRORS + Y + ERRORS + + + STARTDATE + Y + STARTDATE + + + ENDDATE + Y + ENDDATE + + + LOGDATE + Y + LOGDATE + + + DEPDATE + Y + DEPDATE + + + REPLAYDATE + Y + REPLAYDATE + + + LOG_FIELD + Y + LOG_FIELD + + + EXECUTING_SERVER + N + EXECUTING_SERVER + + + EXECUTING_USER + N + EXECUTING_USER + + + CLIENT + N + CLIENT + + + + + +
+ + + + ID_BATCH + Y + ID_BATCH + + + SEQ_NR + Y + SEQ_NR + + + LOGDATE + Y + LOGDATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + INPUT_BUFFER_ROWS + Y + INPUT_BUFFER_ROWS + + + OUTPUT_BUFFER_ROWS + Y + OUTPUT_BUFFER_ROWS + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + LOGGING_OBJECT_TYPE + Y + LOGGING_OBJECT_TYPE + + + OBJECT_NAME + Y + OBJECT_NAME + + + OBJECT_COPY + Y + OBJECT_COPY + + + REPOSITORY_DIRECTORY + Y + REPOSITORY_DIRECTORY + + + FILENAME + Y + FILENAME + + + OBJECT_ID + Y + OBJECT_ID + + + OBJECT_REVISION + Y + OBJECT_REVISION + + + PARENT_CHANNEL_ID + Y + PARENT_CHANNEL_ID + + + ROOT_CHANNEL_ID + Y + ROOT_CHANNEL_ID + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + LOG_FIELD + N + LOG_FIELD + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + METRICS_DATE + Y + METRICS_DATE + + + METRICS_CODE + Y + METRICS_CODE + + + METRICS_DESCRIPTION + Y + METRICS_DESCRIPTION + + + METRICS_SUBJECT + Y + METRICS_SUBJECT + + + METRICS_TYPE + Y + METRICS_TYPE + + + METRICS_VALUE + Y + METRICS_VALUE + + + + + +
+ + 0.0 + 0.0 + + 10000 + 50 + 50 + N + Y + 50000 + Y + + N + 1000 + 100 + + + + + + + + + - + 2025/05/09 08:34:54.065 + - + 2025/05/09 08:34:54.065 + H4sIAAAAAAAAAAMAAAAAAAAAAAA= + N + + + + + eduetl + localhost + POSTGRESQL + Native + eduetl_muster_2024_12 + 9996 + superx + Encrypted 2be98afc86aa7f285a51faf7ed9c3fd89 + + + + + FORCE_IDENTIFIERS_TO_LOWERCASEN + FORCE_IDENTIFIERS_TO_UPPERCASEN + IS_CLUSTEREDN + PORT_NUMBER9996 + PRESERVE_RESERVED_WORD_CASEY + QUOTE_ALL_FIELDSN + SUPPORTS_BOOLEAN_DATA_TYPEY + SUPPORTS_TIMESTAMP_DATA_TYPEY + USE_POOLINGN + + + + + Microsoft Excel Input 2 + Row Normaliser + Y + + + Row Normaliser + Table output + Y + + + + Microsoft Excel Input 2 + ExcelInput + + Y + + 1 + + none + + +
Y
+ Y + N + + + + + + + 0 + + Y + N + + + + ${PATH_TO_UPLOADFILE} + + + N + N + + + + Hochschule + String + -1 + -1 + none + N + + + + + + + 1_hssem_kopf + String + -1 + -1 + none + N + + + + + + + 1_fs_ba_kopf + String + -1 + -1 + none + N + + + + + + + 1_fs_ma_kopf + String + -1 + -1 + none + N + + + + + + + studis_kopf + String + -1 + -1 + none + N + + + + + + + absolv + String + -1 + -1 + none + N + + + + + + + absolv_rsz_proz + String + -1 + -1 + none + N + + + + + + + absolv_ma + String + -1 + -1 + none + N + + + + + + + verbleib_ba_1-5_fs_proz + String + -1 + -1 + none + N + + + + + + + erfolg_ba_fs_proz + String + -1 + -1 + none + N + + + + + + + erfolg_ba_1_fs_proz + String + -1 + -1 + none + N + + + + + + + pers_kopf + String + -1 + -1 + none + N + + + + + + + wiss_pers_kopf + String + -1 + -1 + none + N + + + + + + + wiss_kunst_pers_kopf + String + -1 + -1 + none + N + + + + + + + verw_pers_kopf + String + -1 + -1 + none + N + + + + + + + wiss_kunst_pers + String + -1 + -1 + none + N + + + + + + + wiss_kunst_pers_haupt_kopf_drittm + String + -1 + -1 + none + N + + + + + + + prof_kopf + String + -1 + -1 + none + N + + + + + + + angebot + String + -1 + -1 + none + N + + + + + + + nachfrage + String + -1 + -1 + none + N + + + + + + + auslastung + String + -1 + -1 + none + N + + + + + + + einnahmen_ges + String + -1 + -1 + none + N + + + + + + + einnahmen_hstraeger + String + -1 + -1 + none + N + + + + + + + einnahmen_drittm_ges + String + -1 + -1 + none + N + + + + + + + + + Tabelle1 + 7 + 0 + + + N + N + N + + warning + + error + + line + + + + + + + + + POI + + + + + + + + + 192 + 320 + Y + +
+ + + Row Normaliser + Normaliser + + Y + + 1 + + none + + + kenn_zahl + 1_hssem_kopf + MKWNRW1_1_hssem_kopf + wert + 1_fs_ba_kopf + MKWNRW1_1_fs_ba_kopf + wert + 1_fs_ma_kopf + MKWNRW1_1_fs_ma_kopf + wert + studis_kopf + MKWNRW1_studis_kopf + wert + absolv + MKWNRW1_absolv + wert + absolv_rsz_proz + MKWNRW1_absolv_rsz_proz + wert + absolv_ma + MKWNRW1_absolv_ma + wert + verbleib_ba_1-5_fs_proz + MKWNRW1_verbleib_ba_1-5_fs_proz + wert + erfolg_ba_fs_proz + MKWNRW1_erfolg_ba_fs_proz + wert + erfolg_ba_1_fs_proz + MKWNRW1_erfolg_ba_1_fs_proz + wert + pers_kopf + MKWNRW1_pers_kopf + wert + wiss_pers_kopf + MKWNRW1_wiss_pers_kopf + wert + wiss_kunst_pers_kopf + MKWNRW1_wiss_kunst_pers_kopf + wert + verw_pers_kopf + MKWNRW1_verw_pers_kopf + wert + wiss_kunst_pers + MKWNRW1_wiss_kunst_pers + wert + wiss_kunst_pers_haupt_kopf_drittm + MKWNRW1_wiss_kunst_pers_haupt_kopf_drittm + wert + prof_kopf + MKWNRW1_prof_kopf + wert + angebot + MKWNRW1_angebot + wert + nachfrage + MKWNRW1_nachfrage + wert + auslastung + MKWNRW1_auslastung + wert + einnahmen_ges + MKWNRW1_einnahmen_ges + wert + einnahmen_hstraeger + MKWNRW1_einnahmen_hstraeger + wert + einnahmen_drittm_ges + MKWNRW1_einnahmen_drittm_ges + wert + + + + + + + + + 400 + 320 + Y + + + + + Table output + TableOutput + + Y + + 1 + + none + + + eduetl + +
tmp_sxc_zahl_wert
+ 1000 + N + N + Y + Y + N + + N + Y + N + + Y + N + + + + kenn_zahl + kenn_zahl + + + wert_str + wert + + + hs_nr_str + Hochschule + + + + + + + + + + + 608 + 320 + Y + + + + + + + + N + diff --git a/src-modules/module/sxc/etl/import_bestand/2025_5_22_mwk_nrw_hochschulkennzahlen_alt/import_bestand_mwk_nrw_hskennz_2.ktr b/src-modules/module/sxc/etl/import_bestand/2025_5_22_mwk_nrw_hochschulkennzahlen_alt/import_bestand_mwk_nrw_hskennz_2.ktr new file mode 100644 index 0000000..e671bd0 --- /dev/null +++ b/src-modules/module/sxc/etl/import_bestand/2025_5_22_mwk_nrw_hochschulkennzahlen_alt/import_bestand_mwk_nrw_hskennz_2.ktr @@ -0,0 +1,690 @@ + + + + import_bestand_mwk_nrw_hskennz_2 + + + + Normal + 0 + / + + + PATH_TO_UPLOADFILE + file:///home/superx/git/Memtext-Interna/Projekte/duisburg-essen_uni/muster/2025_stammdaten_nrw/Stammdaten_MKW_orig_2023.xlsx + + + + + + + + + + + + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + TRANSNAME + Y + TRANSNAME + + + STATUS + Y + STATUS + + + LINES_READ + Y + LINES_READ + + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + + LINES_UPDATED + Y + LINES_UPDATED + + + + LINES_INPUT + Y + LINES_INPUT + + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + + LINES_REJECTED + Y + LINES_REJECTED + + + + ERRORS + Y + ERRORS + + + STARTDATE + Y + STARTDATE + + + ENDDATE + Y + ENDDATE + + + LOGDATE + Y + LOGDATE + + + DEPDATE + Y + DEPDATE + + + REPLAYDATE + Y + REPLAYDATE + + + LOG_FIELD + Y + LOG_FIELD + + + EXECUTING_SERVER + N + EXECUTING_SERVER + + + EXECUTING_USER + N + EXECUTING_USER + + + CLIENT + N + CLIENT + + + + + +
+ + + + ID_BATCH + Y + ID_BATCH + + + SEQ_NR + Y + SEQ_NR + + + LOGDATE + Y + LOGDATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + INPUT_BUFFER_ROWS + Y + INPUT_BUFFER_ROWS + + + OUTPUT_BUFFER_ROWS + Y + OUTPUT_BUFFER_ROWS + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + LOGGING_OBJECT_TYPE + Y + LOGGING_OBJECT_TYPE + + + OBJECT_NAME + Y + OBJECT_NAME + + + OBJECT_COPY + Y + OBJECT_COPY + + + REPOSITORY_DIRECTORY + Y + REPOSITORY_DIRECTORY + + + FILENAME + Y + FILENAME + + + OBJECT_ID + Y + OBJECT_ID + + + OBJECT_REVISION + Y + OBJECT_REVISION + + + PARENT_CHANNEL_ID + Y + PARENT_CHANNEL_ID + + + ROOT_CHANNEL_ID + Y + ROOT_CHANNEL_ID + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + LOG_FIELD + N + LOG_FIELD + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + METRICS_DATE + Y + METRICS_DATE + + + METRICS_CODE + Y + METRICS_CODE + + + METRICS_DESCRIPTION + Y + METRICS_DESCRIPTION + + + METRICS_SUBJECT + Y + METRICS_SUBJECT + + + METRICS_TYPE + Y + METRICS_TYPE + + + METRICS_VALUE + Y + METRICS_VALUE + + + + + +
+ + 0.0 + 0.0 + + 10000 + 50 + 50 + N + Y + 50000 + Y + + N + 1000 + 100 + + + + + + + + + - + 2025/05/09 08:34:54.065 + - + 2025/05/09 08:34:54.065 + H4sIAAAAAAAAAAMAAAAAAAAAAAA= + N + + + + + eduetl + localhost + POSTGRESQL + Native + eduetl_muster_2024_06 + 5432 + superx + Encrypted 2be98afc86aa7f285a51faf7ed9c3fd89 + + + + + FORCE_IDENTIFIERS_TO_LOWERCASEN + FORCE_IDENTIFIERS_TO_UPPERCASEN + IS_CLUSTEREDN + PORT_NUMBER5432 + PRESERVE_RESERVED_WORD_CASEY + QUOTE_ALL_FIELDSN + SUPPORTS_BOOLEAN_DATA_TYPEY + SUPPORTS_TIMESTAMP_DATA_TYPEY + USE_POOLINGN + + + + + Microsoft Excel Input 2 + Join Rows (cartesian product) + Y + + + Table input + Join Rows (cartesian product) + Y + + + Join Rows (cartesian product) + Update + Y + + + + Microsoft Excel Input 2 + ExcelInput + + Y + + 1 + + none + + +
N
+ Y + N + + + + + + + 1 + + Y + N + + + + ${PATH_TO_UPLOADFILE} + + + N + N + + + + Jahr + Integer + -1 + -1 + none + N + + + + + + + + + Tabelle1 + 3 + 1 + + + N + N + N + + warning + + error + + line + + + + + + + + + POI + + + + + + + + + 192 + 320 + Y + +
+ + + Join Rows (cartesian product) + JoinRows + + Y + + 1 + + none + + + %%java.io.tmpdir%% + out + 500 +
+ + + N + + = + + + + + + + + + + + + 496 + 256 + Y + + + + + Table input + TableInput + + Y + + 1 + + none + + + eduetl + SELECT * FROM tmp_sxc_zahl_wert + 0 + + N + N + N + + + + + + + + + 192 + 208 + Y + + + + + Update + Update + + Y + + 1 + + none + + + eduetl + N + 100 + N + N + + + +
tmp_sxc_zahl_wert
+ + tid + tid + = + + + + jahr + Jahr + + + + + + + + + + + 656 + 256 + Y + + + + + + + + N +
diff --git a/src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/import_bestand_mwk_nrw_hskennz.kjb b/src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/import_bestand_mwk_nrw_hskennz.kjb new file mode 100644 index 0000000..321aed8 --- /dev/null +++ b/src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/import_bestand_mwk_nrw_hskennz.kjb @@ -0,0 +1,491 @@ + + + import_bestand_mwk_nrw_hskennz + + + + 0 + / + - + 2025/05/09 08:04:01.642 + - + 2025/05/09 08:04:01.642 + + + PATH_TO_UPLOADFILE + + + + + + eduetl + localhost + POSTGRESQL + Native + eduetl_muster_2024_12 + 9996 + superx + Encrypted 2be98afc86aa7f285a51faf7ed9c3fd89 + + + + + FORCE_IDENTIFIERS_TO_LOWERCASEN + FORCE_IDENTIFIERS_TO_UPPERCASEN + IS_CLUSTEREDN + PORT_NUMBER9996 + PRESERVE_RESERVED_WORD_CASEY + QUOTE_ALL_FIELDSN + SUPPORTS_BOOLEAN_DATA_TYPEY + SUPPORTS_TIMESTAMP_DATA_TYPEY + USE_POOLINGN + + + + + + + + + + + + + ID_JOB + Y + ID_JOB + + + CHANNEL_ID + Y + CHANNEL_ID + + + JOBNAME + Y + JOBNAME + + + STATUS + Y + STATUS + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + STARTDATE + Y + STARTDATE + + + ENDDATE + Y + ENDDATE + + + LOGDATE + Y + LOGDATE + + + DEPDATE + Y + DEPDATE + + + REPLAYDATE + Y + REPLAYDATE + + + LOG_FIELD + Y + LOG_FIELD + + + EXECUTING_SERVER + N + EXECUTING_SERVER + + + EXECUTING_USER + N + EXECUTING_USER + + + START_JOB_ENTRY + N + START_JOB_ENTRY + + + CLIENT + N + CLIENT + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + JOBNAME + Y + TRANSNAME + + + JOBENTRYNAME + Y + STEPNAME + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + RESULT + Y + RESULT + + + NR_RESULT_ROWS + Y + NR_RESULT_ROWS + + + NR_RESULT_FILES + Y + NR_RESULT_FILES + + + LOG_FIELD + N + LOG_FIELD + + + COPY_NR + N + COPY_NR + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + LOGGING_OBJECT_TYPE + Y + LOGGING_OBJECT_TYPE + + + OBJECT_NAME + Y + OBJECT_NAME + + + OBJECT_COPY + Y + OBJECT_COPY + + + REPOSITORY_DIRECTORY + Y + REPOSITORY_DIRECTORY + + + FILENAME + Y + FILENAME + + + OBJECT_ID + Y + OBJECT_ID + + + OBJECT_REVISION + Y + OBJECT_REVISION + + + PARENT_CHANNEL_ID + Y + PARENT_CHANNEL_ID + + + ROOT_CHANNEL_ID + Y + ROOT_CHANNEL_ID + + + N + + + + START + + SPECIAL + Y + N + N + 0 + 0 + 60 + 12 + 0 + 1 + 1 + N + Y + 0 + 96 + 192 + + + Success + + SUCCESS + N + Y + 0 + 1056 + 192 + + + excel_into_tmp + + TRANS + filename + + ${Internal.Job.Filename.Directory}/import_bestand_mwk_nrw_hskennz_1.ktr + + N + N + N + N + N + N + + + N + N + Basic + N + + N + Y + N + N + N + + Y + + N + Y + 0 + 272 + 320 + + + create tmp_sxc_zahl_wert + + SQL + drop table if exists tmp_sxc_zahl_wert; CREATE TABLE tmp_sxc_zahl_wert ( tid serial, hs_nr_str varchar(255), hs_nr integer, kenn_zahl char(100) NOT NULL, jahr smallint, sem smallint, ch110_institut char(10), bland integer, sxc_bestand_id integer, wert_str varchar(255), wert decimal(20,10), generic_dim1 char(100), generic_dim2 char(100) ); + F + F + + F + eduetl + N + Y + 0 + 272 + 192 + + + update tmp_sxc_zahl_wert + + SQL + update tmp_sxc_zahl_wert set hs_nr=M.target_value from sxc_mapping_bestand M where M.sxc_bestand_id=1 and M.object_type='Hochschule' and M.object_value=tmp_sxc_zahl_wert.hs_nr_str ; update tmp_sxc_zahl_wert set wert = case when wert_str != '--' and wert_str is not null and wert_str <> '' then cast(replace(wert_str, ',' , '.') as decimal(20,10)) * 100 else null end where kenn_zahl like '%_proz%' ; update tmp_sxc_zahl_wert set wert = case when wert_str != '--' and wert_str is not null and wert_str <> '' then cast(replace(wert_str, ',' , '.') as decimal(20,10)) else null end where wert is null ; update tmp_sxc_zahl_wert set sxc_bestand_id=1; -- MKW NRW Hochschulkennzahlen update tmp_sxc_zahl_wert set bland=5; -- NRW + F + F + ${Internal.Job.Filename.Directory}/update_tmp_sxc_zahl_wert.sql + F + eduetl + N + Y + 0 + 688 + 192 + + + insert into sxc_zahl_wert + + SQL + delete from sxc_zahl_wert where sxc_bestand_id=1 and jahr in (select jahr from tmp_sxc_zahl_wert) and hs_nr in (select hs_nr from tmp_sxc_zahl_wert) ; INSERT INTO sxc_zahl_wert ( hs_nr, kenn_zahl, jahr, sem, bland, ch110_institut, sxc_bestand_id, wert, generic_dim1, generic_dim2 ) select hs_nr, kenn_zahl, jahr, sem, bland, ch110_institut, sxc_bestand_id, wert, generic_dim1, generic_dim2 from tmp_sxc_zahl_wert where hs_nr is not null order by sxc_bestand_id,1,2,3,4 ; drop table if exists tmp_sxc_zahl_wert; + F + F + + F + eduetl + N + Y + 0 + 880 + 272 + + + + + START + create tmp_sxc_zahl_wert + 0 + 0 + Y + Y + Y + + + create tmp_sxc_zahl_wert + excel_into_tmp + 0 + 0 + Y + Y + N + + + insert into sxc_zahl_wert + Success + 0 + 0 + Y + Y + N + + + update tmp_sxc_zahl_wert + insert into sxc_zahl_wert + 0 + 0 + Y + Y + N + + + update tmp_sxc_zahl_wert + Success + 0 + 0 + N + Y + N + + + excel_into_tmp + update tmp_sxc_zahl_wert + 0 + 0 + Y + Y + N + + + + + diff --git a/src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/import_bestand_mwk_nrw_hskennz_1.ktr b/src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/import_bestand_mwk_nrw_hskennz_1.ktr new file mode 100644 index 0000000..13a457c --- /dev/null +++ b/src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/import_bestand_mwk_nrw_hskennz_1.ktr @@ -0,0 +1,1292 @@ + + + + import_bestand_mwk_nrw_hskennz_1 + + + + Normal + 0 + / + + + PATH_TO_UPLOADFILE + file:///home/superx/git/Memtext-Interna/Projekte/duisburg-essen_uni/muster/2025_stammdaten_nrw/Stammdaten_2023_Pivot_aufbereitet.xlsx + + + + + + + +
+ + + + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + TRANSNAME + Y + TRANSNAME + + + STATUS + Y + STATUS + + + LINES_READ + Y + LINES_READ + + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + + LINES_UPDATED + Y + LINES_UPDATED + + + + LINES_INPUT + Y + LINES_INPUT + + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + + LINES_REJECTED + Y + LINES_REJECTED + + + + ERRORS + Y + ERRORS + + + STARTDATE + Y + STARTDATE + + + ENDDATE + Y + ENDDATE + + + LOGDATE + Y + LOGDATE + + + DEPDATE + Y + DEPDATE + + + REPLAYDATE + Y + REPLAYDATE + + + LOG_FIELD + Y + LOG_FIELD + + + EXECUTING_SERVER + N + EXECUTING_SERVER + + + EXECUTING_USER + N + EXECUTING_USER + + + CLIENT + N + CLIENT + + + + + +
+ + + + ID_BATCH + Y + ID_BATCH + + + SEQ_NR + Y + SEQ_NR + + + LOGDATE + Y + LOGDATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + INPUT_BUFFER_ROWS + Y + INPUT_BUFFER_ROWS + + + OUTPUT_BUFFER_ROWS + Y + OUTPUT_BUFFER_ROWS + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + LOGGING_OBJECT_TYPE + Y + LOGGING_OBJECT_TYPE + + + OBJECT_NAME + Y + OBJECT_NAME + + + OBJECT_COPY + Y + OBJECT_COPY + + + REPOSITORY_DIRECTORY + Y + REPOSITORY_DIRECTORY + + + FILENAME + Y + FILENAME + + + OBJECT_ID + Y + OBJECT_ID + + + OBJECT_REVISION + Y + OBJECT_REVISION + + + PARENT_CHANNEL_ID + Y + PARENT_CHANNEL_ID + + + ROOT_CHANNEL_ID + Y + ROOT_CHANNEL_ID + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + LOG_FIELD + N + LOG_FIELD + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + METRICS_DATE + Y + METRICS_DATE + + + METRICS_CODE + Y + METRICS_CODE + + + METRICS_DESCRIPTION + Y + METRICS_DESCRIPTION + + + METRICS_SUBJECT + Y + METRICS_SUBJECT + + + METRICS_TYPE + Y + METRICS_TYPE + + + METRICS_VALUE + Y + METRICS_VALUE + + + + + +
+ + 0.0 + 0.0 + + 10000 + 50 + 50 + N + Y + 50000 + Y + + N + 1000 + 100 + + + + + + + + + - + 2025/05/09 08:34:54.065 + - + 2025/05/09 08:34:54.065 + H4sIAAAAAAAAAAMAAAAAAAAAAAA= + N + + + + + eduetl + localhost + POSTGRESQL + Native + eduetl_muster_2024_12 + 9996 + superx + Encrypted 2be98afc86aa7f285a51faf7ed9c3fd89 + + + + + FORCE_IDENTIFIERS_TO_LOWERCASEN + FORCE_IDENTIFIERS_TO_UPPERCASEN + IS_CLUSTEREDN + PORT_NUMBER9996 + PRESERVE_RESERVED_WORD_CASEY + QUOTE_ALL_FIELDSN + SUPPORTS_BOOLEAN_DATA_TYPEY + SUPPORTS_TIMESTAMP_DATA_TYPEY + USE_POOLINGN + + + + + Excel Input Kennzahlen + Row Normaliser + Y + + + Excel Input LFB + LFB Mapping + Y + + + Filter rows + LFB Mapping + Y + + + Filter rows + Dummy (do nothing) + Y + + + Row Normaliser + Jahr muss 4 Stellen haben + Y + + + Jahr muss 4 Stellen haben + Filter rows + Y + + + LFB Mapping + Jahr to Integer + Y + + + Jahr to Integer + Table output + Y + + + + Dummy (do nothing) + Dummy + + Y + + 1 + + none + + + + + + + + + + + 576 + 544 + Y + + + + + Excel Input Kennzahlen + ExcelInput + + Y + + 1 + + none + + +
Y
+ Y + N + + + + + + + 0 + + Y + N + + + + ${PATH_TO_UPLOADFILE} + + + N + N + + + + Jahr + String + -1 + -1 + none + N + + + + + + + Hochschule + String + -1 + -1 + none + N + + + + + + + LFB + String + -1 + -1 + none + N + + + + + + + Studis Koepfe + None + -1 + -1 + none + N + + + + + + + Studis rsz + None + -1 + -1 + none + N + + + + + + + anfaenger 1FS beleg + None + -1 + -1 + none + N + + + + + + + anfaenger 1FS kopf + None + -1 + -1 + none + N + + + + + + + anfaenger 1HS kopf + None + -1 + -1 + none + N + + + + + + + pruefungen ges + None + -1 + -1 + none + N + + + + + + + pruefungen ba + None + -1 + -1 + none + N + + + + + + + pruefungen ma + None + -1 + -1 + none + N + + + + + + + pruefungen prom + None + -1 + -1 + none + N + + + + + + + prof + None + -1 + -1 + none + N + + + + + + + prof sp + None + -1 + -1 + none + N + + + + + + + prof drittm + None + -1 + -1 + none + N + + + + + + + wiss pers haupt + None + -1 + -1 + none + N + + + + + + + wiss pers haupt sb + None + -1 + -1 + none + N + + + + + + + wiss pers haupt drittm + None + -1 + -1 + none + N + + + + + + + angebot + None + -1 + -1 + none + N + + + + + + + nachfrage + None + -1 + -1 + none + N + + + + + + + drittm einnahmen ges + None + -1 + -1 + none + N + + + + + + + erfolg 1FS + None + -1 + -1 + none + N + + + + + + + erfolg 1HS + None + -1 + -1 + none + N + + + + + + + + + Jahr_HS_LuF(T2) + 10 + 0 + + + N + N + N + + warning + + error + + line + + + + + + + + + POI + + + + + + + + + 192 + 320 + Y + +
+ + + Excel Input LFB + ExcelInput + + Y + + 1 + + none + + +
Y
+ Y + N + + + + + + + 0 + + Y + N + + + + ${PATH_TO_UPLOADFILE} + + + N + N + + + + LFB_zahl + String + -1 + -1 + none + N + + + + + + + LFB_str + String + -1 + -1 + none + N + + + + + + + + + LuF + 0 + 0 + + + N + N + N + + warning + + error + + line + + + + + + + + + POI + + + + + + + + + 768 + 192 + Y + +
+ + + Filter rows + FilterRows + + Y + + 1 + + none + + +LFB Mapping +Dummy (do nothing) + + + N + istJahr + = + + constantStringtrue-1-1N + + + + + + + + + + 576 + 416 + Y + + + + + Jahr muss 4 Stellen haben + ScriptValueMod + + Y + + 1 + + none + + + N + 9 + 0 + Script 1 + istJahr = /^(\d{4})$/.test(Jahr); + istJahr + istJahr + String + -1 + -1 + N + + + + + + + + + 576 + 320 + Y + + + + + Jahr to Integer + SelectValues + + Y + + 1 + + none + + + N + Jahr + Jahr + Integer + -2 + -2 + + false + + + false + + + + + + + + + + + + + + 912 + 320 + Y + + + + + LFB Mapping + StreamLookup + + Y + + 1 + + none + + + Excel Input LFB + N + Y + N + N + + + LFB + LFB_str + + + LFB_zahl + LFB_key + + None + + + + + + + + + + + 768 + 320 + Y + + + + + Row Normaliser + Normaliser + + Y + + 1 + + none + + + kenn_zahl + Studis Koepfe + MKWNRW1_studis_kopf + wert + Studis rsz + MKWNRW1_studis_rsz + wert + anfaenger 1FS beleg + MKWNRW1_1_fs_beleg + wert + anfaenger 1FS kopf + MKWNRW1_1_fs_kopf + wert + anfaenger 1HS kopf + MKWNRW1_1_hssem_kopf + wert + pruefungen ges + MKWNRW1_prf_ges + wert + pruefungen ba + MKWNRW1_prf_ba + wert + pruefungen ma + MKWNRW1_prf_ma + wert + pruefungen prom + MKWNRW1_prf_prom + wert + prof + MKWNRW1_prof + wert + prof sp + MKWNRW1_prof_sp + wert + prof drittm + MKWNRW1_prof_drittm + wert + wiss pers haupt + MKWNRW1_wiss_pers_haupt + wert + wiss pers haupt sb + MKWNRW1_wiss_pers_haupt_sb + wert + wiss pers haupt drittm + MKWNRW1_wiss_pers_haupt_drittm + wert + angebot + MKWNRW1_angebot + wert + nachfrage + MKWNRW1_nachfrage + wert + drittm einnahmen ges + MKWNRW1_einnahmen_drittm_ges + wert + erfolg 1FS + MKWNRW1_erfolg_1_fs + wert + erfolg 1HS + MKWNRW1_erfolg_1_hssem + wert + + + + + + + + + 384 + 320 + Y + + + + + Table output + TableOutput + + Y + + 1 + + none + + + eduetl + +
tmp_sxc_zahl_wert
+ 1000 + N + N + Y + Y + N + + N + Y + N + + Y + N + + + + kenn_zahl + kenn_zahl + + + wert_str + wert + + + hs_nr_str + Hochschule + + + jahr + Jahr + + + generic_dim1 + LFB_key + + + + + + + + + + + 1072 + 320 + Y + + + + + + + + N + diff --git a/src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/import_bestand_mwk_nrw_hskennz_2.ktr b/src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/import_bestand_mwk_nrw_hskennz_2.ktr new file mode 100644 index 0000000..f28ecc2 --- /dev/null +++ b/src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/import_bestand_mwk_nrw_hskennz_2.ktr @@ -0,0 +1,666 @@ + + + + import_bestand_mwk_nrw_hskennz_2 + + + + Normal + 0 + / + + + PATH_TO_UPLOADFILE + file:///home/superx/git/Memtext-Interna/Projekte/duisburg-essen_uni/muster/2025_stammdaten_nrw/Stammdaten_MKW_orig_2023.xlsx + + + + + + + + + + + + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + TRANSNAME + Y + TRANSNAME + + + STATUS + Y + STATUS + + + LINES_READ + Y + LINES_READ + + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + + LINES_UPDATED + Y + LINES_UPDATED + + + + LINES_INPUT + Y + LINES_INPUT + + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + + LINES_REJECTED + Y + LINES_REJECTED + + + + ERRORS + Y + ERRORS + + + STARTDATE + Y + STARTDATE + + + ENDDATE + Y + ENDDATE + + + LOGDATE + Y + LOGDATE + + + DEPDATE + Y + DEPDATE + + + REPLAYDATE + Y + REPLAYDATE + + + LOG_FIELD + Y + LOG_FIELD + + + EXECUTING_SERVER + N + EXECUTING_SERVER + + + EXECUTING_USER + N + EXECUTING_USER + + + CLIENT + N + CLIENT + + + + + +
+ + + + ID_BATCH + Y + ID_BATCH + + + SEQ_NR + Y + SEQ_NR + + + LOGDATE + Y + LOGDATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + INPUT_BUFFER_ROWS + Y + INPUT_BUFFER_ROWS + + + OUTPUT_BUFFER_ROWS + Y + OUTPUT_BUFFER_ROWS + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + LOGGING_OBJECT_TYPE + Y + LOGGING_OBJECT_TYPE + + + OBJECT_NAME + Y + OBJECT_NAME + + + OBJECT_COPY + Y + OBJECT_COPY + + + REPOSITORY_DIRECTORY + Y + REPOSITORY_DIRECTORY + + + FILENAME + Y + FILENAME + + + OBJECT_ID + Y + OBJECT_ID + + + OBJECT_REVISION + Y + OBJECT_REVISION + + + PARENT_CHANNEL_ID + Y + PARENT_CHANNEL_ID + + + ROOT_CHANNEL_ID + Y + ROOT_CHANNEL_ID + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + LOG_FIELD + N + LOG_FIELD + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + METRICS_DATE + Y + METRICS_DATE + + + METRICS_CODE + Y + METRICS_CODE + + + METRICS_DESCRIPTION + Y + METRICS_DESCRIPTION + + + METRICS_SUBJECT + Y + METRICS_SUBJECT + + + METRICS_TYPE + Y + METRICS_TYPE + + + METRICS_VALUE + Y + METRICS_VALUE + + + + + +
+ + 0.0 + 0.0 + + 10000 + 50 + 50 + N + Y + 50000 + Y + + N + 1000 + 100 + + + + + + + + + - + 2025/05/09 08:34:54.065 + - + 2025/05/09 08:34:54.065 + H4sIAAAAAAAAAAMAAAAAAAAAAAA= + N + + + + + + Microsoft Excel Input 2 + Join Rows (cartesian product) + Y + + + Table input + Join Rows (cartesian product) + Y + + + Join Rows (cartesian product) + Update + Y + + + + Microsoft Excel Input 2 + ExcelInput + + Y + + 1 + + none + + +
N
+ Y + N + + + + + + + 1 + + Y + N + + + + ${PATH_TO_UPLOADFILE} + + + N + N + + + + Jahr + Integer + -1 + -1 + none + N + + + + + + + + + Tabelle1 + 3 + 1 + + + N + N + N + + warning + + error + + line + + + + + + + + + POI + + + + + + + + + 192 + 320 + Y + +
+ + + Join Rows (cartesian product) + JoinRows + + Y + + 1 + + none + + + %%java.io.tmpdir%% + out + 500 +
+ + + N + + = + + + + + + + + + + + + 496 + 256 + Y + + + + + Table input + TableInput + + Y + + 1 + + none + + + eduetl + SELECT * FROM tmp_sxc_zahl_wert + 0 + + N + N + N + + + + + + + + + 192 + 208 + Y + + + + + Update + Update + + Y + + 1 + + none + + + eduetl + N + 100 + N + N + + + +
tmp_sxc_zahl_wert
+ + tid + tid + = + + + + jahr + Jahr + + + + + + + + + + + 656 + 256 + Y + + + + + + + + N +
diff --git a/src-modules/module/sxc/masken/47110_felderinfo.unl b/src-modules/module/sxc/masken/47110_felderinfo.unl new file mode 100644 index 0000000..4ba11eb --- /dev/null +++ b/src-modules/module/sxc/masken/47110_felderinfo.unl @@ -0,0 +1,26 @@ +47110^End Semester^5^0^0^150^100^1^integer^30^0^1^<> select tid,druck from kenn_semester order by tid DESC;^ ^<> select tid,druck from kenn_semester where today() between sem_beginn and sem_ende;^ +47111^Stat. Kennzahl^80^0^0^150^150^6^char^30^0^1^<> select apnr,druck from kenn_stichtagsart where aktiv='1'\ +and (select apnr from konstanten where beschreibung='KENN_PROFIL') in (5,6)\ +and 0!=(select count(*) from kenn_bestandsart_bland B, kenn_bestandsart K\ +where B.bestandsart=K.apnr\ +and K.stichtagsart_id=kenn_stichtagsart.apnr\ +and B.bland ='SA')\ +union\ +select apnr,druck from kenn_stichtagsart where aktiv='1'\ +and (select apnr from konstanten where beschreibung='KENN_PROFIL') in (1,2,3,4)\ +and 0!=(select count(*) from kenn_bestandsart_bland B, kenn_bestandsart K\ +where B.bestandsart=K.apnr\ +and K.stichtagsart_id=kenn_stichtagsart.apnr\ +and B.bland ='BW')\ +order by 1,2\ +;^ ^ ^ +47112^End-Jahr^7^360^-1^100^50^1^integer^30^0^1^<> SELECT distinct ord,name FROM aggregierung where kategorie='KENN-Jahr' order by 1;^ ^<> SELECT ord,name FROM aggregierung where kategorie='KENN-Jahr' and ord=(year(today())-1) ;^ +47113^nur zu berechnende Kennzahlen^110^0^0^150^50^1^char^30^0^999^<> select '1','Ja' from xdummy union select '0','Nein' from xdummy;^ ^ ^ +47114^Kennzahl Nr.^90^0^0^150^30^1^char^4^0^0^^ ^ ^ +47115^Hochschule^1^0^0^150^200^5^char^30^0^12^<> select tid, type, name,sortnr from sichten where art in('SXC_Hochschulen-Sicht') and aktiv=1 order by sortnr desc, name;^ ^ ^ +47116^nur zu exportierende Kennzahlen^120^360^-1^100^50^1^char^30^0^999^<> select '1','Ja' from xdummy union select '0' ,'Nein' from xdummy;^ ^ ^ +47117^Filter bis Ebene^25^0^0^150^20^1^integer^30^0^0^^ ^1^ +47118^Bericht^100^360^-1^100^200^1^char^30^1^1^<> select 'MKWNRW_1','MKW NRW Hochschulkennzahlen';^ ^<>select 'MKWNRW_1','MKW NRW Hochschulkennzahlen';^ +47119^Start-Jahr^6^360^-1^100^50^1^integer^30^0^1^<> SELECT distinct ord,name FROM aggregierung where kategorie='KENN-Jahr' order by 1;^ ^<> SELECT ord,name FROM aggregierung where kategorie='KENN-Jahr' and ord=(year(today())-1) ;^ +47120^Start Semester^4^0^0^150^100^1^integer^30^0^1^<> select tid,druck from kenn_semester order by tid DESC;^ ^<> select tid,druck from kenn_semester where today() between sem_beginn and sem_ende;^ +47121^oder^30^0^0^120^200^1^char^30^0^13^^ ^ ^ diff --git a/src-modules/module/sxc/masken/47110_maske_system_bez.unl b/src-modules/module/sxc/masken/47110_maske_system_bez.unl new file mode 100644 index 0000000..1b64243 --- /dev/null +++ b/src-modules/module/sxc/masken/47110_maske_system_bez.unl @@ -0,0 +1 @@ +47110^109^ diff --git a/src-modules/module/sxc/masken/47110_masken_felder_bez.unl b/src-modules/module/sxc/masken/47110_masken_felder_bez.unl new file mode 100644 index 0000000..a770dbb --- /dev/null +++ b/src-modules/module/sxc/masken/47110_masken_felder_bez.unl @@ -0,0 +1,12 @@ +47110^47110^ +47110^47111^ +47110^47112^ +47110^47113^ +47110^47114^ +47110^47115^ +47110^47116^ +47110^47117^ +47110^47118^ +47110^47119^ +47110^47120^ +47110^47121^ diff --git a/src-modules/module/sxc/masken/47110_maskeninfo.unl b/src-modules/module/sxc/masken/47110_maskeninfo.unl new file mode 100644 index 0000000..f7066d0 --- /dev/null +++ b/src-modules/module/sxc/masken/47110_maskeninfo.unl @@ -0,0 +1,817 @@ +47110^Stammdaten NRW^--Freemarker Template\ +<#include "SQL_lingua_franca"/>\ +<#include "SuperX_general"/>\ +\ +-- ################\ +-- # Erläuterung: #\ +-- ################\ +-- bezugsart:\ +-- Q = Quartal\ +-- S = Semester\ +-- J = Jahr\ +-- A = Akademisches Jahr BW\ +-- B = Beginner SA (Studeinanfäger)\ +-- P = Prüfungen SA (Absolventen) (war früher U)\ +\ +\ +--######################################\ +\ +--start ergtabelle \ +\ +>"?replace("'","")?replace("*","%")+"%"/>\ +\ +select trim(K.id) as id,trim(R.gruppe_1) as gruppe_1,\ +trim(R.gruppe_2) as gruppe_2,\ +trim(K.name) as name,\ +trim(K.quelltabelle) as quelltabelle,\ +trim(K.quellfeld) as quellfeld,\ +K.bedingung as bedingung,\ +trim(K.stichtagsart) as stichtagsart,\ +trim(K.bezugsart) as bezugsart,\ +trim(K.zeitfeld) as zeitfeld,\ +R.ebene,\ +R.ord_nr,\ +K.einheit,\ +K.beschreibung\ +FROM kenn_katalog K, kenn_katalog_rpt R\ +where K.id=R.katalog_id\ +and R.report_id=<>\ +/* and R.gruppe_1 like ('${kennznr}') and <>!='muss sein, da der Feld optional ist' */\ +/* and K.stichtagsart in (select druck from kenn_stichtagsart where aktiv='1' and apnr in (<>)) */\ +--Sortierung nach ord_nr wichtig wg. Querabhängigkeiten\ +order by 12;\ +]]>\ +\ +\ +\ +select min(tid) from kenn_semester\ +where 1=1\ +/* and get_akad_jahr(tid,'A') >= <> */\ +/* and get_akad_jahr(tid,'A') <= <> */;\ +\ +\ +select max(tid) from kenn_semester\ +where 1=1\ +/* and get_akad_jahr(tid,'A') >= <> */\ +/* and get_akad_jahr(tid,'A') <= <> */;\ +\ +\ +select min(ord) from aggregierung\ +where kategorie='KENN-Jahr'\ +/* and ord >= <> */\ +/* and ord <= <> */;\ +\ +\ +select max(ord) from aggregierung\ +where kategorie='KENN-Jahr'\ +/* and ord >= <> */\ +/* and ord <= <> */;\ +\ +\ +select min(tid) from kenn_semester\ +where 1=1\ +/* and akad_jahr_anf >= <> */\ +/* and akad_jahr_anf <= <> */;\ +\ +\ +select max(tid) from kenn_semester\ +where 1=1\ +/* and akad_jahr_anf >= <> */\ +/* and akad_jahr_anf <= <> */;\ +\ +\ +select min(tid) from kenn_semester\ +where 1=1\ +/* and akad_jahr_absolv >= <> */\ +/* and akad_jahr_absolv <= <> */;\ +\ +\ +select max(tid) from kenn_semester\ +where 1=1\ +/* and akad_jahr_absolv >= <> */\ +/* and akad_jahr_absolv <= <> */;\ +\ +\ +\ +<#assign lfb_feldinhalt="''" />\ +/* <#assign lfb_feldinhalt= .vars["Externes Produkt"].allNeededKeys /> --<> */\ +\ +--URL-Parameter für LFB-Detailmaske Sachsen:\ +<#assign seit_jahr_param="" />\ +<#if "<>" != "">\ +<#assign seit_jahr_param="&Start-Jahr=<>" />\ +\ +<#assign bis_jahr_param="" />\ +<#if "<>" != "">\ +<#assign bis_jahr_param="&End-Jahr=<>" />\ +\ +<#assign hochschule_param="" />\ +<#if "<>" != "">\ +/* <#assign hs="<>" /> */\ +<#assign hochschule_param="&Hochschule="+ hs?replace("'", "") />\ +\ +\ +create temp table tmp_kennz\ +(\ +tid integer,\ +hs_nr integer,\ +katalog_id CHAR(100),\ + hochschule_str nchar(255),\ + stichtagsart nchar(255),\ + beschreibung char(255),\ + zeitraum_int integer,\ + zeitraum_str char(255), \ + bezugsart char(1),\ + ebene smallint,\ + ord_nr smallint,\ + gruppe_1 char(40),\ + gruppe_2 char(40),\ + betrag decimal(14,2),\ + einheit char(255), \ + erlaeuterung varchar(255),\ + nextmask varchar(250),\ + nexttable varchar(250),\ + jahr integer,\ + semester integer\ + ) <@informixnolog/>;\ + create temp table tmp_kennz3\ +(tid integer,\ +hs_nr integer,\ +katalog_id CHAR(100),\ + hochschule_str nchar(255),\ + stichtagsart nchar(255),\ + beschreibung char(255),\ + zeitraum_int integer,\ + zeitraum_str char(255), \ + bezugsart char(1),\ + ebene smallint,\ + gruppe_1 char(40),\ + gruppe_2 char(40),\ + betrag decimal(14,2),\ + einheit char(255),\ + erlaeuterung varchar(255)\ + ) <@informixnolog/>;\ + \ + create temp table tmp_betrag1\ +(hs_nr integer,\ + zeitraum_int integer,\ + betrag decimal(14,2)\ + ) <@informixnolog/>;\ + \ + create temp table tmp_betrag2\ +(hs_nr integer,\ + zeitraum_int integer,\ + betrag decimal(14,2)\ + ) <@informixnolog/>;\ + \ + \ + \ + \ + <#macro bedingung zeitfeld bezugsart stichtagsart>\ + <#if zeitfeld='null::integer' >\ + (1=1)\ + <#else>\ + <#switch bezugsart>\ + <#case "A">\ + --Akad. Studienjahr ist etwas komplizierter\ + --Def.: WS + darauf folgendes SS des im Zähler betrachteten Studienjahres\ + <#if zeitfeld='jahr' >\ + (\ + 1=1 \ + /*and jahr in\ + (SELECT K.bezugszeit FROM kenn_stichtag K where K.bezugsart='J'\ + and K.stichtagsart='${stichtagsart}' and K.exportieren=<> ) */\ + /* and jahr in\ + (SELECT K.bezugszeit FROM kenn_stichtag K where K.bezugsart='J'\ + and K.stichtagsart='${stichtagsart}' and K.berechnen=<> ) */\ + )\ + <#else>\ + --Semester\ + (\ + 1=1\ + /* and ${zeitfeld} in\ + (SELECT K.bezugszeit FROM kenn_stichtag K where K.bezugsart='S'\ + and K.stichtagsart='${stichtagsart}' and K.exportieren=<>) */\ + /* and ${zeitfeld} in\ + (SELECT K.bezugszeit FROM kenn_stichtag K where K.bezugsart='S'\ + and K.stichtagsart='${stichtagsart}' and K.berechnen=<> )*/\ + \ + )\ + \ + <#break>\ + \ + <#default>\ + 1=1\ + /* and ${zeitfeld} in (SELECT K.bezugszeit FROM kenn_stichtag K where K.bezugsart='${bezugsart}'\ +and K.stichtagsart='${stichtagsart}'\ +and K.exportieren=<>) */\ + /* and ${zeitfeld} in (SELECT K.bezugszeit FROM kenn_stichtag K where K.bezugsart='${bezugsart}'\ +and K.stichtagsart='${stichtagsart}'\ +and K.berechnen=<>) */\ + \ +\ +\ +\ +\ +\ +\ +--Erste Schleife für alle zu berechnenden Werte, wo quelltabelle gefüllt ist\ +<#if kenn_katalog?has_content >\ +<#foreach row_kennzahl in kenn_katalog>\ +<#if row_kennzahl.id != "dummy" && row_kennzahl.id != "dummy1">\ +--Variablen erheben\ +<#assign quelltabelle= row_kennzahl.quelltabelle />\ +<#assign quellfeld= row_kennzahl.quellfeld />\ +<#assign filter= row_kennzahl.bedingung />\ +<#assign stichtagsart= row_kennzahl.stichtagsart />\ +<#assign bezugsart= row_kennzahl.bezugsart />\ +<#assign zeitfeld= row_kennzahl.zeitfeld />\ +<#assign ebene= row_kennzahl.ebene />\ +<#assign ord_nr= row_kennzahl.ord_nr />\ +<#assign gruppe_1= row_kennzahl.gruppe_1 />\ +<#assign gruppe_2= row_kennzahl.gruppe_2 />\ +<#assign einheit= row_kennzahl.einheit />\ +<#assign beschreibung= row_kennzahl.beschreibung />\ +\ +\ +<#assign zeit_bedingung="1=1" />\ +\ +<#switch bezugsart>\ + <#case "Q">\ + <#if "<>" != "" && "<>" != "">\ + <#assign zeit_bedingung= "jahr between <> and <>" />\ + \ + <#if "<>" = "" && "<>" != "">\ + <#assign zeit_bedingung= "jahr <= <>" />\ + \ + <#if "<>" != "" && "<>" = "">\ + <#assign zeit_bedingung= "jahr >= <>" />\ + \ + <#break>\ + <#case "S">\ +<#if "<>" != "" && "<>" != "">\ +<#assign zeit_bedingung= zeitfeld + " between <> and <>" />\ +\ +<#if "<>" = "" && "<>" != "">\ +<#assign zeit_bedingung= zeitfeld + " <= <>" />\ +\ +<#if "<>" != "" && "<>" = "">\ +<#assign zeit_bedingung= zeitfeld + " >= <>" />\ +\ +<#if "<>" != "" && "<>" != "">\ + <#assign zeit_bedingung= "get_akad_jahr("+zeitfeld+",'B') between <> and <>" />\ + \ + <#if "<>" = "" && "<>" != "">\ + <#assign zeit_bedingung= "get_akad_jahr("+zeitfeld+",'B') <= <>" />\ + \ + <#if "<>" != "" && "<>" = "">\ + <#assign zeit_bedingung= "get_akad_jahr("+zeitfeld+",'B') >= <>" />\ + \ + <#break>\ + <#case "J">\ + <#if "<>" != "" && "<>" != "">\ + <#assign zeit_bedingung= zeitfeld + " between <> and <>" />\ + \ + <#if "<>" = "" && "<>" != "">\ + <#assign zeit_bedingung= zeitfeld + " <= <>" />\ + \ + <#if "<>" != "" && "<>" = "">\ + <#assign zeit_bedingung= zeitfeld + " >= <>" />\ + \ + <#break>\ + <#case "A">\ + <#if zeitfeld="sem">\ + <#if sem_akad_bw_von?trim != "">\ + <#assign zeit_bedingung= zeit_bedingung+ " and " + zeitfeld + ">="+ sem_akad_bw_von />\ + \ + <#if sem_akad_bw_bis?trim != "">\ + <#assign zeit_bedingung= zeit_bedingung+ " and "+ zeitfeld + "<="+ sem_akad_bw_bis />\ + \ + \ + <#if zeitfeld?index_of("jahr") > -1 >\ + <#if jahr_akad_bw_von?trim != "">\ + <#assign zeit_bedingung= zeit_bedingung+ " and " + zeitfeld + ">="+ jahr_akad_bw_von />\ + \ + <#if jahr_akad_bw_bis?trim != "">\ + <#assign zeit_bedingung= zeit_bedingung+ " and "+ zeitfeld + "<="+ jahr_akad_bw_bis />\ + \ + \ + <#break>\ + <#case "B">\ + <#if sem_akad_sa_anf_von?trim != "">\ + <#assign zeit_bedingung= zeit_bedingung+ " and " + zeitfeld + ">="+ sem_akad_sa_anf_von />\ + \ + <#if sem_akad_sa_anf_bis?trim != "">\ + <#assign zeit_bedingung= zeit_bedingung+ " and "+ zeitfeld + "<="+ sem_akad_sa_anf_bis />\ + \ + <#break>\ + <#case "P">\ + <#if sem_akad_sa_absolv_von?trim != "">\ + <#assign zeit_bedingung= zeit_bedingung+ " and "+ zeitfeld + " >="+ sem_akad_sa_absolv_von />\ + \ + <#if sem_akad_sa_absolv_bis?trim != "">\ + <#assign zeit_bedingung= zeit_bedingung+ " and "+ zeitfeld + "<="+ sem_akad_sa_absolv_bis />\ + \ + \ + <#break>\ + <#default>\ + <#assign zeit_bedingung= "1=1" />\ +\ +\ +--Zuerst die Felder, die aus KENN-Tabellen generiert werden\ +--Achtung: die folgenden Tabellennamen müssen auch in Maske 18000 eingetragen werden\ +<#assign lfb_colname="" />\ +<#if quelltabelle != "" >\ +<#if quelltabelle=="kenn_sos_stg" || quelltabelle=="kenn_sos_lab" \ +|| quelltabelle=="kenn_sos_stg" || quelltabelle=="kenn_flaeche"\ +|| quelltabelle=="kenn_pbv_aggr" || quelltabelle=="kenn_konto_aggr"\ +|| quelltabelle=="kenn_anlagen_aggr" || quelltabelle=="kenn_stupl">\ +<#assign lfb_colname="extkotr" />\ +\ +<#if quelltabelle== "kenn_busa_aggr">\ +<#assign lfb_colname="projnr" />\ +\ +<#if quelltabelle== "kenn_vtbu_aggr">\ +<#assign lfb_colname="ziel_projnr" />\ +\ +<#if quelltabelle== "kenn_zahl_wert">\ +<#if row_kennzahl.id == "FORSCH_HABILITATION_KOEPFE">\ +<#assign lfb_colname="ch110_institut" />\ +<#else>\ +<#if row_kennzahl.id == "LEHR_UNBER_ANG" || row_kennzahl.id == "LEHRANG_LEHRAUFTRAEGE" >\ +<#assign lfb_colname="(select min(substring(SG.key_ext from 1 for 10)) from kenn_inst_to_ext SG where SG.hs_nr=kenn_zahl_wert.hs_nr and SG.instnr=kenn_zahl_wert.ch110_institut)" />\ +<#else>\ +<#assign lfb_colname="(select min(SG.k_extkotr) from kenn_stug SG where SG.hs_nr=kenn_zahl_wert.hs_nr and SG.stug_key=kenn_zahl_wert.stugkey)" />\ +\ +\ +\ +<#if quelltabelle== "kenn_su_imp_stud" || quelltabelle== "kenn_auslastung" || quelltabelle== "kenn_proj_gege">\ +<#assign lfb_colname="k_extkotr" />\ +\ +\ +insert into tmp_kennz(\ +hs_nr ,\ +katalog_id,\ + stichtagsart ,\ + beschreibung ,\ + zeitraum_int,\ + bezugsart,\ + ebene,\ + ord_nr,\ + gruppe_1,\ + gruppe_2,\ + betrag,\ + einheit,\ + erlaeuterung)\ + \ +select hs_nr,\ +'${row_kennzahl.id}'::char(100),\ + '${stichtagsart}'::nchar(255),\ + '${row_kennzahl.name}' <#if bezugsart = "A" || bezugsart = "P" || bezugsart = "B" && zeitfeld?index_of("sem") > -1 && quelltabelle != ""> || nvl(' (' || (select trim(min(kurz)) from kenn_semester where tid=${quelltabelle}.${zeitfeld}) || ')','') ,\ + <#if (bezugsart = "A" || bezugsart = "P" || bezugsart = "B") && zeitfeld?index_of("sem") > -1>\ + --akad. Jahr automatisch ermitteln\ + get_akad_jahr(${zeitfeld},'${bezugsart}'),\ + --val(substring('' || ${zeitfeld} from 1 for 4)),\ + <#else>\ + ${zeitfeld},\ + \ + '${bezugsart}'::char(1),\ + ${ebene}::smallint,\ + ${ord_nr}::smallint,\ + '${gruppe_1}'::char(40),\ + '${gruppe_2}'::char(40),\ + ${quellfeld},\ + '${einheit}'::varchar(255),\ + '${beschreibung}'::varchar(255)\ + from xdummy left outer join ${quelltabelle} on ( \ + <@bedingung zeitfeld="${zeitfeld}" bezugsart="${bezugsart}" stichtagsart="${stichtagsart}"/>\ + ${filter}\ + and ${zeit_bedingung}\ + and LPAD(hs_nr::TEXT, 4, '0') in <@printkeys .vars["Hochschule"].allNeededKeys /> \ + \ + <#if lfb_feldinhalt != "''" && lfb_colname != "" >\ + and ${lfb_colname} in ${lfb_feldinhalt}\ + \ + )\ + --nicht doppelt einfügen\ + where 0=(select count(*) from tmp_kennz K where K.katalog_id= '${row_kennzahl.id}' and (K.gruppe_1='${gruppe_1}' or K.gruppe_1 is null or trim(K.gruppe_1)=''))\ + group by 1,2,3,4,5,6;\ +\ + --wenn nicht "dummy"\ +\ +\ +<@selectintotmp select="*" source="tmp_kennz" target="tmp_kennz_basis">\ + <@informixnolog/>;\ +\ +\ +--nun die berechneten Kennzahlen\ +<#list 1..5 as i>\ +<#if kenn_katalog?has_content >\ + <#foreach row_kennzahl in kenn_katalog>\ + <#if row_kennzahl.id != "dummy">\ +--Variablen erheben\ +<#assign quelltabelle= row_kennzahl.quelltabelle />\ +<#assign quellfeld= row_kennzahl.quellfeld />\ +<#assign filter= row_kennzahl.bedingung />\ +<#assign stichtagsart= row_kennzahl.stichtagsart />\ +<#assign bezugsart= row_kennzahl.bezugsart />\ +<#assign zeitfeld= row_kennzahl.zeitfeld />\ +<#assign ebene= row_kennzahl.ebene />\ +<#assign ord_nr= row_kennzahl.ord_nr />\ +<#assign gruppe_1= row_kennzahl.gruppe_1 />\ +<#assign gruppe_2= row_kennzahl.gruppe_2 />\ +<#assign einheit= row_kennzahl.einheit />\ +<#assign beschreibung= row_kennzahl.beschreibung />\ +\ +\ +\ +<#switch bezugsart>\ + <#case "Q">\ + <#if "<>" != "" && "<>" != "">\ + <#assign zeit_bedingung= "jahr between <> and <>" />\ + \ + <#if "<>" = "" && "<>" != "">\ + <#assign zeit_bedingung= "jahr <= <>" />\ + \ + <#if "<>" != "" && "<>" = "">\ + <#assign zeit_bedingung= "jahr >= <>" />\ + \ + <#break>\ + <#case "S">\ +<#if "<>" != "" && "<>" != "">\ +<#assign zeit_bedingung= zeitfeld + " between <> and <>" />\ +\ +<#if "<>" = "" && "<>" != "">\ +<#assign zeit_bedingung= zeitfeld + " <= <>" />\ +\ +<#if "<>" != "" && "<>" = "">\ +<#assign zeit_bedingung= zeitfeld + " >= <>" />\ +\ +<#if "<>" != "" && "<>" != "">\ + <#assign zeit_bedingung= "get_akad_jahr("+zeitfeld+",'B') between <> and <>" />\ + \ + <#if "<>" = "" && "<>" != "">\ + <#assign zeit_bedingung= "get_akad_jahr("+zeitfeld+",'B') <= <>" />\ + \ + <#if "<>" != "" && "<>" = "">\ + <#assign zeit_bedingung= "get_akad_jahr("+zeitfeld+",'B') >= <>" />\ + \ + <#break>\ + <#case "J">\ + <#if "<>" != "" && "<>" != "">\ + <#assign zeit_bedingung= zeitfeld + " between <> and <>" />\ + \ + <#if "<>" = "" && "<>" != "">\ + <#assign zeit_bedingung= zeitfeld + " <= <>" />\ + \ + <#if "<>" != "" && "<>" = "">\ + <#assign zeit_bedingung= zeitfeld + " >= <>" />\ + \ + <#break>\ + <#case "A">\ + <#assign zeit_bedingung= zeitfeld +" between "+sem_akad_bw_von+" and "+sem_akad_bw_bis />\ + <#break>\ + <#case "B">\ + <#assign zeit_bedingung= zeitfeld +" between "+sem_akad_sa_anf_von+" and "+sem_akad_sa_anf_bis />\ + <#break>\ + <#case "P">\ + <#assign zeit_bedingung= zeitfeld +" between "+sem_akad_sa_absolv_von+" and "+sem_akad_sa_absolv_bis />\ + <#break>\ + <#default>\ + <#assign zeit_bedingung= "1=1" />\ +\ +\ +\ +--Jetzt die berechneten Felder:\ +<#if quelltabelle = "" >\ +\ +--Bei berechneten Feldern steht in Quelltabelle nichts, dafür die Formel in Feldname\ +<#assign rsnum=1 />\ +\ +<#if quellfeld?index_of("/") != -1 || quellfeld?index_of("*") != -1>\ +<#if quellfeld?index_of("/") != -1>\ +<#assign operator="/" />\ +\ +<#if quellfeld?index_of("*") != -1>\ +<#assign operator="*" />\ +\ +<#list quellfeld?split(operator) as rs>\ +<#if rsnum = 1>\ +<#assign betrag1= rs />\ +\ +<#if rsnum = 2>\ +<#assign betrag2= rs />\ +\ +<#assign rsnum= rsnum+1 />\ +\ +insert into tmp_betrag1(\ +hs_nr ,\ + zeitraum_int,\ + betrag\ + )\ + select hs_nr,\ + zeitraum_int,\ + --sicherstellen dass keien Duplikate reinkommen, wenn eine Kennzahl mehrmals benutzt wird:\ + min(betrag)\ + from tmp_kennz \ + where katalog_id='${betrag1}'\ + group by 1,2;\ +<#if betrag2?starts_with("2") || betrag2?starts_with("4") >\ +--wenn betrag2 keine Variable, sondern eine Zahl ist (z.B. für AVG /2)\ +--dann wird nur die 2 übernommen.\ +insert into tmp_betrag2(\ +hs_nr ,\ + zeitraum_int,\ + betrag\ + )\ + select hs_nr,\ + zeitraum_int,\ + ${betrag2}\ + from tmp_kennz \ + where katalog_id='${betrag1}'; \ +<#else>\ +insert into tmp_betrag2(\ +hs_nr ,\ + zeitraum_int,\ + betrag )\ + select hs_nr,\ + zeitraum_int,\ + min(betrag)\ + from tmp_kennz \ + where katalog_id='${betrag2}'\ + group by 1,2; \ +\ +insert into tmp_kennz3(\ +hs_nr ,\ + stichtagsart ,\ + beschreibung ,\ + zeitraum_int,\ + bezugsart,\ + ebene,\ + gruppe_1,\ + gruppe_2,\ + betrag,\ + einheit,\ + erlaeuterung)\ +select Z.hs_nr,\ + '${stichtagsart}'::nchar(255),\ + '${row_kennzahl.name}'::char(255) ,\ + Z.zeitraum_int,\ + '${bezugsart}'::char(1),\ + ${ebene},\ + '${gruppe_1}',\ + '${gruppe_2}',\ + Z.betrag ${operator} N.betrag,\ + '{einheit}',\ + '{erlaeuterung}'\ + from tmp_betrag1 Z, tmp_betrag2 N \ + where 1=1\ + <#if filter?trim = "">\ + and (Z.zeitraum_int=N.zeitraum_int\ + or (Z.zeitraum_int is null and N.zeitraum_int is null))\ + <#else>\ + --Wenn eine Kennzahl aus zwei nicht zusammenpassenden Zeiträumen gebildet wird,\ + --(z.B. WS/HHJ) muss im Katalog das Feld bedingung gefüllt sein\ + ${filter}\ + \ + <#if operator="/">\ + --keine Division durch 0\ + and N.betrag != 0\ + \ + and Z.hs_nr=N.hs_nr;\ +\ +<#if quellfeld?index_of("+") != -1 >\ +--Summe\ +<#assign operator="+" />\ +insert into tmp_kennz3(\ +hs_nr ,\ + stichtagsart ,\ + beschreibung ,\ + zeitraum_int,\ + bezugsart,\ + ebene,\ + gruppe_1,\ + gruppe_2,\ + betrag,\ + einheit,\ + erlaeuterung) \ +select hs_nr,\ + '${stichtagsart}'::nchar(255),\ + '${row_kennzahl.name}'::char(255) ,\ + zeitraum_int,\ + '${bezugsart}'::char(1),\ + ${ebene}::integer,\ + '${gruppe_1}'::char(40),\ + '${gruppe_2}'::char(40),\ + sum(betrag),\ + '${einheit}',\ + '${beschreibung}'\ + from xdummy left outer join tmp_kennz on \ +( katalog_id in (\ + <#list quellfeld?split(operator) as rs>\ +'${rs?trim}',\ +\ +'')\ +and hs_nr is not null --nur wenn überhaupt ein Wert drin ist\ +-- bei Akademischen Jahr soll keine Addition statt finden, wenn eins der beiden Semester keine Zahlen enthält. Das Ergebnis aus der Summe wäre irreführend.\ +<#if row_kennzahl.bezugsart = 'A'>\ +<#list quellfeld?split(operator) as rs>\ +and 0 < (select count(*) from tmp_kennz_basis BS where BS.katalog_id = '${rs}' and BS.zeitraum_int=tmp_kennz.zeitraum_int and BS.betrag is not null)\ +\ +\ +${row_kennzahl.bedingung} )\ +group by 1,2,3,4,5,6,7; \ +\ +\ +insert into tmp_kennz(\ +hs_nr ,\ + katalog_id,\ + stichtagsart ,\ + beschreibung ,\ + zeitraum_int,\ + bezugsart,\ + ebene,\ + ord_nr,\ + gruppe_1,\ + gruppe_2,\ + betrag,\ + einheit,\ + erlaeuterung)\ +select\ +hs_nr ,\ +'${row_kennzahl.id}'::char(100),\ +'${stichtagsart}'::nchar(255),\ + '${row_kennzahl.name}'::char(255) ,\ + zeitraum_int,\ + bezugsart,\ + ${ebene}::smallint,\ + ${ord_nr}::smallint,\ + '${gruppe_1}'::char(40),\ + '${gruppe_2}'::char(40),\ + betrag,\ + '${einheit}' ,\ + '${beschreibung}' \ + <#if i=5>\ + --nur im letzten Durchgang ein left outer join, um sicherzugehen dass eine Zeile\ + --angezeigt wird, auch wenn der Wert fehlt.\ + from xdummy left outer join tmp_kennz3 on (1=1)\ + <#else>\ + from tmp_kennz3\ + \ + --nicht doppelt einfügen, wg. 5er Schleife:\ + where 0=(select count(*) from tmp_kennz K\ + where K.katalog_id= '${row_kennzahl.id}'\ + and (K.gruppe_1='${gruppe_1}' or K.gruppe_1 is null or trim(K.gruppe_1)='')\ + );\ +\ +delete from tmp_betrag1;\ +delete from tmp_betrag2;\ +delete from tmp_kennz3;\ +\ + --wenn nicht dummy\ +\ +\ +\ +\ +-- Wenn eine Kennzahl ausgewählt wird, sollen alle Ebenen angezeigt werden: Ebenen Filter wird ignoriert.\ +<#if "<>" = "">\ +/* delete from tmp_kennz where ebene > <>; */\ +\ +\ +/* delete from tmp_kennz where substring(gruppe_1 from 1 for 2) != <>; */\ +\ +update tmp_kennz set hochschule_str=(select name from sxc_hochschulen where hs_nr =LPAD(tmp_kennz.hs_nr::TEXT, 4, '0'));\ +update tmp_kennz set zeitraum_str=(select min(druck) from kenn_semester where tid=tmp_kennz.zeitraum_int)\ +where bezugsart in ('S','4');\ +update tmp_kennz set zeitraum_str=(select name FROM aggregierung where kategorie='COB-Jahr' \ +and ord=tmp_kennz.zeitraum_int)\ +where bezugsart in ('J','A');\ +update tmp_kennz set zeitraum_str=(select min(druck) from kenn_quartale where apnr=tmp_kennz.zeitraum_int)\ +where bezugsart='Q';\ +update tmp_kennz set zeitraum_str=zeitraum_int where zeitraum_str is null;\ +\ +update tmp_kennz set nextmask='18580&Hochschule=' || hs_nr || '&Quartal=' || substring('' || zeitraum_int from 5 for 1) || '&Haushaltsjahr=' || substring('' || zeitraum_int from 1 for 4) || '&Kostenarten=5' \ +where stichtagsart='Kostenrechnung' \ +and katalog_id in ('KOSTEN_ERLOESE_Q');\ +\ +update tmp_kennz set nextmask='18580&Hochschule=' || hs_nr || '&Quartal=' || substring('' || zeitraum_int from 5 for 1) || '&Haushaltsjahr=' || substring('' || zeitraum_int from 1 for 4) || '&Kostenarten=906' \ +where stichtagsart='Kostenrechnung' \ +and katalog_id in ('KOSTEN_PERSONAL_Q');\ +update tmp_kennz set nextmask='18580&Hochschule=' || hs_nr || '&Quartal=' || substring('' || zeitraum_int from 5 for 1) || '&Haushaltsjahr=' || substring('' || zeitraum_int from 1 for 4) || '&Kostenarten=6' \ +where stichtagsart='Kostenrechnung' \ +and katalog_id in ('KOSTEN_SACH_Q');\ +update tmp_kennz set nextmask='18580&Hochschule=' || hs_nr || '&Quartal=' || substring('' || zeitraum_int from 5 for 1) || '&Haushaltsjahr=' || substring('' || zeitraum_int from 1 for 4) || '&Kostenarten=7' \ +where stichtagsart='Kostenrechnung' \ +and katalog_id in ('KOSTEN_WEITERE_Q');\ +update tmp_kennz set nextmask='18580&Hochschule=' || hs_nr || '&Quartal=' || substring('' || zeitraum_int from 5 for 1) || '&Haushaltsjahr=' || substring('' || zeitraum_int from 1 for 4) || '&Kostenarten=66' \ +where stichtagsart='Kostenrechnung' \ +and katalog_id in ('KOSTEN_ABSCHR_Q');\ +update tmp_kennz set nextmask='18580&Hochschule=' || hs_nr || '&Quartal=' || substring('' || zeitraum_int from 5 for 1) || '&Haushaltsjahr=' || substring('' || zeitraum_int from 1 for 4) || '&Kostenarten=902' \ +where stichtagsart='Kostenrechnung' \ +and katalog_id in ('KOSTEN_KALK_MIETE_Q');\ +\ +--update tmp_kennz set nextmask='18600&Hochschule=' || hs_nr || '&cachingcontrol=clearMask' where stichtagsart='Kostenrechnung' and katalog_id in ('KOSTEN_LEHRE_Q','KOSTEN_FORSCHUNG_Q','KOSTEN_DIENST_Q');\ +update tmp_kennz set nextmask='18600&Hochschule=' || hs_nr || '&Zeitraum=' || zeitraum_int || '&Haushaltsjahr=' || substring('' || zeitraum_int from 1 for 4) where stichtagsart='Kostenrechnung' and katalog_id in ('KOSTEN_LEHRE_SEK_Q');\ +\ +update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&bis Hochschulsemester=1' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_1HS_KOEPFE');\ +update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&bis Fachsemester=1' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_1FS_KOEPFE');\ +update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&bis Fachsemester=1' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_1FS_FAELLE');\ +update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&Fachkennz.=H' || '&bis Fachsemester=1' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_1FS_HF_FAELLE');\ +update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&Fachkennz.=N' || '&bis Fachsemester=1' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_1FS_NF_FAELLE');\ +update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_KOEPFE');\ +update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_FAELLE');\ +update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&Fachkennz.=H' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_HF_FAELLE');\ +update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&Fachkennz.=N' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_NF_FAELLE');\ +update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&in der RSZ=1' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_RSZ_KOEPFE');\ +update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&in der RSZ=1' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_RSZ_FAELLE');\ +update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&in der RSZ=1' || '&Fachkennz.=H' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_RSZ_HF_FAELLE');\ +update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&in der RSZ=1' || '&Fachkennz.=N' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_RSZ_NF_FAELLE');\ +update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&Geschlecht=2' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_W_KOEPFE');\ +update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&Geschlecht=1' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_M_KOEPFE');\ +update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_D_KOEPFE');\ +update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&Hochschulzugangsber.=6' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_BI_KOEPFE');\ +update tmp_kennz set nextmask='18620&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&Hochschulzugangsber.=7' where stichtagsart='Studierendenstatistik' and katalog_id in ('STUD_BA_KOEPFE');\ +\ +update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_KOEPFE');\ +update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_FAELLE');\ +update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&Fachkennz.=H' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_HF_FAELLE');\ +update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&Fachkennz.=N' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_NF_FAELLE');\ +update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&Geschlecht=2' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_W_KOEPFE');\ +update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&Geschlecht=1' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_M_KOEPFE');\ +update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&Geschlecht=2' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_W_FAELLE');\ +update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&Geschlecht=1' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_M_FAELLE');\ +update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&Geschlecht=2' || '&Fachkennz.=H' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_W_HF_KOEPFE');\ +update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&Geschlecht=1' || '&Fachkennz.=H' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_M_HF_KOEPFE');\ +update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&Geschlecht=2' || '&Fachkennz.=H' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_W_HF_FAELLE');\ +update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&Geschlecht=1' || '&Fachkennz.=H' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_M_HF_FAELLE');\ +update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&Geschlecht=2' || '&Fachkennz.=N' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_W_NF_FAELLE');\ +update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=f' || '&Geschlecht=1' || '&Fachkennz.=N' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_M_NF_FAELLE');\ +update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&Staatsangeh%F6rigkeit="000"' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_D_KOEPFE');\ +update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&Hochschulzugangsber.=6' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_BI_KOEPFE');\ +update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&Hochschulzugangsber.=7' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_BA_KOEPFE');\ +update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&K%F6pfe%20oder%20F%E4lle%20?=k' || '&Staatsangeh%F6rigkeit=Alle%20ohne%20Deutschland' where stichtagsart='Prüfungsstatistik' and katalog_id in ('ABSOLV_A_KOEPFE');\ +update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&Promotion=1' where stichtagsart='Prüfungsstatistik' and katalog_id in ('PROMOTIONEN');\ +update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&Promotion=1' || '&Geschlecht=2' where stichtagsart='Prüfungsstatistik' and katalog_id in ('PROMOTIONEN_W');\ +update tmp_kennz set nextmask='18640&Hochschule=' || hs_nr || '&Semester=' || zeitraum_int || '&Promotion=1' || '&Geschlecht=1' where stichtagsart='Prüfungsstatistik' and katalog_id in ('PROMOTIONEN_M');\ +\ +\ +<@selectintotmp select="hs_nr,hochschule_str,stichtagsart,beschreibung,erlaeuterung,zeitraum_int,\ +zeitraum_str,ebene, ord_nr,gruppe_1,gruppe_2, round(betrag,2) as betrag,einheit,nextmask,nexttable,'' as stichtagsart2" source="tmp_kennz" target="tmp_kennz4">\ +order by gruppe_1,zeitraum_int,gruppe_2,ord_nr\ + <@informixnolog/>;\ +\ +\ +/* <#if <> = "0">\ +update tmp_kennz4 set erlaeuterung = '';\ + */\ +\ +<@selectintotmp select="hs_nr,hochschule_str,stichtagsart,stichtagsart2,beschreibung,erlaeuterung,zeitraum_int,\ +zeitraum_str,ebene, ord_nr,gruppe_1,gruppe_2, round(betrag,2) as betrag,einheit,nextmask,nexttable" source="tmp_kennz4" target="tmp_kennz2">\ +order by ord_nr,zeitraum_int,gruppe_1,gruppe_2\ + <@informixnolog/>;\ +\ +drop table tmp_kennz;\ +drop table tmp_kennz3;\ +drop table tmp_kennz4;\ +drop table tmp_kennz_basis;\ +drop table tmp_betrag1;\ +drop table tmp_betrag2;\ +\ +select ebene,hochschule_str,stichtagsart,\ +--stichtagsart2,\ +trim(string_not_null(gruppe_1)) || trim(string_not_null(gruppe_2)) || ' ' || beschreibung,\ +--erlaeuterung,\ +zeitraum_str,\ +round(betrag,2),\ +--einheit,\ +nextmask,nexttable from tmp_kennz2\ +;^XIL List\ + drop_and_delete movable_columns sizable_columns horizontal_scrolling\ + white_space_color=COLOR_WHITE fixed_columns=1\ + min_heading_height=35\ +Column CID=0 heading_text="Ebene" center_heading explanation="@@@kenn_ebene_stud@@@" \ + row_selectable col_selectable heading_platform readonly\ + width=10 text_size=10\ +Column CID=0 heading_text="Hochschule" center_heading explanation="@@@kenn_hochschule@@@" \ + row_selectable col_selectable heading_platform readonly\ + width=15 text_size=10\ +Column CID=1 heading_text="Statistische\\nKennzahl" center_heading explanation="@@@kenn_stat_kennzahl@@@"\ + row_selectable col_selectable heading_platform readonly\ + width=15 text_size=100\ +Column CID=2 heading_text="Beschreibung" center_heading explanation="@@@kenn_beschreibung@@@"\ + row_selectable col_selectable heading_platform readonly\ + width=50\ +Column CID=3 heading_text="Zeitraum" center_heading explanation="@@@kenn_zeitraum@@@"\ + row_selectable col_selectable heading_platform readonly\ + width=20\ +Column CID=3 heading_text="Wert" center_heading explanation="@@@kenn_wert@@@"\ + row_selectable col_selectable heading_platform readonly\ + width=20\ +Column CID=3 heading_text="Details\\nMaske" center_heading explanation="Details für diese Kennzahl"\ + row_selectable col_selectable heading_platform readonly\ + width=15\ +Column CID=3 heading_text="Details\\nTabelle" center_heading explanation="Details für diese Kennzahl"\ + row_selectable col_selectable heading_platform readonly\ + width=15\ +@@@^ ^ ^Gesamtüberblick der stat. Kennzahlen nach Hochschule und Art der Kennzahl.^drop table tmp_kennz2;^^1^600^400^^1^<> select 'Achtung: Beim Kennzahlen-Bericht wird das Maskenfeld Stat. Kennzahl ignoriert, ggf. würden die Kennzahlen sonst nicht vollständig berechnet.' from xdummy where <>='KENN_BW' and (1=0 /* or <> != ''*/);^ diff --git a/src-modules/module/sxc/masken/47110_sachgeb_maske_bez.unl b/src-modules/module/sxc/masken/47110_sachgeb_maske_bez.unl new file mode 100644 index 0000000..08e918d --- /dev/null +++ b/src-modules/module/sxc/masken/47110_sachgeb_maske_bez.unl @@ -0,0 +1 @@ +109^47110^ diff --git a/src-modules/module/sxc/schluesseltabellen/sichten_fuellen.sql b/src-modules/module/sxc/schluesseltabellen/sichten_fuellen.sql index e810690..887eba9 100644 --- a/src-modules/module/sxc/schluesseltabellen/sichten_fuellen.sql +++ b/src-modules/module/sxc/schluesseltabellen/sichten_fuellen.sql @@ -29,7 +29,12 @@ select setval('sichten_tid_seq',(select max(tid) from sichten)); "name":"Hochschulen Liste", "quelle":"<> select druck ,apnr, parent, ebene from sxc_hochschulen_liste order by 1", "art":"SXC_Hochschulen-Sicht", - "sortnr":"50"} + "sortnr":"50"}, + {"name_intern":"sxc_hochschulen_liste_stammdaten", + "name":"Hochschulen Liste Stammdaten", + "quelle":"<> select druck ,apnr, parent, ebene from sxc_hochschulen_liste where apnr in (''1480'',''1140'',''1080'',''1090'',''1130'',''0080'',''1100'',''1110'',''1120'',''0121'',''0130'',''0140'') or ebene=0 order by 1", + "art":"SXC_Hochschulen-Sicht", + "sortnr":"60"} ] />