ABAP CEWB ABAP_IF_CONDITION_MATERIAL_NUMBER 2

2020-08-19 06:52发布

付费偷看设置
发送
7条回答
我是小鹏鹏啊
1楼-- · 2020-08-19 07:27

您好 Marko

字段" matnr"在"细分"结构中不可用, 因此,您应该从MAST表中获取它;

此处是我刚刚在沙盒系统中尝试过的代码,该代码可以正常工作:

 * X是您必须返回的值
 表格GET_NEW_ITM_CLASS_DATA_MENGE
 使用段结构ITM_CLASS_DATA
 更改X。

 数据l_stlnr类型stnum。

 选择单个stlnr到l_stlnr
   从桅杆
   其中matnr ='000000000004030012'。  "用您的matnr替换

 如果segment-stlnr = l_stlnr。
   x =1110。"替换为您的数量
 endif。

希望这会有所帮助。

Flavio

Nir深蓝
2楼-- · 2020-08-19 07:18

嗨, Marko

"组件"(IDNRK)字段在"段"结构中可用,因此代码稍有不同,无需通过select来获取数据,例如:/p>

 * X是您必须返回的值
 表格GET_NEW_ITM_CLASS_DATA_MENGE
 使用段结构ITM_CLASS_DATA
 更改X。

 如果segment-idnrk = l_something。 用您的标准替换
   x =84。"替换为您的数量
 endif。

Flavio

SAP德到
3楼-- · 2020-08-19 07:18

代码正常(没有错误弹出),但是什么也没发生。 " matnr"是红色三角形中列出的数字吗?

打个大熊猫
4楼-- · 2020-08-19 07:38

是的,应引用材料的前导零。 您可以为此使用转换例程。

Flavio

Violet凡
5楼-- · 2020-08-19 07:28

哪个abaut字段组件(fieldITM_CLASS_DATA-IDNRK)? 代码是否相同?

槿木_熙
6楼-- · 2020-08-19 07:35

您好 Marko

更改" idnrk"字段的代码如下:

 * X是您必须返回的值
 表格GET_NEW_ITM_CLASS_DATA_IDNRK
 使用段结构ITM_CLASS_DATA
 更改X。

 数据l_stlnr类型stnum。

 选择单个stlnr到l_stlnr
  从桅杆
  其中matnr ='000000000000051111'。  "在这里,要处理的事项

 如果segment-stlnr = l_stlnr。
  x ='000000000000032123'。  "在这里,要更改的idnrk代码
 万一。

 endform。

请注意:

  • 与以前的代码相比,表单名称已更改,因为我们现在正在处理另一个字段idnrk(这将
  • 希望更改IDnrk代码必须以前导零开头,

希望这将有助于澄清

Flavio

一周热门 更多>