SAP与tracker使用

简介: SAP与tracker使用

一. Tracker基本使用

1. Tracker基本概念介绍

  • Scripting Object: 展示SAP元素树, 可以展开与折叠
  • ID: 元素的ID, 通过ID确定唯一对应的元素
  • Text: 元素的文本内容, 如用户, 口令等, 没有文本的元素则Text内容为空
  • Type: 元素类型, 不同的元素类型有不同的属性与方法
2. 基本使用方法
  • SAP程序, 选择目标服务器, 进入登录页面
  • 打开tracker程序, 在Analyse会话框中, 点击扫描SAP会话

  • 出现类似 /app/com[0]ses[0]/wnd[0 ]的元素ID之后, 表明tracker已经与SAP正常创建了会话.
  • 进入Recorder会话框, 点击python, 与红色的Record按钮, tracker将一python代码的形式记录我们对SAP操作的过

  • 记录完成后点击黄色的Stop script process按钮, 再将tracker记录的python代码应用在自己的流程中

二. python代码与tracker

1.python创建SAP连接
import win32com.client
# 连接已经启动的SAP程序,获取COM(Component Object Model)对象,用于组件交互sap_gui_auto =win32com.client.Getobject("SAPGUI")# 获取脚本引擎对象
application =sap_gui auto.GetscriptingEngine# 获取连按
connect =application.children(0)
# 获取session,会话
session = connect.children(0)

注意:Children函数中参数的选择根据我们的会话实际情况选择,如果只开一个窗口,通常选择0即可,下图所示,打开了两个connect窗口,就存在两个connect,只需要选择需要的链接索引即可,session也是同理

2. 登录SAP
  • findById(), 参数为元素的ID, 可以找到wnd中唯一对应的元素
#登录SAP,在SAP中操作登录步骤
session.findById("wnd[0]/usr/txtRSYST-BNAME").text ="rpafasc"
session.findById("wnd[0]/usr/pwdRSYST-BCODE").text = "********"
session.findById("wnd[0]/usr/pwdRSYST-BCODE").setFocus()
session.findById("wnd[0]/usr/pwdRSYST-BCODE").caretPosition = 9session.findById("wnd[0]").sendvkey(0)
3. 进入供应商行项目, 并输入搜索条件
# 在SAP中进行相关操作,最后复制使用
# 输入事务代码
session.findById("wnd[0]/tbar[0]/okcd").text = "fb11n"  #点击回车键
session.findById("wnd[0]").sendvKey(0)
# 输入搜索条件
session.findById("wnd[0]/usr/ctxtKD_BUKRS-LOW").text=“2023"  # 输入公司代码session.findById("wnd[0]/usr/ctxtPA STIDA").text ="22.11.2022" # 输入目标日期session.findById("wnd[0]/usr/txtPA_NMAX").text =“5" # 输入最大行数session.findById("wnd[0]/usr/txtPA_NMAX").setFocus()
session.findById("wnd[0]/usr/txtPA NMAX").caretPosition =10
session.findById("wnd[0]/tbar[1]/btn[8]").press()#点击确认进入表格页面
session.findById("wnd[1]/tbar[0]/btn[0]").press()
4.SAP表格操作
4.1 选择行
#双击,获取表格元素的ID
table_id="wnd[0]/usr/cnt1GRID1/shellcont/she11/she11cont[1]/she11" # 获取表格元素
table_ele= session.findById(table_id)
# 获取表格最大行数
max_row = table_ele.RowCount
# 选择行
table_ele.selectedRows ="1"  # 1未行索引,索引从0开始,这里表示第2行table_ele.selectedRows=“1,2" # 选择多行,第2行与第3行
4.2 读取目标单元格内容
#逐行遍历目标列单元格内容
for row_index in range(table_ele.Rovcount):
    # GetCe11Value参数1为行索引,参数2为列名,在SAP中双击列,即可获取列名
    print("凭证编号:"",table_ele.Getce1lValue(row_index, "BELNR"))
相关文章
|
索引
SAP ABAP——内表(五)【追加内表数据—INSERT】
本文主要介绍一下SAP ABAP中内表的增删查改语句中的追加内表数据的INSERT相关语句,包括使用关键字追加和使用索引追加以及不同类型内表使用INSERT追加数据的不同效果
1570 1
SAP ABAP——内表(五)【追加内表数据—INSERT】
|
6月前
|
安全 数据处理 Python
Python 函数式编程:让代码更简洁高效
Python 函数式编程:让代码更简洁高效
455 107
|
并行计算
最新YOLOv8(2023年8月版本)安装配置!一条龙傻瓜式安装,遇到问题评论区提问
最近需要使用YOLOv8,百度了一下现在网上大多数教程都是比较早期的教程,很多文件已经大不相同,于是我根据官方readme文档,总结了一套安装方法,只需要按照本教程,复制每一段代码,按照教程配置好相应文件即可直接使用。
9840 2
|
4月前
|
JSON 监控 API
n8n错误处理全攻略:构建稳定可靠的自动化工作流
在n8n自动化工作流中,错误是提升系统可靠性的关键。本文详解常见错误类型、节点级与全局处理机制,结合重试、熔断、补偿事务等高级模式,助您构建稳定、可维护的生产级自动化流程。
|
3月前
|
人工智能 自然语言处理 监控
AI+RPA全解析:从技术原理到行业落地,一篇读懂智能自动化核心密码
AI+RPA融合人工智能与机器人流程自动化,正重塑企业效率。它无需改造系统,即可跨平台自动处理财务、人力、运营等重复性工作,提效降本,助力数字化转型。从发票核验到简历筛选,从数据采集到合规申报,实现“智能决策+自动执行”。实在Agent等新一代智能体更支持自然语言指令、自主规划任务,已在金融、制造、政务等领域规模化落地,成为企业提质增效的刚需工具。
1295 0
|
BI iOS开发
《SAP后勤模块实施攻略—SAP在生产、采购、销售、物流中的应用》——1.3 SAP ERP 概览
本节书摘来自华章计算机《SAP后勤模块实施攻略—SAP在生产、采购、销售、物流中的应用》一书中的第1章,第1.3节,作者 乐立骏,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
3749 0
|
7月前
|
自然语言处理 数据库
JT808教程:终端的注册
本节介绍了终端在未注册状态下的注册流程及鉴权过程,包括使用的消息类型及其格式。内容涵盖终端注册、注销、鉴权的具体步骤,并提供模拟器操作说明和通信报文示例,帮助理解终端与平台之间的交互过程。
328 0
|
传感器 机器学习/深度学习 人工智能
自动驾驶汽车中的AI:从概念到现实
【10月更文挑战第31天】自动驾驶汽车曾是科幻概念,如今正逐步成为现实。本文探讨了自动驾驶汽车的发展历程,从早期的机械控制到现代的AI技术应用,包括传感器融合、计算机视觉、路径规划和决策控制等方面。尽管面临安全性和法规挑战,自动驾驶汽车在商用运输、公共交通和乘用车领域展现出巨大潜力,未来将为人类带来更安全、便捷、环保的出行方式。
|
JavaScript
Selenium--WebDriverWait--你知道显示等待?(结合源码让你更加得心应手)
Selenium--WebDriverWait--你知道显示等待?(结合源码让你更加得心应手)
366 0

热门文章

最新文章