Tatala SAP GUI mai se su'esu'ega

Na ou tusia muamua lenei tusiga i laʻu blog, ina ia aua neʻi toe suʻesuʻe ma toe manatua mulimuli ane, ae talu ai e leai se tasi na te faitauina le blog, na ou manaʻo e faʻasoa atu lenei faʻamatalaga i tagata uma, pe a maua e se tasi e aoga.

Aʻo galue i luga o le manatu o le toe setiina o upu faʻamaonia i totonu o le SAP R / 3, na tulaʻi mai se fesili - faʻafefea ona faʻalauiloa SAP GUI ma mea e manaʻomia mai le masini? Talu ai o lenei manatu na faʻaalia ai le faʻaogaina o se 'upega tafaʻilagi, muamua tali atu i se SOAP talosaga mai le SAP GUI ma lafoina se tusi ma se fesoʻotaʻiga i se itulau web ma se tusitusiga mo le toe setiina o le upu faʻamaonia i le mea muamua, ona faʻaalia lea i le tagata faʻaoga. se fe'au e uiga i le toe setiina o upu fa'amaonia manuia ma le fa'aalia o lenei upu muamua, ona ou mana'o lea ia iai fo'i se feso'ota'iga i lenei itulau e fa'alauiloa ai le SAP GUI. E le gata i lea, o lenei soʻotaga e tatau ona tatalaina le manaʻoga, ma, sili atu, faʻatasi ai ma le login ma le password fields ua faʻatumu i le taimi e tasi: e naʻo le tagata faʻaoga e tatau ona faʻatumu le upu faʻamaonia faʻalua.

O le faʻalauiloaina o le SAP Logon e leʻo manaia mo lo matou faʻamoemoe, ma a oʻo i le sapgui.exe e le mafai ona faʻamaonia le igoa o le kalani ma le tagata faʻaoga, ae na mafai ona faʻalauiloa se faiga e le o faʻamalamalamaina i le SAP Logon. I le isi itu, o le faʻalauiloaina o le SAP GUI faʻatasi ai ma faʻamaufaʻailoga faʻapipiʻi e le o se mea e sili ona taua: afai o loʻo matou foia le faʻafitauli o le toe setiina o le faʻaupuga a le tagata faʻaoga, e foliga mai ua uma ona ia maua le laina talafeagai i le SAP Logon, faʻatasi ai ma tulaga na te manaʻomia, ma iina. e le mana'omia ona fa'aleaga lana lava mea. Ae o manaʻoga faʻapitoa na ausia e le SAP GUI Shortcut technology ma le sapshcut.exe lava ia polokalame, lea na mafai ai ona faʻalauiloa le SAP GUI e faʻaaoga ai se "ala pupuu".

Foia le faʻafitauli faʻauluuluga: faʻalauiloa sapshcut.exe tuusaʻo mai le suʻega e faʻaaoga ai se mea ActiveX:

function openSAPGui(sid, client, user, password) {
var shell = new ActiveXObject("WScript.Shell");
shell.run('sapshcut.exe -system="'+sid+'" -client='+client+' -user="'+user+'" -pw="'+password+'" -language=RU');
}

O le fofo e leaga: muamua, e naʻo le Internet Explorer e galue, lona lua, e manaʻomia ai tulaga saogalemu talafeagai i totonu o le browser, lea i totonu o se faʻalapotopotoga e mafai ona faʻasaina i le tulaga, ma e tusa lava pe faʻatagaina, o le browser e faʻaalia se faamalama ma se faʻafefe. lapataiga i le tagata fa'aoga:

Tatala SAP GUI mai se su'esu'ega

Na ou mauaina le fofo #2 i luga ole Initaneti: fatuina o lau oe lava upega tafailagi. Fa'ataga i matou e fa'alauiloa le talosaga matou te mana'omia e fa'aaoga ai se so'otaga e fa'ailoa ai le protocol, lea matou te resitalaina i Windows i le resitala i le vaega HKEY_CLASSES_ROOT. Talu ai ona o le SAP GUI Shortcut ei ai lana lava vaega i lenei vaega, e mafai ona e faʻaopoopoina le URL Protocol string parameter ma se tau gaogao iina:

Tatala SAP GUI mai se su'esu'ega

O lenei protocol e amata sapgui.exe fa'atasi /PUU, o le mea tonu lava lea tatou te manaʻomia:

Tatala SAP GUI mai se su'esu'ega

Ia, pe afai tatou te mananaʻo e faia se faʻatonuga faʻapitoa (mo se faʻataʻitaʻiga, sapshcut), ona mafai lea ona e resitalaina e faʻaaoga ai le faila reg faila:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOTsapshcut]
@="sapshcut Handler"
"URL Protocol"=""
[HKEY_CLASSES_ROOTsapshcutDefaultIcon]
@="sapshcut.exe"
[HKEY_CLASSES_ROOTsapshcutshell]
[HKEY_CLASSES_ROOTsapshcutshellopen]
[HKEY_CLASSES_ROOTsapshcutshellopencommand]
@="sapshcut.exe "%1""

