Die Tabelle macro_feld_wert ermöglicht es, für bestimmte Feldern einzelner Masken separate Auswahlwerte zu hinterlegen. Man stelle sich beispielsweise ein Makro mit 4 Studierendenabfragen vor. Standardmäßig wird die Zahl der Haupthörer ausgegeben, bei einem Bericht allerdings werden Nebenhörer ausgewählt.
maskeninfo_id1 | maskeninfo_id2 | active | sortnr |
---|---|---|---|
10600 | 10070 | 1 | 1 |
10600 | 10100 | 1 | 2 |
10600 | 10130 | 1 | 3 |
10600 | 10160 | 1 | 4 |
Der Unterbericht 10160 soll nur Nebenhörer ausgeben. Dazu wird für diesen Unterbericht ein Datensatz in der Tabelle macro_feld_wert angelegt:
macro | sortnr | feldname | value |
---|---|---|---|
10600 | 4 | Hörerstatus | hrst='N' |
In der Spalte macro wird die id des Makroberichtes angegeben. In der Spalte sortnr die Sortiernummer des Unterberichtes für welchen der unabhängiger Feldwert übergeben wird. feldname enthält den Namen des Feldes, welches im Unterbericht manipuliert wird und value den zu übergebenden Wert.
Die Werte value werden exakt so eingetragen, wie der SQL in der relation-Spalte des zugehörigen Feldes sie liefert. Z. B. steht für das Feld Hörerstatus in relation:
<<SQL>> select apnr, eintrag from hoererstatus order by 2
Der SQL liefert
apnr | eintrag |
---|---|
1=1 | alle |
hrst='F' | besonderer Gasthörer |
... | ... |
hrst='N' | Nebenhörer |
... | ... |
Daher wird als value in macro_feld_wert hrst='N' für Nebenhörer übergeben.