SAP SD_CUSTOMER_MAINTAIN_ALL Function Module for NOTRANSL: Insert / Update von Kundenstammdaten









SD_CUSTOMER_MAINTAIN_ALL is a standard sd customer maintain all SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for NOTRANSL: Insert / Update von Kundenstammdaten processing and below is the pattern details for this FM, 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 sd customer maintain all FM, simply by entering the name SD_CUSTOMER_MAINTAIN_ALL into the relevant SAP transaction such as SE37 or SE38.

Function Group: V02D
Program Name: SAPLV02D
Main Program: SAPLV02D
Appliation area: V
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:



Function SD_CUSTOMER_MAINTAIN_ALL 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 'SD_CUSTOMER_MAINTAIN_ALL'"NOTRANSL: Insert / Update von Kundenstammdaten
EXPORTING
* I_KNA1 = "General Master Records
* I_CUSTOMER_IS_CONSUMER = ' ' "
* I_RAISE_NO_BTE = ' ' "
* PI_POSTFLAG = ' ' "
* PI_CAM_CHANGED = ' ' "
* PI_ADD_ON_DATA = "Add-On Data Changed in Customer Master
* I_FROM_CUSTOMERMASTER = ' ' "
* I_KNB1 = "Company Code Data
* I_KNVV = "
* I_BAPIADDR1 = "
* I_BAPIADDR2 = "
* I_MAINTAIN_ADDRESS_BY_KNA1 = ' ' "
* I_KNB1_REFERENCE = ' ' "
* I_FORCE_EXTERNAL_NUMBER_RANGE = ' ' "
* I_NO_BANK_MASTER_UPDATE = ' ' "

IMPORTING
E_KUNNR = "
O_KNA1 = "
E_SD_CUST_1321_DONE = "

TABLES
* T_XKNAS = "
* T_XKNVP = "
* T_XKNZA = "
* T_YKNAS = "
* T_YKNBK = "
* T_YKNB5 = "
* T_YKNEX = "
* T_YKNVA = "
* T_YKNVD = "
* T_YKNVI = "
* T_YKNVK = "
* T_XKNBK = "
* T_YKNVL = "
* T_YKNVP = "
* T_YKNZA = "
* T_UPD_TXT = "Change Structure for Text Changes
* T_XKNB5 = "
* T_XKNEX = "
* T_XKNVA = "
* T_XKNVD = "
* T_XKNVI = "
* T_XKNVK = "
* T_XKNVL = "

EXCEPTIONS
CLIENT_ERROR = 1 NUMBER_ASSIGNMENT_ERROR = 10 NUMBER_NOT_IN_RANGE = 11 NUMBER_RANGE_NOT_EXTERN = 12 NUMBER_RANGE_NOT_INTERN = 13 ACCOUNT_GROUP_NOT_VALID = 14 PARNR_INVALID = 15 BANK_ADDRESS_INVALID = 16 TAX_DATA_NOT_VALID = 17 NO_AUTHORITY = 18 COMPANY_CODE_NOT_UNIQUE = 19 KNA1_INCOMPLETE = 2 DUNNING_DATA_NOT_VALID = 20 KNB1_REFERENCE_INVALID = 21 CAM_ERROR = 22 KNB1_INCOMPLETE = 3 KNB5_INCOMPLETE = 4 KNVV_INCOMPLETE = 5 KUNNR_NOT_UNIQUE = 6 SALES_AREA_NOT_UNIQUE = 7 SALES_AREA_NOT_VALID = 8 INSERT_UPDATE_CONFLICT = 9
.



IMPORTING Parameters details for SD_CUSTOMER_MAINTAIN_ALL

I_KNA1 - General Master Records

Data type: KNA1
Optional: Yes
Call by Reference: No ( called with pass by value option)

I_CUSTOMER_IS_CONSUMER -

Data type: WDL_FLAG-XFLAG
Default: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)

I_RAISE_NO_BTE -

Data type: WDL_FLAG-XFLAG
Default: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)

PI_POSTFLAG -

Data type: WDL_FLAG-XFLAG
Default: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)

PI_CAM_CHANGED -

Data type: WDL_FLAG-XFLAG
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

PI_ADD_ON_DATA - Add-On Data Changed in Customer Master

Data type: CUST_ADD_ON_DATA
Optional: Yes
Call by Reference: No ( called with pass by value option)

I_FROM_CUSTOMERMASTER -

Data type: WDL_FLAG-XFLAG
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

I_KNB1 - Company Code Data

Data type: KNB1
Optional: Yes
Call by Reference: No ( called with pass by value option)

I_KNVV -

Data type: KNVV
Optional: Yes
Call by Reference: No ( called with pass by value option)

I_BAPIADDR1 -

