Ansicht
Dokumentation

SAPLSZA5 - Dialoge Adresse Person in Firma

SAPLSZA5 - Dialoge Adresse Person in Firma

BAL Application Log Documentation   rdisp/max_wprun_time - Maximum work process run time  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Beschreibung

Die Funktionsgruppe enthält Funktionsbausteine, um Standarddialoge der Adreßpflege für Ansprechpartneradressen variabel in die Anwendungen einzubinden.

Der Adreßpflegedialog 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_PERS_COMP_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_PERSON_NUMBER_GET, ADDR_MEMORY_SAVE und ADDR_MEMORY_CLEAR zu verwenden. Nähere Informationen dazu finden Sie in der Funktionsgruppendoku der Funktionsgruppe SZA0 bzw. in der Dokumentation des jeweiligen Funktionsbausteins.

Das Registrieren bzw. Löschen weiterer Verwendungen muß unabhängig von der eingesetzten Dialogtechnik mit den Funktionsbausteinen ADDR_PERSON_REFERENCE_INSERT und ADDR_PERSON_REFERENCE_DELETE erfolgen. Weitere Informationen ebenfalls in der Doku zu SZA0 bzw. in der jeweiligen Funktionsbausteindoku.

Welche Dialogtechnik für wen?

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 erfaßt werden, um ggf. später zugeordnet zu werden. Diese Adressen können allerdings nicht über ALE verteilt werden.

Besonderheiten beim Fullscreen

Der Pflegedialog kann mittels der parametrisierten Transaktion SADP aufgerufen werden (ohne Parametrisierung wie Feldauswahl etc.).

Dabei muß eine Personen- und eine Adreßgruppe angegeben werden. Neue Personengruppen (Adreßgruppen) für von SAP gelieferte Lösungen und Komponenten werden bei SAP über den Tabellenverantwortlichen in die Steuertabelle TSAD8 (TSAD7) aufgenommen (Namenskonventionen); der Kunde kann im Kundennamensraum eigene Einträge vornehmen.

Beispiel: Transaktion SOCP

Falls eine anwendungsspezifische Parametrisierung erfolgen soll (oder mehrere Adreßgruppen für die Firmenadressen der Ansprechpartner vorgesehen sind), ist stattdessen zunächst der FB ADDR_PERS_COMP_DIALOG_PREPARE und anschließend der FB ADDR_PERS_COMP_SELECT_DIALOG aufzurufen.

Sichern und Nummernziehen geschieht innerhalb des Adreßdialoges, da die Anwendung zum Anlegezeitpunkt keine Referenz auf die Adreßnummer speichert.

Es wird eine Berechtigungsprüfung durchgeführt. Geprüft wird das Berechtigungsobjekt S_ADDRESS3 mit den Berechtigungsfeldern ADGRP_P (Personengruppe) und ACTVT (Aktivität).

Vordefinierte Berechtigungen, die in ein Profil aufgenommen werden können, sind S_ADDR3_SHOW (nur Anzeigen), S_ADDR3_MAIN (Pflege, kein Löschen)und S_ADDR3_ALL (alle Berechtigungen), jeweils gültig für alle Personengruppen. Alle genannten Berechtigungen sind im Einzelprofil S_ADDR_ALL enthalten.

Besonderheiten beim Popup

Einbindung in die Anwendung mittels des Funktionsbausteins ADDR_PERS_COMP_DIALOG.

Sperren und Entsperren der Adressen muß durch die Anwendung mittels der Funktionsbausteine ADDR_PERSON_ENQUEUE bzw. ADDR_PERSON_DEQUEUE durchgeführt werden.

Sichern, Nummernziehen und Registrieren bzw. Löschen von Verwendungen: siehe oben

Es wird keine Berechtigungsprüfung durchgeführt.

Besonderheiten beim Subscreen

Einbindung in das Hauptdynpro:
Reservieren eines Bereiches <Subscreen> in der statischen Größe des Dynpros SAPLSZA5 0900 (40 Zeilen) innerhalb des Hauptdynpros für den Adreß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 'SAPLSZA5' '0900'
sowie Aufrufen der Funktionsbausteine ADDR_PERS_COMP_EXP_SUBSCREEN, ADDR_PERS_COMP_IMP_SUBSCREEN, ADDR_PERS_COMP_EXIT_SUBSCREEN (s.u., Beispiel).

Sichern, Nummernziehen und Registrieren bzw. Löschen von Verwendungen: siehe oben

Es wird keine Berechtigungsprüfung durchgeführt. Eine Berechtigungsprüfung findet in der Regel in der aufrufenden Anwendung bei dem Objekt statt, dessen Attribut die Adresse ist.

