Man kann Eintragungen in sx_repository nutzen, um Sichten zu erstellen, meist über einen zwischengeschalteten View, da dieser leichter zu bearbeiten ist.
Beispiel: eine Sicht für das Studierende Datenblatt, bei der RSZ und individuelle RSZ ausgewählt werden können
Dazu werden zunächst die benötigten Eintragungen in sx_repository vorgenommen, alle mit der id SOS_UDE_%RSZ%
INSERT INTO sx_repository
(
id, content, caption, COMMENT, version, art, art2, art3, sachgebiete_id, sort1, sort2, sort3, geaendert_am, aktiv, gueltig_seit, gueltig_bis)VALUES
(
'SOS_UDE_RSZ', 'fach_sem_zahl <= L.regel', 'innerhalb RSZ', 'Hier werden Studierende in der RSZ gefiltert', NULL, 'SOS_STUD_FILTER', ' ', NULL, 16, 1, 0, 0, NULL, 1, DATE '1900-01-01', DATE '3000-12-31');
...
INSERT INTO sx_repository(
id, content, caption, COMMENT, version, art, art2, art3, sachgebiete_id, sort1, sort2, sort3, geaendert_am, aktiv, gueltig_seit, gueltig_bis)VALUES
(
'SOS_UDE_iRSZ',
'(individual_number_of_semesters is not null and individual_number_of_semestersL.regel and fach_sem_zahl <= individual_number_of_semesters)', 'innerhalb iRSZ', 'Hier werden Studierende in der individuellen RSZ gefiltert', NULL, 'SOS_STUD_FILTER', ' ', NULL, 16, 1, 0, 0, NULL, 1, DATE '1900-01-01', DATE '3000-12-31');
Anschließend wird mit diesen Repo-Variablen und nicht anwählbaren Überschriften ein View definiert
create view sos_iRSZ as
select 0 as ord, 'alle' as id, 'alle' as caption, null as parent, 2 as nodeattrib, '1=1' as content from xdummy
union
select 1 as ord, 'RSZ' as id, 'RSZ' as caption, 'alle' as parent, 2 as nodeattrib, null as content from xdummy
union
select 1 as ord, id, caption, 'RSZ' as parent, 0 as nodeattrib, content from sx_repository where id like 'SOS_UDE_RSZ%'
union
select 2 as ord , 'iRSZ', 'iRSZ (wenn iRSZ bekannt und iRSZ!=RSZ)', 'alle' as parent, 2 as nodeattrib, null as content from xdummy
union
select 2 as ord, id, caption, 'iRSZ' as parent, 0 as nodeattrib, content from sx_repository where id like 'SOS_UDE_iRSZ%'
union
select 3 as ord , 'bRSZ', 'innerhalb iRSZ, sonst RSZ', 'alle' as parent, 2 as nodeattrib, null as content from xdummy
union
select 3 as ord, id, caption, 'bRSZ' as parent, 0 as nodeattrib, content from sx_repository where id like 'SOS_UDE_bRSZ%'
Auf diesen View wird dann zum Schluss die Sicht definiert mit quelle='<
Durch diese Eintragungen in sx_repository kann man nicht nur elegant diesen View erzeugen, sondern hat auch die Möglichkeit in der Abfrage direkt auf die Bedingung in content zuzugreifen
Eintrag in felderinfo:
Durch den typ=sql und den Wert z.B. SOS_UDE_RSZ sucht das System in sx_repository genau diese id und ersetzt sie im SQL durch den Wert in content.
<#assign filter="
/* and <
*/ ...
/* and ${<
*/ " /

