2009-11-19 3 views
0

При наличии любого толстого клиента, такого как SAP Logon, пользователи могут подключиться к требуемому серверу SAP и получить доступ к данным через транзакции.Откройте экран клиента SAP толщиной от Java-программы

Что я пытаюсь сделать? - Чтобы вызвать толстый клиент SAP, установленный на компьютере пользователя, и перенаправить пользователя непосредственно на требуемую транзакцию из службы (в свою очередь, код Java)

Что такое posisble? - Из 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. В противном случае вы всегда можете проверить функцию, чтобы проверить возвращаемую строку.

Эта строка может использоваться для создания ярлыка GUI SAP. эти shortcups обладают расширением .sap и содержат предыдущую строку. Для Exemple это содержание тестового GUI SAP ярлык:

[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». Щелчок на вставке запускает графический интерфейс.

Если создание ярлыка не является достаточным, вы можете попытаться выполнить exec, открыв файл ярлыка, таким же образом, как открыть стартовое слово .doc. Я должен признать свое невежество в этом особенном вопросе.

надеюсь, что это помогает,
уважением,
Гийом

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. 
  • (звездочка) означает, что система будет выполнять транзакции с соответствующим, выберите параметры.