ಬ್ರೌಸರ್‌ನಿಂದ SAP GUI ಅನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತಿದೆ

ನಾನು ಮೊದಲು ಈ ಲೇಖನವನ್ನು ನನ್ನಲ್ಲಿ ಬರೆದಿದ್ದೇನೆ ಬ್ಲಾಗ್, ನಂತರ ಮತ್ತೆ ಹುಡುಕಬಾರದು ಮತ್ತು ನೆನಪಿಟ್ಟುಕೊಳ್ಳಬಾರದು, ಆದರೆ ಯಾರೂ ಬ್ಲಾಗ್ ಅನ್ನು ಓದುವುದಿಲ್ಲವಾದ್ದರಿಂದ, ಈ ಮಾಹಿತಿಯನ್ನು ಯಾರಿಗಾದರೂ ಉಪಯುಕ್ತವೆಂದು ಕಂಡುಕೊಂಡರೆ, ನಾನು ಈ ಮಾಹಿತಿಯನ್ನು ಎಲ್ಲರೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳಲು ಬಯಸುತ್ತೇನೆ.

SAP R/3 ಸಿಸ್ಟಮ್‌ಗಳಲ್ಲಿ ಪಾಸ್‌ವರ್ಡ್ ಮರುಹೊಂದಿಸುವ ಸೇವೆಯ ಕಲ್ಪನೆಯ ಮೇಲೆ ಕೆಲಸ ಮಾಡುವಾಗ, ಒಂದು ಪ್ರಶ್ನೆ ಉದ್ಭವಿಸಿತು - ಬ್ರೌಸರ್‌ನಿಂದ ಅಗತ್ಯ ನಿಯತಾಂಕಗಳೊಂದಿಗೆ SAP GUI ಅನ್ನು ಹೇಗೆ ಪ್ರಾರಂಭಿಸುವುದು? ಈ ಕಲ್ಪನೆಯು ವೆಬ್ ಸೇವೆಯ ಬಳಕೆಯನ್ನು ಸೂಚಿಸುವುದರಿಂದ, ಮೊದಲು SAP GUI ನಿಂದ SOAP ವಿನಂತಿಗೆ ಪ್ರತಿಕ್ರಿಯಿಸಿ ಮತ್ತು ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಆರಂಭಿಕ ಒಂದಕ್ಕೆ ಮರುಹೊಂದಿಸಲು ಸ್ಕ್ರಿಪ್ಟ್‌ನೊಂದಿಗೆ ವೆಬ್ ಪುಟಕ್ಕೆ ಲಿಂಕ್‌ನೊಂದಿಗೆ ಪತ್ರವನ್ನು ಕಳುಹಿಸುವುದು ಮತ್ತು ನಂತರ ಬಳಕೆದಾರರಿಗೆ ಪ್ರದರ್ಶಿಸುವುದು ಯಶಸ್ವಿ ಪಾಸ್‌ವರ್ಡ್ ರೀಸೆಟ್ ಮತ್ತು ಈ ಆರಂಭಿಕ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಪ್ರದರ್ಶಿಸುವ ಕುರಿತು ಸಂದೇಶ, ನಂತರ ಈ ಪುಟವು SAP GUI ಅನ್ನು ಪ್ರಾರಂಭಿಸಲು ಲಿಂಕ್ ಅನ್ನು ಸಹ ಹೊಂದಲು ನಾನು ಬಯಸುತ್ತೇನೆ. ಇದಲ್ಲದೆ, ಈ ಲಿಂಕ್ ಅಪೇಕ್ಷಿತ ಸಿಸ್ಟಮ್ ಅನ್ನು ತೆರೆಯಬೇಕು, ಮತ್ತು ಮೇಲಾಗಿ, ಲಾಗಿನ್ ಮತ್ತು ಪಾಸ್ವರ್ಡ್ ಕ್ಷೇತ್ರಗಳನ್ನು ಏಕಕಾಲದಲ್ಲಿ ಭರ್ತಿ ಮಾಡಬೇಕು: ಬಳಕೆದಾರನು ಉತ್ಪಾದಕ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಎರಡು ಬಾರಿ ಮಾತ್ರ ಭರ್ತಿ ಮಾಡಬೇಕಾಗುತ್ತದೆ.

