2009-11-19 119 views
0

安裝任何類似SAP Logon的胖客戶端後,用戶可以連接到所需的SAP服務器並通過事務訪問數據。從Java程序打開SAP胖客戶端屏幕

我在做什麼? - 要調用SAP胖客戶端安裝在用戶計算機,並直接從服務將用戶重定向到所需的事務(反過來Java代碼)

什麼是posisble? - 根據生成的ID,可以從SAP執行相同的操作。下面的鏈接將幫助 -

http://wiki.sdn.sap.com/wiki/display/Snippets/Creating+a+SAP+shortcut+for+any+transaction+and+sending+it+by+mail

是否有可能通過做Java代碼一樣嗎?

回答

1

如果您可以將您的程序連接到SAP,你總是可以設置爲從維基作爲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。

如果要創建一個快捷方式是不是suffisant,您可以嘗試給exec打開快捷方式文件,在打開一個.doc啓動Word一樣。我必須承認我對這個特殊點的無知。

希望這有助於
問候,
紀堯姆

0

紀堯姆(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(); 

您當然需要添加適合周圍架構的代碼。

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 
is the server port 
300 is the client 
RO - language 
*ZME29N is the transaction followed by the select options. 
  • (星號)表示,該系統將與各執行事務選擇選項。