无法使用类vmd_ei_api供应商主记录更新

2020-08-31 22:16发布

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

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


大家好,

我能够使用类VMD_EI_API和方法MAINTAIN_BAPI创建供应商主记录,但无法使用同一类更新供应商主记录。

有人可以建议使用此类VMD_EI_API更新供应商主记录的过程吗?

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

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


大家好,

我能够使用类VMD_EI_API和方法MAINTAIN_BAPI创建供应商主记录,但无法使用同一类更新供应商主记录。

有人可以建议使用此类VMD_EI_API更新供应商主记录的过程吗?

付费偷看设置
发送
8条回答
暮风yp
1楼 · 2020-08-31 22:34.采纳回答

好的:

您在哪里找到困难?

MAINTAIN_BAPI也可以用于更新供应商。 刚刚尝试过,效果很好。

以下是用于更新供应商地址的示例代码:

 {代码}数据:lt_vendors类型vmds_ei_extern_t,ls_vendors类型vmds_ei_extern,ls_address类型cvis_ei_address1,gs_vmds_extern类型vmds_ei_main。  ls_vendors-header-object_instance-lifnr = p_lifnr。  "传递要更新的供应商编号ls_vendors-header-object_task ='U'。"表示更新*设置名称ls_address-postal-data-name ='Test'。  "供应商名称ls_address-postal-data-street ='Flat 105,ABS Road'。ls_address-postal-data-postl_cod1 ='400062'。ls_address-postal-data-region ='13'。ls_address-postal-data  -country ='IN'。ls_address-postal-data-sort1 = gv_name。ls_address-postal-data-langu = sy-langu *对于提供值的所有字段,将标志值也设置为'X'ls_address  -postal-datax-name ='X'。ls_address-postal-datax-street ='X'。ls_address-postal-datax-postl_cod1 ='X'。ls_address-postal-datax-region ='X'。ls_address-postal  -datax-sort1 ='X'。ls_address-postal-datax-country ='X'。ls_address-postal-datax-langu ='X'。*表示我们正在更新供应商的地址ls_address-task ='U'  *设置供应商的地址ls_vendors-central_data-address = ls_address。APPEND ls_vendors TO lt_vendors。*根据wh设置最终供应商数据 必须更新*注意如果要更新多个供应商...请在LT_VENDORS中维​​护多个条目gs_vmds_extern-vendors = lt_vendors []。*初始化所有数据vmd_ei_api => initialize()。  *调用供应商更新方法。 调用方法vmd_ei_api => maintain_bapi导出is_master_data = gs_vmds_extern导入es_master_data_correct = gs_vmds_succ es_message_correct = gs_succ_messages es_master_data_defective = gs_vmds_error es_message_defect。 如果gs_err_messages-is_error是INITIAL。 提交工作。  ENDIF。{code} 

让我知道您收到什么错误!

暮风yp
2楼-- · 2020-08-31 22:43

感谢Vineesh!

现在,由于我没有在datax字段中设置标志值" X",因此我还能够借助您的代码来更新供应商主数据。

再次非常感谢您。

此致

Alok

Cikesha
3楼-- · 2020-08-31 22:49

嗨Alok,

请查看使用类VMD_EI_API创建供应商的代码

http://scn.sap.com/docs/DOC-42312

如果有帮助/已回答,请关闭该线程。

Srikanth。

haha101010
4楼-- · 2020-08-31 22:38

此消息已审核。

哎,真难
5楼-- · 2020-08-31 22:34

您好,我在使用vmd_ei_api创建联络人详细信息时遇到错误"地址号码或地址句柄丢失"...。 建议应该通过哪些字段。

微wx笑
6楼-- · 2020-08-31 22:31

阿比吉耶特:

您是否检查了以下链接?

创建供应商-VMD_EI_API

下面的代码集将被检查。...

*设置联系人

刷新:lt_contacts []。

清除ls_contacts。

ls_contacts-task ='I'。 "代表创建联系人

ls_contacts-address_type_3-task ='I'。 "代表创建CP

的地址

*指定要获取的联系人号码

*这将仅向我们提供联系人号码

*注意:如果系统中存在注释1749700,则联系人号码可以留空

呼叫功能'BAPI_PARTNEREMPLOYEE_GETINTNUM'

导出

数量='1'

导入

contactid = lv_contactid。

ls_contacts-data_key-parnr = lv_contactid。 "联系人号码

*设置联系人姓名

ls_contacts-address_type_3-postal-data-fullname ='John Doe'。

ls_contacts-address_type_3-postal-data-firstname ='John'。

ls_contacts-address_type_3-postal-data-lastname ='Doe'。

APPEND ls_contacts到lt_contacts。

粗暴的香蕉
7楼-- · 2020-08-31 22:37


嗨,我也检查了链接,但问题是记录iare。

1。 如果我按照上述代码使用maintain_bapi创建联系人,则会执行该联系人,但不会在knvk表或xk02 tcode的供应商屏幕中填充值。

2。 如果即时通讯使用维护_bapi编辑联系人,即。 first im使用bdc创建带有必填字段(名称,姓氏,部门和功能)的供应商联系人

第二个添加通信详细信息,例如电话传真或电子邮件(通过使用address_type3结构),其显示错误:"地址编号或地址句柄缺失"。 但是事情是我在供应商的address-> postal(structure)中传递了adrnr。

所以请提示是错误吗?

一周热门 更多>