SAP ಲಾಗಿನ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸುವುದು ನಮ್ಮ ಉದ್ದೇಶಕ್ಕಾಗಿ ಆಸಕ್ತಿದಾಯಕವಾಗಿರಲಿಲ್ಲ, ಮತ್ತು sapgui.exe ಅನ್ನು ಚಾಲನೆ ಮಾಡುವಾಗ ಕ್ಲೈಂಟ್ ಮತ್ತು ಬಳಕೆದಾರ ಹೆಸರನ್ನು ಸೂಚಿಸಲು ಅಸಾಧ್ಯವಾಗಿತ್ತು, ಆದರೆ SAP ಲಾಗಿನ್‌ನಲ್ಲಿ ವಿವರಿಸದ ಸಿಸ್ಟಮ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲು ಸಾಧ್ಯವಾಯಿತು. ಮತ್ತೊಂದೆಡೆ, ಅನಿಯಂತ್ರಿತ ಸರ್ವರ್ ಪ್ಯಾರಾಮೀಟರ್‌ಗಳೊಂದಿಗೆ 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');
}

ಪರಿಹಾರವು ಕೆಟ್ಟದಾಗಿದೆ: ಮೊದಲನೆಯದಾಗಿ, ಇದು ಇಂಟರ್ನೆಟ್ ಎಕ್ಸ್‌ಪ್ಲೋರರ್‌ನಲ್ಲಿ ಮಾತ್ರ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಎರಡನೆಯದಾಗಿ, ಇದಕ್ಕೆ ಬ್ರೌಸರ್‌ನಲ್ಲಿ ಸೂಕ್ತವಾದ ಭದ್ರತಾ ಸೆಟ್ಟಿಂಗ್‌ಗಳ ಅಗತ್ಯವಿರುತ್ತದೆ, ಇದನ್ನು ಸಂಸ್ಥೆಯಲ್ಲಿ ಡೊಮೇನ್ ಮಟ್ಟದಲ್ಲಿ ನಿಷೇಧಿಸಬಹುದು ಮತ್ತು ಅನುಮತಿಸಿದರೂ ಸಹ, ಬ್ರೌಸರ್ ಭಯಾನಕ ವಿಂಡೋವನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ. ಬಳಕೆದಾರರಿಗೆ ಎಚ್ಚರಿಕೆ:

ಬ್ರೌಸರ್‌ನಿಂದ SAP GUI ಅನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತಿದೆ

ನಾನು ಅಂತರ್ಜಾಲದಲ್ಲಿ ಪರಿಹಾರ #2 ಅನ್ನು ಕಂಡುಕೊಂಡಿದ್ದೇನೆ: ನಿಮ್ಮ ಸ್ವಂತ ವೆಬ್ ಪ್ರೋಟೋಕಾಲ್ ಅನ್ನು ರಚಿಸುವುದು. ಪ್ರೋಟೋಕಾಲ್ ಅನ್ನು ಸೂಚಿಸುವ ಲಿಂಕ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ನಮಗೆ ಅಗತ್ಯವಿರುವ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲು ನಮಗೆ ಅನುಮತಿಸುತ್ತದೆ, ನಾವು HKEY_CLASSES_ROOT ವಿಭಾಗದಲ್ಲಿ ನೋಂದಾವಣೆಯಲ್ಲಿ ವಿಂಡೋಸ್‌ನಲ್ಲಿ ನೋಂದಾಯಿಸುತ್ತೇವೆ. ಈ ವಿಭಾಗದಲ್ಲಿ SAP GUI ಶಾರ್ಟ್‌ಕಟ್ ತನ್ನದೇ ಆದ ಉಪವಿಭಾಗವನ್ನು ಹೊಂದಿರುವುದರಿಂದ, ನೀವು URL ಪ್ರೋಟೋಕಾಲ್ ಸ್ಟ್ರಿಂಗ್ ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ಖಾಲಿ ಮೌಲ್ಯದೊಂದಿಗೆ ಸೇರಿಸಬಹುದು:

