使用FM'MATERIAL_SAVE_CONFIGURATION'配置变体记录

2020-08-23 20:49发布

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

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


大家好,

我在使用FM'MATERIAL_SAVE_CONFIGURATION'配置变体记录时遇到问题

我已经编写了一个程序来配置变体记录,如下所示,但它不起作用

lt_e1cuval-charc = gw_details-atnam01。

lt_e1cuval-value = gw_details-atwrt01。

APPEND lt_e1cuval。

lt_e1cuval-charc = gw_details-atnam02。

lt_e1cuval-value = gw_details-atwrt02。

APPEND lt_e1cuval。

lt_e1cuval-charc = gw_details-atnam03。

lt_e1cuval-value = gw_details-atwrt03。

APPEND lt_e1cuval。

lt_e1cuval-charc = gw_details-atnam04。

lt_e1cuval-value = gw_details-atwrt04。

APPEND lt_e1cuval。

lt_e1cuval-charc = gw_details-atnam05。

lt_e1cuval-value = gw_details-atwrt05。

APPEND lt_e1cuval。


* 2.在客户端使用FM MATERIAL_SAVE_CONFIGURATION保存配置

*和工厂级别。

* ----------客户端特定的配置-------------------------------- ------

通话功能'MATERIAL_SAVE_CONFIGURATION'

导出

材质= gw_details-matnr

" conf_matl = lv_matnr

表格

e1cucfg = lt_e1cucfg

e1cuins = lt_e1cuins

e1cuval = lt_e1cuval

e1cucom = lt_e1cucom

returnmessages = gt_returnmessages。


调用功能'BAPI_TRANSACTION_COMMIT'。


* -----------特定于工厂的配置------------------------------- ----------

* ---保存每个工厂的配置-----------------------------------

通话功能'MATERIAL_SAVE_CONFIGURATION'

导出

材质= gw_details-matnr

plant = gw_details-werks" iv_plant

conf_matl_plant = gw_details-stdpd

表格

e1cucfg_w = lt_e1cucfg

e1cuins_w = lt_e1cuins

e1cuval_w = lt_e1cuval

e1cucom_w = lt_e1cucom

returnmessages = gt_returnmessages。

调用功能'BAPI_TRANSACTION_COMMIT'。



下面显示了错误消息的屏幕截图,

结果:

请协助,


此致,

Liyana

使用bapi在Material Master(MM02)中配置材料 error1.PNG (17.8 kB)

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

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


大家好,

我在使用FM'MATERIAL_SAVE_CONFIGURATION'配置变体记录时遇到问题

我已经编写了一个程序来配置变体记录,如下所示,但它不起作用

lt_e1cuval-charc = gw_details-atnam01。

lt_e1cuval-value = gw_details-atwrt01。

APPEND lt_e1cuval。

lt_e1cuval-charc = gw_details-atnam02。

lt_e1cuval-value = gw_details-atwrt02。

APPEND lt_e1cuval。

lt_e1cuval-charc = gw_details-atnam03。

lt_e1cuval-value = gw_details-atwrt03。

APPEND lt_e1cuval。

lt_e1cuval-charc = gw_details-atnam04。

lt_e1cuval-value = gw_details-atwrt04。

APPEND lt_e1cuval。

lt_e1cuval-charc = gw_details-atnam05。

lt_e1cuval-value = gw_details-atwrt05。

APPEND lt_e1cuval。


* 2.在客户端使用FM MATERIAL_SAVE_CONFIGURATION保存配置

*和工厂级别。

* ----------客户端特定的配置-------------------------------- ------

通话功能'MATERIAL_SAVE_CONFIGURATION'

导出

材质= gw_details-matnr

" conf_matl = lv_matnr

表格

e1cucfg = lt_e1cucfg

e1cuins = lt_e1cuins

e1cuval = lt_e1cuval

e1cucom = lt_e1cucom

returnmessages = gt_returnmessages。


调用功能'BAPI_TRANSACTION_COMMIT'。


* -----------特定于工厂的配置------------------------------- ----------

* ---保存每个工厂的配置-----------------------------------

通话功能'MATERIAL_SAVE_CONFIGURATION'

导出

材质= gw_details-matnr

plant = gw_details-werks" iv_plant

conf_matl_plant = gw_details-stdpd

表格

e1cucfg_w = lt_e1cucfg

e1cuins_w = lt_e1cuins

e1cuval_w = lt_e1cuval

e1cucom_w = lt_e1cucom

