Skip to Content
Author's profile photo Former Member

Having a Shell in SAP Systems

While at university, I always worked on GNU/Linux operating systems. I never used a X-server unless I needed to make a presentation or something of that sort. I am totally addicted to shell prompts and am sure there are lot of other people who are addicted to it.

I started programming on ABAP few months ago. I am totally fascinated by the way SAP system works: the concept of transactions, workflows etc etc. But always missed the convenience of command prompts. There is ofcourse a command field from which we can call transactions.

But what if we had a shell prompt. Wont it be better? Some of the commands I suggest are (I have taken most of them from Linux):

ls with different switches: This will list all reports/screens/function modules in same package or in same function group in case of function modules.

debug  

Kill the process. There are so many times when you code an infinite loop and things like that. All you need to do is open the shell command and kill that process.

ps (process status) to view the current processes.

Perhaps we all can start with developing the shell in ABAP and then share the development using SAPLink.

Assigned Tags

      12 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Nigel James
      Nigel James
      ... but most of the things you suggest can be done from the SAPgui in the various monitoring transactions. There are a lot of things that I hope SAP Labs are working on and a SAP cli isn't one of them.

      It's great that you love cli's and in their own context they are very useful and much less resource intensive than a gui. With all the tools available I don't see this would be that useful (IMO) ... but perhaps you could write a widget that interprets your commands and then issues then in an appropriate context to SAP. Then you would score points for geek and cool.

      Cheers,
      Nigel

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Yeah, lot of things are already provided by SApgui, but if we implement various IPCs(Inter process communication) things like pipes, then it would be more efficient.this will ease the way for a programmer.

      Author's profile photo Nigel James
      Nigel James
      Yes if you are familiar with that way of communicating with a computer and remember of the top of your head. For someone who spends 99% of his time in the gui to have run a arcane command in another window that I use rarely to simply replicate something I can achive by setting a breakpoint or putting /h in the transaction code box I don't see how that makes it 'more efficient'.

      More efficient for me is better and more consistant shortcuts in the gui and not having to use my mouse to click as much. I want a visual environment and get visual clues for what I am trying to achieve without have to remember the syntax of a command is out of my head.

      Perhaps you could explain more how it will ease the way for the programmer?
      regards,

      Nigel

      Author's profile photo Former Member
      Former Member
      Blog Post Author
      Now lets consider this scenario: As far as I know there is no common search base for searching on our systems.(Please correct me if I am wrong) There is se11 to get dictionary elements, there is se38 to get programs, se37 to get function modules and similar transactions for classes.

      Now suppose a user needs to search for any thing whose name starts with XYZ(considering XYZ is customer name).. With present case the user had to search *XYZ* on all the above transactions. But with shell it would be:

      ls | grep XYZ

      Regards

      Puru

      Author's profile photo Peter Inotai
      Peter Inotai
      >With present case the user had to search *XYZ* on all the above transactions
      ... or go to table TADIR via SE16.

      Peter

      Author's profile photo Nigel James
      Nigel James
      Spot on Pete!
      Author's profile photo Former Member
      Former Member
      Blog Post Author
      Thanks Pete for telline me about TADIR.

      But still, consider the steps the programmer has to do:
      1. Open SE16
      2. Open TADIR
      3. Fill in values
      4. Click on Execute(or F8) button

      Now compare this with what I am trying to advocate:

      1. Press Alt-Tab(or any key)
      2. Type in Command

      As Nigel pointed out in earlier reply, if we juice in the habit of console, our efficieny may improve.

      Regards
      Puru

      Author's profile photo Nigel James
      Nigel James

      Would it be more efficient to use vi for ABAP and BSP development?Nigel

      Author's profile photo Peter Inotai
      Peter Inotai
      I agree with Nigel.
      After spending several years in the ABAP development enviroment I don't miss this scripting option at all. I like the new direction of less code-more design, like the ABAP Webdynpro approach or the concept of the Visual Composer.
      I found more user friendlier the visual approach with dialogs instead of typing comannds. I'm not convinced, that typing a long command would take less time, than clicking on checkboxes/radiobuttons.

      Peter

      Author's profile photo Former Member
      Former Member
      Blog Post Author
      @Nigel
      "Would it be more efficient to use vi for ABAP and BSP development?"
      Atleast for another 5 years until all people start using the new(And awesome)code editor.

      If you get used to console, steps 1.1 to 1.4 will not pop up everytime and steps 1.5 and 1.6 will be non-existant.

      @Peter:
      I agree with you. And thats what I wrote in last post. This would be helpful to only those people who loves writing in commands and gradually gets use to it. I totally concede with you that people who smells a great GUI will never come back to console.

      I am still trying to sell my idea 😀

      Author's profile photo Former Member
      Former Member
      Blog Post Author
      We can use it to write scripts for downporting and other realted "to-dos".
      Author's profile photo Former Member
      Former Member
      Hi Puru.
      I made a prototype written in java for this project ( i called erpcmd ), you can get it here. It is a developer studio project, you have to copy it in your developer studio workspace and import it.
      Check the concept, if you make the right configuration for your PATH environment variable you could run it writing, for example, this command line: "java erpcmd process". I prepared the prototype to list the process running like the SM50 transaction. If you like the idea and we want to continue, we can put this project in the wiki directory and i can add you like an administrator to the googlecode space (you should have to give me you account gmail name).
      Best,
      Ignacio.