2020-08-19 18:26发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我认为我正在从此功能模块CALL FUNCTION'SD_CUSTOMER_MAINTAIN_ALL'中获取(Abend)错误消息,
您能帮我吗?
更早之前,许多专家都提出了这个问题,但是我找不到正确的解决方案。
需求:由于销售员工是我们客户的合作伙伴,因此更新sap的knvp表中的销售员工。
我正在使用fm:SD_CUSTOMER_MAINTAIN_ALL。
检查是否需要按照OSS注释1652544的建议进行代码更正
Hi
是否可以提供通过合作伙伴编号传递的部分代码 此功能
这将有助于发现问题
我正在与您共享代码:
循环到it_tab进入wa_tab。通话功能'CONVERSION_EXIT_ALPHA_INPUT'导出输入= wa_tab-kunnr 导入输出= wa_tab-kunnr。 通话功能 'CONVERSION_EXIT_ALPHA_INPUT'导出输入= wa_tab-lifnr 导入输出= wa_tab-lifnr。 * --------- -提取客户主记录--------------- ** 从kna1选择单个* 进入lx_kna1 的对应字段,其中kunnr = wa_tab-kunnr。 * -------------客户合作伙伴函数--------------- * SELECT * FROM knvp INTO TABLE lt_knvp WHERE kunnr = wa_tab-kunnr。 按kunnr vkorg排序lt_knvp。从lt_knvp中删除相邻的副本,比较kunnr vkorg。 通过parza DEKENDP排序SOlt lt_knvp。<_>读取表(读取表) )索引1. 如果sy-subrc = 0. ld_parza = wa_knvp-parza + 1. ELSE。 ld_parza = 0. ENDIF。 SORT lt_knvp BY kunnr。 * ---围绕knvp填写员工记录------------- -* 将lt_knvp循环到ls_knvp,其中kunnr = wa_tab-kunnr。如果LS_KNVP-LIFNR = WA_TAB-LIFNR。 CONCATENATE wa_tab-lifnr'已分配给'wa_tab-kunnrs 。附加wa_message到it_message。清除:wa_message。 ELSE。清除wa_xknvp。 wa_xknvp-kunnr = wa_tab-kunnr。 wa_xknvp-vkorg = ls_。 br> wa_xknvp-vtweg = ls_knvp-vtweg。 wa_xknvp-spart = ls_knvp-spart。 wa_xknvp-parvw = wa_tab-hier。 wa_xknvp-parza = ld_par。 lifnr。 APPEND wa_xknvp到lt_xknvp。清除:wa_xknvp。 ENDIF。 通话功能'SD_CUSTOMER_MAINTAIN_ALL'导出 i_kna1 = l__kna1更新 ' pi_postflag ='X' * i_maintain_address_by_kna1 ='X'导入 e_kunnr = ld_kunnr o_kna1 = lx_ikna1 e_sd_cust_1321_done = ld_done t TABLES EXCEPTIONS client_error = 1 kna1_incomplete = 2 knb1_incomplete = 3 knb5_incom plete = 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 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 br> knb1_reference_invalid = 21 cam_error = 22 其他=23。如果sy-subrc EQ0。 *提交工作并等待。回滚工作。消息ID sy- msgid类型sy-msgty编号sy-msgno 与sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4。否则。提交并等待。 ENDIF。
您好先生
谢谢您的答复,但是当我下载便笺时,它表明它无法实现。
您能帮忙吗
您好,先生,
我找到了这篇文章 https://belajarabap .com/2017/07/20/create-customer-master-data /
并使用了示例。
这与Bapi BAPI_CUSTOMER_CHANGEFROMDATA1中使用的fm相同。
但是在执行fm之前,它首先检查1> SD_CUSTOMER_CHECK_1
然后SD_CUSTOMER_MAINTAIN_ALL
亲爱的Sourav
只需澄清一下,
在您的代码中,您正在回滚-当sy-subrc eq 0。 可以吗?
还可以,请让我知道您正在获取的sy-subrc是什么-在调试中
请确认
最多设置5个标签!
检查是否需要按照OSS注释1652544的建议进行代码更正
Hi
是否可以提供通过合作伙伴编号传递的部分代码 此功能
这将有助于发现问题
我正在与您共享代码:
循环到it_tab进入wa_tab。
TABLES
通话功能'CONVERSION_EXIT_ALPHA_INPUT'
导出
输入= wa_tab-kunnr
导入
输出= wa_tab-kunnr。
通话功能 'CONVERSION_EXIT_ALPHA_INPUT'
导出
输入= wa_tab-lifnr
导入
输出= wa_tab-lifnr。
* --------- -提取客户主记录--------------- **
从kna1选择单个*
进入lx_kna1
的对应字段,其中kunnr = wa_tab-kunnr。
* -------------客户合作伙伴函数--------------- *
SELECT * FROM knvp INTO TABLE lt_knvp
WHERE kunnr = wa_tab-kunnr。
按kunnr vkorg排序lt_knvp。
从lt_knvp中删除相邻的副本,比较kunnr vkorg。
通过parza DEKENDP排序SOlt lt_knvp。<_>读取表(读取表) )索引1.
如果sy-subrc = 0.
ld_parza = wa_knvp-parza + 1.
ELSE。
ld_parza = 0.
ENDIF。
SORT lt_knvp BY kunnr。
* ---围绕knvp填写员工记录------------- -*
将lt_knvp循环到ls_knvp,其中kunnr = wa_tab-kunnr。
如果LS_KNVP-LIFNR = WA_TAB-LIFNR。
CONCATENATE wa_tab-lifnr'已分配给'wa_tab-kunnrs 。
附加wa_message到it_message。
清除:wa_message。
ELSE。
清除wa_xknvp。
wa_xknvp-kunnr = wa_tab-kunnr。
wa_xknvp-vkorg = ls_。 br> wa_xknvp-vtweg = ls_knvp-vtweg。
wa_xknvp-spart = ls_knvp-spart。
wa_xknvp-parvw = wa_tab-hier。
wa_xknvp-parza = ld_par。 lifnr。
APPEND wa_xknvp到lt_xknvp。
清除:wa_xknvp。
ENDIF。
通话功能'SD_CUSTOMER_MAINTAIN_ALL'
导出
i_kna1 = l__kna1更新 '
pi_postflag ='X'
* i_maintain_address_by_kna1 ='X'
导入
e_kunnr = ld_kunnr
o_kna1 = lx_ikna1
e_sd_cust_1321_done = ld_done
t
EXCEPTIONS
client_error = 1
kna1_incomplete = 2
knb1_incomplete = 3
knb5_incom plete = 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
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 br> knb1_reference_invalid = 21
cam_error = 22
其他=23。
如果sy-subrc EQ0。
*提交工作并等待。
回滚工作。
消息ID sy- msgid类型sy-msgty编号sy-msgno
与sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4。
否则。
提交并等待。
ENDIF。
您好先生
谢谢您的答复,但是当我下载便笺时,它表明它无法实现。
您能帮忙吗
您好,先生,
我找到了这篇文章 https://belajarabap .com/2017/07/20/create-customer-master-data /
并使用了示例。
这与Bapi BAPI_CUSTOMER_CHANGEFROMDATA1中使用的fm相同。
但是在执行fm之前,它首先检查1> SD_CUSTOMER_CHECK_1
然后SD_CUSTOMER_MAINTAIN_ALL
亲爱的Sourav
只需澄清一下,
在您的代码中,您正在回滚-当sy-subrc eq 0。 可以吗?
还可以,请让我知道您正在获取的sy-subrc是什么-在调试中
请确认
一周热门 更多>