Data type: BAPIADDR1
Optional: Yes
Call by Reference: No ( called with pass by value option)

I_BAPIADDR2 -

Data type: BAPIADDR2
Optional: Yes
Call by Reference: No ( called with pass by value option)

I_MAINTAIN_ADDRESS_BY_KNA1 -

Data type: WDL_FLAG-XFLAG
Default: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)

I_KNB1_REFERENCE -

Data type: WDL_FLAG-XFLAG
Default: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)

I_FORCE_EXTERNAL_NUMBER_RANGE -

Data type: WDL_FLAG-XFLAG
Default: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)

I_NO_BANK_MASTER_UPDATE -

Data type: WDL_FLAG-XFLAG
Default: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)

EXPORTING Parameters details for SD_CUSTOMER_MAINTAIN_ALL

E_KUNNR -

Data type: KNA1-KUNNR
Optional: No
Call by Reference: No ( called with pass by value option)

O_KNA1 -

Data type: KNA1
Optional: No
Call by Reference: Yes

E_SD_CUST_1321_DONE -

Data type: C
Optional: No
Call by Reference: No ( called with pass by value option)

TABLES Parameters details for SD_CUSTOMER_MAINTAIN_ALL

T_XKNAS -

Data type: FKNAS
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_XKNVP -

Data type: FKNVP
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_XKNZA -

Data type: FKNZA
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_YKNAS -

Data type: FKNAS
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_YKNBK -

Data type: FKNBK
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_YKNB5 -

Data type: FKNB5
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_YKNEX -

Data type: FKNEX
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_YKNVA -

Data type: FKNVA
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_YKNVD -

Data type: FKNVD
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_YKNVI -

Data type: FKNVI
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_YKNVK -

Data type: FKNVK
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_XKNBK -

Data type: FKNBK
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_YKNVL -

Data type: FKNVL
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_YKNVP -

Data type: FKNVP
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_YKNZA -

Data type: FKNZA
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_UPD_TXT - Change Structure for Text Changes

Data type: FKUNTXT
Optional: Yes
Call by Reference: Yes

T_XKNB5 -

Data type: FKNB5
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_XKNEX -

Data type: FKNEX
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_XKNVA -

Data type: FKNVA
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_XKNVD -

Data type: FKNVD
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_XKNVI -

Data type: FKNVI
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_XKNVK -

Data type: FKNVK
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_XKNVL -

Data type: FKNVL
Optional: Yes
Call by Reference: No ( called with pass by value option)

EXCEPTIONS details

CLIENT_ERROR -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

NUMBER_ASSIGNMENT_ERROR -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

NUMBER_NOT_IN_RANGE -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

NUMBER_RANGE_NOT_EXTERN -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

NUMBER_RANGE_NOT_INTERN -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

ACCOUNT_GROUP_NOT_VALID -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

PARNR_INVALID -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

BANK_ADDRESS_INVALID -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

TAX_DATA_NOT_VALID -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

NO_AUTHORITY -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

COMPANY_CODE_NOT_UNIQUE -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

KNA1_INCOMPLETE -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

DUNNING_DATA_NOT_VALID -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

KNB1_REFERENCE_INVALID -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

CAM_ERROR -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

KNB1_INCOMPLETE -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

KNB5_INCOMPLETE -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

KNVV_INCOMPLETE -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

KUNNR_NOT_UNIQUE -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

SALES_AREA_NOT_UNIQUE -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

SALES_AREA_NOT_VALID - Sales areas

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

INSERT_UPDATE_CONFLICT -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

