使用BAPI_MATERIAL_SAVEDATA无法写入扩展字段
Posted Rainystuday
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用BAPI_MATERIAL_SAVEDATA无法写入扩展字段相关的知识,希望对你有一定的参考价值。
1.目的: 导入MARC增强字段 ZZJYFS, ZZBLBM, ZZBLTXT
2. BAPI结构已经加上了增强字段
3. 程序代码
IF bapi_te_marc IS NOT INITIAL. bapi_te_marc-plant = plantdata-plant. bapi_te_marcx-plant = plantdata-plant. CLEAR: extensionin, lv_marc_value. lv_marc_value = bapi_te_marc. extensionin-structure = \'BAPI_TE_MARC\'. extensionin-valuepart1 = lv_marc_value(240). extensionin-valuepart2 = lv_marc_value+240(240). extensionin-valuepart3 = lv_marc_value+480(240). extensionin-valuepart4 = lv_marc_value+720(240). APPEND extensionin. CLEAR: extensioninx, lv_marc_valuex. lv_marc_valuex = bapi_te_marcx. extensioninx-structure = \'BAPI_TE_MARCX\'. extensioninx-valuepart1 = lv_marc_valuex(240). extensioninx-valuepart2 = lv_marc_valuex+240(240). extensioninx-valuepart3 = lv_marc_valuex+480(240). extensioninx-valuepart4 = lv_marc_valuex+720(240). APPEND extensioninx. ENDIF. ***************"执行bapi************************* CALL FUNCTION \'BAPI_MATERIAL_SAVEDATA\' EXPORTING headdata = headdata clientdata = clientdata clientdatax = clientdatax plantdata = plantdata plantdatax = plantdatax forecastparameters = forecastparameters forecastparametersx = forecastparametersx planningdata = planningdata planningdatax = planningdatax storagelocationdata = storagelocationdata storagelocationdatax = storagelocationdatax valuationdata = valuationdata valuationdatax = valuationdatax warehousenumberdata = warehousenumberdata warehousenumberdatax = warehousenumberdatax salesdata = salesdata salesdatax = salesdatax storagetypedata = storagetypedata storagetypedatax = storagetypedatax flag_online = \' \' flag_cad_call = \' \' no_dequeue = \' \' no_rollback_work = \' \' IMPORTING return = return TABLES materialdescription = materialdescription unitsofmeasure = unitsofmeasure unitsofmeasurex = unitsofmeasurex internationalartnos = internationalartnos materiallongtext = materiallongtext taxclassifications = taxclassifications returnmessages = returnmessages prtdata = prtdata prtdatax = prtdatax extensionin = extensionin extensioninx = extensioninx. IF return-type = \'S\' AND gv_test IS INITIAL."执行成功 CALL FUNCTION \'BAPI_TRANSACTION_COMMIT\' "提交该BAPI EXPORTING wait = \'X\'. ELSE. CALL FUNCTION \'BAPI_TRANSACTION_ROLLBACK\'. ENDIF.
导入数据:
值已经写到扩展结构:
BAPI执行结果,不会去更新扩展字段值
解决办法:
尝试1, OMSR 添加新增的增强字段
3 个字段都维护上
以上是关于使用BAPI_MATERIAL_SAVEDATA无法写入扩展字段的主要内容,如果未能解决你的问题,请参考以下文章