Mac/Linux从命令行触发Java GUI脚本

2020-08-24 14:42发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


场景

我能够从命令行触发如下所示的javascript文件:

test1.js

 application.openConnectionByConnectionString(" conn =/H/10.10.10.100/S/3200&expert = true");
 application.findById("/img/app/con [0]/ses [0]/wnd [0]/usr/txtRSYST-MANDT")。text =" 220";
 application.findById("/img/app/con [0]/ses [0]/wnd [0]/usr/txtRSYST-MANDT")。setFocus();
 application.findById("/img/app/con [0]/ses [0]/wnd [0]/usr/txtRSYST-MANDT")。caretPosition = 3;
 application.findById("/img/app/con [0]/ses [0]/wnd [0]/usr/txtRSYST-BNAME")。text ="用户名";
//不记录密码字段的文本。 输入有效的密码或删除以下行
 application.findById("/img/app/con [0]/ses [0]/wnd [0]/usr/pwdRSYST-BCODE")。text =" secret";
 application.findById("/img/app/con [0]/ses [0]/wnd [0]")。resizeWorkingPane(181,35,false);
 application.findById("/img/app/con [0]/ses [0]/wnd [0]")。sendVKey(0);
 application.findById("/img/app/con [0]/ses [0]/wnd [0]/tbar [0]/okcd")。text ="/img/nex";
 application.findById("/img/app/con [0]/ses [0]/wnd [0]")。sendVKey(0);
 
#!/bin/bash
 导出SAPGUIDIR ="/img/Applications/SAP Clients/SAPGUI 7.50rev5/SAPGUI 7.50rev5.app/Contents/Resources"
 export WORKDIR =`pwd`#这是脚本文件所在的位置

 cd" $ {SAPGUIDIR}"
 回声" [调试]开始..."

 Java的
 -cp Java/GuiStartS.jar com.sap.platin.Gui \
 -n \
 -b \
 -f $ {WORKDIR}/test1.js

 回显" [DEBUG]完成!"
 

问题
JavaGUI不会退出。 弹出窗口显示"脚本已成功完成其执行"。

如果再次运行该命令,则会得到另一个运行的JavaGUI副本...

如何使JavaGUI完全退出?

请问有人可以共享完整的 JavaScript API的链接吗?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


场景

我能够从命令行触发如下所示的javascript文件:

test1.js

 application.openConnectionByConnectionString(" conn =/H/10.10.10.100/S/3200&expert = true");
 application.findById("/img/app/con [0]/ses [0]/wnd [0]/usr/txtRSYST-MANDT")。text =" 220";
 application.findById("/img/app/con [0]/ses [0]/wnd [0]/usr/txtRSYST-MANDT")。setFocus();
 application.findById("/img/app/con [0]/ses [0]/wnd [0]/usr/txtRSYST-MANDT")。caretPosition = 3;
 application.findById("/img/app/con [0]/ses [0]/wnd [0]/usr/txtRSYST-BNAME")。text ="用户名";
//不记录密码字段的文本。 输入有效的密码或删除以下行
 application.findById("/img/app/con [0]/ses [0]/wnd [0]/usr/pwdRSYST-BCODE")。text =" secret";
 application.findById("/img/app/con [0]/ses [0]/wnd [0]")。resizeWorkingPane(181,35,false);
 application.findById("/img/app/con [0]/ses [0]/wnd [0]")。sendVKey(0);
 application.findById("/img/app/con [0]/ses [0]/wnd [0]/tbar [0]/okcd")。text ="/img/nex";
 application.findById("/img/app/con [0]/ses [0]/wnd [0]")。sendVKey(0);
 
#!/bin/bash
 导出SAPGUIDIR ="/img/Applications/SAP Clients/SAPGUI 7.50rev5/SAPGUI 7.50rev5.app/Contents/Resources"
 export WORKDIR =`pwd`#这是脚本文件所在的位置

 cd" $ {SAPGUIDIR}"
 回声" [调试]开始..."

 Java的
 -cp Java/GuiStartS.jar com.sap.platin.Gui \
 -n \
 -b \
 -f $ {WORKDIR}/test1.js

 回显" [DEBUG]完成!"
 

问题
JavaGUI不会退出。 弹出窗口显示"脚本已成功完成其执行"。

如果再次运行该命令,则会得到另一个运行的JavaGUI副本...

如何使JavaGUI完全退出?

请问有人可以共享完整的 JavaScript API的链接吗?

付费偷看设置
发送
7条回答
愤怒的猪头君
1楼 · 2020-08-24 15:18.采纳回答

在macOS上,只需在脚本中添加参数" -t NOPHANTOM",然后在关闭连接时JavaGUI将退出。

您可以调用

,而不是调用" java ... -jar GuiStartS.jar ... "

"/img/应用程序/SAP客户端/SAPGUI 7.50rev5/SAPGUI 7.50rev5.app/Contents/MacOS/SAPGUI -n -b .... "