Ia, afai tatou te faia se soʻotaga i luga o se itulau web e faʻaalia ai le protocol Sapgui.Shortcut.File I se auala talitutusa:

<a href='Sapgui.Shortcut.File: -system=SID -client=200'>SID200</a>

E tatau ona tatou vaʻai i se faamalama e pei o lenei:

Tatala SAP GUI mai se su'esu'ega

Ma e foliga lelei mea uma, ae a e kiliki i luga o le "Allow" button matou te iloa:

Tatala SAP GUI mai se su'esu'ega

Oi, na liliu e le su'esu'e le avanoa avanoa ile %20. Ia, o isi mataitusi o le a faʻapipiʻiina foi i totonu o latou lava numera numera ma se faʻailoga pasene. Ma o le mea e sili ona le fiafia o le leai lea o se mea e mafai ona faia iinei i le tulaga o le browser (o mea uma iinei e faia e tusa ai ma le tulaga masani) - e le fiafia le browser i ia uiga, ma e le galue le fa'aliliuga o le Windows i ia tulaga taua. Ma le tasi le isi mea itiiti - o le manoa atoa e pasia o se parakalafa, e aofia ai le igoa o le protocol ma e oʻo lava i le kolone (sapgui.shortcut.file:). E le gata i lea, e ui lava e tutusa sapshcut.exe e mafai ona lafoai mea uma e le o se parakalafa mo ia (amata i le faailoga "-", ona sosoo ai lea ma le igoa, "=" ma le tau), i.e. se laina pei "sapgui.shortcut.file: -system=SID"o le a galue pea, ona leai lea o se avanoa"sapgui.shortcut.file:-system=SID"ua le toe galue.

E foliga mai, i le mataupu faavae, e lua filifiliga mo le faʻaaogaina o le URI protocol:

  1. Fa'aoga e aunoa ma ni fa'amaufa'ailoga: Matou te faia se vaega atoa o fa'amaumauga mo a matou faiga uma o le ituaiga SIDMANDT, pei AAA200, BBB200 ma faapena atu ai lava. Afai e te manaʻomia le amataina o le polokalama e manaʻomia, o le filifiliga e matua aoga lava, ae i la matou tulaga e le talafeagai, talu ai o le mea sili e te manaʻo e faʻafeiloaʻi le tagata faʻaoga, ae e le mafai ona faia i lenei auala.
  2. Fa'aaogā se polokalame afifi e vala'au ai sapshcut.exe poʻo sapgui.exe. O le aano o lenei polokalame e faigofie - e tatau ona ave le manoa e tuʻuina atu i ai e le browser e ala i le upega tafaʻilagi ma liliu i le faʻatusa e maua e Windows, i.e. toe fa'afo'i uma fa'ailoga tagata i mata'itusi (atonu e fa'asalaina le manoa e tusa ai ma fa'amaufa'ailoga) ma ua uma ona vala'au SAP GUI ma se fa'atonuga sa'o. I la matou tulaga, e leʻo atoatoa foʻi (o le mea lea ou te leʻi tusia ai), aua e le lava mo i matou e faʻaopoopo le faʻasalalauga i luga o PC uma e faʻaaogaina (i totonu o se vaega o loʻo lelei pea, e ui lava e sili atu le lelei. aloese mai lenei faiga), ae o iinei tatou te manaʻomia le tele o le tuʻuina o le polokalame i luga o le PC, ma faʻamautinoa i taimi uma e le alu ese pe a toe faʻapipiʻi le polokalama i luga o le PC.

O na. Matou te lafoai foi lenei filifiliga e le talafeagai mo i matou.

I le taimi nei, ua amata ona ou mafaufau e tatau ona ou faatofa atu i le manatu o le tatalaina o le SAP GUI ma mea e manaʻomia mai le browser, ae na oʻo mai le manatu ia te aʻu e mafai ona e faia se ala pupuu i le SAP Logon ma kopi i lau desktop. Na ou faʻaogaina lenei metotia i se tasi taimi, ae muamua atu ou te leʻi vaʻavaʻai faapitoa i le faila alalaupapa. Ma na aliali mai o lenei ala pupuu o se faila masani masani ma le faʻaopoopoga .sap. Ma afai e te taʻavale i luga o Windows, SAP GUI o le a faʻalauiloa ma faʻamaufaʻailoga o loʻo faʻamaonia i lenei faila. "Bingo!"

O le faʻatulagaga o lenei faila e tusa ma mea nei (atonu e iai foi se fefaʻatauaʻiga na faʻalauiloaina i le amataga, ae na ou faʻaumatia):

[System]
Name=SID
Client=200
[User]
Name=
Language=RU
Password=
[Function]
Title=
[Configuration]
GuiSize=Maximized
[Options]
Reuse=0

E foliga mai o mea uma e manaʻomia: o se faʻamatalaga faʻapipiʻi, se tagata faʻatau, se igoa faʻaoga ma e oʻo lava i se faʻaupuga. Ma e oʻo lava i faʻamaufaʻailoga faaopoopo: Igoa - ulutala fa'amalama, GuiSize - tele o le faʻamalama o loʻo taʻavale (ata atoa pe leai) ma Faʻaaoga - pe tatau ona tatala se faamalama fou pe faʻaaoga se faʻamalama ua uma ona tatala ma le faiga tutusa. Ae na vave ona aliaʻe se faʻaaliga - na faʻaalia e le mafai ona seti le upu faʻaulu i le SAP Logon, na poloka le laina. Na aliali mai na faia lenei mea mo mafuaaga saogalemu: e teuina uma ala pupuu na faia i le SAP Logon i se faila sapshortcut.ini (Latalata saplogon.ini i le Windows user profile) ma o iina, e ui lava o loʻo faʻailogaina, latou te le o faʻailoga malosi ma, pe a manaʻomia, e mafai ona faʻamaonia. Ae e mafai ona e foia lenei mea e ala i le suia o le tau o le tasi parakalafa i le resitala (o le tau le aoga o 0):

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USERSoftwareSAPSAPShortcutSecurity]
"EnablePassword"="1"

