HTTP/2 is the successor of the HTTP 1.1 protocol. It has some performance advantages. The main advantages are the capability of multiplexing and server push. The HTTP/2 protocol was designed for faster page loading even when having longer latency times.
Questions that will be answered in this blog are:
- Where can I find more background on the HTTP/2 protocol?
- Are there any pitfalls and prerequisites?
- How do I switch on the HTTP/2 protocol on my FIORI server?
More background on HTTP/2
More background on HTTP/2 as protocol can be found on wikipedia or on this link from google.
Prerequisites for HTTP/2 protocol
The prerequisite for support of the HTTP/2 protocol for FIORI and other ABAP web applications is a sufficiently high version of the ABAP stack and webdispatcher (if in use): NetWeaver Gateway version 7.51 or higher, Web Dispatcher 7.49 or higher. The HTTP/2 protocol also has higher security requirements and does require COMMONCRYPTOLIB version 8.4.31 or higher.
How to switch on HTTP/2 protocol support?
In the system parameters RZ11 switch the parameters icm/HTTP/support_http2 to value TRUE. This can be done dynamically. In Google chrome developer tools the UI developer can see the usage of HTTP/2 protocol.
The HTTP/2 protocol implementation is done on kernel level. If you want to switch on the HTTP/2 protocol on your systems, do check the OSS notes with the keyword icm/HTTP/support_http2. You might see there are a few kernel patch OSS notes (using component BC-CST-IC) that solve issues in your area that you use. In case of issues in a productive system with HTTP/2: switch the value of icm/HTTP/support_http2 back to FALSE.
More background information: SAP blog.
Diverse tools use SAP GUI scripting: test tools to perform regression testing, load testing, solution manager CBTA, etc. Also robotizing tools often use GUI scripting.
Questions that will be answered in this blog are:
- How to enable GUI scripting in the SAP system?
- How to make sure only the allowed users run GUI scripting?
- How can I record an SAP GUI script and execute a playback of the recorded script?
Server side enabling GUI scripting
First you need to allow GUI scripting on the server side. This can be done by setting system parameter sapgui/user_scripting to the value TRUE. This is done in transaction RZ11.
Client side enabling GUI scripting
In your SAP gui, goto the options. In the Accessibility & Scripting part, enable the scripting.
At the top part you can see the installation status of scripting tools from SAP itself.
If you want to securely control which user is allowed to use and execute scripting, you have to set the system parameter sapgui/user_scripting to TRUE. Now any user who is having the authorization object S_SCR is allowed to perform scripting. User who lack the authorization object will cannot run the script.
More information can be found in OSS note 983990 – SAP GUI Scripting security: Enable Scripting per system user. And OSS note 2565390 – SAP GUI Scripting: Changed behavior for combination of profile parameters sapgui/user_scripting_set_readonly and sapgui/user_scripting_per_user.
Security guide for SAP GUI scripting can be found in this link.
Recording and playing an SAP GUI script
You can record a script by going to the button Customize Layout and selecting the option Script Recording and Playback..:
Now the GUI scripting record and playback tool opens:
By pressing record, you can start recording a script. When you are done stop it and save it. You can playback a script with the play button.
Sample applications can be found in OSS note 1441550 – SAP GUI scripting: Sample applications.
More background information
More information can be found in OSS note 2296251 – How can SAP GUI Scripting be enabled?. And 2811334 – Prerequisites to record a SAP Gui Script.
Restrictions of SAP GUI scripting are listed in OSS note 587202 – Restrictions when using SAP GUI Scripting.
This blog will explain how to debug a background batch program with real background mode (SY-BATCH is X).
Questions that will be answered are:
- How to debug a running job?
- How to debug a completed job?
Starting the debug mode for batch job
First we plan a single run of the batch job. In our example we run program RSWAITSEC which does nothing more than wait.
In SM37 show the job run:
Select the job and in the command line enter the background debug command JDBG:
Now the debugger starts first in the batch job part. Hit F7 a few time (F7 = jump back out of routine) until you reach the real program:
As you can see here the SY-BATCH variable is X, which means you are debugging with real background mode on.
SM50 background debugging
If you want to debug a running job, you have to goto SM50 and select the background process. Then choose the menu option Administration / Program / Debugging. Confirm the prompt:
Wait until the running SQL statement has completed and debug mode will start.
Please be very careful with this kind of debugging in a productive system.If you cancel the debug session there might be a rollback work statement triggered, which can cause database inconsistencies.
573128 – Programme im Hintergrund debuggen