SAP Function Modules

ADDRESS_MAINTAIN_SO SAP Function module







ADDRESS_MAINTAIN_SO is a standard SAP function module available within R/3 SAP systems depending on your version and release level. Below is the pattern details for this FM showing its interface including any import and export parameters, exceptions etc as well as any documentation contributions (Comments) specific to the object.

See here to view full function module documentation and code listing, simply by entering the name ADDRESS_MAINTAIN_SO into the relevant SAP transaction such as SE37 or SE80.

Associated Function Group: SAD1
Released Date: Not Released
Processing type: Normal fucntion module
Normal function module settings


Pattern for FM ADDRESS_MAINTAIN_SO - ADDRESS MAINTAIN SO





CALL FUNCTION 'ADDRESS_MAINTAIN_SO' "
* EXPORTING
*   adrnr = SPACE               " sadr-adrnr
*   adrnr = SPACE               " sadr-adrnr    Address number
*   adrtyp = SPACE              "
*   adrtyp = SPACE              "               'p' = is private, 'C' = company
*   change_comp_adr = 'X'       " sonv-flag     'X'=company address may be changed
*   delete_allowed = SPACE      " sonv-flag     'X'= Deletion is active
*   in_comsys = SPACE           " sadr-stdcom   Go directly to type of communication IN_COMSYS
*   in_lfdnr = SPACE            " sadr2-lfdnr   Preselection of a communication entry
*   natio = SPACE               " sadr-natio
*   natio = SPACE               " sadr-natio    Indicator
*   processing_status = 'D'     "               'M'aintain,'D'isplay,'S'elect,'A'dd
*   sadrp_in = SPACE            " sadrp         Default values for SADRP
*   sadr_in = SPACE             " sadr
*   sadr_in = SPACE             " sadr          Default values for SADR
*   used_tsadc_field = '1'      " sonv-flag     Refer to which field of communication ?
  IMPORTING
    created_adrnr =             " sadr-adrnr    During creation: new address number
    ex_comsys =                 " sadr-stdcom   Selected type of communication
    ex_lfdnr =                  " sadr2-lfdnr   Selected entry of type of communication
    update_flag =               "               Update was carried out
  EXCEPTIONS
    ADDRESS_NOT_EXIST = 1       "               Address number does not exist
    COMPANY_ADR_NOT_EXIST = 2   "               Company address does not exist
    INVALID_STATUS = 3          "               Unknown status
    PARAMETER_ERROR = 4         "               Parameter error
    .  "  ADDRESS_MAINTAIN_SO

ABAP code example for Function Module ADDRESS_MAINTAIN_SO





The ABAP code below is a full code listing to execute function module ADDRESS_MAINTAIN_SO including all data declarations. The code uses 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 original method of declaring data variables up front. 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).

DATA:
ld_created_adrnr  TYPE SADR-ADRNR ,
ld_ex_comsys  TYPE SADR-STDCOM ,
ld_ex_lfdnr  TYPE SADR2-LFDNR ,
ld_update_flag  TYPE STRING .


SELECT single ADRNR
FROM SADR
INTO @DATA(ld_adrnr).


SELECT single ADRNR
FROM SADR
INTO @DATA(ld_adrnr).

DATA(ld_adrtyp) = 'some text here'.
DATA(ld_adrtyp) = 'some text here'.

DATA(ld_change_comp_adr) = some text here

DATA(ld_delete_allowed) = some text here

SELECT single STDCOM
FROM SADR
INTO @DATA(ld_in_comsys).


SELECT single LFDNR
FROM SADR2
INTO @DATA(ld_in_lfdnr).


SELECT single NATIO
FROM SADR
INTO @DATA(ld_natio).


SELECT single NATIO
FROM SADR
INTO @DATA(ld_natio).

DATA(ld_processing_status) = 'some text here'.
DATA(ld_sadrp_in) = 'Check type of data required'.
DATA(ld_sadr_in) = 'Check type of data required'.
DATA(ld_sadr_in) = 'Check type of data required'.

