SAP---关于【暂不支持此元素,请选择数据表格元素】一些办法———by.御花园自动化小组
评论
收藏

SAP---关于【暂不支持此元素,请选择数据表格元素】一些办法———by.御花园自动化小组

经验分享
旺仔
2023-10-30 17:24·浏览量:1070
旺仔
发布于 2023-10-30 17:241070浏览

背景:客户想要实现在SAP中获取单元格文本或者总列数,这个我们目前可以做到,使用【获取单元格(sap)、获取表格总行数(sap)】等这些指令,能够解决大部分SAP的数据表格获取的问题

但在实际应用中,总有一些数据表格,使用后提示【暂不支持此元素,请选择数据表格元素】,因为不支持这类元素,所以整理了关于这类表格的相关经验分享给需要的人。


一、使用python调用获取

思路:在流程中新建python代码,插入下面代码后,在主流程中调用相关函数即可。

     【剑心老师提供】

from xbot_extensions.activity_sap.sapgui import SapGui


def get_cell_value(row, column):
    sap = SapGui()
    tab = sap.TopWnd.findById("usr/tblSAPLKBPPTC_320")
    row_count = tab.RowCount
    res = tab.GetCell(row, column)
    return res.Text

def get_row(row):
    data = []
    sap = SapGui()
    tab = sap.TopWnd.findById("usr/tblSAPLKBPPTC_320")
    column_count = tab.Columns.Count
    for i in range(column_count):
        res = tab.GetCell(row, i)
        data.append(res.Text)
        return data

def get_row_count():
    sap = SapGui()
    tab = sap.TopWnd.findById("usr/tblSAPLKBPPTC_320")
    row_count = tab.RowCount
    return row_count

def get_column_count():
    sap = SapGui()
    tab = sap.TopWnd.findById("usr/tblSAPLKBPPTC_320")
    column_count = tab.Columns.Count
    return column_count

1.1 使用说明

  1. get_cell_value(row, column)函数:参数:row表示行号,column表示列号。功获取指定单元格的文本值
  2. get_row(row)函数:参数:row表示行号。获取指定行的所有单元格的文本值列表。
  3. get_row_count()函数:返回这一个页面所有的行数。
  4. get_column_count()函数:获取这一个页面所有的列数。

1.2注意事项:

(1)这些函数都是通过SAP GUI自动化来操作SAP系统中的表格,其中usr/tblSAPLKBPPTC_320 是表格参数id需要修改。

(2)实现,流程调用



二、元素编辑

思路:虽然这类表格没有办法获取整个表格内数据,但是可以单独捕获单个的元素,比如输入框、文本框、复选框,捕获后发现元素的编辑框内是靠坐标来定位元素的,所以将坐标设置为全局变量即可,定位到对应元素获取信息。

1  【获取单元格文本】

1.1 可以发现是通过坐标来定位位置的。

1.2 .如下图、设置一个全局变量将id属性使用全局变量进行替换,从而可以定位位置



1.3.当前面传递好指定行、列的单元格后,使用【获取元素信息】指令可以获取当前单元格的文本。


2.【获取总行、列】

2.1 通用办法:可以通过判断每一行某个固定有内容的元素单元格是否有数据来判断有多少行。

2.2 个别:在sap中填写物料的表格中,可填写的项目的值是永远大于0的,也可以判断项目值是否大于0来判断这行是否有数据,看有多少行。



3.循环相似元素

3.1 在SAP表格中无法使用相似元素,但是可以循环某一列单元格的坐标实现,挨个点击该列单元格的效果。

3.2 也可以使用键盘加点击的操作实现循环相似元素。

案例:判断数据,那一行有数据,动态点击复选框。



以上目前的一些解决方案,有更好的欢迎评论

感谢观看  

收藏5
全部评论1
最新
发布评论
评论