>

这将以适当的Java版本启动JavaGUI。

致谢

罗伯特

用于Java的SAP GUI

ZJXianG
2楼-- · 2020-08-24 15:26

很好-脚本执行后,GUI不会保持活动状态。

" $ {SAPGUIDIR}/MacOS/SAPGUI" \
     -n \
     -b \
     -t NOPHANTOM \
     -f $ {WORKDIR}/test1.js 

但这很麻烦...注意输出中的这一行:不需要TRC和AUTDMP吗?

 31.01。  17:01:49.270 TRC:活动跟踪键:NOPHANTOM:TRC:AUTDMP 
 2020-01-31 17:01:48.845 SAPGUI [78711:3683840]任务成功。
 31.01。  17:01:49.269 TRC:-------------------------------------------  ----------------
 31.01。  17:01:49.269 TRC:日期:31.01。  17:01:49.257
 31.01。  17:01:49.269 TRC:-------------------------------------------  ----------------
 31.01。  17:01:49.269 TRC:系统详细信息
 31.01。  17:01:49.269 TRC:-------------------------------------------  ----------------
 31.01。  17:01:49.269 TRC:Java VM:Oracle Corporation版本10.0.2 + 13
 31.01。  17:01:49.269 TRC:位模式:64
 31.01。  17:01:49.269 TRC:OS:Mac OS X(x86_64)版本10.15.3
 31.01。  17:01:49.269 TRC:Java目录:/Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home
 31.01。  17:01:49.269 TRC:主目录:/Users/derek
 31.01。  17:01:49.269 TRC:当前目录:/Applications/SAP Clients/SAPGUI 7.50rev5
 31.01。  17:01:49.269 TRC:区域设置:英语(英国)
 31.01。  17:01:49.269 TRC:默认字符编码:UTF8
 31.01。  17:01:49.269 TRC:-------------------------------------------  ----------------
 31.01。  17:01:49.269 TRC:产品详细信息
 31.01。  17:01:49.269 TRC:-------------------------------------------  ----------------
 31.01。  17:01:49.269 TRC:适用于Java的SAP GUI 7.50修订版5
 31.01。  17:01:49.269 TRC:2018-12-05 06:30:12 +0100
 31.01。  17:01:49.269 TRC:mo-f75228bd7,750_REL,1889363
 31.01。  17:01:49.269 TRC :(版本ID A075000040500)
 31.01。  17:01:49.270 TRC:活动跟踪键:NOPHANTOM:TRC:AUTDMP << =====================为什么????
 31.01。  17:01:50.572 TRC:安装详细信息
 31.01。  17:01:50.572 TRC:-------------------------------------------  ----------------
 31.01。  17:01:50.572 TRC:私有Glob文件:/Users/derek/Library/Preferences/SAP/globs
 31.01。  17:01:50.572 TRC:桌面集成:Mac OS X集成(库:/Applications/SAP Clients/SAPGUI 7.50rev5/SAPGUI 7.50rev5.app/Contents/Resources/bin/libMacOSXConnect64.dylib存在:true)
 31.01。  17:01:50.572 TRC:-------------------------------------------  ----------------
 31.01。  17:01:50.572 TRC:路径信息:
 31.01。  17:01:50.572 TRC:-------------------------------------------  ----------------
 31.01。  17:01:50.572 TRC:SAP GUI跟踪:
 31.01。  17:01:50.572 TRC:SAP GUI用户偏好:
 31.01。  17:01:50.572 TRC:SAP GUI系统首选项:
 31.01。  17:01:50.572 TRC:
 31.01。  17:01:50.572 TRC:安装目录:
 31.01。  17:01:50.572 TRC:产品目录:
 31.01。  17:01:50.572 TRC:应用程序目录:
 31.01。  17:01:50.572 TRC:资源目录:
 31.01。  17:01:50.572 TRC:
 31.01。  17:01:50.572 TRC:Binary Dir:
 31.01。  17:01:50.572 TRC:GMUX Dir:
 31.01。  17:01:50.572 TRC:Jar Dir:
 31.01。  17:01:50.572 TRC:安装脚本目录:
 31.01。  17:01:50.572 TRC:安全目录:
 31.01。  17:01:50.572 TRC:文档目录:
 31.01。  17:01:50.572 TRC:
 31.01。  17:01:50.572 TRC:默认安装目录:
 31.01。  17:01:50.572 TRC:系统安装目录:
 31.01。  17:01:50.572 TRC:用户安装目录:
 31.01。  17:01:50.572 TRC:
 31.01。  17:01:50.572 TRC:文件:
 31.01。  17:01:50.572 TRC:安装脚本:
 31.01。  17:01:50.572 TRC:卸载程序:
 31.01。  17:01:50.572 TRC:guilogon:
 31.01。  17:01:50.572 TRC:guistart:
 31.01。  17:01:50.572 TRC:安装锁:
 31.01。  17:01:50.572 TRC:安装日志:
 31.01。  17:01:50.572 TRC:权限:
 31.01。  17:01:50.572 TRC:-------------------------------------------  ----------------
 31.01。  17:01:50.572 TRC:活动代码源列表
 31.01。  17:01:50.572 TRC:-------------------------------------------  ----------------
 31.01。  17:01:50.572 TRC:类加载器:com.sap.platin.micro.MicroURLClassLoader@1b2abca6

 ....大片段....

 31.01。  17:01:50.572 TRC:-------------------------------------------  ----------------
 31.01。  17:01:50.572 TRC:jar文件夹包含以下jar文件:
 31.01。  17:01:50.572 TRC:-------------------------------------------  ----------------
 31.01。  17:01:50.572 TRC:sapTextEditS.jar
 31.01。  17:01:50.572 TRC:sapInputFieldS.jar
 31.01。  17:01:50.572 TRC:sapJnetS.jar
 31.01。  17:01:50.572 TRC:sapContextMenuS.jar
 31.01。  17:01:50.572 TRC:JNetBeanS.jar
 31.01。  17:01:50.572 TRC:plafbaseS.jar
 31.01。  17:01:50.572 TRC:iCubeS.jar
 31.01。  17:01:50.572 TRC:platincore9S.jar
 31.01。  17:01:50.572 TRC:sapImageS.jar
 31.01。  17:01:50.572 TRC:pdfViewerS.jar
 31.01。  17:01:50.572 TRC:sapToolBarS.jar
 31.01。  17:01:50.572 TRC:sapCalendarS.jar
 31.01。  17:01:50.572 TRC:sapComboBoxS.jar
 31.01。  17:01:50.572 TRC:sapPdfViewerS.jar
 31.01。  17:01:50.572 TRC:platinsecS.jar
 31.01。  17:01:50.572 TRC:sapHtmlCoreS.jar
 31.01。  17:01:50.572 TRC:sapTreeS.jar
 31.01。  17:01:50.572 TRC:sapChartS.jar
 31.01。  17:01:50.572 TRC:sapHtmlS.jar
 31.01。  17:01:50.572 TRC:GuiStartS.jar
 31.01。  17:01:50.572 TRC:platinlangS.jar
 31.01。  17:01:50.572 TRC:platinr3S.jar
 31.01。  17:01:50.572 TRC:platinwdpS.jar
 31.01。  17:01:50.572 TRC:platinMacOSXS.jar
 31.01。  17:01:50.572 TRC:sapGridS.jar
 31.01。  17:01:50.572 TRC:platincoreS.jar 