Ole mea lea e tatalaina ai le fa'aupuga mo le fa'aofiina i luga ole fomu fau ala ala ile SAP Logon:

Tatala SAP GUI mai se su'esu'ega

Ma a e ulufale i se upu faataga i lenei fanua, o le a tuu i le laina tutusa
sapshortcut.ini, ae a e tosoina se ala pupuu i luga o le komepiuta, e le o iai iina - ae e mafai ona e faʻaopoopoina iina ma le lima. O le upu fa'aigoa o lo'o fa'ailoga, mo 111111 o le a fa'apea: PW_49B02219D1F6, mo 222222 - PW_4AB3211AD2F5. Ae e sili atu lo matou fiafia i le mea moni o lenei upu faʻamaonia o loʻo faʻailogaina i se tasi auala, e tutoatasi mai le PC patino, ma afai matou te toe setiina le faʻaupuga i le mea muamua, ona mafai lea ona matou faʻaogaina se tasi na iloa muamua i lenei fanua. Ia, afai tatou te mananaʻo e faʻaoga se faʻaupuga faʻafuaseʻi, e tatau ona tatou malamalama i le algorithm o lenei cipher. Ae pe a fua atu i faaaʻoaʻoga, o le a lē faigatā ai ona fai. I le auala, i le SAP GUI 7.40 o lenei fanua na mou atu atoa mai le fomu, ae sa'o le taliaina o se faila ma se upu fa'atumu.