ಬ್ರೌಸರ್‌ನಿಂದ SAP GUI ಅನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತಿದೆ

ಈ ಪ್ರೋಟೋಕಾಲ್ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ sapgui.exe ನಿಯತಾಂಕದೊಂದಿಗೆ / ಶಾರ್ಟ್‌ಕಟ್, ಇದು ನಿಖರವಾಗಿ ನಮಗೆ ಬೇಕಾಗಿರುವುದು:

ಬ್ರೌಸರ್‌ನಿಂದ SAP GUI ಅನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತಿದೆ

ಸರಿ, ಅಥವಾ ನಾವು ಸಂಪೂರ್ಣವಾಗಿ ಅನಿಯಂತ್ರಿತ ಪ್ರೋಟೋಕಾಲ್ ಮಾಡಲು ಬಯಸಿದರೆ (ಉದಾಹರಣೆಗೆ, ಸಪ್ಷ್ಕಟ್), ನಂತರ ನೀವು ಈ ಕೆಳಗಿನ ರೆಗ್ ಫೈಲ್ ಬಳಸಿ ಅದನ್ನು ನೋಂದಾಯಿಸಬಹುದು:

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.Shortcut.File ಇದೇ ರೀತಿಯಲ್ಲಿ:

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

ನಾವು ಈ ರೀತಿಯ ವಿಂಡೋವನ್ನು ನೋಡಬೇಕು:

ಬ್ರೌಸರ್‌ನಿಂದ SAP GUI ಅನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತಿದೆ

ಮತ್ತು ಎಲ್ಲವೂ ಉತ್ತಮವೆಂದು ತೋರುತ್ತದೆ, ಆದರೆ ನೀವು "ಅನುಮತಿಸು" ಬಟನ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿದಾಗ ನಾವು ನೋಡುತ್ತೇವೆ:

ಬ್ರೌಸರ್‌ನಿಂದ SAP GUI ಅನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತಿದೆ

ಓಹ್, ಬ್ರೌಸರ್ ಸ್ಪೇಸ್‌ಬಾರ್ ಅನ್ನು %20 ಆಗಿ ಪರಿವರ್ತಿಸಿದೆ. ಸರಿ, ಇತರ ಅಕ್ಷರಗಳನ್ನು ಶೇಕಡಾ ಚಿಹ್ನೆಯೊಂದಿಗೆ ತಮ್ಮದೇ ಆದ ಸಂಖ್ಯಾ ಕೋಡ್‌ಗೆ ಎನ್‌ಕೋಡ್ ಮಾಡಲಾಗುತ್ತದೆ. ಮತ್ತು ಅತ್ಯಂತ ಅಹಿತಕರ ವಿಷಯವೆಂದರೆ ಇಲ್ಲಿ ಬ್ರೌಸರ್ ಮಟ್ಟದಲ್ಲಿ ಏನನ್ನೂ ಮಾಡಲಾಗುವುದಿಲ್ಲ (ಇಲ್ಲಿ ಎಲ್ಲವನ್ನೂ ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಪ್ರಕಾರ ಮಾಡಲಾಗುತ್ತದೆ) - ಬ್ರೌಸರ್ ಅಂತಹ ಅಕ್ಷರಗಳನ್ನು ಇಷ್ಟಪಡುವುದಿಲ್ಲ, ಮತ್ತು ವಿಂಡೋಸ್ ಕಮಾಂಡ್ ಇಂಟರ್ಪ್ರಿಟರ್ ಅಂತಹ ಎನ್ಕೋಡ್ ಮೌಲ್ಯಗಳೊಂದಿಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ. ಮತ್ತು ಇನ್ನೊಂದು ಮೈನಸ್ - ಪ್ರೋಟೋಕಾಲ್ ಹೆಸರು ಮತ್ತು ಕೊಲೊನ್ ಸೇರಿದಂತೆ ಸಂಪೂರ್ಣ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಪ್ಯಾರಾಮೀಟರ್ ಆಗಿ ರವಾನಿಸಲಾಗಿದೆ (sapgui.shortcut.file:) ಇದಲ್ಲದೆ, ಅದೇ ಆದರೂ sapshcut.exe ಅದಕ್ಕೆ ಪ್ಯಾರಾಮೀಟರ್ ಅಲ್ಲದ ಎಲ್ಲವನ್ನೂ ತ್ಯಜಿಸಬಹುದು ("-" ಚಿಹ್ನೆಯಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ, ನಂತರ ಹೆಸರು, "=" ಮತ್ತು ಮೌಲ್ಯ), ಅಂದರೆ. ಒಂದು ಸಾಲು "sapgui.shortcut.file: -system=SID"ಇದು ಇನ್ನೂ ಕೆಲಸ ಮಾಡುತ್ತದೆ, ನಂತರ ಜಾಗವಿಲ್ಲದೆ"sapgui.shortcut.file:-system=SID"ಇನ್ನು ಮುಂದೆ ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ.

