SAP Function Modules

ISU_ADDRESS_PROVIDE_INTERNAL SAP Function module - INTERNAL: Address Format for Displaying and Determining IS-U Data







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

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


Pattern for FM ISU_ADDRESS_PROVIDE_INTERNAL - ISU ADDRESS PROVIDE INTERNAL





CALL FUNCTION 'ISU_ADDRESS_PROVIDE_INTERNAL' "INTERNAL: Address Format for Displaying and Determining IS-U Data
  EXPORTING
    x_address_type =            " eadr_type     Object type, to which the address is linked
*   x_length = 80               " sy-fdpos
*   x_line_count = 1            " sy-index
*   x_prgcontext = SPACE        " ebacontxt-prgcontext  Call context: program
*   x_subcontext = SPACE        " ebacontxt-subcontext  Call context - subcontext
*   x_read_adrc_regio = ' '     " regen-kennzx
*   x_read_isu_data = ' '       " regen-kennzx
*   x_read_mru = ' '            " regen-kennzx
*   x_read_konz = ' '           " regen-kennzx
*   x_read_bukrs = ' '          " regen-kennzx
*   x_read_route = ' '          " regen-kennzx
*   x_read_grid = ' '           " regen-kennzx
*   x_read_ams = ' '            " regen-kennzx
*   x_read_cust_regio = ' '     " regen-kennzx
*   x_read_ieadrc = ' '         " regen-kennzx
*   x_addrnumber =              " adrc-addrnumber  Address Number
*   x_partner =                 " bus020_ext-partner  Business Partner
*   x_account =                 " fkkvk-vkont
*   x_persnumber =              " but000-persnumber  Person Number
*   x_haus =                    " ehau-haus     Connection Object
*   x_vstelle =                 " evbs-vstelle  Premise
*   x_devloc =                  " egpl-devloc   Device Location
*   x_anlage =                  " v_eanl-anlage  Installation
*   x_int_ui =                  " int_ui        Internal Key for Point of Delivery
*   x_rob =                     " eewa_clean_rob  Cleaning Object
*   x_prop =                    " eewa_clean_prop  Property
*   x_addr1_val =               " addr1_val
*   x_ekun_ext =                " ekun_ext
*   x_fkkvkp1 =                 " fkkvkp1
*   x_ehau =                    " ehau
*   x_evbs =                    " evbs
*   x_egpl =                    " egpl
*   x_eanl =                    " eanl
*   x_eewa_rob =                " eewa_rob      Cleaning Object
*   x_eewa_prop =               " eewa_prop_h   Header Data of Property
*   x_actual =                  " regen-actual
*   x_changed_address = SPACE   " regen-kennzx
*   x_bukrs = SPACE             " t001-bukrs
*   x_sparte = SPACE            " tspa-spart    Division
*   x_aklasse = SPACE           " eaklasse-aklasse
*   x_spebene = SPACE           " spebene
*   x_grid_level_type = SPACE   " grid_level_type  Grid Level Type
*   x_grid_level = SPACE        " grid_level    Grid Level
*   x_keydate =                 " datum         Date
*   x_nation = SPACE            " ad_nation     Version ID for International Addresses
*   x_addr_obj =                " isu02_address
  IMPORTING
    y_addr_lines =              " eadrln
    y_line_count =              " sy-index      Number of Rows
    y_eadrdat =                 " eadrdat       Address Data
    y_adrc_regio =              " adrc_regio
    y_addr_data =               " isu_reg0
    y_cust_regio =              " cust_regio
    y_ieadrc =                  " ieadrc
