SAP Function Modules

ADDRESS_MAINTAIN_NEW SAP Function module







ADDRESS_MAINTAIN_NEW 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_NEW into the relevant SAP transaction such as SE37 or SE80.

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


Pattern for FM ADDRESS_MAINTAIN_NEW - ADDRESS MAINTAIN NEW





CALL FUNCTION 'ADDRESS_MAINTAIN_NEW' "
  EXPORTING
*   gui_status = SPACE          " sy-pfkey      GUI status of user interface
*   gui_title = SPACE           " title-text_line  GUI header line
*   key_adrnr = SPACE           " sadr-adrnr    Address number (key)
*   key_natio = '*'             " sadr-natio    Version of address number (key)
*   proc_adrty = 'C'            " sy-input      Type of address ('C'ompany, 'P'rivate, ' ' )
*   proc_entry = 'ADRP'         " sad0s-procentry  Dialog entry point
*   proc_status = 'D'           " sad0s-procstatus  Processing status ('A'dd, 'M'aint., 'D'isp.)
*   sadrp_in = SPACE            " sadrp         Work area SADRP for field defaults
*   sadr_in = SPACE             " sadr
*   sadr_in = SPACE             " sadr          Work area SADR for field defaults
*   save_intern = SPACE         " sad0s-saveintern  Flag 'Save internally'
    tab_field =                 " dd03l-fieldname  Name of field the address uses
*   tab_key = SPACE             " sad0s-tabkey
*   tab_key = SPACE             " sad0s-tabkey  Key of table the address uses
    tab_name =                  " dd03l-tabname  Name of table the address uses
  IMPORTING
    fcode =                     " d0100-fcode
    fcode =                     " d0100-fcode   Function code, returned to application
    key_adrnr =                 " sadr-adrnr    Address number (key)
    key_natio =                 " sadr-natio    Version of address number (key)
    modify_flag =               " sad0s-modifyflag  Flag 'Data has been changed'
    sadrp_out =                 " sadrp         Work area SADRP, back to application
    sadr_out =                  " sadr          Work area SADR, back to application
  EXCEPTIONS
    ADDRESS_NOT_FOUND = 1       "               Address not found
    PARAMETER_ERROR = 2         "
    .  "  ADDRESS_MAINTAIN_NEW

ABAP code example for Function Module ADDRESS_MAINTAIN_NEW





The ABAP code below is a full code listing to execute function module ADDRESS_MAINTAIN_NEW 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_fcode  TYPE D0100-FCODE ,
ld_fcode  TYPE D0100-FCODE ,
ld_key_adrnr  TYPE SADR-ADRNR ,
ld_key_natio  TYPE SADR-NATIO ,
ld_modify_flag  TYPE SAD0S-MODIFYFLAG ,
ld_sadrp_out  TYPE SADRP ,
ld_sadr_out  TYPE SADR .

DATA(ld_gui_status) = 'some text here'.

SELECT single TEXT_LINE
FROM TITLE
INTO @DATA(ld_gui_title).


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


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

DATA(ld_proc_adrty) = 'some text here'.

DATA(ld_proc_entry) = some text here

DATA(ld_proc_status) = some text here
DATA(ld_sadrp_in) = 'some text here'.
DATA(ld_sadr_in) = 'some text here'.
DATA(ld_sadr_in) = 'some text here'.

DATA(ld_save_intern) = some text here

SELECT single FIELDNAME
FROM DD03L
INTO @DATA(ld_tab_field).


DATA(ld_tab_key) = some text here

DATA(ld_tab_key) = some text here

SELECT single TABNAME
FROM DD03L
INTO @DATA(ld_tab_name).
. CALL FUNCTION 'ADDRESS_MAINTAIN_NEW' EXPORTING * gui_status = ld_gui_status * gui_title = ld_gui_title * key_adrnr = ld_key_adrnr * key_natio = ld_key_natio * proc_adrty = ld_proc_adrty * proc_entry = ld_proc_entry * proc_status = ld_proc_status * sadrp_in = ld_sadrp_in * sadr_in = ld_sadr_in * sadr_in = ld_sadr_in * save_intern = ld_save_intern tab_field = ld_tab_field * tab_key = ld_tab_key * tab_key = ld_tab_key tab_name = ld_tab_name IMPORTING fcode = ld_fcode fcode = ld_fcode key_adrnr = ld_key_adrnr key_natio = ld_key_natio modify_flag = ld_modify_flag sadrp_out = ld_sadrp_out sadr_out = ld_sadr_out EXCEPTIONS ADDRESS_NOT_FOUND = 1 PARAMETER_ERROR = 2 . " ADDRESS_MAINTAIN_NEW
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 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_fcode  TYPE D0100-FCODE ,
ld_fcode  TYPE D0100-FCODE ,
ld_gui_status  TYPE SY-PFKEY ,
ld_key_adrnr  TYPE SADR-ADRNR ,
ld_gui_title  TYPE TITLE-TEXT_LINE ,
ld_key_natio  TYPE SADR-NATIO ,
ld_key_adrnr  TYPE SADR-ADRNR ,
ld_modify_flag  TYPE SAD0S-MODIFYFLAG ,
ld_key_natio  TYPE SADR-NATIO ,
ld_proc_adrty  TYPE SY-INPUT ,
ld_sadrp_out  TYPE SADRP ,
ld_proc_entry  TYPE SAD0S-PROCENTRY ,
ld_sadr_out  TYPE SADR ,
ld_proc_status  TYPE SAD0S-PROCSTATUS ,
ld_sadrp_in  TYPE SADRP ,
ld_sadr_in  TYPE SADR ,
ld_sadr_in  TYPE SADR ,
ld_save_intern  TYPE SAD0S-SAVEINTERN ,
ld_tab_field  TYPE DD03L-FIELDNAME ,
ld_tab_key  TYPE SAD0S-TABKEY ,
ld_tab_key  TYPE SAD0S-TABKEY ,
ld_tab_name  TYPE DD03L-TABNAME .

ld_gui_status = 'some text here'.

SELECT single TEXT_LINE
FROM TITLE
INTO ld_gui_title.


SELECT single ADRNR
FROM SADR
INTO ld_key_adrnr.


SELECT single NATIO
FROM SADR
INTO ld_key_natio.

ld_proc_adrty = 'some text here'.

ld_proc_entry = some text here

ld_proc_status = some text here
ld_sadrp_in = 'some text here'.
ld_sadr_in = 'some text here'.
ld_sadr_in = 'some text here'.

ld_save_intern = some text here

SELECT single FIELDNAME
FROM DD03L
INTO ld_tab_field.


ld_tab_key = some text here

ld_tab_key = some text here

SELECT single TABNAME
FROM DD03L
INTO ld_tab_name.

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_NEW or its description.