Funktionsgruppe SAPLSZA1 
Die Funktionsgruppe enthält Funktionsbausteine, um Standarddialoge für die Adresspflege variabel in die Anwendungen einzubinden.
Der Adresspflegedialog ist als Popup, als Subscreen oder als Fullscreen (transaktionsartig) verfügbar.
Die Einbindung mittels der verschiedenen Dialogarten wird unten im einzelnen beschrieben.
Für alle Dialogtechniken dient der Funktionsbaustein ADDR_DIALOG_PREPARE dazu, die Feldauswahl, einige Schlüsselwörter sowie auszuschließende Funktionen anwendungsspezifisch zu steuern.
Für das Sichern und das Nummernziehen (= erste Verwendung registrieren) sind sowohl bei Einbindung des Subscreens als auch bei Einbindung des Popups die Funktionsbausteine ADDR_NUMBER_GET, ADDR_MEMORY_SAVE und ADDR_MEMORY_CLEAR zu verwenden. Nähere Informationen dazu finden Sie in der Funktionsgruppendokumentation der Funktionsgruppe SZA0 bzw. in der Dokumentation des jeweiligen Funktionsbausteins.
Das Registrieren bzw. Löschen weiterer Verwendungen muss unabhängig von der eingesetzten Dialogtechnik mit den Funktionsbausteinen ADDR_REFERENCE_INSERT und ADDR_REFERENCE_DELETE erfolgen. Weitere Informationen ebenfalls in der Dokumentation zu SZA0 bzw. in der jeweiligen Funktionsbausteindokumentation.
Subscreen - wenn die Adresse ein integraler bzw. zentraler Bestandteil eines Anwendungobjektes ist und in der Regel immer gepflegt wird;
Popup - wenn die Adresse ein Attribut des Anwendungsobjektes unter mehreren ist und die Pflege in der Regel optional ist;
Fullscreen - wenn die Adressen zunächst ohne Bezug zum konkreten Anwendungsobjekt erfasst werden, um ggf. später zugeordnet zu werden.
Der Pflegedialog kann mittels der parametrisierten Transaktion SADR aufgerufen werden (ohne Parametrisierung wie Feldauswahl etc.).
Dabei muss eine Adressgruppe angegeben werden. Neue Adressgruppen für den SAP-Standard werden bei SAP über den Tabellenverantwortlichen in die Steuertabelle TSAD7 aufgenommen (Namenskonventionen); der Kunde kann im Kundennamensraum eigene Einträge vornehmen.
Beispiel
Transaktion MEAN.
Falls eine anwendungsspezifische Parametrisierung erfolgen soll, ist stattdessen zunächst der FB ADDR_DIALOG_PREPARE und anschließend der FB ADDR_SELECT_FOR_DIALOG aufzurufen.
Sichern und Nummernziehen geschieht innerhalb des Adressdialoges, da die Anwendung zum Anlegezeitpunkt keine Referenz auf die Adressnummer speichert.
Einbindung in die Anwendung mittels des Funktionsbausteins ADDR_DIALOG.
Sperren und Entsperren der Adressen muss durch die Anwendung mittels der Funktionsbausteine ADDR_ENQUEUE bzw. ADDR_DEQUEUE durchgeführt werden.
Sichern, Nummernziehen und Registrieren bzw. Löschen von Verwendungen: siehe oben
Einbindung in das Hauptdynpro: Im Fullscreen Editor: Reservieren eines Bereiches <Subscreen> in der statischen Größe des Dynpros SAPLSZA1 0300 (50 Zeilen) innerhalb des Hauptdynpros für den Adress-Subscreen. Falls die Größe des Bereiches zu klein gewählt wird, werden u.U. im Subscreen zur Laufzeit die unteren Zeilen abgeschnitten, da das Gesamtdynpro zur Laufzeit zuerst statisch zusammengesetzt und anschließend erst komprimiert wird. In der Ablauflogik: CALL SUBSCREEN <Subscreen> INCLUDING 'SAPLSZA1' '0300' sowie Aufrufen der Funktionsbausteine ADDR_EXP_SUBSCREEN, ADDR_IMP_SUBSCREEN, ADDR_EXIT_SUBSCREEN (sh.u., Beispiel).
Sichern, Nummernziehen und Registrieren bzw. Löschen von Verwendungen: siehe oben
Als Referenz für die Funktionscodes der Adressverwaltung dient der Status SAPLSZA1 ADDR0300, der auch ins Hauptmenü inkludiert werden kann, sofern noch ein Menüeintrag frei ist. Ein Inkludieren des Status als Untermenü ist derzeit technisch nicht möglich.
Der Funktionsbaustein ADDR_EXP_SUBSCREEN muss vor Aufruf des Trägerdynpros aufgerufen werden (ggf. auch im PBO des Trägerdynpros möglich, dann kann das aufrufende Programm aber unter Umständern nicht mehr wirksam auf Ausnahmesituationen reagieren).
Der Funktionsbaustein ADDR_EXIT_SUBSCREEN muss in einem PAI-Modul zum Zeitpunkt AT EXIT-COMMAND (Abbrechen, F12) aufgerufen werden, um zu ermitteln, ob innerhalb der Adressverwaltung ungesicherte Daten existieren, und um dem Adress-Subscreen mitzuteilen, dass mit den ungeprüften Daten weiterzuarbeiten ist, wenn der Benutzer die Sicherheitsabfrage auf dem POPUP_TO_CONFIRM_LOSS_OF_DATA abgebrochen hat.
Vor Prozessieren des Subscreens im PAI muss der OK-Code des Trägerdynpros an den Subscreen übergeben werden, sofern dieser für den Adress-Subscreen relevant ist.
Dazu ist zu Beginn des PAI der Funktionsbaustein ADDR_SUBSCREEN_SET_OKCODE aufzurufen.
Die Ok-Codes für den Adress-Sbscreen beginnen alle mit dem Dollar-Zeichen '$'.
Außerdem muss immer dann, wenn eine allgemeine Prüfung der Daten stattfinden soll, der Ok-Code $CHC (für 'CHECK' = Prüfen) an den Funktionsbaustein ADDR_SUBSCREEN_SET_OKCODE übergeben werden. Dies gilt z.B. immer für Enter (Prüfen, Auffrischen, Weiter, Übernehmen), aber auch für die meisten Funktionen zur Weiterverarbeitung des Hauptobjekts, die in der Regel erst dann prozessiert werden dürfen, wenn alle Prüfungen einschließlich der Adressprüfung erfolgreich waren.
Die Prüfung der Adresse findet implizit auch bei jedem anderem $-Ok-Code innerhalb des Adress-Subscreens statt.
Der Funktionsbaustein ADDR_IMP_SUBSCREEN, der Informationen aus dem Subscreen an die Anwendung zurückliefert, muss in einem PAI-Modul nach Prozessieren des Subscreens aufgerufen werden.
Wichtig für den Dialogablauf ist der Parameter ERROR_IN_ADDRESS_DATA. Der Wert 'X' dieses Kennzeichens heißt, dass die inhaltliche Prüfung der Adresse einen Fehler ergeben hat, der vom Adress-Subscreen mit einer S-Message ausgegeben wird. Damit diese Message nicht übersteuert wird, muss das Anwendungsprogramm in diesem Fall das Dynpro erneut durchlaufen, ohne dass im PAI eine weitere Verarbeitung stattfindet (z.B. "SET SCREEN SY-DYNNR. LEAVE SCREEN." im PAI-Modul).
Sperren und Entsperren der Adressen muss durch die Anwendung mittels der Funktionsbausteine ADDR_ENQUEUE bzw. ADDR_DEQUEUE durchgeführt werden.
Undo-Funktionen, etwa für das Prozessieren weiterer Anwendungen ohne vorheriges Sichern im Hauptbild oder Durchlaufen mehrerer Screens gleichartiger Objekte, müssen von der Anwendung mittels der Funktionsbausteine ADDR_MEMORY_PUSH, ADDR_MEMORY_POP bzw. ADDR_MEMORY_RESTORE realisiert werden.
Informationen zu allgemeinen Begriffen der zentralen Adressverwaltung sind in der Funktionsgruppendokumentation zur Funktionsgruppe SZA0 abgelegt.
Beispiel
Beispiel für die Einbindung des Subscreens:
Syntax
Aufruf ADDR_EXP_SUBSCREEN vor Aufruf des Trägerdynpros (z.B im PAI des Vorgängerdynpros) PROCESS BEFORE OUTPUT. "Trägerdynpro MODULE PBO_MODULE. CALL SUBSCREEN SUB1 INCLUDING 'SAPLSZA1' '0300'. * PROCESS AFTER INPUT. MODULE EXIT_MODULE AT EXIT-COMMAND. "Aufruf ADDR_EXIT_SUBSCREEN MODULE SET_OK_CODE. " Aufruf ADDR_SUBSCREEN_SET_OKCODE CALL SUBSCREEN SUB1. MODULE PAI_MODULE. " Aufruf ADDR_IMP_SUBSCREEN