ತಾತ್ವಿಕವಾಗಿ, URI ಪ್ರೋಟೋಕಾಲ್ ಅನ್ನು ಬಳಸಲು ಎರಡು ಆಯ್ಕೆಗಳಿವೆ ಎಂದು ಅದು ತಿರುಗುತ್ತದೆ:

  1. ಪ್ಯಾರಾಮೀಟರ್‌ಗಳಿಲ್ಲದೆ ಬಳಸುವುದು: ನಮ್ಮ ಎಲ್ಲಾ ರೀತಿಯ ಸಿಸ್ಟಮ್‌ಗಳಿಗಾಗಿ ನಾವು ಪ್ರೋಟೋಕಾಲ್‌ಗಳ ಸಂಪೂರ್ಣ ಗುಂಪನ್ನು ರಚಿಸುತ್ತೇವೆ ಸಿಡ್ಮಂಡ್ಟ್, ಹಾಗೆ AAA200, ಬಿಬಿಬಿ 200 ಮತ್ತು ಇತ್ಯಾದಿ. ನೀವು ಬಯಸಿದ ವ್ಯವಸ್ಥೆಯನ್ನು ಪ್ರಾರಂಭಿಸಬೇಕಾದರೆ, ಆಯ್ಕೆಯು ಸಾಕಷ್ಟು ಕಾರ್ಯಸಾಧ್ಯವಾಗಿದೆ, ಆದರೆ ನಮ್ಮ ಸಂದರ್ಭದಲ್ಲಿ ಇದು ಸೂಕ್ತವಲ್ಲ, ಏಕೆಂದರೆ ಕನಿಷ್ಠ ನೀವು ಬಳಕೆದಾರರ ಲಾಗಿನ್ ಅನ್ನು ವರ್ಗಾಯಿಸಲು ಬಯಸುತ್ತೀರಿ, ಆದರೆ ಇದನ್ನು ಈ ರೀತಿ ಮಾಡಲಾಗುವುದಿಲ್ಲ.
  2. ಕರೆ ಮಾಡಲು ರ್ಯಾಪರ್ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಬಳಸುವುದು sapshcut.exe ಅಥವಾ sapgui.exe. ಈ ಪ್ರೋಗ್ರಾಂನ ಸಾರವು ಸರಳವಾಗಿದೆ - ಇದು ವೆಬ್ ಪ್ರೋಟೋಕಾಲ್ ಮೂಲಕ ಬ್ರೌಸರ್ ರವಾನಿಸುವ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ತೆಗೆದುಕೊಳ್ಳಬೇಕು ಮತ್ತು ಅದನ್ನು ವಿಂಡೋಸ್ ಸ್ವೀಕರಿಸುವ ಪ್ರಾತಿನಿಧ್ಯವಾಗಿ ಪರಿವರ್ತಿಸಬೇಕು, ಅಂದರೆ. ಎಲ್ಲಾ ಅಕ್ಷರ ಸಂಕೇತಗಳನ್ನು ಮತ್ತೆ ಅಕ್ಷರಗಳಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ (ಬಹುಶಃ ಪ್ಯಾರಾಮೀಟರ್‌ಗಳ ಪ್ರಕಾರ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡಬಹುದು) ಮತ್ತು ಈಗಾಗಲೇ ಖಾತರಿಪಡಿಸಿದ ಸರಿಯಾದ ಆಜ್ಞೆಯೊಂದಿಗೆ SAP GUI ಅನ್ನು ಕರೆಯುತ್ತದೆ. ನಮ್ಮ ಸಂದರ್ಭದಲ್ಲಿ, ಇದು ಸಂಪೂರ್ಣವಾಗಿ ಸೂಕ್ತವಲ್ಲ (ಅದಕ್ಕಾಗಿಯೇ ನಾನು ಅದನ್ನು ಬರೆಯಲಿಲ್ಲ), ಏಕೆಂದರೆ ಎಲ್ಲಾ ಬಳಕೆದಾರರ PC ಗಳಲ್ಲಿ ಪ್ರೋಟೋಕಾಲ್ ಅನ್ನು ಸೇರಿಸಲು ನಮಗೆ ಸಾಕಾಗುವುದಿಲ್ಲ (ಡೊಮೇನ್‌ನಲ್ಲಿ ಇದು ಇನ್ನೂ ಸರಿಯಾಗಿದೆ, ಆದರೂ ಇದು ಉತ್ತಮವಾಗಿದೆ ಈ ಅಭ್ಯಾಸವನ್ನು ತಪ್ಪಿಸಿ), ಆದರೆ ಇಲ್ಲಿ ನಾವು ಪ್ರೋಗ್ರಾಂ ಅನ್ನು PC ಯಲ್ಲಿ ಹೆಚ್ಚು ಇರಿಸಬೇಕಾಗುತ್ತದೆ ಮತ್ತು PC ಯಲ್ಲಿ ಸಾಫ್ಟ್‌ವೇರ್ ಅನ್ನು ಮರುಸ್ಥಾಪಿಸಿದಾಗ ಅದು ಹೋಗುವುದಿಲ್ಲ ಎಂದು ನಿರಂತರವಾಗಿ ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಬೇಕು.

