问题标签 [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.

0 投票
2 回答
2418 浏览

c# - 如何在 C# 中将当前会话附加到 SAP GUI

我正在尝试自动化 SAP GUI。我使用了 SAPFEWSELib 库,我可以使用它启动我的 SAP GUI 并进行连接。现在,我创建了一个桌面快捷方式进程(使用 SAP 中的内置实用程序)。因此,我无需每次都启动和连接,而是可以直接转到特定屏幕并从那里自动执行下一步。为了实现这一点,我需要——

  1. 触发桌面快捷方式以启动 SAP
  2. 附加当前 SAP 会话并使用 SAPFEWSELib 库在 C# 中执行自动化

我试过了 -var session = SapGuiApp.ActiveSession;但我得到的会话为空。有没有其他方法可以将 SAP 会话附加到 SapGuiApp?

Note-SapGuiApp是一种GuiApplication可使用 SAPFEWSELib 访问的对象。

参考-

  1. 如何使用 C# 自动化 SAP GUI
  2. https://scn.sap.com/thread/159742
0 投票
1 回答
783 浏览

vba - IW29/39 事务中单个条目的 ALV 列表查看器

我正在从 VBA 调用 SAP 事务以自动生成报告。当我使用 IW39 之类的事务时,我的输出显示是使用 SAP ALV 列表查看器显示的列表。导出到 VBA 非常有用,我有一个自动执行的功能。

ALV 显示器

但有时我在某些特定情况下会遇到问题:当我的命中列表仅包含一行时。SAP 将 ALV 替换为对使用 VBA 导出不是很有用的东西。

非 ALV 显示

我的问题是:当命中列表中有单行时,有没有办法将显示模式更改为“ALV-always”?

一条线索:当我启动 IW39 tcode 并且只有一行时,结果显示为 IW33 tcode。所以当我回到事务时,我会留在 IW33 查询中。

0 投票
2 回答
4298 浏览

vba - 查找列表末尾的算法(SAP GUI)

我正在编写一个脚本,将元素添加到 SAP GUI 屏幕中的列表中。现在,似乎在使用 SAP GUI 时,除非它实际上在屏幕上,否则什么都“不存在”,因此第一步涉及查找列表的末尾。

我通过滚动每个元素并检查它是否为空白来完成此操作。

但是,对于非常大的现有列表,这需要很长时间。我正在想办法更快地找到结局。我知道的一些事实/限制:

  1. 我假设我不知道列表长度。
  2. 我不能指挥verticalScrollbar.position太远超出
    列表的末尾。例如。如果列表包含 62 个元素,.verticalScrollbar.Position = 100则不起作用。
  3. 在上述示例中,SAP 不会引发错误。什么都没有发生,然后执行下一行代码。
  4. 所有对元素的引用都与它们在屏幕上的位置有关。例如,如果我向下滚动 5 个位置,整个列表的第 6 个元素实际上将索引为 1。
  5. 另一方面verticalScrollbar.Position是绝对的

我正在考虑执行以下操作(在非常伪代码中):

...依此类推,直到我迭代i一个。

是否有一种普遍接受的更好的方式来进行这种“搜索”?任何输入表示赞赏。谢谢

0 投票
0 回答
1730 浏览

vba - VBA 脚本可以读取 SAP GUI 错误吗?

我不抱希望,但我想知道是否有办法让 vba 脚本识别 SAP GUI 引发的错误。例如,如果一个事务被另一个用户锁定。
目前,如果弹出此错误,脚本不会考虑它,并继续到下一行(通常会出错,因为我按下的任何按钮都不存在)。如果可能的话,我想在下一行之前确定该错误,以便用户可以修复它。

在某些情况下,如果完成了让我的脚本承担错误的变通办法,再加上一个on error resume next但是这让我畏缩,并且不适用于所有情况。

例子:

为清楚起见,我试图达到以下目的:

0 投票
1 回答
148 浏览

abap - WebDynpro ABAP 应用程序开发问题

我正在尝试开发 WebDynpro Abap,但遇到以下错误,

错误图像

谁能告诉我如何解决这个问题,或者我缺少任何授权。

谢谢,伊丽莎

0 投票
1 回答
288 浏览

excel - 检查 SAP 中的 xls 文件是否存在

我必须从 SAP 中自动导出几个 xls 文件以创建特定报告。到目前为止,我使用 SAP GUI 脚本输入事务代码和 DIR 编号(每个文档都是唯一的)。当我只下载一个 xls 文件时,这非常有效。不过,我必须下载多个 xls。

正如您在图像中看到的,xls 文件位于第二个位置,这意味着使用我的脚本它只导出位于第二个位置的所有文件。例如,如果第二个位置有一个 PDF,它会自动导出 PDF,然后我无法创建报告。

SAP GUI 显示位置

最后两行是重要的,因为在这里您选择要导出的第二个“节点”。在这里我需要检查是否有 xls 文件。

0 投票
1 回答
945 浏览

excel - SAP VBA Popup Close

I am doing an extraction in SAP using Excel. But the files are to large, and constantly I get a popup message saying: "EP0:Maximum Hold Time Exceeed". I deal with popups inside SAP very easily, but I don't know how to handle with this type of popup (I think it's generated by the backend, it looks like a Windows popup and the On Error statement is not triggered when it happens). Any idea of how handle this will be very helpfull (:

0 投票
1 回答
14268 浏览

excel - 通过 Excel VBA 在 Citrix 上连接 SAP

我的机器上没有直接安装 SAP,并通过下面的链接使用 SAP 窗口。

https://nedc-ctx.applications.services.axa-tech.intraxa/Citrix/AccessPlatform/auth/loggedout.aspx

我知道 SAP GUI 的 Record and Run 功能并且正在工作。我仅在培训版本中具有此访问权限。在生产中,我无法使用运行和记录选项。

如何从 Excel VBA 打开 SAP 窗口、连接和加载数据?

在下面的代码中,我得到一个错误。

我发现我无法在我的机器上添加参考文件“sapfewse.ocx”。

如果我们通过上面提供的链接访问 SAP,是否可以通过 Excel VBA 连接 SAP。单击上面的链接后,新的弹出窗口将与 SAP with window 连接。SAP 正在通过 Citrix 进行连接。

代码(取自此帮助链接):

0 投票
2 回答
3046 浏览

vbscript - SAP GUIXT - 传递变量并运行脚本

我想在 SAP 中创建一个“输入字段”,它使用 vb 脚本中传递的值。举一个具体的例子,我想打开FBL5N,将发票传递到一个字段中,然后在 中查看发票VF03。执行此操作的脚本已准备好,适用于发票的硬编码值或通过 VBA。

这是GUI脚本部分

现在,我不知道如何处理 inputscript 部分。在这件事上我希望得到你的帮助。这是我的第一次尝试:

感谢您的帮助,如果您需要任何精度,请告诉我。以下是我获得上述代码的灵感来源: http ://www.synactive.com/tutor_e/lessonia03.html http://www.synactive.com/docu_e/docia_process2.html

***如果有可能有一个版本可以读取剪贴板中的值,那就更好了。

0 投票
2 回答
9487 浏览

c# - 解决 80040154 类未注册执行需要做什么

只有当我尝试在目标机器上运行项目时,我才会遇到以下错误

[错误] ExecuteTestScriptsOnSAP_GUI:检索具有 CLSID {B90F32AD-859E-4EDD-BFAE-C9216849520C} 的组件的 COM 类工厂失败,原因是以下错误:80040154 未注册类(HRESULT 异常:0x8004015 4 (REGDB_E_CLASSNOTREG))。

它似乎在我的开发机器上运行良好。

我正在尝试SAP gui 7.40从我的项目启动,它有一个参考Interop.SAPFEWSELib.dll

上面的.dll文件是在sapfewse.ocx第一次作为依赖项添加到项目时构建的。

谁能指导我如何解决这个问题?