Zuletzt bearbeitet vor einem Jahr
von Daniel Quathamer

Abfragemakros (einschl. Schleifen u. Grafiken): Unterschied zwischen den Versionen

Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 72: Zeile 72:


{{Achtung|Makroberichte laufen nur im XML-Frontend.}}
{{Achtung|Makroberichte laufen nur im XML-Frontend.}}
=Die Tabelle macro_masken_bez füllen=
<blockquote>
Über den Pfad {{Pfad2|Administration|Tabelle suchen}} wird nach der Tabelle macro_masken_bez gesucht.
{{ImagePara |imgsrc=Tabelle_suchen_macro.png|width=500|caption=Tabelle macro_masken_bez suchen}}
</blockquote>
<blockquote>
Mit einem Klick auf den Bearbeiten-Button wird das Bearbeitungsformular geöffnet.
{{ImagePara |imgsrc=Tabelle_bearbeiten.png|width=600|caption=Tabelle macro_masken_bez bearbeiten}}
</blockquote>
<blockquote>
Über das Bearbeitungsformular werden {{Feld|maskeninfo_id1}}, {{Feld|maskeninfo_id2}}, {{Feld|active}}, {{Feld|sortnr}} erfasst und nach dem Speichern ein neuer Datensatz in der Tabelle macro_masken_bez angelegt.
{{ImagePara |imgsrc=macro_masken_bez_Bearbeitungsformular.png|width=600|caption=Das Bearbeitungsformular der Tabelle macro_masken_bez}}
</blockquote>


=Makros und Sichten=
=Makros und Sichten=

Version vom 15. Oktober 2021, 15:15 Uhr

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:

Ergebnistabelle eines Makroberichtes

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.

Bearbeitungsformular eines Makroberichtes


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.

Auswahlmaske eines Makroberichtes

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:

Verarbeitung der Auswahlfelder in einem Makrobericht

Ein Negativbeispiel sähe dagegen so aus:

Verarbeitung der Auswahlfelder in einem Makrobericht (Negativbeispiel)

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 ...).

attention.svg Makroberichte laufen nur im XML-Frontend.

Die Tabelle macro_masken_bez füllen

Über den Pfad AdministrationTabelle suchen wird nach der Tabelle macro_masken_bez gesucht.

Tabelle macro_masken_bez suchen

Mit einem Klick auf den Bearbeiten-Button wird das Bearbeitungsformular geöffnet.

Tabelle macro_masken_bez bearbeiten

Ü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.

Das Bearbeitungsformular der Tabelle macro_masken_bez

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.

Schleifenfunktion

Spezielle Auswahlwerte hinterlegen