ಆ. ಈ ಆಯ್ಕೆಯು ನಮಗೆ ಸೂಕ್ತವಲ್ಲ ಎಂದು ನಾವು ತಿರಸ್ಕರಿಸುತ್ತೇವೆ.

ಈ ಸಮಯದಲ್ಲಿ ನಾನು ಬ್ರೌಸರ್‌ನಿಂದ ಅಗತ್ಯವಾದ ನಿಯತಾಂಕಗಳೊಂದಿಗೆ SAP GUI ಅನ್ನು ಪ್ರಾರಂಭಿಸುವ ಕಲ್ಪನೆಗೆ ವಿದಾಯ ಹೇಳಬೇಕೆಂದು ನಾನು ಈಗಾಗಲೇ ಯೋಚಿಸಲು ಪ್ರಾರಂಭಿಸಿದೆ, ಆದರೆ ನಂತರ ನೀವು SAP ಲಾಗಿನ್‌ನಲ್ಲಿ ಶಾರ್ಟ್‌ಕಟ್ ಮಾಡಬಹುದು ಮತ್ತು ಅದನ್ನು ನಿಮ್ಮ ಡೆಸ್ಕ್‌ಟಾಪ್‌ಗೆ ನಕಲಿಸಿ. ನಾನು ಒಮ್ಮೆ ಈ ವಿಧಾನವನ್ನು ಬಳಸಿದ್ದೇನೆ, ಆದರೆ ಅದಕ್ಕೂ ಮೊದಲು ನಾನು ಶಾರ್ಟ್ಕಟ್ ಫೈಲ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟವಾಗಿ ನೋಡಲಿಲ್ಲ. ಮತ್ತು ಈ ಶಾರ್ಟ್‌ಕಟ್ ವಿಸ್ತರಣೆಯೊಂದಿಗೆ ಸಾಮಾನ್ಯ ಪಠ್ಯ ಫೈಲ್ ಎಂದು ಅದು ಬದಲಾಯಿತು .ಸಾಪ್. ಮತ್ತು ನೀವು ಅದನ್ನು ವಿಂಡೋಸ್‌ನಲ್ಲಿ ಚಲಾಯಿಸಿದರೆ, ಈ ಫೈಲ್‌ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ನಿಯತಾಂಕಗಳೊಂದಿಗೆ SAP GUI ಅನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ. "ಬಿಂಗೊ!"

