on 05-28-2008 8:29 PM
Hi,
We have a ECC system, and most of the connection to SAP system use WEBGUI. To prevent some wrong operation executed by users like selecting "Back" button and "forward" button of Web browser (IE or FFox)..I've created a new service Ztest and in this service, there's a small script to hide the navigation bar :
"...webguiWindow=window.open('/sap/bc/gui/sap/its/webgui/!',GUID ,"location= no,menubar=no,toolbar=no,status=no,resizable=yes,scrollbars=n o"); webguiWindow.focus()..."
(Have a problem to insert the script...)
And as you can see, this start "/sap/bc/gui/sap/its/webgui", service webgui (standard setup), but when starting the service, the navigation bar is hiding and all is OK.
BUT when we use parameter (like transaction name, values...) the URL from webgui include only client number and language as parameters and if we have a transaction name in the parameter is disappear, so, please if you any idea, let me know.
Regards,
Jade
Hello Jade,
I've got an idea about what you ask for. But I did not understand the issue(s) in complete.
You created a new static HTML file (mime) and call it to start the SAP GUI for HTML in a new window without browser elements. Is that correct?
> (Have a problem to insert the script...)
Where do you want to insert the script to?
BUT when we use parameter (like transaction name, values...) the URL from webgui include only client number and language as parameters and if we have a transaction name in the parameter is disappear, ...
Where do you provide the parameters? In the URL that requests the static HTML file? Then you will need to extract the parameters in the document with JavaScript and append it to the URL given to the window.open call. You will find the whole parameter string (including the question mark '?') in the browser variable window.location.search.
But I wonder why the client and language parameter are provided? Maybe I understand you wrong? What exactly are you doing and where do the issue occur?
Please send me the particular URL.
With best regards,
TJ
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi TJ,
We have ECC system, and using Webgui as interface. We want to hide the navigation tool bar, so, I've created a new service (Tx sicf) and setup all the data in "Error pages", "logon errors" and select "explicit response time", add the code:
body | script | var GUID = "";webguiWindow=window.open('/sap/bc/gui/sap/its/webgui',GUID ,"location= no,menubar=no,toolbar=no,status=no,resizable=yes,scrollbars=n o"); webguiWindow.focus(); close(); | /script | /body |
---|
When starting the URL https://<server>:<port>/sap/bc/gui/sap/its/zwebgui/!?sap-client=100&~transaction=SM50
We have a connection to SAP system (with no navigation tool bar) but with only main menu without starting Tx SM50.
If we look at the connection phase, the parameter with transaction name is lost...(cookie storage ???) Hope I've clarified the status.
Regards,
Jade
Hello Jade,
ah, I see. You are using the error pages. That's an idea. However, I have to ask how do you provide the additional parameters in that second request? When calling
webguiWindow=window.open('/sap/bc/gui/sap/its/webgui', ...
there are no parameters at all. Please note that the parameters from the service using the error page are not used for this call since you start a new service and session.
With best regards,
TJ
Hi TJ,
First thanks for your follow-up. We used this procedure (hiding tool bar) from a while...it's working.
The problem occurs when in some business process (from a SAP session) we send a e-mail to users to check some invoices or sales orders...and in the e-mail they have URL :
https://<server>:<port>/sap/bc/gui/sap/its/zwebgui/!?sap-client=100&~transaction=SM50
In this case, I use SM50 just for testing. And when they select the link they should be oriented directly to the transaction with the parameters like invoice number or reference...and doesn't work. Hope it's clear now.
The URL is generated with a script.
Regards,
Jade.
Hello Jade,
>
> In this case, I use SM50 just for testing. And when they select the link they should be oriented directly to the transaction with the parameters like invoice number or reference...and doesn't work. Hope it's clear now.
Yes, thanks. It is clear to me now. Actually, you call that service zwebgui which open a new window with the URL provided in the window.open() call. However, the parameters are not forwarded. You need to read the parameters of the current URL in your zwebgui error page (window.location.search) and append them to the URL of the webgui, e. g.
var myurl = "/sap/bc/gui/sap/its/webgui/" + window.location.search;
window.open(myurl, GUID, ...);
This way you get the flexibility you want the service zwebgui supposed to be. The example given is very simple to just show the concepts. For security reasons as well as to make the script error proof it should be revised.
With best regards,
TJ
Hi Jade
Just wanted to give you another pointer. Do you know the parameter ~webgui_simple_toolbar available in the internal ITS? You should be able to customize the webgui appearance to your liking with this parameter. Check out this [WIKI article|https://wiki.sdn.sap.com/wiki/display/HOME/Article-EmploySAPGUIforHTMLinsteadofanInternet+service] on the subject. It might make things easier.
Regards
Harry
Hello Harry,
I am glad you mention that article. But in this particular case Jade asked for opening an ITS service in a browser window without browser elements (like address bar, menu, history buttons and so on). The parameter ~webgui_simple_toolbar affects the elements of the SAP GUI only and has no effect on the elements of the browser window.
Thanks and with best regards,
TJ
Hi TJ,
Comeback to you, it's about the same scenario. When we start the URL, we got directly a pop up screen (form) asking if we want to close or keep the first screen (page) if we answer Yes the page is closed otherwise the system switch to it and we have to close it or minimize it. My question, can we close automatically this first page ? using focus+close or other solution, so, please if you have any proposal it will be nice.
Regards,
Jade
Hello Jade,
the confirmation box is an Internet Explorer speciality (derived from the old Netscape 4.x browsers for security issues). You can't close a browser window that has got a history.
But, there is a simple trick. You can outsmart IE by setting self.opener = "" before calling self.close();
self.opener = "";
self.close();
This should do the job in IE.
With best regards,
TJ
Hi TJ,
I've tested, but still the same result with the confirmation screen, but I think there's a mistake in my statement, if you can have a look :
bodyscript var GUID = "",myurl = "/sap/bc/gui/sap/its/webgui/" + window.location.search;webguiWindow=window.open(myurl,GUID ,"location=no,menubar=no,toolbar=no,status=no,resizable=yes,scrollbars=no"); self.opener="";self.close();/script/body
I've replaced ">" and "<" by "*"
Regards,
Jade
Hello Jade,
I also tried to encode the whole code as well to substitue or mask the critical characters. It seems as I am not allowed to post it ...
But it is quite easy. I wrote a complete HTML page with html, head, title and body tags. In the head tag I inserted your javascript code. And it worked as expected on my system: After opening the new window with the SAP GUI for HTML the former window is closed without any confirmation popup.
With best regards,
TJ
Hello Jade,
now, in the meantime I could reproduce the "thingy". It is the IE 7. Microsoft changed the behaviour since they mean this would be a security issue.
Here is a workaround I found out:
self.opener=null;self.open('','_parent','');self.close();
It's a cruel hack, but it works for me. I am curious how it does its job on your system.
Now I am exhausted ...
Best regards,
TJ
User | Count |
---|---|
83 | |
24 | |
12 | |
9 | |
7 | |
6 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.