问题标签 [sap-gui]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vbscript - 报告有时会在 SAP GUI 脚本中返回 0 条记录
所以我使用 SAP GUI 记录器录制了一个脚本。我基本上只是运行 7 个报告并将内容保存到一个 excel 文件中。该代码是平淡无奇的,只是一些变化。
session.findById("wnd[1]/usr/ctxtDY_FILENAME").text = "SAP_ALL.TXT"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 11
但有时报告中没有记录。
- 我怀疑我可以检查一些东西来保存报告或继续使用
if/then/else
,但找不到一个很好的例子。我如何捕捉并从这个或其他错误中恢复? - 有没有办法来
sapshcut
构造脚本以避免这个问题? - 另外,有没有办法从命令行执行脚本,将用户名和密码作为参数传递?
欢迎提供相关示例。我会使用 RTFM,但我没有。
excel - 无法从 SAP 系统下载 SAP 提取 - 错误“无效的 GUI 输入数据:焦点数据”
需要有关宏的帮助,该宏尝试从 SAP 系统下载数据提取,但恰好停在需要下载的位置。但是手动完成时不会出现同样的问题。
以下是我们在 SAP 系统中遵循的步骤:
- 第一步,输入 TCode:ZFIS 并进行以下选择(Finance New GL >> Line Item Reports >> Cognos Download)
- 输入所需的详细信息并执行
- 结果需要保存在txt格式的文件夹路径中
- 到达黄线代码时出现问题
- 手动保存不会造成任何问题,但是当尝试使用编码运行它时,会出现以下错误。不知道为什么...
我们尝试了所有可能性(即与我们的 IT 部门核实并尝试安装新版本的 SAP 系统),但我们仍然无法找到解决方案。
最后,我在这里看看是否可以找到相同的解决方案。
附上 VBA 代码供您参考:
c# - 如何在 C# 中获取 SAP GUI 录制脚本
任何人都可以指导我获取任何有用的文档以获取 C# 中的 SAP 录制脚本吗?
根据我的发现,我们需要连接到 SAP,我可以通过 C# 建立。
不是试图重新发明轮子,而是有一个复杂的要求,需要 C# 中的脚本文本。
输出与Tracker一样
只需要脚本文本/字符串。仅此而已。
任何帮助将不胜感激。
excel - 根据 Excel 字段(列)在 SAP excel 脚本值中设置 VBA 代码
我的脚本正在运行,但是有一个字段我无法弄清楚如何在 VBA 脚本中进行更改。我需要根据 Excel 中的条目对其进行更改。
这是我遇到问题的脚本,我用粗体显示的值(4)。
我在手动更改值时进行了测试,它可以工作。但我需要的是根据 excel 文件中的数据 将值( 4 )更改为不同的值。
Session.findById("wnd[0]/usr/tabsTAXI_TABSTRIP_OVERVIEW/tabpT\01/ssubSUBSCREEN_BODY:SAPMV50A:1202/tblSAPMV50ATC_LIPS_OVER_INB").getAbsoluteRow( 4 ).Selected = False Session.findById("wnd[0]/usr/tabsTAXI_TABSTRIP_OVERVIEW/ tabpT\01/ssubSUBSCREEN_BODY:SAPMV50A:1202/tblSAPMV50ATC_LIPS_OVER_INB/txtLIPS-POSNR[0, 4 ]").SetFocus Session.findById("wnd[0]/usr/tabsTAXI_TABSTRIP_OVERVIEW/tabpT\01/ssubSUBSCREEN_BODY:SAPMV50A:1202/ tblIPS-POSNR[0, 4]"). txtLIPS-POSNR[0, 4 ]").caretPosition = 0
示例:如果 Excel 文件在 G 列中显示“20”,则将上面的 ( 4 ) 更改为 ( 1 ) 所以简单地说,根据 excel 值替换脚本中的值。
vba - 在 VBA 中使用 SAP GUI 脚本时,如何在编码时查看 SAP GUI 对象属性 - 就像在 IntelliSense 中一样?
有没有办法查看 SAP GUI 对象的属性?
像这样:
但对于 SAP 对象,如以下对象:
在阅读了这篇文章答案的最后一部分后,我问了这个问题:VBA general way for pull data out of SAP
但是,如果您想使用早期绑定以便您的 VBA 编辑器可以显示您正在使用的对象的属性和方法,您需要
sapfewse.ocx
在 SAP GUI 安装文件夹中添加对的引用。
vba - 如何使用 VBA 宏在 SAP GUI 网格视图中选择当前行?
我正在尝试自动化 SAP GUI 中的重复性任务。我需要搜索订单号,选择订单号所在的行,然后单击按钮完成任务。我录制了一个宏,它给了我:
该行:
对应于我要搜索的顺序,但如果我更改此值,它仍会尝试处理与宏记录相同的顺序,我假设是因为以下行:
有谁知道我将如何找到与 SEARCH-VALUE 的结果相对应的行号,然后将其用作 .selectedRows =“”?
excel - SAP 销售订单文本提取到 Excel
多年来,我使用的 ERP 系统可以很容易地到达每个角落并从中获取数据,但现在我们已经转移到全球 SAP 系统,并且访问级别低得多,事情就变得不那么容易了。我有从某些销售订单项目文本字段中提取数据的特定要求;因为这些是加密的,而且因为我仅限于 SQVI,所以不能直接完成。我尝试使用事务 VA03 记录一个脚本来提取数据,并发现其他人都没有记录保存为本地文件的重要部分。我在 SAP 存档讨论中发现了一个非常有用的帖子,https://archive.sap.com/discussions/thread/3240622其中解决了这个问题,并通过进行一些微不足道的更改以适应我们的配置,设法将标题文本保存到 Excel 中。
这行得通,(在极不可能的情况下,订单号已被抑制为 nnnnnn 有人可能会认出它)并且我能够通过添加行从其他字段中获取数据,但是当我尝试为 item 做同样的事情时带有以下变体的文本
这会在 SAP 屏幕上显示必填字段,但随后会引发错误“运行时错误 '619' 无法找到该控件的 ID。”
我显然不明白正在发生的一切 - 有人可以帮助我吗?
安德鲁
excel - 对象“ISapCTextField”的方法“文本”失败
我必须从 SAP 中提取数据。此错误随机发生:
对象“ISapCTextField”的方法“文本”失败
我进行了搜索,但没有一个解决方案有效。多次尝试的错误处理也不起作用。我没有尝试更多的方法,而是.Text
完全避免了这种方法。
导致错误的行示例:
为了避免使用该.text
方法,我曾经SendKeys
实现同样的事情。基本上使 SAP 窗口成为活动窗口,并通过使用 set focus 在 SAP GUI 中选择所需的字段,然后使用Ctrl+ Vviasendkeys
将文本从范围粘贴到字段。下面是代码:
要调用该函数,只需使用 SAP 脚本记录获取字段 ID 名称并解析为 SAPSafeText(“字段 ID 为字符串”,“单元格范围为字符串”)。
调用示例:
这是蛮力的方式,但它有效。
为什么会发生错误?
有没有更好的方法来处理这个?
excel - 使用 Do Loop VBA 选择 SAP 字段
我正在研究一个宏以进入 SAP 并选择列中的单元格以提取到 Excel。现在,如果这是 excel,这将没有问题,因为我会简单地使用 do 循环沿列复制。我在 SAP GUI 中,但是它与 VBA 兼容,但有点不同。我录制了一个脚本,我点击一个列来查看代码是如何变化的。这就是我得到的。
当我向下移动该列时,您可以看到特定值从 13 增加到 17。我想我可以合并一个 do 循环,然后沿着列向下移动并复制值。这是我的相关代码
但是,这不起作用,因为它不将 i 识别为变量。它给了我错误 619(找不到 ID)
有谁知道使这项工作的方法?