SAP ADDRESS_READ Function Module for
ADDRESS_READ is a standard address read SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used to perform a specific ABAP function and below is the pattern details, showing its interface including any import and export parameters, exceptions etc. there is also a full "cut and paste" ABAP pattern code example, along with implementation ABAP coding, documentation and contribution comments specific to this or related objects.
See here to view full function module documentation and code listing for address read FM, simply by entering the name ADDRESS_READ into the relevant SAP transaction such as SE37 or SE38.
Function Group: SAD2
Program Name: SAPLSAD2
Main Program: SAPLSAD2
Appliation area: S
Release date: N/A
Mode(Normal, Remote etc): Remote-Enabled
Update:

Function ADDRESS_READ pattern details
In-order to call this FM within your sap programs, simply using the below ABAP pattern details to trigger the function call...or see the full ABAP code listing at the end of this article. You can simply cut and paste this code into your ABAP progrom as it is, including variable declarations.CALL FUNCTION 'ADDRESS_READ'".
EXPORTING
ENTRY_ADRNR = "Address number
* ENTRY_DEFAULT_COMMU_FLAG = ' ' "as standard communication sys. are
* ENTRY_FLAG_STRUCTUR = 'AAAAAAAAAAAAA' "Structure of tables/reading indica
* ENTRY_KIND_OF_ADDR = ' ' "Type of address: C=Companies / P=P
* ENTRY_P_WITH_C = ' ' "For private addresses, also read company address
* ENTRY_VERSION = ' ' "Version of address (national indicator)
IMPORTING
COMPANY_SADR = "Company data
EX_DEFAULT_COMMU_SYS = "Standard communications system
PERSONAL_SADRP = "Person data
RTCODE = "Retruncode
TABLES
CS1_TAB = "Reserve table
TEL_TAB = "Telephone numbers
TLX_TAB = "Telex numbers
TTX_TAB = "Teletext numbers
X40_TAB = "X400 numbers
CS2_TAB = "Reserve table
CS3_TAB = "Reserve table
CS4_TAB = "Reserve table
CS5_TAB = "Reserve table
EDI_TAB = "Reserve table
FAX_TAB = "FAX numbers
RML_TAB = "RMail numbers
SSW_TAB = "Reserve table
EXCEPTIONS
ADDR_NOT_EXIST = 1
IMPORTING Parameters details for ADDRESS_READ
ENTRY_ADRNR - Address number
Data type: SADR-ADRNROptional: No
Call by Reference: No ( called with pass by value option)
ENTRY_DEFAULT_COMMU_FLAG - as standard communication sys. are
Data type: SY-INPUTDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
ENTRY_FLAG_STRUCTUR - Structure of tables/reading indica
Data type: SADRSDefault: 'AAAAAAAAAAAAA'
Optional: Yes
Call by Reference: No ( called with pass by value option)
ENTRY_KIND_OF_ADDR - Type of address: C=Companies / P=P
Data type: SY-INPUTDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
ENTRY_P_WITH_C - For private addresses, also read company address
Data type: SADR-FLAGDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
ENTRY_VERSION - Version of address (national indicator)
Data type: SADR-NATIODefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for ADDRESS_READ
COMPANY_SADR - Company data
Data type: SADROptional: No
Call by Reference: No ( called with pass by value option)
EX_DEFAULT_COMMU_SYS - Standard communications system
Data type: SADR-STDCOMOptional: No
Call by Reference: No ( called with pass by value option)
PERSONAL_SADRP - Person data
Data type: SADRPOptional: No
Call by Reference: No ( called with pass by value option)
RTCODE - Retruncode
Data type: SY-SUBRCOptional: No
Call by Reference: No ( called with pass by value option)
TABLES Parameters details for ADDRESS_READ
CS1_TAB - Reserve table
Data type: SADR10Optional: No
Call by Reference: No ( called with pass by value option)
TEL_TAB - Telephone numbers
Data type: SADR2Optional: No
Call by Reference: No ( called with pass by value option)
TLX_TAB - Telex numbers
Data type: SADR5Optional: No
Call by Reference: No ( called with pass by value option)
TTX_TAB - Teletext numbers
Data type: SADR4Optional: No
Call by Reference: No ( called with pass by value option)
X40_TAB - X400 numbers
Data type: SADR8Optional: No
Call by Reference: No ( called with pass by value option)
CS2_TAB - Reserve table
Data type: SADR11Optional: No
Call by Reference: No ( called with pass by value option)
CS3_TAB - Reserve table
Data type: SADR12Optional: No
Call by Reference: No ( called with pass by value option)
CS4_TAB - Reserve table
Data type: SADR13Optional: No
Call by Reference: No ( called with pass by value option)
CS5_TAB - Reserve table
Data type: SADR14Optional: No
Call by Reference: No ( called with pass by value option)
EDI_TAB - Reserve table
Data type: SADR6Optional: No
Call by Reference: No ( called with pass by value option)
FAX_TAB - FAX numbers
Data type: SADR3Optional: No
Call by Reference: No ( called with pass by value option)
RML_TAB - RMail numbers
Data type: SADR7Optional: No
Call by Reference: No ( called with pass by value option)
SSW_TAB - Reserve table
Data type: SADR9Optional: No
Call by Reference: No ( called with pass by value option)
EXCEPTIONS details
ADDR_NOT_EXIST - Address number does not exist
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for ADDRESS_READ Function Module
The ABAP code below is a full code listing to execute function module POPUP_TO_CONFIRM including all data declarations. The code uses the original data declarations rather than the latest in-line data DECLARATION SYNTAX but I have included an ABAP code snippet at the end to show how declarations would look using the newer method of declaring data variables on the fly. This will allow you to compare and fully understand the new inline method. Please note some of the newer syntax such as the @DATA is not available until a later 4.70 service pack (SP8), which i why i have stuck to the origianl for this example.| DATA: | ||||
| lt_cs1_tab | TYPE STANDARD TABLE OF SADR10, " | |||
| lv_entry_adrnr | TYPE SADR-ADRNR, " | |||
| lv_company_sadr | TYPE SADR, " | |||
| lv_addr_not_exist | TYPE SADR, " | |||
| lt_tel_tab | TYPE STANDARD TABLE OF SADR2, " | |||
| lt_tlx_tab | TYPE STANDARD TABLE OF SADR5, " | |||
| lt_ttx_tab | TYPE STANDARD TABLE OF SADR4, " | |||
| lt_x40_tab | TYPE STANDARD TABLE OF SADR8, " | |||
| lt_cs2_tab | TYPE STANDARD TABLE OF SADR11, " | |||
| lv_ex_default_commu_sys | TYPE SADR-STDCOM, " | |||
| lv_entry_default_commu_flag | TYPE SY-INPUT, " SPACE | |||
| lt_cs3_tab | TYPE STANDARD TABLE OF SADR12, " | |||
| lv_personal_sadrp | TYPE SADRP, " | |||
| lv_entry_flag_structur | TYPE SADRS, " 'AAAAAAAAAAAAA' | |||
| lv_rtcode | TYPE SY-SUBRC, " | |||
| lt_cs4_tab | TYPE STANDARD TABLE OF SADR13, " | |||
| lv_entry_kind_of_addr | TYPE SY-INPUT, " SPACE | |||
| lt_cs5_tab | TYPE STANDARD TABLE OF SADR14, " | |||
| lv_entry_p_with_c | TYPE SADR-FLAG, " SPACE | |||
| lt_edi_tab | TYPE STANDARD TABLE OF SADR6, " | |||
| lv_entry_version | TYPE SADR-NATIO, " SPACE | |||
| lt_fax_tab | TYPE STANDARD TABLE OF SADR3, " | |||
| lt_rml_tab | TYPE STANDARD TABLE OF SADR7, " | |||
| lt_ssw_tab | TYPE STANDARD TABLE OF SADR9. " |
|   CALL FUNCTION 'ADDRESS_READ' " |
| EXPORTING | ||
| ENTRY_ADRNR | = lv_entry_adrnr | |
| ENTRY_DEFAULT_COMMU_FLAG | = lv_entry_default_commu_flag | |
| ENTRY_FLAG_STRUCTUR | = lv_entry_flag_structur | |
| ENTRY_KIND_OF_ADDR | = lv_entry_kind_of_addr | |
| ENTRY_P_WITH_C | = lv_entry_p_with_c | |
| ENTRY_VERSION | = lv_entry_version | |
| IMPORTING | ||
| COMPANY_SADR | = lv_company_sadr | |
| EX_DEFAULT_COMMU_SYS | = lv_ex_default_commu_sys | |
| PERSONAL_SADRP | = lv_personal_sadrp | |
| RTCODE | = lv_rtcode | |
| TABLES | ||
| CS1_TAB | = lt_cs1_tab | |
| TEL_TAB | = lt_tel_tab | |
| TLX_TAB | = lt_tlx_tab | |
| TTX_TAB | = lt_ttx_tab | |
| X40_TAB | = lt_x40_tab | |
| CS2_TAB | = lt_cs2_tab | |
| CS3_TAB | = lt_cs3_tab | |
| CS4_TAB | = lt_cs4_tab | |
| CS5_TAB | = lt_cs5_tab | |
| EDI_TAB | = lt_edi_tab | |
| FAX_TAB | = lt_fax_tab | |
| RML_TAB | = lt_rml_tab | |
| SSW_TAB | = lt_ssw_tab | |
| EXCEPTIONS | ||
| ADDR_NOT_EXIST = 1 | ||
| . " ADDRESS_READ | ||
ABAP code using 7.40 inline data declarations to call FM ADDRESS_READ
The below ABAP code uses the newer in-line data declarations. This allows you to see the coding differences/benefits of the later inline syntax. Please note some of the newer syntax below, such as the @DATA is not available until 4.70 EHP 8.| "SELECT single ADRNR FROM SADR INTO @DATA(ld_entry_adrnr). | ||||
| "SELECT single STDCOM FROM SADR INTO @DATA(ld_ex_default_commu_sys). | ||||
| "SELECT single INPUT FROM SY INTO @DATA(ld_entry_default_commu_flag). | ||||
| DATA(ld_entry_default_commu_flag) | = ' '. | |||
| DATA(ld_entry_flag_structur) | = 'AAAAAAAAAAAAA'. | |||
| "SELECT single SUBRC FROM SY INTO @DATA(ld_rtcode). | ||||
| "SELECT single INPUT FROM SY INTO @DATA(ld_entry_kind_of_addr). | ||||
| DATA(ld_entry_kind_of_addr) | = ' '. | |||
| "SELECT single FLAG FROM SADR INTO @DATA(ld_entry_p_with_c). | ||||
| DATA(ld_entry_p_with_c) | = ' '. | |||
| "SELECT single NATIO FROM SADR INTO @DATA(ld_entry_version). | ||||
| DATA(ld_entry_version) | = ' '. | |||
Search for further information about these or an SAP related objects