问题描述
我正在使用 UFT (vbscript) 来自动化 SAP 和网页之间的流程。使用 SAP 事务 S_ALR_87013534
,我在 UFT 中有一段代码,可以完全扩展树并提取与其中一个订单号关联的值:
set tree = SAPGuiSession("Session").SAPGuiWindow("Execute Drilldown Report").SAPGuiTree("TableTreeControl")
tree.OpenItemContextMenu "PRJ "&projNum,"PRJ "&projNum
tree.SelectMenuItemById "&EXPAND"
tree.SelectNode "PRJ "&projNum
colKey_plan1 = getColNameFromTitle(tree,"Plan 2--Overall")
rowContainingOrdNum = findBudget(tree,ordNum)
plannedProjectBudget = tree.Object.GetItemText(tree.Object.GetAllNodeKeys(rowContainingOrdNum(0)),colKey_plan1)
Function getColNameFromTitle(tree,title)
set colNames = tree.Object.GetColumnNames
For i = 1 To (colNames.length-1)
selectedColTitle = tree.Object.GetColumnTitleFromName(colNames(i))
If selectedColTitle = title Then
getColNameFromTitle = colNames(i)
Exit For
End If
Next
End Function
Function findBudget(tree,ordNum)
rowContainingOrdNum = Array()
Set columnNames = tree.Object.GetColumnNames()
set columnKeys = tree.Object.GetColumnCol(columnNames(0))
For i = 1 To (columnKeys.length-1)
If InStr(columnKeys(i),ordNum)>0 Then
AddItem rowContainingOrdNum,i
Exit For
End If
Next
findBudget = rowContainingOrdNum
End Function
Function AddItem(arr,val)
ReDim Preserve arr(UBound(arr) + 1)
arr(UBound(arr)) = val
AddItem = arr
End Function
这很完美,但是当我使用不同的报告 S_ALR_87013543
时,它仍然被识别为树,但上面的代码不起作用,因为对象标题中没有 EXPAND 选项。我对 SAP 及其所有树以及如何使用自动化不太熟悉,因此感谢您提供任何指导或提示。
左边是我需要展开的报告,右边是代码使用的报告:
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)