SuperX

KontaktMail für InfosSuchenLogin

Sichten aus Repo-Variablen

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

Auswahl Filterung RSZ
 

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='<> select caption as name, id as key , parent, ord, nodeattrib, content from sos_iRSZ order by ord,1;'

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:

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 ${< */

" /