Makros sind Abfragen, die mehrere andere Abfragen hintereinander ablaufen lassen. Welche Einzelabfragen ein Makro ausführen soll, wird in die Tabelle macro_masken_bez eingetragen:
Feld | Beschreibung |
---|---|
maskeninfo_id1 | maskeninfo-tid des Makros |
maskeninfo_id2 | maskeninfo-tid deder Einzelabfrage |
active | 1 oder 0 um ggf. zu deaktivieren |
sortnr | Reihenfolgebestimmung der Durchführung |
Beispiel:
maskeninfo_id1 | maskeninfo_id2 | active | sortnr |
---|---|---|---|
160660 | 160680 | 1 | 1 |
160660 | 160700 | 1 | 2 |
Das Makro 160660 führt die Einzelabfragen 160680 und 160700 hintereinander aus. Dabei wird der Bericht 160680 zuerst ausgeführt, da er die kleiner sortnr besitzt.
Hinter der ID 160660 steckt der Makrobericht "Validierung Studierende". Dieser führt zunächst den Bericht "Validierung Studierende (HisInOne)" (ID: 160680) und anschließend den Bericht "Validierung Studierende (BI)" (ID: 160700) aus:
Der Bericht dient dem Abgleich der Studierendenzahlen in den HisInOne-Vorsystemen mit denen in der SuperX-BI.
Das „select_stmt" eines Makros wird nicht benutzt.
Die Auswahlfelder der Auswahlmaske eines Makroberichtes sind allerdings sehr bedeutend. Denn die Einträge in den Auswahlfeldern dieser einen Auswahlmaske werden für alle Unterberichte verwandt.
Für dieses konkrete Beispiel bedeutet das, dass die Eingaben in den Felder Art, Semester, Status, Hörerstatus und Matrikelnummer sowohl im Unterbericht "Validierung Studierende (HisInOne)", als auch im Bericht "Validierung Studierende (BI)" verarbeitet werden. Das wird entsprechend in beiden Unterberichten berücksichtigt:
Ein Negativbeispiel sähe dagegen so aus:
Bei diesem Negativbeispiel wird im Unterbericht 2 <<Seit Semester>> und <<Bis Semester>> erwartet. Da in der Auswahlmaske aber das Feld Semester gefüllt wird, wird dem Unterbericht 2 nichts übergeben. Daher gilt es, alle Unterberichte eines Makroberichtes so zu gestalten, dass die Einträge in den Auswahlfeldern sich auf diese auswirken. Es ist jedoch auch möglich, für bestimmte Unterberichte die Auswahlwerte unabhängig von der Auswahlmaske des Makroberichtes festzulegen (s. Abschnitt ...).
![]() |
Makroberichte laufen nur im XML-Frontend. |
Die Tabelle macro_masken_bez füllen
Über den Pfad Administration→Tabelle suchen wird nach der Tabelle macro_masken_bez gesucht.
Mit einem Klick auf den Bearbeiten-Button wird das Bearbeitungsformular geöffnet.
Über das Bearbeitungsformular werden maskeninfo_id1, maskeninfo_id2, active, sortnr erfasst und nach dem Speichern ein neuer Datensatz in der Tabelle macro_masken_bez angelegt.
Makros und Sichten
Wenn in den Submasken eines Makros verschiedene Sichten benutzt werden, müssen auf der Hauptmaske alle in den Untermasken benötigten Sichten auswählbar sein. Sonst gelten ggfs. vorgenommene Standänderungen nur für die Sichten der Hauptmaske nicht für die der Untermasken. Alternativ müsste man prüfen, ob Sichten von der Hauptmaske (Organigramm-Sicht) ihren Stand auch auf alle Sichten in den Untermasken übertragen, die von der gleichen Art sind (wahrscheinlich eher gefährlich).
Makro-Schachtelung
Makros können geschachtelt werden. Das bedeutet, dass ein Makro von einem anderen Makro, quasi als Untermakro, aufrufbar ist. Für ein Statistikheft könnte man dann einzelne Makros zu den Abschnitten des Hefts erstellen und testen und später dann ein „Mastermakro" für das ganze Heft.
maskeninfo_id1 | maskeninfo_id2 | active | sortnr |
---|---|---|---|
160660 | 160680 | 1 | 1 |
160660 | 160700 | 1 | 2 |
108000 | 160660 | 1 | 1 |
108000 | 108100 | 1 | 2 |
In diesem Fall würde das Makro 108000 zunächst das Makro 160660 als Untermakro und den Bericht 108100 als Unterbericht ausführen.