* TABLES
*   t_isu_regk =                " isu_regk      Company Code and Franchise Contracts for Installation
*   t_isu_regs =                " isu_regs      Division-dependent data for an address
*   t_isu_regr =                " isu_regr      Routes for Regional Structure
*   t_isu_regg =                " isu_regg      Grids for Address
*   t_isu_rega =                " isu_rega      AMI for Address
  CHANGING
    xy_obj =                    " isu02_addr_display  Object
  EXCEPTIONS
    NOT_FOUND = 1               "               Address not found
    PARAMETER_ERROR = 2         "               Incorrect Parameters
    OBJECT_NOT_GIVEN = 3        "
    ADDRESS_INCONSISTENCY = 4   "
    INSTALLATION_INCONSISTENCY = 5  "
    .  "  ISU_ADDRESS_PROVIDE_INTERNAL

ABAP code example for Function Module ISU_ADDRESS_PROVIDE_INTERNAL





The ABAP code below is a full code listing to execute function module ISU_ADDRESS_PROVIDE_INTERNAL 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_y_addr_lines  TYPE EADRLN ,
ld_y_line_count  TYPE SY-INDEX ,
ld_y_eadrdat  TYPE EADRDAT ,
ld_y_adrc_regio  TYPE ADRC_REGIO ,
ld_y_addr_data  TYPE ISU_REG0 ,
ld_y_cust_regio  TYPE CUST_REGIO ,
ld_y_ieadrc  TYPE IEADRC ,
it_t_isu_regk  TYPE STANDARD TABLE OF ISU_REGK,"TABLES PARAM
wa_t_isu_regk  LIKE LINE OF it_t_isu_regk ,
it_t_isu_regs  TYPE STANDARD TABLE OF ISU_REGS,"TABLES PARAM
wa_t_isu_regs  LIKE LINE OF it_t_isu_regs ,
it_t_isu_regr  TYPE STANDARD TABLE OF ISU_REGR,"TABLES PARAM
wa_t_isu_regr  LIKE LINE OF it_t_isu_regr ,
it_t_isu_regg  TYPE STANDARD TABLE OF ISU_REGG,"TABLES PARAM
wa_t_isu_regg  LIKE LINE OF it_t_isu_regg ,
it_t_isu_rega  TYPE STANDARD TABLE OF ISU_REGA,"TABLES PARAM
wa_t_isu_rega  LIKE LINE OF it_t_isu_rega .

DATA(ld_xy_obj) = 'Check type of data required'.
DATA(ld_x_address_type) = 'Check type of data required'.
DATA(ld_x_length) = '123 '.
DATA(ld_x_line_count) = '123 '.

SELECT single PRGCONTEXT
FROM EBACONTXT
INTO @DATA(ld_x_prgcontext).


SELECT single SUBCONTEXT
FROM EBACONTXT
INTO @DATA(ld_x_subcontext).


DATA(ld_x_read_adrc_regio) = some text here

DATA(ld_x_read_isu_data) = some text here

DATA(ld_x_read_mru) = some text here

DATA(ld_x_read_konz) = some text here

DATA(ld_x_read_bukrs) = some text here

DATA(ld_x_read_route) = some text here

DATA(ld_x_read_grid) = some text here

DATA(ld_x_read_ams) = some text here

DATA(ld_x_read_cust_regio) = some text here

DATA(ld_x_read_ieadrc) = some text here

SELECT single ADDRNUMBER
FROM ADRC
INTO @DATA(ld_x_addrnumber).


DATA(ld_x_partner) = some text here

SELECT single VKONT
FROM FKKVK
INTO @DATA(ld_x_account).


SELECT single PERSNUMBER
FROM BUT000
INTO @DATA(ld_x_persnumber).


DATA(ld_x_haus) = some text here

SELECT single VSTELLE
FROM EVBS
INTO @DATA(ld_x_vstelle).


DATA(ld_x_devloc) = some text here

SELECT single ANLAGE
FROM V_EANL
INTO @DATA(ld_x_anlage).

