Weltweit agierende SAP Kunden sind immer wieder mit länderspezifischen Adressformatierungen konfrontiert. In einem SAP System kann dies je Land eingestellt oder durch kundenindividuelles Coding ergänzt werden.
Damit man in dox42 diese Adressformatierungen verwenden kann, verwenden wir ganz einfach den Funktionsbaustein ADDRESS_INTO_PRINTFORM. Dadurch stehen uns die gleichen Adressaufbereitungen zur Verfügung, wie sie auch in den SAP internen Formulartechnologien SAPScript, SmartForms oder Adobe Forms verwendet werden.
Im ABAP Backend wird der Funktionsbaustein wie folgt aufgerufen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
"Address Into Printform DATA ls_address_print TYPE adrs_print. CALL FUNCTION 'ADDRESS_INTO_PRINTFORM' EXPORTING address_type = '2' address_number = '0000011146' person_number = '0000011145' sender_country = 'GB' receiver_language = 'D' IMPORTING address_printform = ls_address_print EXCEPTIONS address_blocked = 1 person_blocked = 2 contact_person_blocked = 3 addr_to_be_formated_is_blocked = 4 OTHERS = 5. IF sy-subrc = 0. e_out-adr_line1 = ls_address_print-line0. e_out-adr_line2 = ls_address_print-line1. e_out-adr_line3 = ls_address_print-line2. e_out-adr_line4 = ls_address_print-line3. e_out-adr_line5 = ls_address_print-line4. ENDIF. |
Die Ausgabefelder adr_line1, adr_line2, … werden über die Datamap an dox42 übergeben. In dox42 können dieses Adresszeilen dann wie alle anderen Felder verwendet werden. Ich würde bei den Adresszeilen ev. noch eine Bedingung ergänzen, dass keine Leerzeilen ausgegeben werden.
Das Ergebnis sollte dann ca. so aussehen:
Weiterführende Links zum Thema Adressenaufbereitung im SAP:
https://www.berater-wiki.de/Adressenaufbereitung#Funktionsbaustein_ADDRESS_INTO_PRINTFO