安装了任何像SAP Logon这样的胖客户端,用户可以连接到所需的SAP服务器并通过事务访问数据。
我想做什么? - 调用安装在用户计算机中的SAP胖客户端,并将用户直接从服务重定向到所需的事务(依次是Java代码)
什么是可能的? - 可以基于生成的ID从SAP执行相同的操作。以下链接将有所帮助 -
是否可以通过Java代码执行相同的操作?
答案 0 :(得分:3)
您可以使用以下内容在桌面上创建.SAP文件:
示例:强>
conn=/H/192.168.90.5/S/3210&clnt=300&lang=RO&tran=*ZME29N SO_EBELN-LOW=4500028729;
where 192.168.90.5 is the local sap server ip
3210 is the server port
300 is the client
RO - language
*ZME29N is the transaction followed by the select options.
答案 1 :(得分:1)
如果您可以将程序连接到SAP,则可以始终将该功能从wiki设置为RFC,并从SAP获取链接。否则,您始终可以测试该函数以检查返回字符串。
此字符串可用于创建SAP GUI快捷方式。那些shortcups拥有.sap扩展名并包含前一个字符串。例如,这是测试SAP GUI快捷方式的内容:
[System]
Name=IFR
Description=IFR ECC 6.0
Client=300
[User]
Name=gpatry
Language=FR
[Function]
Title=Connexion SAP IFR
Command=PA20
[Configuration]
WorkDir=D:\Documents and Settings\gpatry\SapWorkDir
[Options]
Reuse=0
在您给出的示例中,此类字符串用于创建名为“DisplayAddress.SAP”的附件。点击附件即可启动GUI。
如果创建快捷方式不足,您可以尝试执行打开快捷方式文件,方法与打开.doc启动字的方式相同。我必须承认我对这个特殊点的无知。
希望这会有所帮助,
问候,
纪尧姆
答案 2 :(得分:0)
Guillaume(PATRY)在生成.SAP快捷方式内容的一般方法中是正确的。如果您始终启动特定事务,则另一种方法是使用硬编码(或资源检索)模板。
然后,您需要将其另存为文件并启动该文件。这可以按如下方式完成:
// Generate your .SAP shortcut content by calling an RFC, or manually filling a template.
String shortcutContent = ...;
File file = new File(...some path, probably inside temp dir...);
OutputStream os = new FileOutputStream(file);
os.write(shortcutContent.getBytes());
os.close();
String url = "file://" + file.getAbsolutePath();
// Ask OS to launch the file
Runtime runtime = Runtime.getRuntime();
String cmd = "rundll32 url.dll,FileProtocolHandler " + url;
runtime.exec(cmd);
// Remove file
file.deleteOnExit();
您当然需要围绕适合周围架构的代码添加异常处理。