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 @@
<indexes /> <indexes />
</table> </table>
<views /> <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> <themen>
<thema name="Administration Berichtsassistent" parent="Berichtsassistent">Abfragen zur Administration von Berichtsassistent</thema> <thema name="Administration Berichtsassistent" parent="Berichtsassistent">Abfragen zur Administration von Berichtsassistent</thema>
</themen> </themen>

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

@ -52,25 +52,10 @@ select L.uniquename,\
\ \
]]></sqlvar>\ ]]></sqlvar>\
<sqlvar name="columns" type="hashsequence"><![CDATA[\ <sqlvar name="columns" type="hashsequence"><![CDATA[\
SELECT C.srcfieldname,\ SELECT * from sp_rpta_columns_in_layout(<<Spaltenlayout>>::varchar(255))\
(case when string_not_null(C.targetfieldname)='' then C.srcfieldname else C.targetfieldname end) as targetfieldname,\ where 1=1\
T.uniquename as coltype,\ /* and column_uniquename in (<<Spalten>>) */\
C.is_aggregate,\ order by sortnr\
(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\
;\ ;\
]]></sqlvar>\ ]]></sqlvar>\
<sqlvar name="endsemester"><![CDATA[\ <sqlvar name="endsemester"><![CDATA[\

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

@ -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