๋๋ ์ด ๊ธ์ ๋ด ๊ธ์ ์ฒ์ ์ผ๋ค.
SAP R/3 ์์คํ ์์ ๋น๋ฐ๋ฒํธ ์ฌ์ค์ ์๋น์ค์ ๋ํ ์์ด๋์ด๋ฅผ ์ฐ๊ตฌํ๋ ๋์ ๋ธ๋ผ์ฐ์ ์์ ํ์ํ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ SAP GUI๋ฅผ ์์ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ง๋ฌธ์ด ์๊ฒผ์ต๋๋ค. ์ด ์์ด๋์ด๋ ์น ์๋น์ค์ ์ฌ์ฉ์ ์๋ฏธํ๋ฏ๋ก ๋จผ์ SAP GUI์ SOAP ์์ฒญ์ ์๋ตํ๊ณ ๋น๋ฐ๋ฒํธ๋ฅผ ์ด๊ธฐ ๋น๋ฐ๋ฒํธ๋ก ์ฌ์ค์ ํ๊ธฐ ์ํ ์คํฌ๋ฆฝํธ๊ฐ ํฌํจ๋ ์น ํ์ด์ง ๋งํฌ๊ฐ ํฌํจ๋ ํธ์ง๋ฅผ ๋ณด๋ธ ๋ค์ ์ฌ์ฉ์์๊ฒ ํ์ํฉ๋๋ค. ์ฑ๊ณต์ ์ธ ๋น๋ฐ๋ฒํธ ์ฌ์ค์ ์ ๋ํ ๋ฉ์์ง์ ์ด ์ด๊ธฐ ๋น๋ฐ๋ฒํธ๋ฅผ ํ์ํ๋ ๊ฒฝ์ฐ ์ด ํ์ด์ง์ SAP GUI๋ฅผ ์์ํ ์ ์๋ ๋งํฌ๋ ํฌํจํ๊ณ ์ถ์ต๋๋ค. ๋ํ ์ด ๋งํฌ๋ ์ํ๋ ์์คํ ์ ์ด์ด์ผ ํ๋ฉฐ, ๋ฐ๋์งํ๊ฒ๋ ๋ก๊ทธ์ธ ๋ฐ ๋น๋ฐ๋ฒํธ ํ๋๋ฅผ ํ ๋ฒ์ ์ ๋ ฅํด์ผ ํฉ๋๋ค. ์ฌ์ฉ์๋ ์์ฐ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ ๋ฒ๋ง ์ ๋ ฅํ๋ฉด ๋ฉ๋๋ค.
SAP Logon์ ์์ํ๋ ๊ฒ์ ์ฐ๋ฆฌ ๋ชฉ์ ์ ํฅ๋ฏธ๋กญ์ง ์์๊ณ sapgui.exe๋ฅผ ์คํํ ๋ ํด๋ผ์ด์ธํธ์ ์ฌ์ฉ์ ์ด๋ฆ์ ์ง์ ํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ์ง๋ง SAP Logon์ ์ ์๋์ง ์์ ์์คํ
์ ์์ํ๋ ๊ฒ์ ๊ฐ๋ฅํ์ต๋๋ค. ๋ฐ๋ฉด ์์์ ์๋ฒ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ SAP GUI๋ฅผ ์์ํ๋ ๊ฒ์ ํน๋ณํ ๊ด๋ จ์ด ์์ต๋๋ค. ์ฌ์ฉ์ ๋น๋ฐ๋ฒํธ ์ฌ์ค์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒฝ์ฐ SAP ๋ก๊ทธ์จ์ ํ์ํ ์ค์ ๊ณผ ํจ๊ป ํ์ํ ๋ผ์ธ์ด ์ด๋ฏธ ์์ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ์์ ์ ๊ฒ์ ์๋ง์ผ๋ก ๋ง๋ค ํ์๊ฐ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ง์ ๋ ์๊ตฌ ์ฌํญ์ SAP GUI ๋ฐ๋ก ๊ฐ๊ธฐ ๊ธฐ์ ๊ณผ sapshcut.exe ํ๋ก๊ทธ๋จ ์์ฒด๋ก ์ถฉ์กฑ๋์์ผ๋ฏ๋ก ํน์ "๋ฐ๋ก ๊ฐ๊ธฐ"๋ฅผ ์ฌ์ฉํ์ฌ SAP GUI๋ฅผ ์์ํ ์ ์์์ต๋๋ค.
๋ฌธ์ ์ ๋ฉด ํด๊ฒฐ: ActiveX ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ๋ธ๋ผ์ฐ์ ์์ ์ง์ sapshcut.exe ์คํ:
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');
}
ํด๊ฒฐ์ฑ ์ ๋์ฉ๋๋ค. ์ฒซ์งธ, Internet Explorer์์๋ง ์๋ํฉ๋๋ค. ๋์งธ, ๋ธ๋ผ์ฐ์ ์ ์ ์ ํ ๋ณด์ ์ค์ ์ด ํ์ํฉ๋๋ค. ์ด๋ ์กฐ์ง์์ ๋๋ฉ์ธ ์์ค์์ ๊ธ์ง๋ ์ ์์ผ๋ฉฐ, ํ์ฉํ๋๋ผ๋ ๋ธ๋ผ์ฐ์ ์ ๋ฌด์์ด ์ฐฝ์ด ํ์๋ฉ๋๋ค. ์ฌ์ฉ์์๊ฒ ๊ฒฝ๊ณ :
์ธํฐ๋ท์์ ํด๊ฒฐ์ฑ
#2๋ฅผ ์ฐพ์์ต๋๋ค.
์ด ํ๋กํ ์ฝ์ด ์์๋ฉ๋๋ค sapgui.exe ๋งค๊ฐ๋ณ์ ํฌํจ /์ง๋ฆ๊ธธ, ์ด๊ฒ์ด ๋ฐ๋ก ์ฐ๋ฆฌ์๊ฒ ํ์ํ ๊ฒ์
๋๋ค:
๊ธ์, ์๋๋ฉด ์์ ํ ์์์ ์ธ ํ๋กํ ์ฝ์ ๋ง๋ค๊ณ ์ถ๋ค๋ฉด(์๋ฅผ ๋ค์ด, ์ฝ์์ปท), ๋ค์ reg ํ์ผ์ ์ฌ์ฉํ์ฌ ๋ฑ๋กํ ์ ์์ต๋๋ค.
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""
์ด์ ํ๋กํ ์ฝ์ ๋ํ๋ด๋ ์น ํ์ด์ง์ ๋งํฌ๋ฅผ ๋ง๋ค๋ฉด Sapgui.๋ฐ๋ก๊ฐ๊ธฐ.ํ์ผ ๋น์ทํ ๋ฐฉ์์ผ๋ก:
<a href='Sapgui.Shortcut.File: -system=SID -client=200'>SID200</a>
๋ค์๊ณผ ๊ฐ์ ์ฐฝ์ด ํ์๋ฉ๋๋ค.
๋ชจ๋ ๊ฒ์ด ํ๋ฅญํด ๋ณด์ด์ง๋ง "ํ์ฉ" ๋ฒํผ์ ํด๋ฆญํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ด์ฉ์ด ํ์๋ฉ๋๋ค.
์ด๋ฐ, ๋ธ๋ผ์ฐ์ ๊ฐ ์คํ์ด์ค๋ฐ๋ฅผ %20์ผ๋ก ๋ฐ๊ฟจ์ต๋๋ค. ์, ๋ค๋ฅธ ๋ฌธ์๋ ๋ฐฑ๋ถ์จ ๊ธฐํธ๋ฅผ ์ฌ์ฉํ์ฌ ์์ฒด ์ซ์ ์ฝ๋๋ก ์ธ์ฝ๋ฉ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ๋ถ์พํ ์ ์ ์ฌ๊ธฐ ๋ธ๋ผ์ฐ์ ์์ค์์๋ ์๋ฌด ๊ฒ๋ ์ํํ ์ ์๋ค๋ ๊ฒ์
๋๋ค(์ฌ๊ธฐ์ ๋ชจ๋ ์์
์ ํ์ค์ ๋ฐ๋ผ ์ํ๋ฉ๋๋ค). ๋ธ๋ผ์ฐ์ ๋ ์ด๋ฌํ ๋ฌธ์๋ฅผ ์ข์ํ์ง ์์ผ๋ฉฐ Windows ๋ช
๋ น ํด์๊ธฐ๋ ์ด๋ฌํ ์ธ์ฝ๋ฉ๋ ๊ฐ์ผ๋ก ์๋ํ์ง ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ํ๋์ ๋ง์ด๋์ค - ์ ์ฒด ๋ฌธ์์ด์ ํ๋กํ ์ฝ ์ด๋ฆ๊ณผ ์ฌ์ง์ด ์ฝ๋ก (sapgui.๋จ์ถํค.ํ์ผ:). ๊ฒ๋ค๊ฐ ๋๊ฐ์ผ๋ฉด์๋ sapshcut.exe ๋งค๊ฐ๋ณ์๊ฐ ์๋ ๋ชจ๋ ํญ๋ชฉ์ ๋ฒ๋ฆด ์ ์์ต๋๋ค(๊ธฐํธ "-"๋ก ์์ํ๊ณ ์ด๋ฆ, "=" ๋ฐ ๊ฐ). ์ฆ, "์ ๊ฐ์ ์คsapgui.shortcut.file: -์์คํ
=SID"์ฌ์ ํ ์๋ํ์ง๋ง ๊ณต๋ฐฑ์ด ์์ด๋ ๋ฉ๋๋ค."sapgui.shortcut.file:-์์คํ
=SID"๋ ์ด์ ์๋ํ์ง ์์ต๋๋ค.
์์น์ ์ผ๋ก URI ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ ๋ฐ๋ ๋ ๊ฐ์ง ์ต์ ์ด ์์ต๋๋ค.
- ๋งค๊ฐ๋ณ์ ์์ด ์ฌ์ฉ: ์ฐ๋ฆฌ๋ ๋ค์ ์ ํ์ ๋ชจ๋ ์์คํ ์ ๋ํ ์ ์ฒด ํ๋กํ ์ฝ์ ์์ฑํฉ๋๋ค. ์๋๋งํธํ์ AAA200, BBB200 ๋ฑ๋ฑ. ์ํ๋ ์์คํ ์ ์์ํด์ผ ํ๋ ๊ฒฝ์ฐ ์ต์ ์ ์๋นํ ์คํ ๊ฐ๋ฅํ์ง๋ง ์ฐ๋ฆฌ์ ๊ฒฝ์ฐ์๋ ์ ์ด๋ ์ฌ์ฉ์ ๋ก๊ทธ์ธ์ ์ ์กํ๊ณ ์ถ์ง๋ง ์ด ๋ฐฉ๋ฒ์ผ๋ก๋ ์ํํ ์ ์๊ธฐ ๋๋ฌธ์ ์ ํฉํ์ง ์์ต๋๋ค.
- ๋ํผ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ์ฌ ํธ์ถ sapshcut.exe ๋๋ sapgui.exe. ์ด ํ๋ก๊ทธ๋จ์ ๋ณธ์ง์ ๊ฐ๋จํฉ๋๋ค. ๋ธ๋ผ์ฐ์ ๊ฐ ์น ํ๋กํ ์ฝ์ ํตํด ์ ์กํ๋ ๋ฌธ์์ด์ ๊ฐ์ ธ์ Windows๊ฐ ์์ ํ๋ ํํ์ผ๋ก ๋ฐ๊ฟ์ผ ํฉ๋๋ค. ๋ชจ๋ ๋ฌธ์ ์ฝ๋๋ฅผ ๋ค์ ๋ฌธ์๋ก ๋ณํํ๊ณ (๋งค๊ฐ๋ณ์์ ๋ฐ๋ผ ๋ฌธ์์ด์ ๊ตฌ๋ฌธ ๋ถ์ํ ์๋ ์์) ์ด๋ฏธ ๋ณด์ฅ๋ ์ฌ๋ฐ๋ฅธ ๋ช ๋ น์ผ๋ก SAP GUI๋ฅผ ํธ์ถํฉ๋๋ค. ์ฐ๋ฆฌ์ ๊ฒฝ์ฐ์๋ ๋ชจ๋ ์ฌ์ฉ์ PC์ ํ๋กํ ์ฝ์ ์ถ๊ฐํ๋ ๊ฒ๋ง์ผ๋ก๋ ์ถฉ๋ถํ์ง ์๊ธฐ ๋๋ฌธ์ ์์ ํ ์ ํฉํ์ง ์์ต๋๋ค(๊ทธ๋์ ์์ฑํ์ง๋ ์์์ต๋๋ค). ์ด ๊ดํ์ ํผํ์ธ์). ๊ทธ๋ฌ๋ ์ฌ๊ธฐ์๋ PC์ ํ๋ก๊ทธ๋จ์ ๋ ๋ง์ด ๋ฐฐ์นํ๊ณ ์ํํธ์จ์ด๊ฐ PC์ ๋ค์ ์ค์น๋ ๋ ํ๋ก๊ทธ๋จ์ด ์ฌ๋ผ์ง์ง ์๋๋ก ์ง์์ ์ผ๋ก ํ์ธํด์ผ ํฉ๋๋ค.
์ ๊ฒ๋ค. ๋ํ ์ด ์ต์ ์ด ์ฐ๋ฆฌ์๊ฒ ์ ํฉํ์ง ์๋ค๊ณ ํ๋จ๋๋ฉด ํ๊ธฐํฉ๋๋ค.
์ด ์์ ์์ ๋๋ ์ด๋ฏธ ๋ธ๋ผ์ฐ์ ์์ ํ์ํ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ SAP GUI๋ฅผ ์์ํ๋ค๋ ์์ด๋์ด์ ์๋ณ ์ธ์ฌ๋ฅผ ํด์ผ ํ๋ค๊ณ ์๊ฐํ๊ธฐ ์์ํ์ต๋๋ค. ๊ทธ๋ฐ๋ฐ SAP ๋ก๊ทธ์จ์์ ๋ฐ๋ก๊ฐ๊ธฐ๋ฅผ ๋ง๋ค ์ ์๋ค๋ ์์ด๋์ด๊ฐ ๋ ์ฌ๋์ต๋๋ค. ๋ฐ์คํฌํ์ ๋ณต์ฌํ์ธ์. ์ด ๋ฐฉ๋ฒ์ ํ ๋ฒ ์จ๋ดค๋๋ฐ ๊ทธ ์ ์๋ ๋ฐ๋ก๊ฐ๊ธฐ ํ์ผ์ ๋ฐ๋ก ๋ณด์ง ์์์ด์. ๊ทธ๋ฆฌ๊ณ ์ด ๋ฐ๋ก๊ฐ๊ธฐ๋ ํ์ฅ์๊ฐ ๋ถ์ ์ผ๋ฐ ํ ์คํธ ํ์ผ์ธ ๊ฒ์ผ๋ก ๋ฐํ์ก์ต๋๋ค. .์์ก. Windows์์ ์คํํ๋ฉด SAP GUI๊ฐ ์ด ํ์ผ์ ์ง์ ๋ ๋งค๊ฐ๋ณ์๋ก ์คํ๋ฉ๋๋ค. "๋น๊ณ !"
์ด ํ์ผ์ ํ์์ ๋๋ต ๋ค์๊ณผ ๊ฐ์ต๋๋ค(์์ ์ ํธ๋์ญ์ ์ด ์์๋ ์๋ ์์ง๋ง ์๋ตํ์ต๋๋ค).
[System]
Name=SID
Client=200
[User]
Name=
Language=RU
Password=
[Function]
Title=
[Configuration]
GuiSize=Maximized
[Options]
Reuse=0
์์คํ
์๋ณ์, ํด๋ผ์ด์ธํธ, ์ฌ์ฉ์ ์ด๋ฆ, ์ฌ์ง์ด ๋น๋ฐ๋ฒํธ๊น์ง ํ์ํ ๋ชจ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ถ๊ฐ ๋งค๊ฐ๋ณ์๋ ์์ต๋๋ค: Title - ์ฐฝ ์ ๋ชฉ, Guiํฌ๊ธฐ โ ์คํ ์ค์ธ ์ฐฝ์ ํฌ๊ธฐ(์ ์ฒด ํ๋ฉด ์ฌ๋ถ) ๋ฐ ์ฌ์ฌ์ฉ โ ์ ์ฐฝ์ ์ด์ด์ผ ํ๋์ง, ๋์ผํ ์์คํ
์์ ์ด๋ฏธ ์ด๋ ค ์๋ ์ฐฝ์ ์ฌ์ฉํด์ผ ํ๋์ง ์ฌ๋ถ. ๊ทธ๋ฌ๋ ์ฆ์ ๋์์ค๊ฐ ๋ํ๋ฌ์ต๋๋ค. SAP ๋ก๊ทธ์จ์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ค์ ํ ์ ์์ผ๋ฉฐ ๋ผ์ธ์ด ์ฐจ๋จ๋์๋ค๋ ๊ฒ์ด ๋ฐํ์ก์ต๋๋ค. ์ด๋ ๋ณด์์์ ์ด์ ๋ก ์ํ๋ ๊ฒ์ผ๋ก ๋ฐํ์ก์ต๋๋ค. SAP ๋ก๊ทธ์จ์์ ์์ฑ๋ ๋ชจ๋ ๋ฐ๋ก๊ฐ๊ธฐ๋ฅผ ํ์ผ์ ์ ์ฅํฉ๋๋ค. sapshortcut.ini (๊ฐ๊น์ด saplogon.ini Windows ์ฌ์ฉ์ ํ๋กํ) ๋ฐ ์ํธํ๋์ด ์์ง๋ง ๋๋ฌด ๊ฐ๋ ฅํ๊ฒ ์ํธํ๋์ง๋ ์์ผ๋ฉฐ ์ํ๋ ๊ฒฝ์ฐ ์ํธ๋ฅผ ํด๋
ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ ์ง์คํธ๋ฆฌ์์ ํ ๋งค๊ฐ๋ณ์์ ๊ฐ์ ๋ณ๊ฒฝํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค(๊ธฐ๋ณธ๊ฐ์ 0):
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USERSoftwareSAPSAPShortcutSecurity]
"EnablePassword"="1"
์ด๋ ๊ฒ ํ๋ฉด SAP ๋ก๊ทธ์จ์ ๋ฐ๋ก ๊ฐ๊ธฐ ์์ฑ ์์์ ์
๋ ฅํ ์ ์๋ ๋น๋ฐ๋ฒํธ ํ๋๊ฐ ์ ๊ธ ํด์ ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด ํ๋์ ๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํ๋ฉด ํด๋น ๋ผ์ธ์ ๋น๋ฐ๋ฒํธ๊ฐ ์
๋ ฅ๋ฉ๋๋ค.
sapshortcut.ini, ๊ทธ๋ฌ๋ ๋ฐ๋ก๊ฐ๊ธฐ๋ฅผ ๋ฐํํ๋ฉด์ผ๋ก ๋๋๊ทธํ๋ฉด ๋ฐ๋ก๊ฐ๊ธฐ๊ฐ ๊ทธ๊ณณ์ ๋ํ๋์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์๋์ผ๋ก ์ถ๊ฐํ ์๋ ์์ต๋๋ค. ๋น๋ฐ๋ฒํธ๋ ์ํธํ๋์ด ์์ผ๋ฉฐ 111111์ ๊ฒฝ์ฐ PW_49B02219D1F6, 222222์ ๊ฒฝ์ฐ PW_4AB3211AD2F5์
๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ์ด ๋น๋ฐ๋ฒํธ๊ฐ ํน์ PC์ ๊ด๊ณ์์ด ํ ๊ฐ์ง ๋ฐฉ์์ผ๋ก ์ํธํ๋๋ค๋ ์ฌ์ค์ ๋ ๊ด์ฌ์ด ์์ผ๋ฉฐ, ๋น๋ฐ๋ฒํธ๋ฅผ ์ด๊ธฐ ๋น๋ฐ๋ฒํธ๋ก ์ฌ์ค์ ํ๋ฉด ์ด ํ๋์์ ๋ฏธ๋ฆฌ ์๋ ค์ง ๊ฐ ํ๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ธ์์, ๋ฌด์์๋ก ์์ฑ๋ ๋น๋ฐ๋ฒํธ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์ด ์ํธ์ ์๊ณ ๋ฆฌ์ฆ์ ์ดํดํด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ฃผ์ด์ง ์์ ๋ฐ๋ฅด๋ฉด ์ด๋ ์ด๋ ต์ง ์์ ๊ฒ์
๋๋ค. ๊ทธ๋ฐ๋ฐ SAP GUI 7.40์์๋ ์ด ํ๋๊ฐ ์์์์ ์์ ํ ์ฌ๋ผ์ก์ง๋ง ๋น๋ฐ๋ฒํธ๊ฐ ์
๋ ฅ๋ ํ์ผ์ ์ฌ๋ฐ๋ฅด๊ฒ ํ์ฉํฉ๋๋ค.
์ฆ, ๋ธ๋ผ์ฐ์ ์์ ํ์ฅ๋ช ์ด .sap์ด๊ณ ์ํ๋ ํ์์ ํ์ผ์ ๋ํ ๋งํฌ๋ฅผ ํด๋ฆญํ๊ธฐ๋ง ํ๋ฉด SAP GUI ๋ฐ๋ก ๊ฐ๊ธฐ์ ๊ฐ์ ํ์ผ๋ก ์ด ์ ์์ต๋๋ค(์์ฐ์ ์ผ๋ก PC์์). SAP GUI๊ฐ ์ค์น๋ ๊ฒฝ์ฐ) ์ง์ ๋ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ SAP GUI ์ฐฝ์ ์ฝ๋๋ค(SID์ ํด๋ผ์ด์ธํธ ์์ด ์ด PC์ SAP ๋ก๊ทธ์จ ๋ชฉ๋ก์ ์๋ ๊ฒฝ์ฐ).
๊ทธ๋ฌ๋ ๋๊ตฌ๋ ๋จ์ํ ํ์ผ์ ๋ฏธ๋ฆฌ ์์ฑํ์ฌ ์ฌ์ดํธ์ ์ ์ฅํ์ง ์์ ๊ฒ์ด๋ผ๋ ์ ์ ๋ถ๋ช ํฉ๋๋ค. ํ์ผ์ ํ์ํ ๋งค๊ฐ๋ณ์์ ๋ฐ๋ผ ์์ฑ๋์ด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด PHP ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ์ฌ ๋ฐ๋ก๊ฐ๊ธฐ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค(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";
?>
์ฌ์ฉ์ ์ด๋ฆ๊ณผ ๋น๋ฐ๋ฒํธ๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด ๋ก๊ทธ์ธ๊ณผ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ฌป๋ ๋ค์ ์ฐฝ์ด ๋ํ๋ฉ๋๋ค.
๋ก๊ทธ์ธ๋ง ์ ๋ฌํ๋ฉด ๋ก๊ทธ์ธ ํ๋๋ ์ฑ์์ง๊ณ ๋น๋ฐ๋ฒํธ ํ๋๋ ๋น์ด ์๊ฒ ๋ฉ๋๋ค. ์ฌ์ฉ์์๊ฒ ๋ก๊ทธ์ธ๊ณผ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ชจ๋ ์ ๊ณตํ์ง๋ง PC ์ฌ์ฉ์์ ๋ ์ง์คํธ๋ฆฌ์์ [HKEY_CURRENT_USERSoftwareSAPSAPShortcutSecurity] ์น์
์ EnablePassword ํค๊ฐ 0์ผ๋ก ์ค์ ๋ ๊ฒฝ์ฐ ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ํค๊ฐ 1๋ก ์ค์ ๋์ด ์๊ณ ์ด๋ฆ๊ณผ ์ด๊ธฐ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ชจ๋ ์ ๋ฌํ๋ ๊ฒฝ์ฐ์๋ง ์์คํ
์ ์ฆ์ ์ ์๊ตฌ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ ๋ฒ ์
๋ ฅํ๋ผ๋ ๋ฉ์์ง๋ฅผ ํ์ํฉ๋๋ค. ๊ทธ๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ์ป์ด์ผ ํ๋ ๊ฒ์
๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก ์์ ๋ชจ๋ ์ฌํญ์ ์ค๋ช ํ๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ ๊ณ ๋ ค๋ ์ต์ ์ธํธ๊ฐ ์์ต๋๋ค.
<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>
๋ง์ง๋ง ์ต์ ์ด ๋์๊ฒ ์ ํฉํ์ต๋๋ค. ๊ทธ๋ฌ๋ SAP ๋ฐ๋ก๊ฐ๊ธฐ๋ฅผ ์์ฑํ๋ ๋์ CMD ํ์ผ ์์ฑ ๋ฑ์ ์ฌ์ฉํ ์๋ ์์ต๋๋ค. ์ด ํ์ผ์ ๋ธ๋ผ์ฐ์ ์์ ์ด๋ฉด SAP GUI ์ฐฝ์ด ์ด๋ฆฝ๋๋ค. ์๋๋ ์์์ ๋๋ค(sapguicmd.php) SAP ๋ก๊ทธ์จ์ ๊ตฌ์ฑํ ํ์ ์์ด ์ ์ฒด ์ฐ๊ฒฐ ๋ฌธ์์ด์ ์ฌ์ฉํ์ฌ SAP GUI๋ฅผ ์ง์ ์คํํฉ๋๋ค.
<?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";
?>
์ถ์ฒ : habr.com