DATA(ld_used_tsadc_field) = some text here . CALL FUNCTION 'ADDRESS_MAINTAIN_SO' * EXPORTING * adrnr = ld_adrnr * adrnr = ld_adrnr * adrtyp = ld_adrtyp * adrtyp = ld_adrtyp * change_comp_adr = ld_change_comp_adr * delete_allowed = ld_delete_allowed * in_comsys = ld_in_comsys * in_lfdnr = ld_in_lfdnr * natio = ld_natio * natio = ld_natio * processing_status = ld_processing_status * sadrp_in = ld_sadrp_in * sadr_in = ld_sadr_in * sadr_in = ld_sadr_in * used_tsadc_field = ld_used_tsadc_field IMPORTING created_adrnr = ld_created_adrnr ex_comsys = ld_ex_comsys ex_lfdnr = ld_ex_lfdnr update_flag = ld_update_flag EXCEPTIONS ADDRESS_NOT_EXIST = 1 COMPANY_ADR_NOT_EXIST = 2 INVALID_STATUS = 3 PARAMETER_ERROR = 4 . " ADDRESS_MAINTAIN_SO
IF SY-SUBRC EQ 0. "All OK ELSEIF SY-SUBRC EQ 1. "Exception "Add code for exception here ELSEIF SY-SUBRC EQ 2. "Exception "Add code for exception here ELSEIF SY-SUBRC EQ 3. "Exception "Add code for exception here ELSEIF SY-SUBRC EQ 4. "Exception "Add code for exception here ENDIF.







ABAP code to compare 7.40 inline data declaration with original syntax

The below ABAP code uses the older none in-line data declarations. This allows you to see the coding differences/benefits of the later inline syntax. It may also be useful if you are using an older version of SAP as some of the newer syntax above, such as the @DATA is not available until 4.70 EHP 8.

DATA:
ld_created_adrnr  TYPE SADR-ADRNR ,
ld_adrnr  TYPE SADR-ADRNR ,
ld_adrnr  TYPE SADR-ADRNR ,
ld_ex_comsys  TYPE SADR-STDCOM ,
ld_adrtyp  TYPE STRING ,
ld_adrtyp  TYPE STRING ,
ld_ex_lfdnr  TYPE SADR2-LFDNR ,
ld_change_comp_adr  TYPE SONV-FLAG ,
ld_update_flag  TYPE STRING ,
ld_delete_allowed  TYPE SONV-FLAG ,
ld_in_comsys  TYPE SADR-STDCOM ,
ld_in_lfdnr  TYPE SADR2-LFDNR ,
ld_natio  TYPE SADR-NATIO ,
ld_natio  TYPE SADR-NATIO ,
ld_processing_status  TYPE STRING ,
ld_sadrp_in  TYPE SADRP ,
ld_sadr_in  TYPE SADR ,
ld_sadr_in  TYPE SADR ,
ld_used_tsadc_field  TYPE SONV-FLAG .


SELECT single ADRNR
FROM SADR
INTO ld_adrnr.


SELECT single ADRNR
FROM SADR
INTO ld_adrnr.

ld_adrtyp = 'some text here'.
ld_adrtyp = 'some text here'.

ld_change_comp_adr = some text here

ld_delete_allowed = some text here

SELECT single STDCOM
FROM SADR
INTO ld_in_comsys.


SELECT single LFDNR
FROM SADR2
INTO ld_in_lfdnr.


SELECT single NATIO
FROM SADR
INTO ld_natio.


SELECT single NATIO
FROM SADR
INTO ld_natio.

ld_processing_status = 'some text here'.
ld_sadrp_in = 'Check type of data required'.
ld_sadr_in = 'Check type of data required'.
ld_sadr_in = 'Check type of data required'.

ld_used_tsadc_field = some text here

Contribute (Add Comments)

Please help keep this info upto date and use the comments section below to add useful hints, tips and information specific to this SAP function. This will then be available for you and other users to easily find by simply searching on the object name ADDRESS_MAINTAIN_SO or its description.