点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我需要从xls向XD02中的客户添加新的电子邮件地址。 没关系,但是,当我调用方法cmd_ei_api => maintain_bapi时,这确实更改了电子邮件,但是删除了XD02上的所有电子邮件,这不是我想要的,我想添加新的电子邮件并将其设置为默认值,但是我想要 保留旧的。 需要帮忙!! *
我的代码:
FORM data_to_bapi。
数据:gs_correct TYPE cmds_ei_main,
gt_customers TYPE cmds_ei_main,
gs_address TYPE bapiad1vl,
gs_addressx TYPE bapiad1vlx,
gs_company_code_st TYPE cmds_ei_company,
gs_company_code TYPE cmds_ei_cmd_company,
gt_smtp类型cvis_ei_smtp_t,
gs_smtp与gt_smtp类似,
gs_comm TYPE cvis_ei_cvi_communication,
gs_customers TYPE cmds_ei_extern,
gs_defective TYPE cmds_ei_main,
gs_msg_correct TYPE cvis_message,
gs_msg_error类型cvis_message,
iv_test_run TYPE c。
循环至lt_data INTO wa_data。
" Controlo
gs_customers-header-object_instance-kunnr = wa_data-kunnr。 "库恩
gs_customers-header-object_task ='U'。 "更新此kunnr
gs_smtp-contact-task ='I'。 "插入新电子邮件
gs_smtp-contact-data-e_mail = wa_data-email。 " 新邮件
gs_smtp-contact-datax-e_mail ='X'。
将gs_smtp附加到gt_smtp。
gs_comm-smtp-smtp = gt_smtp []。
gs_customers-central_data-address-communication = gs_comm。
gs_customers-central_data-address-task ='I'。 插入新的通讯
将gs_customers附加到gt_customers-customers。
****************************************************** ********************
*通话BAPI *
****************************************************** ********************
检查gt_customers-customers是否为INITIAL。
gv_collect_messages = abap_true。
cmd_ei_api => initialize()。
iv_test_run =''。
呼叫方法cmd_ei_api => maintain_bapi
出口
iv_test_run = iv_test_run
iv_collect_messages = gv_collect_messages
is_master_data = gt_customer
" 主要的数据
输入
es_master_data_correct = gs_correct
es_message_correct = gs_msg_correct
es_master_data_defective = gs_defective
es_message_defective = gs_msg_error。
通话功能'BAPI_TRANSACTION_COMMIT'
出口
等待='X'。
清除wa_data。
结局。
ENDFORM。 " data_to_bapi
希望你能帮助我!
谢谢!
你好 Guilherme Monteiro ,
您可以将任务的上限值更改为'U'或'M'并查看它是否有效?
此致
Mohan
你好Mohan,
我已经解决了问题,我选择了所有电子邮件,然后再次使用新的电子邮件。
但是,感谢您的答复!
一周热门 更多>