Ewelite SAP GUI site na ihe nchọgharị

M mbụ dere akụkọ a na nke m блог, ka ị ghara ịchọ ma cheta ọzọ mgbe e mesịrị, ma ebe ọ bụ na ọ dịghị onye na-agụ blọgụ, achọrọ m ịkọrọ onye ọ bụla ozi a, ma ọ bụrụ na mmadụ achọpụta na ọ bara uru.

Mgbe ị na-arụ ọrụ na echiche nke ọrụ nrụpụta okwuntughe na sistemụ SAP R / 3, ajụjụ bilitere - ka esi malite SAP GUI na ihe ndị dị mkpa na ihe nchọgharị ahụ? Ebe echiche a pụtara iji ọrụ webụ, buru ụzọ zaa arịrịọ SOAP sitere na SAP GUI wee ziga leta nwere njikọ na ibe weebụ yana edemede maka ịtọgharịa paswọọdụ na nke mbụ, wee gosipụta onye ọrụ. ozi gbasara nrụpụta paswọọdụ ịga nke ọma na igosipụta okwuntughe izizi a, mgbe ahụ ọ ga-amasị m ka ibe a nwee njikọ iji malite SAP GUI. Ọzọkwa, njikọ a kwesịrị imepe usoro a chọrọ, na, ọkachamma, na nbanye na paswọọdụ jupụtara n'otu oge: onye ọrụ ga-emejupụta paswọọdụ na-arụpụta ihe ugboro abụọ.

Ịmepụta SAP Logon abụghị ihe na-adọrọ mmasị maka nzube anyị, na mgbe ọ na-agba ọsọ sapgui.exe ọ gaghị ekwe omume ịkọwapụta onye ahịa na aha njirimara, ma ọ ga-ekwe omume ịmalite usoro na-akọwaghị na SAP Logon. N'aka nke ọzọ, ịmalite SAP GUI na usoro ihe nkesa aka ike adịghị mkpa: ọ bụrụ na anyị na-edozi nsogbu nke ịtọgharịa paswọọdụ onye ọrụ, mgbe ahụ ọ ga-abụrịrị na o nweela ahịrị dị mkpa na SAP Logon, yana ntọala ọ chọrọ, ebe ahụ. ọ dịghị mkpa ka ọgbaghara na nke ya. Mana ihe ndị a kapịrị ọnụ ezutere site na teknụzụ SAP GUI Shortcut na mmemme sapshcut.exe n'onwe ya, nke mere ka o kwe omume ịmalite SAP GUI site na iji “ụzọ mkpirisi”.

Ịdozi nsogbu ahụ n'ihu: ịmalite sapshcut.exe ozugbo site na ihe nchọgharị site na iji ihe 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');
}

Ihe ngwọta dị njọ: nke mbụ, ọ na-arụ ọrụ naanị na Internet Explorer, nke abụọ, ọ na-achọ ntọala nchekwa kwesịrị ekwesị na ihe nchọgharị ahụ, nke nwere ike igbochi n'ime ụlọ ọrụ na ọkwa ngalaba, na ọbụna ma ọ bụrụ na ahapụ ya, ihe nchọgharị ahụ na-egosipụta windo na-atụ egwu. ịdọ aka ná ntị nye onye ọrụ:

Ewelite SAP GUI site na ihe nchọgharị

Achọtara m ngwọta #2 na ịntanetị: ịmepụta protocol weebụ nke gị. Na-enye anyị ohere ịmalite ngwa anyị chọrọ site na iji njikọ na-egosi protocol, nke anyị onwe anyị debanyere aha na Windows na ndekọ na ngalaba HKEY_CLASSES_ROOT. Ebe SAP GUI Shortcut nwere ngalaba nke ya na ngalaba a, ị nwere ike itinye paramita URL Protocol na uru efu ebe ahụ:

Ewelite SAP GUI site na ihe nchọgharị

Usoro a na-amalite sapgui.exe na oke /MKPỤRỤ, nke bụ kpọmkwem ihe anyị chọrọ:

Ewelite SAP GUI site na ihe nchọgharị

Ọ dị mma, ma ọ bụ ọ bụrụ na anyị chọrọ ịme usoro iwu aka ike kpamkpam (dịka ọmụmaatụ, sapshcut), mgbe ahụ ị nwere ike ịdebanye aha ya site na iji faịlụ reg na-esonụ:

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""

Ugbu a, ọ bụrụ na anyị na-eme njikọ na ibe weebụ na-egosi protocol Sapgui. Shortcut.File N'otu aka ahụ:

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

Anyị kwesịrị ịhụ windo dị ka nke a:

Ewelite SAP GUI site na ihe nchọgharị

Na ihe niile dị ka nnukwu, ma mgbe ịpịrị bọtịnụ "Kwe ka" anyị na-ahụ:

Ewelite SAP GUI site na ihe nchọgharị