Copy and paste ABAP code example for SD_CUSTOMER_MAINTAIN_ALL 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:
lv_i_kna1  TYPE KNA1, "   
lv_e_kunnr  TYPE KNA1-KUNNR, "   
lt_t_xknas  TYPE STANDARD TABLE OF FKNAS, "   
lv_client_error  TYPE FKNAS, "   
lt_t_xknvp  TYPE STANDARD TABLE OF FKNVP, "   
lv_i_customer_is_consumer  TYPE WDL_FLAG-XFLAG, "   ' '
lv_number_assignment_error  TYPE WDL_FLAG, "   
lt_t_xknza  TYPE STANDARD TABLE OF FKNZA, "   
lv_i_raise_no_bte  TYPE WDL_FLAG-XFLAG, "   ' '
lv_number_not_in_range  TYPE WDL_FLAG, "   
lt_t_yknas  TYPE STANDARD TABLE OF FKNAS, "   
lv_pi_postflag  TYPE WDL_FLAG-XFLAG, "   ' '
lv_number_range_not_extern  TYPE WDL_FLAG, "   
lt_t_yknbk  TYPE STANDARD TABLE OF FKNBK, "   
lv_pi_cam_changed  TYPE WDL_FLAG-XFLAG, "   SPACE
lv_number_range_not_intern  TYPE WDL_FLAG, "   
lt_t_yknb5  TYPE STANDARD TABLE OF FKNB5, "   
lv_pi_add_on_data  TYPE CUST_ADD_ON_DATA, "   
lv_account_group_not_valid  TYPE CUST_ADD_ON_DATA, "   
lt_t_yknex  TYPE STANDARD TABLE OF FKNEX, "   
lv_parnr_invalid  TYPE FKNEX, "   
lv_i_from_customermaster  TYPE WDL_FLAG-XFLAG, "   SPACE
lt_t_yknva  TYPE STANDARD TABLE OF FKNVA, "   
lv_bank_address_invalid  TYPE FKNVA, "   
lt_t_yknvd  TYPE STANDARD TABLE OF FKNVD, "   
lv_tax_data_not_valid  TYPE FKNVD, "   
lt_t_yknvi  TYPE STANDARD TABLE OF FKNVI, "   
lv_no_authority  TYPE FKNVI, "   
lt_t_yknvk  TYPE STANDARD TABLE OF FKNVK, "   
lv_company_code_not_unique  TYPE FKNVK, "   
lv_i_knb1  TYPE KNB1, "   
lv_o_kna1  TYPE KNA1, "   
lt_t_xknbk  TYPE STANDARD TABLE OF FKNBK, "   
lv_kna1_incomplete  TYPE FKNBK, "   
lt_t_yknvl  TYPE STANDARD TABLE OF FKNVL, "   
lv_dunning_data_not_valid  TYPE FKNVL, "   
lt_t_yknvp  TYPE STANDARD TABLE OF FKNVP, "   
lv_knb1_reference_invalid  TYPE FKNVP, "   
lt_t_yknza  TYPE STANDARD TABLE OF FKNZA, "   
lv_cam_error  TYPE FKNZA, "   
lt_t_upd_txt  TYPE STANDARD TABLE OF FKUNTXT, "   
lv_i_knvv  TYPE KNVV, "   
lt_t_xknb5  TYPE STANDARD TABLE OF FKNB5, "   
lv_knb1_incomplete  TYPE FKNB5, "   
lv_e_sd_cust_1321_done  TYPE C, "   
lt_t_xknex  TYPE STANDARD TABLE OF FKNEX, "   
lv_i_bapiaddr1  TYPE BAPIADDR1, "   
lv_knb5_incomplete  TYPE BAPIADDR1, "   
lt_t_xknva  TYPE STANDARD TABLE OF FKNVA, "   
lv_i_bapiaddr2  TYPE BAPIADDR2, "   
lv_knvv_incomplete  TYPE BAPIADDR2, "   
lt_t_xknvd  TYPE STANDARD TABLE OF FKNVD, "   
lv_kunnr_not_unique  TYPE FKNVD, "   
lv_i_maintain_address_by_kna1  TYPE WDL_FLAG-XFLAG, "   ' '
lt_t_xknvi  TYPE STANDARD TABLE OF FKNVI, "   
lv_i_knb1_reference  TYPE WDL_FLAG-XFLAG, "   ' '
lv_sales_area_not_unique  TYPE WDL_FLAG, "   
lt_t_xknvk  TYPE STANDARD TABLE OF FKNVK, "   
lv_sales_area_not_valid  TYPE FKNVK, "   
lv_i_force_external_number_range  TYPE WDL_FLAG-XFLAG, "   ' '
lt_t_xknvl  TYPE STANDARD TABLE OF FKNVL, "   
lv_insert_update_conflict  TYPE FKNVL, "   
lv_i_no_bank_master_update  TYPE WDL_FLAG-XFLAG. "   ' '

  CALL FUNCTION 'SD_CUSTOMER_MAINTAIN_ALL'  "NOTRANSL: Insert / Update von Kundenstammdaten
    EXPORTING
         I_KNA1 = lv_i_kna1
         I_CUSTOMER_IS_CONSUMER = lv_i_customer_is_consumer
         I_RAISE_NO_BTE = lv_i_raise_no_bte
         PI_POSTFLAG = lv_pi_postflag
         PI_CAM_CHANGED = lv_pi_cam_changed
         PI_ADD_ON_DATA = lv_pi_add_on_data
         I_FROM_CUSTOMERMASTER = lv_i_from_customermaster
         I_KNB1 = lv_i_knb1
         I_KNVV = lv_i_knvv
         I_BAPIADDR1 = lv_i_bapiaddr1
         I_BAPIADDR2 = lv_i_bapiaddr2
         I_MAINTAIN_ADDRESS_BY_KNA1 = lv_i_maintain_address_by_kna1
         I_KNB1_REFERENCE = lv_i_knb1_reference
         I_FORCE_EXTERNAL_NUMBER_RANGE = lv_i_force_external_number_range
         I_NO_BANK_MASTER_UPDATE = lv_i_no_bank_master_update
    IMPORTING
         E_KUNNR = lv_e_kunnr
         O_KNA1 = lv_o_kna1
         E_SD_CUST_1321_DONE = lv_e_sd_cust_1321_done
    TABLES
         T_XKNAS = lt_t_xknas
         T_XKNVP = lt_t_xknvp
         T_XKNZA = lt_t_xknza
         T_YKNAS = lt_t_yknas
         T_YKNBK = lt_t_yknbk
         T_YKNB5 = lt_t_yknb5
         T_YKNEX = lt_t_yknex
         T_YKNVA = lt_t_yknva
         T_YKNVD = lt_t_yknvd
         T_YKNVI = lt_t_yknvi
         T_YKNVK = lt_t_yknvk
         T_XKNBK = lt_t_xknbk
         T_YKNVL = lt_t_yknvl
         T_YKNVP = lt_t_yknvp
         T_YKNZA = lt_t_yknza
         T_UPD_TXT = lt_t_upd_txt
         T_XKNB5 = lt_t_xknb5
         T_XKNEX = lt_t_xknex
         T_XKNVA = lt_t_xknva
         T_XKNVD = lt_t_xknvd
         T_XKNVI = lt_t_xknvi
         T_XKNVK = lt_t_xknvk
         T_XKNVL = lt_t_xknvl
    EXCEPTIONS
        CLIENT_ERROR = 1
        NUMBER_ASSIGNMENT_ERROR = 10
        NUMBER_NOT_IN_RANGE = 11
        NUMBER_RANGE_NOT_EXTERN = 12
        NUMBER_RANGE_NOT_INTERN = 13
        ACCOUNT_GROUP_NOT_VALID = 14
        PARNR_INVALID = 15
        BANK_ADDRESS_INVALID = 16
        TAX_DATA_NOT_VALID = 17
        NO_AUTHORITY = 18
        COMPANY_CODE_NOT_UNIQUE = 19
        KNA1_INCOMPLETE = 2
        DUNNING_DATA_NOT_VALID = 20
        KNB1_REFERENCE_INVALID = 21
        CAM_ERROR = 22
        KNB1_INCOMPLETE = 3
        KNB5_INCOMPLETE = 4
        KNVV_INCOMPLETE = 5
        KUNNR_NOT_UNIQUE = 6
        SALES_AREA_NOT_UNIQUE = 7
        SALES_AREA_NOT_VALID = 8
        INSERT_UPDATE_CONFLICT = 9