小c菟菟
3楼-- · 2020-08-24 15:20
宇峰Kouji
4楼-- · 2020-08-24 15:16

感谢Rolf- 该链接没有详细介绍我需要的JS。

大道至简
5楼-- · 2020-08-24 15:30

使用参数-? 会打印参数列表。

LOL,反向工程文档...

...没有提及" NOPHANTOM"-甚至没有强大的Google 都没有该功能的任何记录

"/应用程序/SAP客户端/SAPGUI 7.50rev5/SAPGUI 7.50rev5.app/Contents/MacOS/SAPGUI" -h <2020> 2020-01-31 16:34:14.902 SAPGUI [77876:3663785]任务成功。  
########################### ERROR ################# ############
31.01。 16:34:16.926错误:Getopt.nextOption():无法识别的选项:-h
############################## 错误#############################
com.sap.platin.base.logon.GuiImpl:启动PlatinGui < br>用法:com.sap.platin.base.logon.GuiImpl [选项]
可用选项:
/Rfc = [0-9A-F] [0-9A-F] * RFC ID发送至 连接期间的后端
-o 打开与的连接(例如/H/binmain/S/3253)
-f 执行文件
中包含的脚本 -s <脚本>执行字符串<脚本<< br>中包含的脚本-w打开脚本窗口以供手动脚本输入
-n不显示guilogon窗口
-t 激活所有跟踪键 包含在字符串
(由逗号分隔,例如CON,SES,EVT,C_AGI)中的
-l <​​traceFile>将由跟踪键(带有选项-t
)激活的跟踪信息写入日志文件
-p JPlatin库的路径
-g Gmux的路径
-b没有进度条
-? 打印此帮助文本。
选项'-f'和'-s'可以以任意顺序重复出现(以出现的顺序进行评估)。
樱桃小丸子0093
7楼-- · 2020-08-24 15:40

公共跟踪密钥在通过帮助> SAP GUI帮助提供的手册的" 5.3.3跟踪信息"一章中列出。 通常,它们的目的是为了调试目的而打开特定组件的跟踪。

还有更多修改行为的方法,但是它们并不是故意发布的。

一周热门 更多>