Ee, ihe nchọgharị ahụ tụgharịrị oghere oghere ka ọ bụrụ %20. Ọfọn, a ga-edokwa mkpụrụedemede ndị ọzọ n'ime koodu ọnụọgụgụ nke ha nwere akara pasentị. Na ihe kachasị njọ bụ na ọ dịghị ihe a ga-eme ebe a na ọkwa ihe nchọgharị (ihe niile a na-eme dị ka ọkọlọtọ) - ihe nchọgharị ahụ adịghị amasị ndị dị otú ahụ, na nsụgharị iwu Windows anaghị arụ ọrụ na ụkpụrụ ndị dị otú ahụ. Na otu ọzọ mwepu - a na-agafe eriri dum dị ka paramita, gụnyere aha protocol na ọbụna colon (sapgui.shortcut.file:). Ọzọkwa, ọ bụ ezie na otu sapshcut.exe nwere ike ịtụfu ihe ọ bụla na-abụghị paramita maka ya (malite na akara "-", wee aha, "=" na uru), i.e. ahịrị dị ka "sapgui.shortcut.file: -system=SID"Ọ ka ga-arụ ọrụ, mgbe ahụ na-enweghị oghere"sapgui.shortcut.file:-system=SID"anaghịkwa arụ ọrụ.

Ọ tụgharịrị na, n'ụkpụrụ, enwere nhọrọ abụọ maka iji protocol URI:

  1. Iji na-enweghị paramita: Anyị na-emepụta ụyọkọ protocol maka sistemụ anyị niile nke ụdị SIDANDT, ụdị AAA200, BBB200 were gabazie. Ọ bụrụ na ịchọrọ ịmalite usoro a chọrọ, mgbe ahụ, nhọrọ ahụ dị nnọọ mfe, ma n'ọnọdụ anyị, ọ bụghị ihe kwesịrị ekwesị, ebe ọ bụ na ọ dịkarịa ala ị ga-achọ ịnyefe nbanye onye ọrụ, ma nke a enweghị ike ime otú a.
  2. Iji mmemme wrapper ịkpọ sapshcut.exe ma ọ bụ sapgui.exe. Isi ihe dị na mmemme a dị mfe - ọ ga-eburịrị eriri nke ihe nchọgharị ahụ na-ebunye ya site na usoro webụ ma tụgharịa ya ka ọ bụrụ ihe nnọchianya nke Windows na-enweta, ya bụ. na-atụgharị koodu agwa niile ka ọ bụrụ mkpụrụedemede (ikekwe na-atụgharị eriri dị ka parampat si dị) wee kpọọ SAP GUI site na iji iwu ziri ezi ekwe nkwa. N'ọnọdụ anyị, ọ dịghịkwa adabara kpamkpam (ya mere na edeghị m ya), n'ihi na ezughị ezu ka anyị tinye protocol na PC ndị ọrụ niile (n'ime ngalaba nke a ka dị mma, n'agbanyeghị na ọ ka mma iji. zere omume a), mana ebe a, anyị ga-achọkwu ebe mmemme ahụ na PC, yana hụkwa na ọ naghị apụ mgbe etinyere ngwanro na PC.

Ndị ahụ. Anyị na-atụfukwa nhọrọ a ka ọ dabaraghị anyị.

N'oge a, amalitere m iche na m ga-ekwu nke ọma na echiche nke ịmalite SAP GUI na ihe ndị dị mkpa site na ihe nchọgharị ahụ, ma mgbe ahụ, echiche ahụ bịara m na na SAP Logon ị nwere ike ime ụzọ mkpirisi na detuo ya na desktọpụ gị. Ejiri m usoro a otu ugboro, mana tupu nke ahụ, eleghị m anya na faịlụ mkpirisi. Ọ tụgharịrị na ụzọ mkpirisi a bụ faịlụ ederede oge niile yana ndọtị ahụ .sap. Ma ọ bụrụ na ị na-agba ya na Windows, SAP GUI ga-eji paramita ndị akọwapụtara na faịlụ a malite. "Bingo!"

Ụdị faịlụ a dị ihe dịka ndị a (enwerekwa ike ịnwe azụmahịa amalitere na mmalite, mana ahapụ m ya):

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

Ọ dị ka ihe niile achọrọ: njirimara sistemụ, onye ahịa, aha njirimara na ọbụna paswọọdụ. Na ọbụna ndị ọzọ paramita: aha - aha window, GuiSize - nha nke windo na-agba ọsọ (ihuenyo zuru ezu ma ọ bụ na ọ bụghị) na Iwerekwa - ma ọ dị mkpa imepe windo ọhụrụ ma ọ bụ jiri nke mepere emepe nwere otu sistemụ. Ma nuance pụtara ozugbo - ọ tụgharịrị na enweghị ike ịtọ paswọọdụ na SAP Logon, egbochiri ahịrị ahụ. Ọ tụgharịrị na e mere nke a maka ihe nchekwa: ọ na-echekwa ụzọ mkpirisi niile emepụtara na SAP Logon na faịlụ sapshortcut.ini (Nso saplogon.ini na profaịlụ onye ọrụ Windows) na n'ebe ahụ, ọ bụ ezie na ezoro ezoro ha, a naghị ezobe ha nke ukwuu ma, ọ bụrụ na achọrọ, enwere ike ihichapụ ha. Mana ị nwere ike dozie nke a site n'ịgbanwe uru nke otu paramita na ndekọ (uru ndabara bụ 0):

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

