Arbeiten mit AdressenWenn die anzuzeigende oder zu ändernde Adresse bereits existiert, müssen Sie als Anwendungsentwickler lediglich die Methode GET_ADDRESS_KEY der Klasse CL_BSP_MODEL_ACCESS_ADDRESS korrekt in ihrer eigenen Unterklasse CL_BSP_APPLICATION_ADDRESS implementieren.
Der Address Controller wird die Adresse lesen, alle Änderungen durchführen und beim SAVE-Ereignis automatisch speichern.
Wenn die zu pflegende Adresse noch nicht existiert, müssen Sie als Anwendungsentwickler etwas mehr tun. Führen Sie diese Schritte durch:
Bevor der Address Controller mit der neu anzulegenden Adresse aufgerufen wird, müssen Sie als Entwickler der Anwendung einen temporären Zeiger auf die Adresse in Form eines Adress-Handle und/oder eines Personen-Handle anlegen.
Die Anwendung muss diese Handles in der Methode GET_ADDRESS_KEY zur Verfügung stellen. Zusätzlich muss sie DIALOG_MODE = 'CREATE' und die Adressengruppe (und Personengruppe) der neuen Adresse mit der Methode SET DIALOG_MODE der Parameterklasse CL_BSP_ADDRESS_PARAMETERS verfügbar machen.
Sobald die Adresse zum ersten Mal in das lokale BAS-Memory eingefügt wurde, wird die Methode ADDRESS_IS_CREATED aufgerufen, um die Anwendung zu informieren. Die Anwendung sollte diese Informationen für jedes Handle speichern.
Von nun an kann die Anwendung DIALOG_MODE = 'CHANGE' in der Methode SET_DIALOG_MODE anbieten.
Während der Methode CHECK_BEFORE_SAVE der Anwendungsprozessklasse muss die Anwendung zuerst den endgültigen Schlüssel für das übergeordnete Objekt der anzulegenden Adresse feststellen (wenn das übergeordnete Objekt auch neu angelegt wurde).
Dann muss die Anwendung, wie oben erwähnt, eine Adressnummer und/oder eine Personennummer für jede erfolgreich eingefügte Adresse beschaffen. Sie erhält die Adressnummer und/oder Personennummer mit den Methoden GET_ADDRESS_NUMBER bzw. GET_PERSON_NUMBER. Diese Nummer bzw. Nummern müssen in den Datenbanktabellen der Anwendung gesichert werden.
Von nun an muss diese Nummer (oder diese Nummern) bei jedem Bezug auf diese Adresse mit der Methode GET_ADDRESS_KEY zur Verfügung gestellt werden.
Achtung
Die Methoden GET_ADDRESS_NUMBER und GET_PERSON_NUMBER dürfen nur für Adressen aufgerufen werden, für die zuvor die Methode ADDRESS_IS_CREATED gerufen wurde.
Um die Änderungen zurückzunehmen, die Sie an einer Adresse vorgenommen haben, rufen Sie die Methode INITIALIZE_ADDRESS auf.
Dies sollten Sie während der INITIALIZE-Methode der Anwendung tun. Es spielt dabei keine Rolle, welche Instanz der Klasse CL_BSP_APPLICATION_ADDRESS verwendet wird.
Um eine Adresse zu löschen, rufen Sie die Methode DELETE_ADDRESS auf.
Dies sollten Sie während der DELETE-Methode der Anwendung tun. Es spielt dabei keine Rolle, welche Instanz der Klasse CL_BSP_APPLICATION_ADDRESS verwendet wird.