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.
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.
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.
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.
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?
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
... or go to table TADIR via SE16.
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.
Would it be more efficient to use vi for ABAP and BSP development?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.
"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.
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 😀
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).