O lona uiga, e foliga mai i totonu o le browser e tatau ona e kiliki i luga o le sootaga i se faila ma le faʻaopoopoga .sap ma le faʻatulagaga manaʻomia - ma o le a ofoina atu e tatala ai o se faila e pei o le SAP GUI Shortcut (e masani lava ile PC. fa'atasi ai ma le SAP GUI fa'apipi'i) ma o le a tatalaina se fa'amalama SAP GUI fa'atasi ai ma fa'amaufa'ailoga fa'apitoa (pe a fai o le SID ma le tagata fa'atau paaga o lo'o i le SAP Logon lisi i luga o lenei PC).

Ae, e manino lava e leai se tasi na te fatuina faila muamua ma teuina i luga o le upega tafaʻilagi - e tatau ona faʻavaeina i luga o mea talafeagai. Mo se faʻataʻitaʻiga, e mafai ona e fatuina se PHP script e faʻatupu ai ala pupuu (sapshcut.php):

<?php
$queries = array();
parse_str($_SERVER['QUERY_STRING'], $queries);
$Title = $queries['Title'];
$Size = $queries['Size'];
$SID = $queries['SID'];
$Client = $queries['Client'];
if($Client == '') { $Client=200; };
$Lang = $queries['Language'];
if($Lang=='') { $Lang = 'RU'; };
$User = $queries['Username'];
if($User<>'') { $Password = $queries['Password']; };
$filename = $SID.$Client.'.sap';
header('Content-disposition: attachment; filename='.$filename);
header('Content-type: application/sap');
echo "[System]rn";
echo "Name=".$SID."rn";
echo "Client=".$Client."rn";
echo "[User]rn";
echo "Name=".$Username."rn";
echo "Language=".$Lang."rn";
if($Password<>'') echo "Password=".$Password."rn";
echo "[Function]rn";
if($Title<>'') {echo "Title=".$Title."rn";} else {echo "Title=Вход в системуrn";};
echo "[Configuration]rn";
if($Size=='max') { echo "GuiSize=Maximizedrn"; };
echo "[Options]rn";
echo "Reuse=0rn";
?>

Afai e te le faʻamaonia se igoa faʻaoga ma upu faʻaulu, o le ae mauaina le faʻamalama o loʻo i lalo ole fesili mo le saini ma le faʻaupuga:

Tatala SAP GUI mai se su'esu'ega

Afai e te pasi na'o le saini, o le a fa'atumu le fanua e saini ai ma o le a gaogao le fa'ailoga upu. Afai matou te tuʻuina atu i le tagata faʻaoga uma se saini ma se faʻaupuga, ae o le tagata faʻaoga i luga o le PC o loʻo i ai le EnablePassword key i le resitala i le [HKEY_CURRENT_USERSoftwareSAPSAPShortcutSecurity] vaega seti i le 0, ona matou maua lea o le mea lava e tasi. Ma pe a fai o lenei ki e seti i le 1 ma matou pasi uma le igoa ma le upu muamua, o le a vave ona faʻamalosia oe e le polokalama e faʻaoga faalua se faʻaupuga tumau. O le mea lena na matou manaʻomia e maua.

O le iʻuga, o loʻo i ai a matou seti o filifiliga filifilia e fai ma faʻataʻitaʻiga o mea uma o loʻo i luga:

<html>
<head>
<script>
function openSAPGui(sid, client, user, password) {
var shell = new ActiveXObject("WScript.Shell");
shell.run('sapshcut.exe -system="'+sid+'" -client='+client+' -user="'+user+'" -pw="'+password+'" -language=RU');
}
</script>
</head>
<body>
<a href='' onclick="javascript:openSAPGui('SID', '200', 'test', '');"/>Example 1: Execute sapshcut.exe (ActiveX)<br>
<a href='Sapgui.Shortcut.File: -system=SID -client=200'>Example 2: Open sapshcut.exe (URI)</a><br>
<a href='sapshcut.php?SID=SID&Client=200&User=test'>Example 3: Open file .sap (SAP GUI Shortcut)</a><br>
</body>
</html>

O le filifiliga mulimuli na fetaui ma aʻu. Ae nai lo le fatuina o auala pupuu SAP, e mafai foi ona e faʻaogaina, mo se faʻataʻitaʻiga, fatuina o faila CMD, lea, pe a tatalaina mai se suʻega, o le a tatalaina ai foi le faamalama SAP GUI mo oe. Lalo o se faʻataʻitaʻiga (sapguicmd.php) faʻalauiloa saʻo le SAP GUI ma le manoa fesoʻotaʻiga atoa, e aunoa ma le manaʻomia o le SAP Logon configured:

<?php
$queries = array();
parse_str($_SERVER['QUERY_STRING'], $queries);
$Title = $queries['Title'];
$ROUTER = $queries['ROUTER'];
$ROUTERPORT = $queries['ROUTERPORT'];
$HOST = $queries['HOST'];
$PORT = $queries['PORT'];
$MESS = $queries['MESS'];
$LG = $queries['LG'];
$filename = 'SAPGUI_';
if($MESS<>'') $filename = $filename.$MESS;
if($HOST<>'') $filename = $filename.$HOST;
if($PORT<>'') $filename = $filename.'_'.$PORT;
$filename = $filename.'.cmd';
header('Content-disposition: attachment; filename='.$filename);
header('Content-type: application/cmd');
echo "@echo offrn";
echo "chcp 1251rn";
echo "echo Вход в ".$Title."rn";
echo "set SAP_CODEPAGE=1504rn";
echo 'if exist "%ProgramFiles(x86)%SAPFrontEndSapGuisapgui.exe" set gui=%ProgramFiles(x86)%SAPFrontEndSapGuisapgui.exe'."rn";
echo 'if exist "%ProgramFiles%SAPFrontEndSapGuisapgui.exe" set gui=%ProgramFiles%SAPFrontEndSapGuisapgui.exe'."rn";
echo "set logon=";
if($ROUTER<>'') echo "/H/".$ROUTER;
if($ROUTERPORT<>'') echo "/S/".$ROUTERPORT;
if($MESS<>'') echo "/M/".$MESS;
if($HOST<>'') echo "/H/".$HOST;
if($PORT<>'') echo "/S/".$PORT;
if($LG<>'') echo "/G/".$LG;
echo "rn";
echo '"%gui%" %logon%'."rn";
?>

puna: www.habr.com

Faaopoopo i ai se faamatalaga