点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
以前,我设法使用FM'BAPI_MATERIAL_SAVEDATA'更新了BRGEW字段。现在,我需要更新字段MATNR,但是不能使用此FM,因为BAPIMATHEAD中的Material结构只有18 Lenght,而我需要更新18以上 lenght.is 有什么办法可以解决此问题?
这是我在更新字段BRGEW时的代码。
DATA:普通型p小数2。 数据:xheaddata类似于bapimathead OCCURS 0 WITH HEADER LINE, xclientdata像bapi_mara的OCCURS 0,带有标题行, xclientdatax像bapi_marax的OCCURS 0,带有标题行, xunitsofmeasure类似于bapi_marm的OCCURS 0,带有标题行, xunitsofmeasurex像bapi_marmx的OCCURS 0,带有标题行, xreturn像bapi_matreturn2一样,在标题行中出现了0, 返回带有标题行的bapiret2占位0。 参数p_matnr像mara-matnr。 参数p_brgew TYPE i。 刷新xheaddata。 xheaddata-material = p_matnr。 " <=在此设置材料编号 xheaddata-basic_view ='X'。 xheaddata-inp_fld_check ='W'。 附加xheaddata。 xclientdata-net_weight ='111'。 " <=在此处设置净重 xclientdatax-net_weight ='X'。 xclientdata-unit_of_wt ='TO'。 " <=此处设置测量单位 xclientdatax-unit_of_wt ='X'。 附加xclientdata。 附录xclientdatax。 xunitsofmeasure-gross_wt = p_brgew。 " <=在此处设置毛重 xunitsofmeasurex-gross_wt ='X'。 xunitsofmeasure-unit_of_wt ='TO'。 " <=此处设置测量单位 xunitsofmeasurex-unit_of_wt ='X'。 xunitsofmeasure-alt_unit ='ST'。 " <=在此设置ALT的测量单位 xunitsofmeasurex-alt_unit ='ST'。 " <=在此设置ALT的测量单位 附录xunitsofmeasure。 附录xunitsofmeasurex。 通话功能'BAPI_MATERIAL_SAVEDATA' 出口 headdata = xheaddata clientdata = xclientdata clientdatax = xclientdatax 桌子 计量单位= x计量单位 度量单位x = x度量单位x returnmessages = xreturn。 如果sy-subrc = 0。 通话功能'BAPI_TRANSACTION_COMMIT' 出口 等待='X'。 IF return-type ='S'。 写:"材料",p_matnr," Berhasil di update",/。 ELSEIF return-type ='E'。 写:" Gagal",/。 万一。 ENDIF。
您好史葛(Stedward McKnight),
我认为无法更新物料编号。 您应该将现有的物料编号复制到新的物料,并将删除标志设置为旧的物料编号。
更新物料编号的长度,不仅仅是修改值。 它还检查所有特定代码,以确保您在EDI的CALL FUNCTION中使用正确的字段大小。 您没有使用MATN18 ...
第二点,更新MARA表的值将直接影响所有现有文档:采购订单,销售订单,物料清单... ... 计划管理此项目?
史蒂夫·麦克奈特,
建议您 请仔细阅读OSS注释2215852。
Sap通过引入以_LONG结尾的字段清楚地解决了这一差距。 如果您进入标头结构并到达最后一个字段,则在您引用的同一BAPI中可以找到必填字段。 在屏幕快照下面供参考,请尝试填充该字段,您的问题将得到解决。
一周热门 更多>