ಈ ಫೈಲ್‌ನ ಸ್ವರೂಪವು ಸರಿಸುಮಾರು ಈ ಕೆಳಗಿನಂತಿರುತ್ತದೆ (ಪ್ರಾರಂಭದಲ್ಲಿ ವಹಿವಾಟು ಕೂಡ ಇರಬಹುದು, ಆದರೆ ನಾನು ಅದನ್ನು ಬಿಟ್ಟುಬಿಟ್ಟಿದ್ದೇನೆ):

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

ಅಗತ್ಯವಿರುವ ಎಲ್ಲವೂ: ಸಿಸ್ಟಮ್ ಐಡೆಂಟಿಫೈಯರ್, ಕ್ಲೈಂಟ್, ಬಳಕೆದಾರಹೆಸರು ಮತ್ತು ಪಾಸ್‌ವರ್ಡ್ ಕೂಡ. ಮತ್ತು ಹೆಚ್ಚುವರಿ ನಿಯತಾಂಕಗಳು: ಶೀರ್ಷಿಕೆ - ವಿಂಡೋ ಶೀರ್ಷಿಕೆ, GuiSize - ಚಾಲನೆಯಲ್ಲಿರುವ ವಿಂಡೋದ ಗಾತ್ರ (ಪೂರ್ಣ ಪರದೆ ಅಥವಾ ಇಲ್ಲ) ಮತ್ತು ಮರುಬಳಕೆ — ಹೊಸ ವಿಂಡೋವನ್ನು ತೆರೆಯಲು ಅಗತ್ಯವಿದೆಯೇ ಅಥವಾ ಅದೇ ಸಿಸ್ಟಮ್ನೊಂದಿಗೆ ಈಗಾಗಲೇ ತೆರೆದಿರುವ ಒಂದನ್ನು ಬಳಸಿ. ಆದರೆ ಒಂದು ಸೂಕ್ಷ್ಮ ವ್ಯತ್ಯಾಸವು ತಕ್ಷಣವೇ ಹೊರಹೊಮ್ಮಿತು - SAP ಲಾಗಿನ್‌ನಲ್ಲಿ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಹೊಂದಿಸಲಾಗುವುದಿಲ್ಲ, ಲೈನ್ ಅನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ ಎಂದು ಅದು ಬದಲಾಯಿತು. ಭದ್ರತಾ ಕಾರಣಗಳಿಗಾಗಿ ಇದನ್ನು ಮಾಡಲಾಗಿದೆ ಎಂದು ಅದು ಬದಲಾಯಿತು: ಇದು SAP ಲಾಗಿನ್‌ನಲ್ಲಿ ರಚಿಸಲಾದ ಎಲ್ಲಾ ಶಾರ್ಟ್‌ಕಟ್‌ಗಳನ್ನು ಫೈಲ್‌ನಲ್ಲಿ ಸಂಗ್ರಹಿಸುತ್ತದೆ sapshortcut.ini (ಹತ್ತಿರ saplogon.ini ವಿಂಡೋಸ್ ಬಳಕೆದಾರರ ಪ್ರೊಫೈಲ್‌ನಲ್ಲಿ) ಮತ್ತು ಅಲ್ಲಿ, ಅವುಗಳನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾಗಿದ್ದರೂ, ಅವುಗಳನ್ನು ಹೆಚ್ಚು ಬಲವಾಗಿ ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾಗಿಲ್ಲ ಮತ್ತು ಬಯಸಿದಲ್ಲಿ, ಅವುಗಳನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಬಹುದು. ಆದರೆ ರಿಜಿಸ್ಟ್ರಿಯಲ್ಲಿ ಒಂದು ನಿಯತಾಂಕದ ಮೌಲ್ಯವನ್ನು ಬದಲಾಯಿಸುವ ಮೂಲಕ ನೀವು ಇದನ್ನು ಪರಿಹರಿಸಬಹುದು (ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯ 0):

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

