使用BAPI_GOODSMVT_CREATE填充MSEG中的自定义字段

2020-09-11 04:42发布

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

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


专家们,

我正在使用bapi BAPI_GOODSMVT_CREATE创建Godos动作,效果很好。 但是现在我们在MSEG中有了一个新字段ZTALLA(CHAR10),所以我也必须使用bapi来填充它。

我尝试使用结构BAPI_TE_MSEGO1和BAPI_TE_MSEGO1_CHAR,在两个结构中都添加了字段ZTALLA(CHAR10)和ZTALLA(CHAR1)。 在我的代码中,我这样做如下:

数据:lw_datos TYPE bapi_te_msego1,

lw_datosx类型bapi_te_msego1_char,

TYPE Bapiparex中的lw_extension。

清除lw_datos。

lw_datos-ztalla = i_alv-ztalla。

清除lw_extensionin。

lw_extensionin-structure ='BAPI_TE_MSEGO1'。

lw_extensionin-valuepart1 = lw_datos。

APPEND lw_extensionin到li_extensionin。

清除lw_datosx。

lw_datosx-ztalla ='X'。

清除lw_extensionin。

lw_extensionin-structure ='BAPI_TE_MSEGO1_CHAR'。

lw_extensionin-valuepart1 = lw_datosx。

APPEND lw_extensionin到li_extensionin。

然后:

呼叫功能'BAPI_GOODSMVT_CREATE'
导出
goodsmvt_header = gv_cabecera
goodsmvt_code = gv_codigo
IMPORTING
* goodsmvt_headret = gt_return
物料文档= gemat doc_year
表格
goodsmvt_item = it_item
* GOODSMVT_SERIALNUMBER =
return = gt_return
extensionin = li_extensionin。

但是没有用。 也许问题在于两个结构都具有这些字段,并且由于我的文档仍未创建,所以我无法填写它们?

MBLNR
MJAHR
ZEILE

因此,在搜索了论坛之后,我更改为:

数据:lw_datos TYPE BAPI_TE_XMSEG。

清除lw_datos。

lw_datos-ztalla = i_alv-ztalla。

清除lw_extensionin。

lw_extensionin-structure ='BAPI_TE_XMSEG'。

lw_extensionin-valuepart1 = p_tabix。

lw_extensionin-valuepart2 = i_alv-ztalla。

将lw_extensionin附加到li_extensionin中。

但是它不起作用。 我的问题是,可以按照我的要求去做吗?

预先感谢

玛丽亚

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

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


专家们,

我正在使用bapi BAPI_GOODSMVT_CREATE创建Godos动作,效果很好。 但是现在我们在MSEG中有了一个新字段ZTALLA(CHAR10),所以我也必须使用bapi来填充它。

我尝试使用结构BAPI_TE_MSEGO1和BAPI_TE_MSEGO1_CHAR,在两个结构中都添加了字段ZTALLA(CHAR10)和ZTALLA(CHAR1)。 在我的代码中,我这样做如下:

数据:lw_datos TYPE bapi_te_msego1,

lw_datosx类型bapi_te_msego1_char,

TYPE Bapiparex中的lw_extension。

清除lw_datos。

lw_datos-ztalla = i_alv-ztalla。

清除lw_extensionin。

lw_extensionin-structure ='BAPI_TE_MSEGO1'。

lw_extensionin-valuepart1 = lw_datos。

APPEND lw_extensionin到li_extensionin。

清除lw_datosx。

lw_datosx-ztalla ='X'。

清除lw_extensionin。

lw_extensionin-structure ='BAPI_TE_MSEGO1_CHAR'。

lw_extensionin-valuepart1 = lw_datosx。

APPEND lw_extensionin到li_extensionin。

然后:

呼叫功能'BAPI_GOODSMVT_CREATE'
导出
goodsmvt_header = gv_cabecera
goodsmvt_code = gv_codigo
IMPORTING
* goodsmvt_headret = gt_return
物料文档= gemat doc_year
表格
goodsmvt_item = it_item
* GOODSMVT_SERIALNUMBER =
return = gt_return
extensionin = li_extensionin。

但是没有用。 也许问题在于两个结构都具有这些字段,并且由于我的文档仍未创建,所以我无法填写它们?

MBLNR
MJAHR
ZEILE

因此,在搜索了论坛之后,我更改为:

数据:lw_datos TYPE BAPI_TE_XMSEG。

清除lw_datos。

lw_datos-ztalla = i_alv-ztalla。

清除lw_extensionin。

lw_extensionin-structure ='BAPI_TE_XMSEG'。

lw_extensionin-valuepart1 = p_tabix。

lw_extensionin-valuepart2 = i_alv-ztalla。

将lw_extensionin附加到li_extensionin中。

但是它不起作用。 我的问题是,可以按照我的要求去做吗?

预先感谢

玛丽亚

付费偷看设置
发送
1条回答
三十六小时_GS
1楼-- · 2020-09-11 05:34

(再次)阅读BAPI文档,然后查看BAdI MB_BAPI_GOODSMVT_CREATE(以及SAP实现和示例)

一周热门 更多>