DATA(ld_x_int_ui) = '123 '.
DATA(ld_x_rob) = '123 '.
DATA(ld_x_prop) = '123 '.
DATA(ld_x_addr1_val) = '123 '.
DATA(ld_x_ekun_ext) = '123 '.
DATA(ld_x_fkkvkp1) = '123 '.
DATA(ld_x_ehau) = '123 '.
DATA(ld_x_evbs) = '123 '.
DATA(ld_x_egpl) = '123 '.
DATA(ld_x_eanl) = '123 '.
DATA(ld_x_eewa_rob) = '123 '.
DATA(ld_x_eewa_prop) = '123 '.

DATA(ld_x_actual) = some text here

DATA(ld_x_changed_address) = some text here

SELECT single BUKRS
FROM T001
INTO @DATA(ld_x_bukrs).


SELECT single SPART
FROM TSPA
INTO @DATA(ld_x_sparte).


SELECT single AKLASSE
FROM EAKLASSE
INTO @DATA(ld_x_aklasse).

DATA(ld_x_spebene) = '123 '.
DATA(ld_x_grid_level_type) = '123 '.
DATA(ld_x_grid_level) = '123 '.
DATA(ld_x_keydate) = '123 '.
DATA(ld_x_nation) = '123 '.
DATA(ld_x_addr_obj) = '123 '.

"populate fields of struture and append to itab
append wa_t_isu_regk to it_t_isu_regk.

"populate fields of struture and append to itab
append wa_t_isu_regs to it_t_isu_regs.

"populate fields of struture and append to itab
append wa_t_isu_regr to it_t_isu_regr.

"populate fields of struture and append to itab
append wa_t_isu_regg to it_t_isu_regg.

