Adressenaufbereitung und Funktionsbaustein ADDRESS INTO PRINTFORM
Aus SAP-Wiki
Zur Navigation springenZur Suche springen
Adressen werden bei den Formularen gewöhnlich nicht vom Entwickler aufbereitet und ausgegeben. Die Anforderungen der Länderspezifika bezüglich der Adressaufbereitung sind sehr komplex. Die Formular Entwicklungssysteme SAPscript, Smart Forms und Adobe Forms verwenden jeweils spezifische Adressobjekte. Diese Adressobjekte verwenden jedoch alle intern den SAP-Funktionsbaustein "ADDRESS_INTO_PRINTFORM".
Zentrale Adressverwaltung
- Die Funktionen des Adresse-Knotens basieren auf der ZAV (= Zentrale Adress-Verwaltung) im SAP-System. Ab Basis-Release 6.1 wird dafür der Name BAS (= Business Address Services) verwendet.
- Der Entwickler braucht dabei nicht die einzelnen Zeilen der Adresse ausgeben, sondern dem Adressknoten lediglich eine Adressnummer, bzw. eine Adressnummer und Personennummer übergeben.
Adressobjekt in Adobe Forms
Adressobjekt in Smart Forms
Adressobjekt in SAPscript
Funktionsbaustein ADDRESS_INTO_PRINTFORM
Muster
CALL FUNCTION 'ADDRESS_INTO_PRINTFORM' " EXPORTING " ADRSWA_IN = " ADDRESS_1 = " ADDRESS_2 = " ADDRESS_3 = " ADDRESS_TYPE = ' ' " ADDRESS_NUMBER = ' ' " ADDRESS_HANDLE = ' ' " PERSON_NUMBER = ' ' " PERSON_HANDLE = ' ' " SENDER_COUNTRY = ' ' " RECEIVER_LANGUAGE = ' ' " NUMBER_OF_LINES = 10 "Mehr als 10 Zeilen werden nicht versorgt. Üblich sind oft 7 Zeilen " STREET_HAS_PRIORITY = ' ' " LINE_PRIORITY = ' ' " COUNTRY_NAME_IN_RECEIVER_LANGU = ' ' " LANGUAGE_FOR_COUNTRY_NAME = ' ' " NO_UPPER_CASE_FOR_CITY = ' ' " IV_NATION = ' ' " IV_NATION_SPACE = ' ' " IV_PERSON_ABOVE_ORGANIZATION = ' ' " IS_BUPA_TIME_DEPENDENCY = ' ' " IV_LANGU_CREA = ' ' " IMPORTING " ADRSWA_OUT = " ADDRESS_PRINTFORM = " ADDRESS_SHORT_FORM = " ADDRESS_SHORT_FORM_S = " ADDRESS_DATA_CARRIER = " ADDRESS_DATA_CARRIER_0 = " NUMBER_OF_USED_LINES = " NAME_IS_EMPTY = " ADDRESS_NOT_FOUND = " ADDRESS_PRINTFORM_TABLE = " ADDRESS_SHORT_FORM_WO_NAME = " EV_NATION = .
Importparameter
- Der wichtigste Importparameter ist die Adressnummer "ADDRESS_NUMBER". Die Adressdaten sind mit dem Key ADDRNUMBER in der Tabelle ADRC gespeichert. Der Funktionsbaustein benötigt zudem noch den "ADDRESS_TYPE". Hier wird meist der Wert "1" eingetragen (Organisation, Firma). Diese beiden Parameter reichen dem Funktionsbaustein um die vollständige Adresse unter den Exportparametern auszugeben.
- Im Parameter NUMBER_OF_LINES wird die maximale Anzahl von Adresszeilen bestimmt. Maximal sind 10 Zeilen möglich. Unter 5 sollte man nicht auswählen, da sonst z. B. das Land aus der Adresse gekürzt werden kann.
Exportparameter
- Die Adressdaten werden in verschiedene Exportparameter ausgegeben. Der wichtigste Exportparameter ist die Tabelle "ADDRESS_PRINTFORM_TABLE".
- Im Exportparameter ADDRESS_SHORT_FORM_S wird die Adresse in einer Zeile ausgegeben. Von den Namensfeldern wird lediglich NAME1 verwendet und nicht NAME2 etc.
User-Exit EXIT_SAPLSADR_001
- Funktionsbaustein EXIT_SAPLSADR_001, Funktionsgruppe XSAD
- Dieser Kunden-Funkionsbaustein wird im SAP-Funktionsbaustein ADDRESS_INTO_PRINTFORM aufgerufen, wenn der Adreßaufbereitungsschlüssel des Empfängerlandes im Kundennamensraum 900 bis 999 liegt
- siehe https://www.consolut.com/s/sap-ides-zugriff/d/e/doc/E-EXIT_SAPLSADR_001/
Straße und Hausnummer
- Bei dem Adressstammdaten kann man mehrere Straßenfelder pflegen, u. a. STREET. Es gibt jedoch auch ein eigenes Hausnummernfeld HOUSE_NUM1
- Häufig wird im Straßenfeld auch die Hausnummer eingetragen. Man sollte die Hausnummer jedoch ausschließlich in das Feld HOUSE_NUM1 eintragen. Der Funktionsbaustein ADDRESS_INTO_PRINTFORM berücksichtigt, in welchem Land die Hausnummer nach der Straße ausgegeben wird (wie z. B. in Deutschland) oder wo die Hausnummer vor der Straße ausgegeben wird (z. B. Frankreich). Wenn die Hausnummer im Straßenfeld gespeichert wird, hätte der Funktionsbaustein keine Möglichkeit diese Logik zu berücksichtigen.
Web-Links
Literatur
- Function Modules in ABAP: A Quick Reference Guide, von Tanmaya Gupta, S. 496 (EN)
- Common SAP R/3 Functions Manual, von William Lawlor, S. 332 (EN)
- www.consult.com: User-Exit EXIT_SAPLSADR_001