Als Referenz für die Funktionscodes der Adreßverwaltung dient der Status SAPLSZA5 ADDR0900, 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_PERS_COMP_EXP_SUBSCREEN muß 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_PERS_COMP_EXIT_SUBSCREEN muß in einem PAI-Modul zum Zeitpunkt AT EXIT-COMMAND (Abbrechen, F12) aufgerufen werden, um zu ermitteln, ob innerhalb der Adreßverwaltung ungesicherte Daten existieren, und um dem Adreßsubscreen mitzuteilen, daß mit den ungeprüften Daten weiterzuarbeiten ist, wenn der Benutzer die Sicherheitsabfrage auf dem POPUP_TO_CONFIRM_LOSS_OF_DATA abgebrochen hat. Dies gilt, wenn der Adress-Subscreen als Teil eines Dynpros eingebunden wird, das kein modales Dialogfenster (Popup) ist.

Falls der Subscreen allerdings als Teil eines modalen Dialogfensters (Popups) eingebunden wird (wie z.B. bei der Anlieferadresse in der Bestellung), muß der Aufruf des Funktionsbausteins ADDR_PERS_COMP_EXIT_SUBSCREEN unterbleiben. Zum einen muß dabei nicht ermittelt werden, ob vor dem Abbrechen Daten geändert worden sein könnten, da keine Sicherheitsabfrage folgt, andererseits kann unter Umständen (z.B. dieselbe Adressnummer in mehreren Belegpositionen) der Subscreen nach dem Abbrechen erneut mit derselben Adresse aufgerufen werden. Wenn zuvor abgebrochen wurde, dann dürfen nicht die zuletzt eingegebenen, aber verworfenen Daten erneut angezeigt werden.

Vor Prozessieren des Subscreens im PAI muß der OK-Code des Trägerdynpros an den Subscreen übergeben werden, sofern dieser für den Adreßsubscreen relevant ist.

Dazu ist zu Beginn des PAI der Funktionsbaustein ADDR_PERS_COMP_SUB_SET_OKCODE aufzurufen.

Die Ok-Codes für den Adreßsubscreen beginnen alle mit dem Dollar-Zeichen '$'.

Falls der ausgelöste OK-Code nicht mit '$' beginnt, muß stattdessen immer der OK-Code $CHC (für 'CHECK' = Prüfen) an den Funktionsbaustein ADDR_PERS_COMP_SUB_SET_OKCODE übergeben werden. Dadurch werden die Adreßdaten zur weiteren Verarbeitung "gemerkt" (d.h. in das lokale Gedächtnis der Funktionsgruppe SZA0 übernommen), und es findet eine allgemeine Prüfung der Adreßdaten statt. 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 Adreßprüfung erfolgreich waren. Ohne Übergabe von $CHC (oder eines anderen $-OK-Codes) werden die Benutzereingaben auf dem Adreßsubscreen nicht übernommen.

Die Prüfung der Adresse findet implizit auch bei jedem anderem $-Ok-Code innerhalb des Adreßsubscreens statt.

Der Funktionsbaustein ADDR_PERS_COMP_IMP_SUBSCREEN, der Informationen aus dem Subscreen an die Anwendung zurückliefert, muß 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, daß die inhaltliche Prüfung der Adresse einen Fehler ergeben hat, der vom Adreßsubscreen mit einer S-Message ausgegeben wird. Damit diese Message nicht übersteuert wird, muß das Anwendungsprogramm in diesem Fall das Dynpro erneut durchlaufen, ohne daß im PAI eine weitere Verarbeitung stattfindet (z.B. "SET SCREEN SY-DYNNR. LEAVE SCREEN." im PAI-Modul).

Sperren und Entsperren der Adressen muß durch die Anwendung mittels der Funktionsbausteine ADDR_PERSON_ENQUEUE bzw. ADDR_PERSON_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.

Voraussetzungen

Informationen zu allgemeinen Begriffen der Business Address Services
sind in der Funktionsgruppendoku zur Funktionsgruppe SZA0 abgelegt.

Ausgabe

Beispiel

Beispiel für die Einbindung des Subscreens:

Aufruf ADDR_PERS_COMP_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 'SAPLSZA5' '0900'.
*
PROCESS AFTER INPUT.
MODULE EXIT_MODULE AT EXIT-COMMAND. "ADDR_PERS_COMP_EXIT_SUBSCREEN
MODULE SET_OK_CODE. " ADDR_PERS_COMP_SUB_SET_OKCODE
CALL SUBSCREEN SUB1.
MODULE PAI_MODULE. " ADDR_PERS_COMP_IMP_SUBSCREEN






Addresses (Business Address Services)   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 10844 Date: 20240520 Time: 143727     sap01-206 ( 200 ms )