SD_CUSTOMER_MAINTAIN_ALL

<br>

https://www.sdn.sap.com/irj/sdn/thread?threadID=723150 FUNCTION z_bapi_customer_create. *"---------------------------------------------------------------------- *"*"Interface local: *" IMPORTING *" VALUE(I_KNA1) LIKE KNA1 STRUCTURE KNA1 OPTIONAL *" VALUE(I_KNB1) LIKE KNB1 STRUCTURE KNB1 OPTIONAL *" VALUE(I_KNVV) LIKE KNVV STRUCTURE KNVV OPTIONAL *" EXPORTING *" VALUE(E_KUNNR) LIKE KNA1-KUNNR *" REFERENCE(O_KNA1) LIKE KNA1 STRUCTURE KNA1 *" REFERENCE(RETURN) LIKE BAPIRETURN1 STRUCTURE BAPIRETURN1 *" TABLES *" T_XKNVI STRUCTURE FKNVI OPTIONAL *" T_XKNB5 STRUCTURE FKNB5 OPTIONAL *"---------------------------------------------------------------------- * *-(1) initial routines ------------------------------------------------* * * (i) data declaration: fields, items, tables: *   DATA: subrc LIKE sy-subrc, credit_control_flag LIKE bapikna108-x_flag value 'X', postflag LIKE wdl_flag-xflag. * * (ii) reset exporting data and sy-subrc * CLEAR: return, sy-subrc. * (iii) fill temporary interface data i_bapikna1_0x, i_bapikna10x * (in the following: importing data unchanged, work only with * temporary interface data) * (iv) reset data of function kernel * CLEAR: i_kna1, i_knb1, i_knvv. REFRESH: * t_xknbk, t_xknvi, * t_xknvk, * t_xknvp, t_xknb5. . * *-(2) work routines ---------------------------------------------------* * * (i) call "check function" * * * (ii) fill exporting data of "kernel function" * * * (iii) call "kernel function" post synchron (postflag = X) * i_kna1-land1 = 'BR'. i_kna1-name1 = 'Nome'. i_kna1-ort01 = 'Abaetetuba'. i_kna1-pstlz = '099999999'. i_kna1-regio = 'PA'. i_kna1-sortl = 'Conceito'. i_kna1-stras = 'Rua'. i_kna1-mcod1 = 'Nome'. i_kna1-mcod2 = 'Abaetetuba'. i_kna1-mcod3 = 'Sr.'. i_kna1-brsch = '01'. i_kna1-ktokd = '0021'. i_kna1-spras = 'P'. i_kna1-stcd2 = '999'. i_kna1-lzone = 'AC00000001'. i_kna1-stkzn = 'X'. i_kna1-txjcd = 'NN'. i_kna1-duefl = 'X'. i_kna1-civve = 'X'. i_kna1-brsch = 'AG05'. i_kna1-anred = 'Sr.'.   i_knvv-vkorg = 'MY01'. i_knvv-vtweg = 'Z5'. i_knvv-spart = 'Z7'. i_knvv-versg = '1'. i_knvv-kalks = '1'. i_knvv-kdgrp = '02'. i_knvv-bzirk = 'CLIE'. i_knvv-pltyp = '02'. i_knvv-awahr = '100'. i_knvv-antlf = '9'. i_knvv-kzazu = 'X'. i_knvv-vsbed = '01'. i_knvv-perfk = '01'. i_knvv-waers = 'BRL'. i_knvv-ktgrd = '01'. i_knvv-vwerk = 'MY01'. i_knvv-vkgrp = 'LDA'. i_knvv-vkbur = 'MSOY'. i_knvv-kurst = '001S'. i_knvv-kabss = '0001'. i_knvv-kkber = 'SE01'.   i_knb1-bukrs = '4169'. i_knb1-akont = '0011411000'. i_knb1-akont = '9999999999'. i_knb1-zwels = 'C'. i_knb1-zterm = '7001'. i_knb1-vzskz = '02'. i_knb1-fdgrv = 'C1'. i_knb1-xzver = 'X'. i_knb1-knrze = '0000935002'.   t_xknvi-aland = 'BR'. t_xknvi-tatyp = 'IBRX'. t_xknvi-taxkd = '1'. APPEND t_xknvi.   t_xknb5-bukrs = i_knb1-bukrs. t_xknb5-mahna = '0001'. append t_xknb5.   postflag = 'X'. CALL FUNCTION 'SD_CUSTOMER_MAINTAIN_ALL' EXPORTING i_kna1 = i_kna1 i_knb1 = i_knb1 i_knvv = i_knvv * I_BAPIADDR1 = * I_BAPIADDR2 = * I_MAINTAIN_ADDRESS_BY_KNA1 = ' ' pi_postflag = postflag IMPORTING e_kunnr = e_kunnr o_kna1 = o_kna1 TABLES * T_XKNAS = * T_XKNBK = T_XKNB5 = t_xknb5 * T_XKNEX = * T_XKNVA = * T_XKNVD = t_xknvi = t_xknvi * T_XKNVK = * T_XKNVL = * T_XKNVP = * T_XKNZA = EXCEPTIONS client_error = 1 kna1_incomplete = 2 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 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 dunning_data_not_valid = 20 knb1_reference_invalid = 21 cam_error = 22 OTHERS = 23 . * * (iv) insert the credit control data * IF credit_control_flag = 'X' AND sy-subrc = 0. * CALL FUNCTION 'SD_CUSTOMER_MAINTAIN_KNKA_K' * EXPORTING * PI_REF_CUSTOMER = E_KUNNR * PI_CUSTOMER = E_KUNNR * EXCEPTIONS * KNKA_INSERT_ERROR = 23 * KNKK_INSERT_ERROR = 24.   CALL FUNCTION 'CREDITCONTROL_INSERT_DEFAULT' IN UPDATE TASK EXPORTING kunnr = e_kunnr kkber = i_knvv-kkber knrze = i_knb1-knrze.   ENDIF. * * (v) return-value "kernel function" * * (1) reset data of function kernel * CLEAR: i_kna1, i_knb1, i_knvv. * I_BAPIADDR1_01, * I_BAPIADDR2_01. * * (2) error-handling * return value sy-subrc, only in case sy-subrc = 0 * the exporting data customer_number (customerno) * will be changed * subrc = sy-subrc. CLEAR sy-subrc. * *-(3) set return values and leave the function ------------------------* * customerno (key-field of BO KNA1), pe_customer, return *   PERFORM returnsubrc_1 USING subrc e_kunnr CHANGING e_kunnr return. IF subrc = 0. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'. ENDIF.   ENDFUNCTION.

 

</br>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值