SAP如何在创建用于VBA的BOM时查找行数

时间:2018-05-31 15:52:57

标签: vba sap

我正在尝试编写一个功能,将BOM从旧零件复制到新零件,只更改材料数量。为此,我需要知道每个特定BOM中有多少材料行,这些材料根据零件而变化。当我在SAP中使用脚本记录器时,它似乎引用了相对于屏幕顶部的每行 。第一行是0,第二行是1,依此类推。如果我向下滚动,则会有一个新的0行。有没有更简单的方法来查找有多少行包含数据?

示例行0     WND [0]的/ usr / tabsTS_ITOV / tabpTCMA / ssubSUBPAGE:SAPLCSDI:0152 / tblSAPLCSDITCMAT / txtRC29P,门奇[4,0]

example of such a BOM如果要继续滚动,还有其他行。

1 个答案:

答案 0 :(得分:0)

SAPsession.findById("wnd[0]/usr/tabsTS_ITOV/tabpTCMA/ssubSUBPAGE:SAPLCSDI:0152/tblSAPLCSDITCMAT").rowcount

将为您提供子页面上的行数。然后你只需要遍历它们。

在VBA中,类似于:

    allrows  = SAPsession.findById  ("wnd0]/usr/tabsTS_ITOV/tabpTCMA/ssubSUBPAGE:SAPLCSDI:0152/tblSAPLCSDITCMAT").rowcount

For row = 0 to allrows
  product = session.findById("wnd0]/usr/tabsTS_ITOV/tabpTCMA/ssubSUBPAGE:SAPLCSDI:0152/tblSAPLCSDITCMAT/ctxtRC29P-IDNRK[4," & row & "]").Text
next row