Nke a na-emepe ogige Paswọdu maka ntinye na ụdị ụzọ mkpirisi dị na Logon SAP:

Ewelite SAP GUI site na ihe nchọgharị

Ma mgbe itinyere paswọọdụ n'ọhịa a, a ga-etinye ya n'ahịrị kwekọrọ
sapshortcut.ini, mana mgbe ị dọkpụrụ ụzọ mkpirisi gaa na desktọpụ, ọ pụtaghị ebe ahụ - mana ị nwere ike iji aka tinye ya ebe ahụ. Ezoro paswọọdụ ezoro ezo, maka 111111 ọ ga-abụ otu a: PW_49B02219D1F6, maka 222222 - PW_4AB3211AD2F5. Mana anyị nwere mmasị na eziokwu ahụ bụ na ezoro ezo paswọọdụ a n'otu ụzọ, n'adabereghị na PC akọwapụtara, ma ọ bụrụ na anyị tọgharịa paswọọdụ na nke mbụ, mgbe ahụ anyị nwere ike iji otu uru ama ama na mpaghara a. Ọfọn, ọ bụrụ na anyị chọrọ iji paswọọdụ emepụtara enweghị usoro, anyị ga-aghọta algọridim nke cipher a. Ma site n'iji ihe atụ ndị e nyere n'ikpe, nke a agaghị esi ike ime. Site n'ụzọ, na SAP GUI 7.40 ubi a kwụsịrị kpamkpam na ụdị ahụ, mana ọ na-anabata faịlụ nke nwere paswọọdụ jupụtara.

Nke ahụ bụ, ọ na-apụta na na ihe nchọgharị ahụ naanị ịkwesịrị pịa njikọ nke faịlụ nwere ndọtị .sap na usoro achọrọ - ọ ga-enye imeghe ya dị ka faịlụ dị ka SAP GUI Shortcut (n'ezie na PC). na SAP GUI arụnyere) ma ga-emepe windo SAP GUI nwere akara ndị akọwapụtara (ma ọ bụrụ na SID na ụzọ ndị ahịa nọ na ndepụta SAP Logon na PC a).

Ma, o doro anya na ọ dịghị onye ga-emepụta faịlụ n'ọdịnihu ma chekwaa ha na saịtị ahụ - a ghaghị ịmepụta ha dabere na ihe ndị dị mkpa. Dịka ọmụmaatụ, ị nwere ike ịmepụta script PHP iji mepụta ụzọ mkpirisi (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";
?>

Ọ bụrụ na ịmaghị aha njirimara na paswọọdụ, ị ga-enweta windo na-esonụ na-arịọ maka nbanye na paswọọdụ:

Ewelite SAP GUI site na ihe nchọgharị

Ọ bụrụ na ị gafere naanị nbanye, oghere nbanye ga-ejupụta na oghere okwuntughe ga-atọgbọ chakoo. Ọ bụrụ na anyị enye onye ọrụ ma nbanye na paswọọdụ, mana onye ọrụ na PC nwere igodo EnablePassword na ndekọ na ngalaba [HKEY_CURRENT_USERSAPSAPShortcutSecurity] atọrọ na 0, mgbe ahụ anyị ga-enweta otu ihe ahụ. Naanị ma ọ bụrụ na edobere igodo a na 1 ma anyị gafere ma aha na paswọọdụ mbụ, sistemụ ahụ ga-akpali gị ozugbo itinye paswọọdụ ọhụrụ na-adịgide adịgide ugboro abụọ. Nke ahụ bụ ihe anyị kwesịrị inweta.

N'ihi ya, anyị nwere nhọrọ ndị a tụlere dị ka ihe atụ nke ihe niile dị n'elu:

<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>

Nhọrọ ikpeazụ dabara m. Ma kama ịmepụta ụzọ mkpirisi SAP, ị nwekwara ike iji, dịka ọmụmaatụ, ịmepụta faịlụ CMD, nke, mgbe emepere site na ihe nchọgharị, ga-emeghekwara gị windo SAP GUI. N'okpuru bụ ọmụmaatụ (sapguicmd.php) jiri eriri njikọ zuru ezu wepụta SAP GUI ozugbo, na-enweghị mkpa ịhazi SAP Logon:

<?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";
?>

isi: www.habr.com

Tinye a comment