"populate fields of struture and append to itab
append wa_t_isu_rega to it_t_isu_rega. . CALL FUNCTION 'ISU_ADDRESS_PROVIDE_INTERNAL' EXPORTING x_address_type = ld_x_address_type * x_length = ld_x_length * x_line_count = ld_x_line_count * x_prgcontext = ld_x_prgcontext * x_subcontext = ld_x_subcontext * x_read_adrc_regio = ld_x_read_adrc_regio * x_read_isu_data = ld_x_read_isu_data * x_read_mru = ld_x_read_mru * x_read_konz = ld_x_read_konz * x_read_bukrs = ld_x_read_bukrs * x_read_route = ld_x_read_route * x_read_grid = ld_x_read_grid * x_read_ams = ld_x_read_ams * x_read_cust_regio = ld_x_read_cust_regio * x_read_ieadrc = ld_x_read_ieadrc * x_addrnumber = ld_x_addrnumber * x_partner = ld_x_partner * x_account = ld_x_account * x_persnumber = ld_x_persnumber * x_haus = ld_x_haus * x_vstelle = ld_x_vstelle * x_devloc = ld_x_devloc * x_anlage = ld_x_anlage * x_int_ui = ld_x_int_ui * x_rob = ld_x_rob * x_prop = ld_x_prop * x_addr1_val = ld_x_addr1_val * x_ekun_ext = ld_x_ekun_ext * x_fkkvkp1 = ld_x_fkkvkp1 * x_ehau = ld_x_ehau * x_evbs = ld_x_evbs * x_egpl = ld_x_egpl * x_eanl = ld_x_eanl * x_eewa_rob = ld_x_eewa_rob * x_eewa_prop = ld_x_eewa_prop * x_actual = ld_x_actual * x_changed_address = ld_x_changed_address * x_bukrs = ld_x_bukrs * x_sparte = ld_x_sparte * x_aklasse = ld_x_aklasse * x_spebene = ld_x_spebene * x_grid_level_type = ld_x_grid_level_type * x_grid_level = ld_x_grid_level * x_keydate = ld_x_keydate * x_nation = ld_x_nation * x_addr_obj = ld_x_addr_obj IMPORTING y_addr_lines = ld_y_addr_lines y_line_count = ld_y_line_count y_eadrdat = ld_y_eadrdat y_adrc_regio = ld_y_adrc_regio y_addr_data = ld_y_addr_data y_cust_regio = ld_y_cust_regio y_ieadrc = ld_y_ieadrc * TABLES * t_isu_regk = it_t_isu_regk * t_isu_regs = it_t_isu_regs * t_isu_regr = it_t_isu_regr * t_isu_regg = it_t_isu_regg * t_isu_rega = it_t_isu_rega CHANGING xy_obj = ld_xy_obj EXCEPTIONS NOT_FOUND = 1 PARAMETER_ERROR = 2 OBJECT_NOT_GIVEN = 3 ADDRESS_INCONSISTENCY = 4 INSTALLATION_INCONSISTENCY = 5 . " ISU_ADDRESS_PROVIDE_INTERNAL
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 ELSEIF SY-SUBRC EQ 5. "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_xy_obj  TYPE ISU02_ADDR_DISPLAY ,
ld_y_addr_lines  TYPE EADRLN ,
it_t_isu_regk  TYPE STANDARD TABLE OF ISU_REGK ,
wa_t_isu_regk  LIKE LINE OF it_t_isu_regk,
ld_x_address_type  TYPE EADR_TYPE ,
ld_y_line_count  TYPE SY-INDEX ,
it_t_isu_regs  TYPE STANDARD TABLE OF ISU_REGS ,
wa_t_isu_regs  LIKE LINE OF it_t_isu_regs,
ld_x_length  TYPE SY-FDPOS ,
ld_y_eadrdat  TYPE EADRDAT ,
it_t_isu_regr  TYPE STANDARD TABLE OF ISU_REGR ,
wa_t_isu_regr  LIKE LINE OF it_t_isu_regr,
ld_x_line_count  TYPE SY-INDEX ,
it_t_isu_regg  TYPE STANDARD TABLE OF ISU_REGG ,
wa_t_isu_regg  LIKE LINE OF it_t_isu_regg,
ld_x_prgcontext  TYPE EBACONTXT-PRGCONTEXT ,
ld_y_adrc_regio  TYPE ADRC_REGIO ,
ld_x_subcontext  TYPE EBACONTXT-SUBCONTEXT ,
it_t_isu_rega  TYPE STANDARD TABLE OF ISU_REGA ,
wa_t_isu_rega  LIKE LINE OF it_t_isu_rega,
ld_y_addr_data  TYPE ISU_REG0 ,
ld_x_read_adrc_regio  TYPE REGEN-KENNZX ,
ld_y_cust_regio  TYPE CUST_REGIO ,
ld_x_read_isu_data  TYPE REGEN-KENNZX ,
ld_y_ieadrc  TYPE IEADRC ,
ld_x_read_mru  TYPE REGEN-KENNZX ,
ld_x_read_konz  TYPE REGEN-KENNZX ,
ld_x_read_bukrs  TYPE REGEN-KENNZX ,
ld_x_read_route  TYPE REGEN-KENNZX ,
ld_x_read_grid  TYPE REGEN-KENNZX ,
ld_x_read_ams  TYPE REGEN-KENNZX ,
ld_x_read_cust_regio  TYPE REGEN-KENNZX ,
ld_x_read_ieadrc  TYPE REGEN-KENNZX ,
ld_x_addrnumber  TYPE ADRC-ADDRNUMBER ,
ld_x_partner  TYPE BUS020_EXT-PARTNER ,
ld_x_account  TYPE FKKVK-VKONT ,
ld_x_persnumber  TYPE BUT000-PERSNUMBER ,
ld_x_haus  TYPE EHAU-HAUS ,
ld_x_vstelle  TYPE EVBS-VSTELLE ,
ld_x_devloc  TYPE EGPL-DEVLOC ,
ld_x_anlage  TYPE V_EANL-ANLAGE ,
ld_x_int_ui  TYPE INT_UI ,
ld_x_rob  TYPE EEWA_CLEAN_ROB ,
ld_x_prop  TYPE EEWA_CLEAN_PROP ,
ld_x_addr1_val  TYPE ADDR1_VAL ,
ld_x_ekun_ext  TYPE EKUN_EXT ,
ld_x_fkkvkp1  TYPE FKKVKP1 ,
ld_x_ehau  TYPE EHAU ,
ld_x_evbs  TYPE EVBS ,
ld_x_egpl  TYPE EGPL ,
ld_x_eanl  TYPE EANL ,
ld_x_eewa_rob  TYPE EEWA_ROB ,
ld_x_eewa_prop  TYPE EEWA_PROP_H ,
ld_x_actual  TYPE REGEN-ACTUAL ,
ld_x_changed_address  TYPE REGEN-KENNZX ,
ld_x_bukrs  TYPE T001-BUKRS ,
ld_x_sparte  TYPE TSPA-SPART ,
ld_x_aklasse  TYPE EAKLASSE-AKLASSE ,
ld_x_spebene  TYPE SPEBENE ,
ld_x_grid_level_type  TYPE GRID_LEVEL_TYPE ,
ld_x_grid_level  TYPE GRID_LEVEL ,
ld_x_keydate  TYPE DATUM ,
ld_x_nation  TYPE AD_NATION ,
ld_x_addr_obj  TYPE ISU02_ADDRESS .

