使用CMD_EI_API_所需的帮助更新客户电话和传真

2020-09-30 06:13发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

如何编码使用CMD_EI_API更新客户电话和传真。

请在下面的代码中纠正我,这不起作用。

* 读取客户数据
呼叫方法cmd_ei_api_extract => get_data

* 读入结构以在字段中进行更改
阅读表lstr_customers_in-customers索引1 INTO
lstr_customer_in_ad。

* 标头结构以使用MAINTAIN_BAPI方法更新地址
清除:lstr_customer_in_ad-header。
lstr_header_in_ad-object_instance-kunnr = wa_final_tmp-kunnr。
lstr_header_in ='ad-object U'。
lstr_customer_in_ad-header = lstr_header_in_ad。

*将数据传递到通讯-电话和传真
如果已分配
UNASSIGN
ENDIF。
*
ASSIGN lstr_customer_in_ad-central_data-address TO
********电话******************************* ****************************
如果已分配
* lstr_comm = -通信。
阅读表-通信电话-电话
分配索引1。
如果sy-subrc EQ 0和被分配。
-contact-task ='U '。
-contact-data-std_no =``。
-contact-data-电话= wa_final_tmp-tel_number。
-contact-datax-telephone ='X '。
-contact-datax-country ='X'。
-contact-datax-countryiso ='X'。
-contact-datax-std_no =' X'。
-contact-datax-consnumber ='X'。
-contact-datax-updateflag ='U'。
lstr_remark_t-task ='U'。< br> lstr_remark_t-data-langu = -邮政数据语言。
lstr_remark_t-datax-langu ='X'。
lstr_remark_t-data-langu_iso
= -postal-data -langu_iso。
lstr_remark_t-datax-langu_iso ='X'。
lstr_remark_t-data-comm_type ='TEL'。
lstr_remark_t-datax-comm_type ='X'。
lstr_remark_t-data-consnumber =
-contact-data-consnumber。
lstr_remark_t-datax-consnumber ='X'。
lstr_remark_t-datax-updateflag ='U'。
APPEND lstr_remark_t TO - 备注-备注。
-备注-current_state =空间。
-communication-phone-current_state =空间。

ENDIF。
******* **传真*********************************************** ************
读取表 -communication-fax-fax
分配索引1.

IF sy-subrc EQ 0 AND < 已分配fstr_fax_t>。
-contact-task ='U'。
-contact-data-std_no =''。
-contact-data-fax_no = wa_final_tmp -- 传真号码。
-contact-datax-fax_no ='X'。
-contact-datax-country ='X'。
-contact-datax-countryiso =' X'。
-contact-datax-std_no ='X'。
-contact-datax-consnumber ='X'。
-contact-datax-updateflag = 'U'。
CLEAR:lstr_remark_t。
lstr_remark_t-task ='U'。
lstr_remark_t-data-langu = -postal-data-langu。
lstr_remark_t-datax-langu = 'X'。
lstr_remark_t-data-langu_iso
= -邮政数据-langu_iso。
lstr_remark_t-datax-langu_iso ='X'。
lstr_remark_t-data-comm_type ='FAX '。
lstr_remark_t-datax-comm_type ='X'。
lstr_remark_t-data-consnumber =
-contact-data-consnumber。
lstr_remark_t-datax-consnumber ='X'。
lstr_remark_t-datax-updateflag ='U'。
附加lstr_remark_t到 -remark-remarks。
-remark-current_state =空间。
-communication-fax -current_state =空间。
Endif。
********** **********************************************
清除lstr_masterdata-customers。< br> lstr_customer_in_ad-central_data-address-task ='U'。
附加lstr_customer_in_ad到lstr_masterdata-customers。

呼叫方法cmd_ei_api => maintain_bapi
导出
iv_test_run =空间
iv_collect_messages ='X'
is_master_data = lstr_masterdata
IMPORTING
es_master_data_correct = lstr_master_data_correct es br> es_master_data_defective = lstr_master_data_defective
es_message_defective = lstr_message_defective。

如果lstr_master_data_defective是初始的。

调用功能'BAPI_TRANSACTION_COMMIT'
导出
等待= abap_true。
ENDIF。
ENDIF。

谢谢

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

如何编码使用CMD_EI_API更新客户电话和传真。

请在下面的代码中纠正我,这不起作用。

