External ABAP editor

I wonder if you have ever though about using an external ABAP editor (the easy part, even if not a cheap one) or creating one (the difficult part). I am especially interested in the second part:

- I am aware of one commercial ABAP editor based on Eclipse, are there any free ones?

- If there are no other ones (what seems to be probable), are there pieces of information how to create one?

- Example: ABAP grammar has been pulished? Or that company offering the commercial ABAP editor has recreated itself? Or they got the grammar from SAP

- I wonder if anybody can point me to the resource where i could find the ABAP grammar... Well, I am no compilers expert ut have some school experience creating a Pascal compiler and would be interested in the grammar in any format.

- I also wonder if there are people who would be interested in such editor, to use it for fun or for efficiency or to be a part of the team which would find it challenging to create a free external ABAP editor?

I have no relationship with the company offering the commercial editor, I am just curious. Any type of feedback is welcomed.

Add comment

Nice to know that you thought of some external ABAP Editor. I had some simillar curiosity like yours to create one ABAP Editor, and also went ahead with developing one, on my Linux system usng C. But had to leave that mid way, as i hardly got any time from my work commintments.

Would be glad to be part of such a team which embarks to develop such an editor...!!!

Add comment

The only problem is I prefer Java and Jco for such thing. But that doesn´t matter. I wonder what relevant SAP FMs did you find for this purpose? I have some "toys" for SAP in Java, like the "ABAP_structure_into_Java class_generator" and would love to try some more. Otto

p.s.: Do you have some more time by now or it still is only a dream...?

I guess you might want to have a look into the guts of [SAPLink|http://code.google.com/p/saplink/]. AFAIK they are recreating all development objects on the target system (rather than transporting them).

Alert Moderator

Add comment

Otto: I think an external editor is a great idea. As Chris says, SAP seems to be taking steps at creating one, and with good reason. I think you're right -- it would be next to impossible for you to create a replacement, standalone IDE on your own, because of the quantity of work involved. That doesn't mean it's not worthwhile investigating the mechanics. It's certainly a project you could accomplish with an active community of developers to assist.

If you have a mature transport system like the ABAP system does, then it is not a natural candidate for external editors in my opinion. You have to be very carefull and the functions are very powerfull.

What is wrong with SE80, virtual systems and the various code generator tools which SAP offers internally on the ABAP stack?

Julius: What is wrong with SE80 is that it costs corporations millions in lost productivity every year. The speed at which developers can write code is hugely dependent on the IDE they're using to do it, and compared with modern IDEs for other languages, SE80 is a dinosaur. Otto draws comparisons between Java and Microsoft IDEs because they're more intuitive and provide more assistance to developers. They let developers work faster, and they have a marked effect on the rate at which enterprises can deliver software to their users.

I also think you're mistaken in saying that a transport system like SAP's is incompatible with an off-system editor. There's no reason that an external editor couldn't connect to the development system, allow developers to change and check in files, and then follow the standard transport procedures from there.

The reason that an external editor is required is because the DynPro GUI technology simply isn't capable of creating an immersive development environment of the type that Otto is discussing. It wasn't designed to.

SAPLink (though I've never used it) seems mostly concerned with importing/exporting files to/from the SAP system, which is extremely useful. However, any IDE would have to be able to do much more. Since you can debug from inside SE80, what would prevent you from seeing exactly what it does to validate the source code (for instance), and duplicating that functionality?

Alert Moderator

Add comment

I have also done some basic research which I can share with the enthusisast. Nothing like Mr. Jung could use, but some ideas, function modules and stuff. If there are any developers interested in the topic (like Java developers, because I play with Java and JCo together with this "internal fun"), I can share these short notes of mine. Otto

I wonder if anybody could help me find a function module to read the transport request information/ header, which is capable of remote. I like TRINT_READ_REQUEST_HEADER, but this one is not capable of remote. The only close one, I have found, is TR_EXT_GET_REQUESTS, but the purpose is a little different (transports for username) not to read a single transport.

Alert Moderator

Add comment

I found these function groups in several of our ECC 6.0 systems, but yes, they are not part of the plain ECC or Basis layer, they came into the system through the ST-PI plugin (Solution Manager Plugin), which is available on the service market place.

Am not aware of other standard ways to access TMS information remotely (doesn't mean they don't exist). However you might know that the header information of transports is stored in table e070, the objects contained within a transport are in table e071. Depending on what specifically you need it might be relatively easy to grab the info.