Browse Source

Code-Auslagerung Spaltendef. in SP #20

master
Daniel Quathamer 3 weeks ago
parent
commit
67e0f4cd94
  1. 30
      src-modules/module/rpta/conf/rpta.xml
  2. 23
      src-modules/module/rpta/masken/48000_maskeninfo.unl
  3. 41
      src-modules/module/rpta/prozeduren/proc_get_rpta_columns_p.sql

30
src-modules/module/rpta/conf/rpta.xml

@ -330,7 +330,35 @@ @@ -330,7 +330,35 @@
<indexes />
</table>
<views />
<functions />
<functions >
<function>
<name>sp_get_rpta_columns</name>
<description>Liefert die Spaltne eines Spaltenlayouts zurück</description>
<parameters>
<param>
<name>p_column_layout_uniquename</name>
<type>varchar(255)</type>
<description>Spaltenlayout uniquename</description>
</param>
</parameters>
<declaration />
<src>
<file>$RPTA_PFAD/prozeduren/proc_get_rpta_columns_p.sql</file>
<dbsystem>POSTGRES</dbsystem>
<type>function</type>
</src>
<returns>
<param>
<name>columns</name>
<type>RECORD</type>
<description />
</param>
<comment>Liefert die Columns zurück</comment>
</returns>
</function>
</functions>
<themen>
<thema name="Administration Berichtsassistent" parent="Berichtsassistent">Abfragen zur Administration von Berichtsassistent</thema>
</themen>

23
src-modules/module/rpta/masken/48000_maskeninfo.unl

@ -52,25 +52,10 @@ select L.uniquename,\ @@ -52,25 +52,10 @@ select L.uniquename,\
\
]]></sqlvar>\
<sqlvar name="columns" type="hashsequence"><![CDATA[\
SELECT C.srcfieldname,\
(case when string_not_null(C.targetfieldname)='' then C.srcfieldname else C.targetfieldname end) as targetfieldname,\
T.uniquename as coltype,\
C.is_aggregate,\
(case when string_not_null(CL.caption)='' then C.caption else CL.caption end) as caption,\
CL.is_visible,\
CL.visible_size as visible_width,\
F.sql_code as format_sql,\
F.uniquename as format_uniquename,\
C.col_function as colfunction,\
(case when string_not_null(CL.description)='' then C.description else CL.description end) as description\
FROM rpta_column_layout L, rpta_column C, rpta_column_type T,rpta_column2layout CL \
left outer join rpta_format_code F on (F.tid=CL.format_code_id)\
where L.tid=CL.layout_id\
and C.tid=CL.column_id\
and T.tid=C.column_type\
and L.uniquename=<<Spaltenlayout>>\
/* and C.uniquename in (<<Spalten>>) */\
order by CL.sortnr\
SELECT * from sp_rpta_columns_in_layout(<<Spaltenlayout>>::varchar(255))\
where 1=1\
/* and column_uniquename in (<<Spalten>>) */\
order by sortnr\
;\
]]></sqlvar>\
<sqlvar name="endsemester"><![CDATA[\

41
src-modules/module/rpta/prozeduren/proc_get_rpta_columns_p.sql

@ -0,0 +1,41 @@ @@ -0,0 +1,41 @@
DROP FUNCTION if exists sp_rpta_columns_in_layout(character varying) ;
CREATE FUNCTION sp_rpta_columns_in_layout(p_column_layout_uniquename varchar(255))
RETURNS TABLE(srcfieldname varchar(255),
targetfieldname varchar(255),
coltype varchar(255),
is_aggregate smallint,
caption varchar(255),
is_visible smallint,
visible_width smallint,
sortnr smallint,
format_sql varchar(255),
format_uniquename varchar(255),
colfunction TEXT,
column_uniquename varchar(255),
description TEXT
) AS $$
BEGIN
RETURN QUERY SELECT C.srcfieldname,
(case when string_not_null(C.targetfieldname)='' then C.srcfieldname else C.targetfieldname end) as targetfieldname,
T.uniquename as coltype,
C.is_aggregate,
(case when string_not_null(CL.caption)='' then C.caption else CL.caption end) as caption,
CL.is_visible,
CL.visible_size as visible_width,
CL.sortnr,
F.sql_code as format_sql,
F.uniquename as format_uniquename,
C.col_function as colfunction,
C.uniquename as column_uniquename,
(case when string_not_null(CL.description)='' then C.description else CL.description end) as description
FROM rpta_column_layout L, rpta_column C, rpta_column_type T,rpta_column2layout CL
left outer join rpta_format_code F on (F.tid=CL.format_code_id)
where L.tid=CL.layout_id
and C.tid=CL.column_id
and T.tid=C.column_type
and L.uniquename= p_column_layout_uniquename;
END;
$$ LANGUAGE plpgsql;
Loading…
Cancel
Save