首页 > 其他分享 >从SAP TableControl中读取数据

从SAP TableControl中读取数据

时间:2023-08-24 21:55:06浏览次数:32  
标签:读取数据 row per tbl position SAP page columns TableControl

class SapGuiTableControl:
    """
    读取GuiTableControl对象的数据。
    """
    @staticmethod
    def get_data(session, _id, columns=None):
        """
        获取指定列的数据,索引从0开始。

        :param session: SAP的GuiSession对象。
        :param _id: SAP组件ID。
        :param columns: 需要获取数据的列索引。
        """
        result = []
        tbl = session.findById(_id)
        # 如果没有指定要读取的列,则读取全部列
        columns = columns or [i for i in range(tbl.Columns.Count)]

        row_number = 0
        page = 0
        old_position = -1
        new_position = 0

        # 滚动到下页的位置没有变更,则表示到达最后一页
        while old_position != new_position:
            rows_per_page = tbl.Children.Count // tbl.Columns.Count
            page += 1

            # 读取一页的数据
            for row in range(rows_per_page):
                row_data = [tbl.GetCell(row, column_number).Text for column_number in columns]
                result.append(row_data)
                # print("Page:", page, "PageSize:", str(row + 1) + '/' + str(rows_per_page), row_data)
            row_number += rows_per_page

            # 滚动到下页的位置
            next_page_position = tbl.VerticalScrollbar.Position + tbl.VisibleRowCount
            old_position = tbl.verticalScrollbar.position
            tbl.verticalScrollbar.position = next_page_position

            # 获取翻页后的表格控件对象
            tbl = session.findById(_id)
            new_position = tbl.verticalScrollbar.position

        return result

  

https://blog.csdn.net/chenguangqi/article/details/125787415?spm=1001.2014.3001.5502

标签:读取数据,row,per,tbl,position,SAP,page,columns,TableControl
From: https://www.cnblogs.com/pythonClub/p/17655264.html

相关文章

  • SAP login self
    importsysimportwin32com.clientimportwin32apiimportwin32guiimportwin32con#importwin32uiimporttimeimportosimportsubprocessdefLogin():sap_app=r"C:\ProgramFiles(x86)\SAP\FrontEnd\SAPgui\saplogon.exe"subproces......
  • CSAPP Notes ML Programming
    CSAPPNotes:MLProgrammingComputerSystem-Notes:MLProgramming本课程主要使用x86指令;CISC(复杂指令集);ARM属于RISC(精简指令集);g++和gccg++和gcc都是GNUCompilerCollection(GNU编译器集合)中的工具,用于编译源代码并生成可执行文件。然而,它们之间有一些区......
  • 【腾讯云 TDSQL-C Serverless 产品体验】 使用 Python 向 TDSQL-C 添加读取数据 实现
    前言TDSQL-CMySQL版(TDSQL-CforMySQL)是腾讯云自研的新一代云原生关系型数据库。融合了传统数据库、云计算与新硬件技术的优势,为用户提供具备高弹性、高性能、海量存储、安全可靠的数据库服务。TDSQL-CMySQL版100%兼容MySQL5.7、8.0。实现超百万级QPS的高吞吐,最高PB级智......
  • SAP ABAP 模式(Pattern)、模板的创建与调用
    1.代码模板2.模式(Pattern) 调用3.标准模式,一些内置固定格式代码的填充  ......
  • CSAPP Notes: Types
    CSAPPNotes,类型随手写的,可能会有错误();类型数据类型大小char1bool1shortint(short)2int4longint(long)4或8(取决于平台)longlongint8float4double8longdouble8或16(取决于平台)wchar_t2或4(取决于平台)size......
  • 什么是 SAP UI5 的 BaseObject
    SAPUI5是一种用于构建现代Web应用程序的JavaScript框架,它提供了丰富的UI控件、数据绑定和模型驱动的开发模式,用于创建用户友好、功能强大的企业级应用。在SAPUI5框架中,BaseObject是一个重要的基类,Object.js是其中的一个文件,用于实现BaseObject类。本文将详细解释BaseObject的作......
  • 什么是 SAP S/4HANA 的 Virtual Data Model(VDM)
    VDM的具体实现技术是ABAPCDSview.什么是VirtualDataModel(VDM)?VirtualDataModel(VDM)是在SAPS/4HANA中引入的一个重要概念,用于帮助组织更好地理解和操作企业数据。它是一种逻辑数据模型,用于表示和组织企业数据的各个方面,以支持不同层次的分析、报告和查询需求。VDM旨在......
  • 什么是 SAP S/4HANA 的 VDM Layering Architecture 的 VDM Basic View
    在SAPS/4HANA的VDMLayeringArchitecture中,VDMBasicView是体系结构的最底层。它是构建数据模型的基础,提供了直接从底层数据表获取原始数据的能力。VDMBasicView旨在将操作性数据从底层系统中抽取出来,为上层的数据整合和分析提供原始数据的基础。VDMBasicView的关......
  • 什么是 SAP CDS view 的 supplementary filter
    SAPCDS视图是一种建模工具,用于在SAPS/4HANA系统中定义数据模型和视图,以便更轻松地访问和处理数据。"Supplementaryfilter"是CDS视图的一个重要概念,它允许您在CDS视图上应用额外的过滤条件,以动态地限制视图返回的数据。本文将详细介绍"supplementaryfilter"的背景、用途和示例......
  • 关于 SAP UI5 预定义的 CSS Margin class
    与padding不同,margin是透明的,不是控件可单击区域的一部分,并且它们与相邻边距折叠在一起,这意味着它们不会相互添加。例如,有两个相邻的32像素margin,则结果是仅显示一个32像素边距,而不是64像素的空间。SAPUI5中预定义的所有边距都支持从右到左(RTL)语言:当向左侧添加边......