returnmessages = gt_returnmessages。

调用功能'BAPI_TRANSACTION_COMMIT'。



下面显示了错误消息的屏幕截图,

结果:

请协助,


此致,

Liyana

使用bapi在Material Master(MM02)中配置材料 error1.PNG (17.8 kB)
付费偷看设置
发送
2条回答
天桥码农
1楼 · 2020-08-23 21:07.采纳回答

您好Liyana,

请查看有关MATERIAL_SAVE_CONFIGURATION功能模块的OSS注释736873。

这里是一个基于您的代码并使用我的沙盒系统特性和硬编码值(可根据您的情况进行调整的可配置材料,工厂,特征,特性值等)的FM使用示例。 试试看。

起点是一个新创建的材料,尚未引用任何工厂特定的配置(MRP3字段为空)。

报告zflatest。

数据:带有标题行的e1cucfg的lt_e1cucfg类型标准表,

lt_e1cuins标头行的e1cuins类型标准表,

带有标题行的e1cuval的lt_e1cuval类型标准表,

e1cucom的lt_e1cucom类型标准表,

gt_returnmessage类型标准表bapi_matreturn2。

数据:gv_matnr TYPE matnr。

lt_e1cucfg-POSEX ='4000'。

lt_e1cucfg-CONFIG_ID ='000001'。

lt_e1cucfg-ROOT_ID ='00000001'。

lt_e1cucfg-COMPLETE ='T'。

lt_e1cucfg-CONSISTENT ='T'。

APPEND lt_e1cucfg。

lt_e1cuins-INST_ID ='00000001'。

lt_e1cuins-OBJ_TYPE ='MARA'。

lt_e1cuins-CLASS_TYPE ='300'。

lt_e1cuins-OBJ_KEY ='C_GLTP'。

lt_e1cuins-QUANTITY ='1000'。

lt_e1cuins-QUANTITY_UNIT ='KG'。

lt_e1cuins-COMPLETE ='T'。

lt_e1cuins-CONSISTENT ='T'。

lt_e1cuins-OBJECT_GUID ='C_GLTP'。

APPEND lt_e1cuins。

gv_matnr ='000000000004002322'。

* -----特征值管理

lt_e1cuval-inst_id ='00000001'。

lt_e1cuval-valcode ='1'。

lt_e1cuval-charc ='SHOT_PEENING_Y_N'。

lt_e1cuval-value ='N'。

APPEND lt_e1cuval。

lt_e1cuval-charc ='BENDING_Y_N'。

lt_e1cuval-value ='N'。

APPEND lt_e1cuval。

lt_e1cuval-charc ='LENGTH_MIN_DISCRIMINATING_MM'。

lt_e1cuval-value ='5000'。

APPEND lt_e1cuval。

lt_e1cuval-charc ='LENGTH_MAX_DISCRIMINATING_MM'。

lt_e1cuval-value ='7000'。

APPEND lt_e1cuval。

* -----------特定于工厂的配置-------------------------------- -------------

* ---保存每个工厂的配置----------------- -

CALL FUNCTION'MATERIAL_SAVE_CONFIGURATION'

导出

材质= gv_matnr

plant ='4000'" iv_plant

conf_matl_plant ='C_GLTP'

表格

e1cucfg_w = lt_e1cucfg

e1cuins_w = lt_e1cuins

e1cuval_w = lt_e1cuval

e1cucom_w = lt_e1cucom

returnmessages = gt_returnmessages。

CALL FUNCTION'BAPI_TRANSACTION_COMMIT'

导出

WAIT ='X'。

运行代码后,此处是来自功能模块的消息:

这里是具有更新值的配置:

如果材料已经配置并且需要更改配置,则代码应首先使用CUXM_GET_CONFIGURATION功能模块读取配置结构(请参见上面的OSS注释)。

我希望这会有所帮助。

谢谢,再见

Flavio

hongfeng1314
2楼-- · 2020-08-23 21:16

嗨, flavio ciotola

目前,我遇到了同样的问题,您的解决方案效果很好。 一件事是不同的。 当我执行我的代码(与您的示例相同的逻辑)时,我得到以下物料主数据mrp3数据:

按下"复制x-plant配置"后,选中"变式"复选框并设置"变式配置"。

我的问题现在,如何实现我的程序自动将此配置复制到变体配置中?

这与您解释的逻辑相同,我总是得到此按钮。 有什么建议吗?

谢谢你,最好的问候,卢卡

一周热门 更多>