SAP ಲಾಗಿನ್‌ನಲ್ಲಿ ಶಾರ್ಟ್‌ಕಟ್ ರಚನೆ ಫಾರ್ಮ್‌ನಲ್ಲಿ ಪ್ರವೇಶಕ್ಕಾಗಿ ಇದು ಪಾಸ್‌ವರ್ಡ್ ಕ್ಷೇತ್ರವನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡುತ್ತದೆ:

ಬ್ರೌಸರ್‌ನಿಂದ SAP GUI ಅನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತಿದೆ

ಮತ್ತು ನೀವು ಈ ಕ್ಷೇತ್ರದಲ್ಲಿ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ನಮೂದಿಸಿದಾಗ, ಅದನ್ನು ಅನುಗುಣವಾದ ಸಾಲಿನಲ್ಲಿ ಇರಿಸಲಾಗುತ್ತದೆ
sapshortcut.ini, ಆದರೆ ನೀವು ಡೆಸ್ಕ್‌ಟಾಪ್‌ಗೆ ಶಾರ್ಟ್‌ಕಟ್ ಅನ್ನು ಎಳೆದಾಗ, ಅದು ಅಲ್ಲಿ ಕಾಣಿಸುವುದಿಲ್ಲ - ಆದರೆ ನೀವು ಅದನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ಸೇರಿಸಬಹುದು. ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾಗಿದೆ, 111111 ಗಾಗಿ ಅದು ಈ ಕೆಳಗಿನಂತಿರುತ್ತದೆ: PW_49B02219D1F6, 222222 ಗಾಗಿ - PW_4AB3211AD2F5. ಆದರೆ ಈ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟ ಪಿಸಿಯಿಂದ ಸ್ವತಂತ್ರವಾಗಿ ಒಂದು ರೀತಿಯಲ್ಲಿ ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾಗಿದೆ ಎಂಬ ಅಂಶದಲ್ಲಿ ನಾವು ಹೆಚ್ಚು ಆಸಕ್ತಿ ಹೊಂದಿದ್ದೇವೆ ಮತ್ತು ನಾವು ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಆರಂಭಿಕ ಒಂದಕ್ಕೆ ಮರುಹೊಂದಿಸಿದರೆ, ನಾವು ಈ ಕ್ಷೇತ್ರದಲ್ಲಿ ಮೊದಲೇ ತಿಳಿದಿರುವ ಮೌಲ್ಯವನ್ನು ಬಳಸಬಹುದು. ಸರಿ, ನಾವು ಯಾದೃಚ್ಛಿಕವಾಗಿ ರಚಿಸಲಾದ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಬಳಸಲು ಬಯಸಿದರೆ, ನಾವು ಈ ಸೈಫರ್ನ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬೇಕು. ಆದರೆ ನೀಡಿದ ಉದಾಹರಣೆಗಳ ಮೂಲಕ ನಿರ್ಣಯಿಸುವುದು, ಇದನ್ನು ಮಾಡಲು ಕಷ್ಟವಾಗುವುದಿಲ್ಲ. ಮೂಲಕ, SAP GUI 7.40 ನಲ್ಲಿ ಈ ಕ್ಷೇತ್ರವು ಫಾರ್ಮ್‌ನಿಂದ ಸಂಪೂರ್ಣವಾಗಿ ಕಣ್ಮರೆಯಾಯಿತು, ಆದರೆ ಇದು ಭರ್ತಿ ಮಾಡಿದ ಪಾಸ್‌ವರ್ಡ್‌ನೊಂದಿಗೆ ಫೈಲ್ ಅನ್ನು ಸರಿಯಾಗಿ ಸ್ವೀಕರಿಸುತ್ತದೆ.

