In the previous blog post I presented the concept of working with shortcuts as a quick way to access environments and development tools. In this post I’ll dive into SAP shortcuts, which provide quick access to SAPGUI systems. Along the way I´ll show how to open a Bex Analyzer window that is already connected to a BW system using a shortcut.
In order to understand the motivation for working with shortcuts, think about the number of different systems and transactions you have to work with during a typical work week.
In my case, as a BW consultant, I use shortcuts to access each of the BW environments, Dev/QA/Production, but also for each the respective source system environments, and sometimes for separate clients. In some of those systems I am also required to log in in Hebrew to maintain localization, so I have separate shortcuts for that as well. My time reporting transaction is something that I access quite often, so I have a specific shortcut for that. The amount of time that I would’ve spent looking for the right system and choosing the language over the years is measured in hours, if not days.
Luckily, SAP offers a shortcut creation wizard that pretty much saves the need for scripting this time around. But I’ll also refer later on to some more advanced abilities made possible by avoiding the wizard.
In order to enter the wizard, click the “customize local layout” button when in the transaction you wish to access when connected to the system and language you wish to access, and choose ¨create shortcut. An even simpler method is to copy an existing shortcut and edit those parameters, but we’ll do the first “by the book” for the purposes of this blog.
You’ll now see the shortcut wizard. It is of course important to give a short name to the shortcut, as the idea is to be able to type it fast. You can now configure whether the shortcut will call the current transaction or a different one, or even a report. The system details are filled automatically – notice that “Start Parameters” is a specification of the system rather than a parameter for the transaction or program.
You can configure the client, user and the language. The password field is blocked for understandable reasons (more on that here, and I´ll also discuss it briefly further on), and you can also choose your save location.
In the next screen, it is helpful to choose that the window is maximized, and leave the “reuse connections” checkbox checked.
Once you’ve finished the wizard, The shortcut created would lead you directly into the system and transaction in which the shortcut was created. If all you need are SAP shortcuts for different systems and transactions, then placing all of the relevant system/transaction shortcuts within a folder in the start menu is not a bad solution, as the start menu nowadays has automatic search capabilities according to what you’ve typed. But if you recall the previous post, since some other useful shortcuts work well with parameterization, consider placing all the shortcuts in the shortcuts library as explained in the previous post.
As mentioned, to create additional shortcuts it is easier to copy existing shortcuts and edit them (right click in windows explorer – edit). So in order to create a shortcut that starts Bex Analyzer from the same system that the shortcut we´ve created did, we just need to replace the name of the transaction with RRMX. In this example I’ve also called the shortcut itself RRMX. And again, we can create a shortcut for QA called RRMXQ, and one for development called RRMXD, and so on.
In the previous post I’ve shown how to open Bex Analyzer with a specific Query, and now we’ve discussed how to open it with the system selected. Can we do both? The answer is yes, and there are a couple of ways to do so, depending on your architecture. I’ll go over one such solution in this post, with some of the implementation left to the reader. In the next post I’ll discuss another solution.
Take a look at the following transaction call, that can be used within the “transaction” field of a shortcut:
Let’s analyze what this does.
- It runs the transaction RRMXP, which is a parameterized version of RRMX that receives a uid of either a query or a workbook.
- It gives a value to the query parameter (you can see the name of the parameter, QUERY, by looking in the technical help for the field in the transaction and looking for “screen field”).
- It then gives an OK code, which together with the asterisk at the beginning basically tells the screen to run the transaction while closing the GUI window.
The ability to run a parameterized shortcut has a lot of potential for speeding up access to specific elements. What we would like to do is to parameterize the query name. But how can one pass a command line parameter to the SAP shortcut?
For that, we’ll need to use the sap shortcut executable instead of the shortcut wizard. This is done by creating a Windows shortcut to sapshcut.exe, which is located in your SAPGUI folder. You can learn how to structure such a shortcut by running sapshcut.exe /?, but generally it looks like this (the exact location depends on your architecture):
“C:Program Files (x86)SAPFrontEndSAPguisapshcut.exe” -maxgui -language=E -system=BP7 -client=400 -title=BWP -command=”*rrmxp QUERY=3DJN21QIDOETFGY5HTMYC73BN;DYNP_OKCODE=SHOP;”
This is what a shortcut would look like for a system that has SSO configured, but you can also throw in the user and even the password (the latter of which I’m not recommending). As in the previous post, %1 is the command line parameter which you would then use from the “Run” prompt, in this case to use the query id.
What is still missing in order to run a query is to write a wrapper ABAP program that translates a technical name to the UID and passes it to RRMXP. This is beyond the scope of this post – you are welcome to do so and share your experiences.
That’s all as far as SAP shortcuts go. In the third and final part I will discuss quick access of metadata and Master Data in BW, and access to queries with Variable values. I will also provide some additional useful shortcuts for SAP consultants in general.