添加idoc ORDRSP的物料可用日期(2个分段中的2个条件)

2020-08-25 15:33发布

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

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


大家好。

在特定情况下,我需要一些帮助,在该情况下,我需要创建带有限定符'EXT'的段E2EPD03,并且仅针对工厂'1234'上的物料(例如E2EPD03-WERKS ='1234')。

我需要VBAP-ZZIMBD输出的物料可用日期。

这是我的代码,有人可以帮助我改进它,我没有输出日期。

 FORM f999_E2EPD03_date_otm 
表格p_int_edidd结构edidd
p_dxvbpa结构vbpa
p_dxvbap结构vbap
p_dxvbep结构vbp
p_dxvbv结构 p_dxvv >使用p_dxvbak类型vbak
p_dxhvbkd类型vbkd
p_dobject类型nast。
数据:lw_E2EPD03类型E2EPD03,
lw_E2EPD01类型E2EPD01,
lw_edidd类型,
lw_edidd类型 > l_zzimbd_int类型VBAP-ZZIMBD,
l_tabix类型sy-index。
如果lw_edidd-segnam ='E2EPD01'。
l_tabix = sy-tabix。
f_spec01 ='X'。
移动 lw_edidd-sdata到lw_E2EPD01。
附加lw_edidd。
ELSEIF lw_edidd-segnam ='E2EPD03'。
l_tabix = sy-tabix。
f_spec01 ='X'。
移动lw_edidd-sdata TO lw_E2EPD03。
lw_edidd。
如果lw_E2EPD03-iddat ='ETD'并且lw_E2EPD01-werks ='3750'。
将lw_E2EPD03-datum移至l_zzimbd_int。
ENDIF。 ENDFORM。

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

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


大家好。

在特定情况下,我需要一些帮助,在该情况下,我需要创建带有限定符'EXT'的段E2EPD03,并且仅针对工厂'1234'上的物料(例如E2EPD03-WERKS ='1234')。

我需要VBAP-ZZIMBD输出的物料可用日期。

这是我的代码,有人可以帮助我改进它,我没有输出日期。

 FORM f999_E2EPD03_date_otm 
表格p_int_edidd结构edidd
p_dxvbpa结构vbpa
p_dxvbap结构vbap
p_dxvbep结构vbp
p_dxvbv结构 p_dxvv >使用p_dxvbak类型vbak
p_dxhvbkd类型vbkd
p_dobject类型nast。
数据:lw_E2EPD03类型E2EPD03,
lw_E2EPD01类型E2EPD01,
lw_edidd类型,
lw_edidd类型 > l_zzimbd_int类型VBAP-ZZIMBD,
l_tabix类型sy-index。
如果lw_edidd-segnam ='E2EPD01'。
l_tabix = sy-tabix。
f_spec01 ='X'。
移动 lw_edidd-sdata到lw_E2EPD01。
附加lw_edidd。
ELSEIF lw_edidd-segnam ='E2EPD03'。
l_tabix = sy-tabix。
f_spec01 ='X'。
移动lw_edidd-sdata TO lw_E2EPD03。
lw_edidd。
如果lw_E2EPD03-iddat ='ETD'并且lw_E2EPD01-werks ='3750'。
将lw_E2EPD03-datum移至l_zzimbd_int。
ENDIF。 ENDFORM。
付费偷看设置
发送
1条回答
粗暴的香蕉
1楼 · 2020-08-25 16:15.采纳回答

1。 看起来ELSEIF语句中无意中缺少了APPEND一词。

更改自:

将lw_edidd-sdata移动到lw_E2EPD03。
lw_edidd。
IF 改成: 将lw_edidd-sdata移动到lw_E2EPD03。 APPEND lw_edidd。 如果

2。 您确定要仅限于这两者吗?

首先检查并确保IDDAT和WERKS字段都已填充,并且根据需要使用'ETD'和'3750'填充。 也许其中一个或两个都没有填充这些确切值。

3。 考虑暂时停用此IF语句及其ENDIF,以查看此MOVE语句是否完全起作用,即使IDDAT不等于'ETD'或WERKS不等于'3750'。

 * IF lw_E2EPD03-iddat ='ETD'并且lw_E2EPD01-werks ='3750'。
将lw_E2EPD03-datum移至l_zzimbd_int。
* ENDIF。

4。 确认您已正确将字段添加到IDoc扩展

5。 确保lw_E2EPD03-datum和l_zzimbd_int是相同或兼容的类型

6。 确保您无意间清除了lw_E2EPD01-werks

当您使用lw_edidd-segnam ='E2EPD03'

一周热门 更多>