ಅಂದರೆ, ಬ್ರೌಸರ್‌ನಲ್ಲಿ ನೀವು .sap ವಿಸ್ತರಣೆ ಮತ್ತು ಅಪೇಕ್ಷಿತ ಸ್ವರೂಪದೊಂದಿಗೆ ಫೈಲ್‌ಗೆ ಲಿಂಕ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ - ಮತ್ತು ಅದನ್ನು SAP GUI ಶಾರ್ಟ್‌ಕಟ್‌ನಂತಹ ಫೈಲ್‌ನಂತೆ ತೆರೆಯಲು ನೀಡುತ್ತದೆ (ನೈಸರ್ಗಿಕವಾಗಿ PC ಯಲ್ಲಿ). SAP GUI ಅನ್ನು ಸ್ಥಾಪಿಸಿ) ಮತ್ತು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ನಿಯತಾಂಕಗಳೊಂದಿಗೆ SAP GUI ವಿಂಡೋವನ್ನು ತೆರೆಯುತ್ತದೆ (ಈ PC ಯಲ್ಲಿ SID ಮತ್ತು ಕ್ಲೈಂಟ್ ಜೋಡಿಯು 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";
?>

ನೀವು ಬಳಕೆದಾರಹೆಸರು ಮತ್ತು ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸದಿದ್ದರೆ, ಲಾಗಿನ್ ಮತ್ತು ಪಾಸ್‌ವರ್ಡ್ ಕೇಳುವ ಕೆಳಗಿನ ವಿಂಡೋವನ್ನು ನೀವು ಪಡೆಯುತ್ತೀರಿ:

ಬ್ರೌಸರ್‌ನಿಂದ SAP GUI ಅನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತಿದೆ

ನೀವು ಲಾಗಿನ್ ಅನ್ನು ಮಾತ್ರ ಹಾದು ಹೋದರೆ, ಲಾಗಿನ್ ಕ್ಷೇತ್ರವು ತುಂಬುತ್ತದೆ ಮತ್ತು ಪಾಸ್ವರ್ಡ್ ಕ್ಷೇತ್ರವು ಖಾಲಿಯಾಗಿರುತ್ತದೆ. ನಾವು ಬಳಕೆದಾರರಿಗೆ ಲಾಗಿನ್ ಮತ್ತು ಪಾಸ್‌ವರ್ಡ್ ಎರಡನ್ನೂ ನೀಡಿದರೆ, ಆದರೆ PC ಯಲ್ಲಿ ಬಳಕೆದಾರರು [HKEY_CURRENT_USERSoftwareSAPSAPShortcutSecurity] ವಿಭಾಗದಲ್ಲಿ 0 ಗೆ ಹೊಂದಿಸಲಾದ ನೋಂದಾವಣೆಯಲ್ಲಿ EnablePassword ಕೀಲಿಯನ್ನು ಹೊಂದಿದ್ದರೆ, ನಾವು ಅದೇ ವಿಷಯವನ್ನು ಪಡೆಯುತ್ತೇವೆ. ಮತ್ತು ಈ ಕೀಲಿಯನ್ನು 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";
?>

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