Der Eintrag 'wrap_param' (Typ: Array) steht in den Abschnitten 'anzeige'
und 'neues_tupel' des Arrays 'modul_param' zur Verfügung. Er dient
dazu das Verhalten der Anwendung bei gescheiterten Einfügeoperationen
in eine Relation zu beeinflussen. Standardmäßig macht die Anwendung
nach einem gescheiterten INSERT mit den anderen Einfügeoperationen,
die durch 'wrapper' (siehe Abschnitt )
vorgegeben sind, weiter. Im Zusammenhang mit den Aktionen 'verschieben'
und 'verschieben_multi' wird bei einem fehlgeschlagenen INSERT das
Tupel nicht aus der Leittabelle gelöscht. Tabelle
zeigt, welche Einträge 'wrap_param' enthalten kann und was für einen
Einfluss diese auf das Verhalten der Anwendung haben. Den Einträgen
wird als Wert immer eine Liste von Tabellennamen übergeben, für die
das entsprechende Verhalten gelten soll.
Aus dem Rahmen fällt der Eintrag all_attribs (nur bei 'anzeige'). Er beeinflusst nicht das Verhalten nach einem fehlgeschlagenem INSERT, sondern stellt nur eine Schreiberleichterung dar. Für die darin aufgelisteten Tabellen wird der zugehörige Teil von 'wrapper' ergänzt oder erstellt. Das sieht so aus, dass für alle Attribute der jeweiligen Tabelle ein Wrapper-Eintrag automatisch erzeugt wird.
Im folgenden ist ein Ausschnitt aus 'modul-Vorlesungsanmeldung.inc.php' dargestellt. Der Ausschnitt gehört zu einer Tabelle, die die Anmeldungen der Studenten anzeigt. Diese Anmeldungen befinden sich in einer temporären Relation des öffentlichen Bereichs der DB. Der Anwender kann aus der dargestellten Tabelle Studis auswählen, die dann in die Relationen 'student', 'student_besucht_vorlesung', 'student_besucht_uebung' und 'mailadressestudent' des geschützten Bereichs der DB übernommen werden.
wrap_param=>array(
all_attribs=>array("student"),
update_on_insert_error=>array(
"student",
"mailadressenstudent"
),
delete_after_insert_error=>array(
"student_besucht_vorlesung",
"student_besucht_uebung"
),
dont_add_primkeys=>array("student"),
),
wrapper=>array(
student=>array(
studentnummer=>"$(studentnummer)",
universitaetsnummer=>"$(uni)",
),
student_besucht_vorlesung=>array(
vorlesungnummer=>$vn_nr,
studentnummer=>"$(studentnummer)",
),
student_besucht_uebung=>array(
vorlesungnummer=>$vn_nr,
studentnummer=>"$(studentnummer)",
besuchtuebung=>"$(besuchtuebung)",
gruppennummerpraeferenz1=>"$(gruppennummerpraeferenz1)",
gruppennummerpraeferenz2=>"$(gruppennummerpraeferenz2)",
gruppennummerpraeferenz3=>"$(gruppennummerpraeferenz3)",
),
mailadressenstudent=>array(
studentnummer=>"$(studentnummer)",
mailadresse=>"$(mailadresse)",
hauptadresse=>1,
),
),
...