. " SD_CUSTOMER_MAINTAIN_ALL




ABAP code using 7.40 inline data declarations to call FM SD_CUSTOMER_MAINTAIN_ALL

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 KUNNR FROM KNA1 INTO @DATA(ld_e_kunnr).
 
 
 
 
"SELECT single XFLAG FROM WDL_FLAG INTO @DATA(ld_i_customer_is_consumer).
DATA(ld_i_customer_is_consumer) = ' '.
 
 
 
"SELECT single XFLAG FROM WDL_FLAG INTO @DATA(ld_i_raise_no_bte).
DATA(ld_i_raise_no_bte) = ' '.
 
 
 
"SELECT single XFLAG FROM WDL_FLAG INTO @DATA(ld_pi_postflag).
DATA(ld_pi_postflag) = ' '.
 
 
 
"SELECT single XFLAG FROM WDL_FLAG INTO @DATA(ld_pi_cam_changed).
DATA(ld_pi_cam_changed) = ' '.
 
 
 
 
 
 
 
"SELECT single XFLAG FROM WDL_FLAG INTO @DATA(ld_i_from_customermaster).
DATA(ld_i_from_customermaster) = ' '.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
"SELECT single XFLAG FROM WDL_FLAG INTO @DATA(ld_i_maintain_address_by_kna1).
DATA(ld_i_maintain_address_by_kna1) = ' '.
 
 
"SELECT single XFLAG FROM WDL_FLAG INTO @DATA(ld_i_knb1_reference).
DATA(ld_i_knb1_reference) = ' '.
 
 
 
 
"SELECT single XFLAG FROM WDL_FLAG INTO @DATA(ld_i_force_external_number_range).
DATA(ld_i_force_external_number_range) = ' '.
 
 
 
"SELECT single XFLAG FROM WDL_FLAG INTO @DATA(ld_i_no_bank_master_update).
DATA(ld_i_no_bank_master_update) = ' '.
 


Search for further information about these or an SAP related objects



Comments on this SAP object

What made you want to lookup this SAP object? Please tell us what you were looking for and anything you would like to be included on this page!