* 读取客户数据
呼叫方法cmd_ei_api_extract => get_data

* 读入结构以在字段中进行更改
阅读表lstr_customers_in-customers索引1 INTO
lstr_customer_in_ad。

* 标头结构以使用MAINTAIN_BAPI方法更新地址
清除:lstr_customer_in_ad-header。
lstr_header_in_ad-object_instance-kunnr = wa_final_tmp-kunnr。
lstr_header_in ='ad-object U'。
lstr_customer_in_ad-header = lstr_header_in_ad。

*将数据传递到通讯-电话和传真
如果已分配
UNASSIGN
ENDIF。
*
ASSIGN lstr_customer_in_ad-central_data-address TO
********电话******************************* ****************************
如果已分配
* lstr_comm = -通信。
阅读表-通信电话-电话
分配索引1。
如果sy-subrc EQ 0和被分配。
-contact-task ='U '。
-contact-data-std_no =``。
-contact-data-电话= wa_final_tmp-tel_number。
-contact-datax-telephone ='X '。
-contact-datax-country ='X'。
-contact-datax-countryiso ='X'。
-contact-datax-std_no =' X'。
-contact-datax-consnumber ='X'。
-contact-datax-updateflag ='U'。
lstr_remark_t-task ='U'。< br> lstr_remark_t-data-langu = -邮政数据语言。
lstr_remark_t-datax-langu ='X'。
lstr_remark_t-data-langu_iso
= -postal-data -langu_iso。
lstr_remark_t-datax-langu_iso ='X'。
lstr_remark_t-data-comm_type ='TEL'。
lstr_remark_t-datax-comm_type ='X'。
lstr_remark_t-data-consnumber =
-contact-data-consnumber。
lstr_remark_t-datax-consnumber ='X'。
lstr_remark_t-datax-updateflag ='U'。
APPEND lstr_remark_t TO - 备注-备注。
-备注-current_state =空间。
-communication-phone-current_state =空间。

ENDIF。
******* **传真*********************************************** ************
读取表 -communication-fax-fax
分配索引1.

IF sy-subrc EQ 0 AND < 已分配fstr_fax_t>。
-contact-task ='U'。
-contact-data-std_no =''。
-contact-data-fax_no = wa_final_tmp -- 传真号码。
-contact-datax-fax_no ='X'。
-contact-datax-country ='X'。
-contact-datax-countryiso =' X'。
-contact-datax-std_no ='X'。
-contact-datax-consnumber ='X'。
-contact-datax-updateflag = 'U'。
CLEAR:lstr_remark_t。
lstr_remark_t-task ='U'。
lstr_remark_t-data-langu = -postal-data-langu。
lstr_remark_t-datax-langu = 'X'。
lstr_remark_t-data-langu_iso
= -邮政数据-langu_iso。
lstr_remark_t-datax-langu_iso ='X'。
lstr_remark_t-data-comm_type ='FAX '。
lstr_remark_t-datax-comm_type ='X'。
lstr_remark_t-data-consnumber =
-contact-data-consnumber。
lstr_remark_t-datax-consnumber ='X'。
lstr_remark_t-datax-updateflag ='U'。
附加lstr_remark_t到 -remark-remarks。
-remark-current_state =空间。
-communication-fax -current_state =空间。
Endif。
********** **********************************************
清除lstr_masterdata-customers。< br> lstr_customer_in_ad-central_data-address-task ='U'。
附加lstr_customer_in_ad到lstr_masterdata-customers。

呼叫方法cmd_ei_api => maintain_bapi
导出
iv_test_run =空间
iv_collect_messages ='X'
is_master_data = lstr_masterdata
IMPORTING
es_master_data_correct = lstr_master_data_correct es br> es_master_data_defective = lstr_master_data_defective
es_message_defective = lstr_message_defective。

如果lstr_master_data_defective是初始的。

调用功能'BAPI_TRANSACTION_COMMIT'
导出
等待= abap_true。
ENDIF。
ENDIF。

谢谢

付费偷看设置
发送
1条回答
Climb_Ma
1楼-- · 2020-09-30 06:28

首先添加一些对提取API返回的错误的检查,否则管理更新的情况,或者如果在LOOP期间未找到任何数据,则插入。

致谢,
Raymond

一周热门 更多>