ld_xy_obj = '123 '.

"populate fields of struture and append to itab
append wa_t_isu_regk to it_t_isu_regk.
ld_x_address_type = '123 '.

"populate fields of struture and append to itab
append wa_t_isu_regs to it_t_isu_regs.
ld_x_length = '123 '.

"populate fields of struture and append to itab
append wa_t_isu_regr to it_t_isu_regr.
ld_x_line_count = '123 '.

"populate fields of struture and append to itab
append wa_t_isu_regg to it_t_isu_regg.

SELECT single PRGCONTEXT
FROM EBACONTXT
INTO ld_x_prgcontext.


SELECT single SUBCONTEXT
FROM EBACONTXT
INTO ld_x_subcontext.


"populate fields of struture and append to itab
append wa_t_isu_rega to it_t_isu_rega.

ld_x_read_adrc_regio = some text here

ld_x_read_isu_data = some text here

ld_x_read_mru = some text here

ld_x_read_konz = some text here

ld_x_read_bukrs = some text here

ld_x_read_route = some text here

ld_x_read_grid = some text here

ld_x_read_ams = some text here

ld_x_read_cust_regio = some text here

ld_x_read_ieadrc = some text here

SELECT single ADDRNUMBER
FROM ADRC
INTO ld_x_addrnumber.


ld_x_partner = some text here

SELECT single VKONT
FROM FKKVK
INTO ld_x_account.


SELECT single PERSNUMBER
FROM BUT000
INTO ld_x_persnumber.


ld_x_haus = some text here

SELECT single VSTELLE
FROM EVBS
INTO ld_x_vstelle.


ld_x_devloc = some text here

SELECT single ANLAGE
FROM V_EANL
INTO ld_x_anlage.

ld_x_int_ui = '123 '.
ld_x_rob = '123 '.
ld_x_prop = '123 '.
ld_x_addr1_val = '123 '.
ld_x_ekun_ext = '123 '.
ld_x_fkkvkp1 = '123 '.
ld_x_ehau = '123 '.
ld_x_evbs = '123 '.
ld_x_egpl = '123 '.
ld_x_eanl = '123 '.
ld_x_eewa_rob = '123 '.
ld_x_eewa_prop = '123 '.

ld_x_actual = some text here

ld_x_changed_address = some text here

SELECT single BUKRS
FROM T001
INTO ld_x_bukrs.


SELECT single SPART
FROM TSPA
INTO ld_x_sparte.


SELECT single AKLASSE
FROM EAKLASSE
INTO ld_x_aklasse.

ld_x_spebene = '123 '.
ld_x_grid_level_type = '123 '.
ld_x_grid_level = '123 '.
ld_x_keydate = '123 '.
ld_x_nation = '123 '.
ld_x_addr_obj = '123 '.

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