Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Version management in ABAP in Eclipse

TMNielsen
Contributor

I'm trying to learn ABAP in Eclipse and have already learned a few trick, so maybe I can get used to it, but there are still a lot of things I don't know, so first of all I want to here if anyone can recommend a tutorial for all the basic functionality in Eclips with ADT and abapGit?

I also have a couple of specific questions.

- I have a class and when I look at the Properties view it says "Version: Active (an inactive version also exists)"

What does this mean and how can I see and activate this inactive version?

- Where can I see the history of an object - like version management in SE80?

Kind regards

Thomas Madsen Nielsen

1 ACCEPTED SOLUTION

matt
Active Contributor

thomasmadsen.nielsen

Local means in this context versions stored in the Eclipse workspace. You can control how much is kept for how long through

Window->Preferences->General->Workspace->Local History. Default is 7 days.

Where can I see SE80 like version management in Eclipse/ADT?

Right click on the source code, and you can compare current with local history or revision (transport) history. You can also replace from local history.

What is missing is comparison between two earlier revisions (rather than current), and replacement with earlier revisions.

This may or may not be critical depending how you work. I know some places you make ToC's over to the testing system to do actual test. Then local history is less relevant, and the lack of replacement with revisions might be a problem. For me, testing in Dev, it's not an issue. Where I've had to go back to an earlier revision, I've just copy pasted the class source code over. Comparing two earlier revision (or indeed local versions) is a simply matter of copy pasting the two sources into diff. It would of course be nice if this functionality were built in.

Functionality in this area SAPGui doesn't have

  • There is source code comparison between systems not connected through the transport system.
  • You can compare the source code of entire classes (downside, you can't compare just the method!)

Ultimately you just have to decide which set of functionality suits your needs and environement. Personally, I can't imagine ever going back to developing in SAPGui. Eclipse ADT doesn't have everything, neither does SAPGui, but ADT has richer functionality, in my opinion.

14 REPLIES 14

Sandra_Rossi
Active Contributor

Please use a more precise title like "Version management in ABAP in Eclipse" so that people can skip the question if they don't know version management.

ADT Basics: Versioning and Source Code Comparison | SAP Blogs

Tutorial: the ones at https://developers.sap.com

Release notes: What's New in ABAP Core Development | SAP Help Portal

thkolz
Contributor

Try Ctrl+Shift+F3 to activate all inactive development objects.
Or use this button:

If there's something inactive, it should pop up there.

0 Kudos

Hi Thorsten

Thanks for your reply, it a nice hint, but it's not really the answer to my question.

Kind regards

Thomas

0 Kudos

Hi Thomas,

I could only reprocess this in combination with SE24 (open class and change something without saving).

Then it showed status Active (in inactive version exists) in Eclipse.

I was not able to do something similar in ADT. There it immediately switches to status Inactive.

0 Kudos

Ok Thorsten, but I opened the class in the editor and pressed Ctrl. f3 without doing any changes - just to make sure it was activated and then I got the above status with active/incactive.


Now I actually tried to do a change and then I suddenly got this message:

and after I press OK, the code is actually changed and the properties now simply says class is inactive.

If I then press ctrl. f3 again, the code is changed back to the what it was before this popup and the status is again "Active (an inactive version also exists)"

And this way I can start all over - if a make a change in the code the popup is there and change the code and status and if I try to activate wit ctrl.f3, the result is reversed again.


Can you explain what happens here?

TMNielsen
Contributor
0 Kudos

Hi Sandra
Thanks for your comment - it is close enough to an answer I can accept, so if you make it as an answer instad of a comment, I will close the thread.

Kind regards

Thomas

matt
Active Contributor

Marginally off topic, but one of the great things about ADT/Eclipse is local versioning of objects. After I've gone down a rabbit hole for thirty minutes and realised I need to go back to where I was, it's been a life-saver many times.

marcfbe
Participant

You might enjoy watching my "abapGit for Beginners" talk from last year.

Best,
Marc
@marcfbe

Thanks marcbernardtools

This video is really very good and now I finally see what ABAPGit is.

Years ago I was using a similar tool called SAPlink - developed by community, but mainly by Gregor Wolf as far as I remember.

ABAPGit is much much better, but actually I eventually decided that I had no real need for SAPlink and today I also think I have no real need for ABAPGit.

I develop ABAP in our development system and then I transport it to our QA system for testing and finally I transport it to our productive system and that's it - and yes I know I am a dinosour.

So my interest in versioning is in that context and I just need to know how can I see versions of my program in the development system when I work in Eclipse/ADT.

I know I in my original also mentioned ABAPGit, but that was because I didn't know what it was. With your splendid video I'm much wiser and know that ABAPGit has nothing to do with my question.

Thanks!

matt
Active Contributor

thomasmadsen.nielsen The only use I've found for ABAPGit is being able to download and install easily applications developed by others and the flip side: being able to share code in a simple way.

As a Java developer as well, I use Git in anger there - for clarification, "in anger" usually means "for real", but in this case it really usually means it irritates me! I have to use it, but I don't like it and it seems way too easy to break. I always have to call my son in to fix things for me. 😄

TMNielsen
Contributor
0 Kudos

Thanks matthew.billingham for your comment.

Contrary to you I must say that I in 30 years of ABAP programming have never missed the option to have a local versioning of objects and I really don't want it now.

Actually I just realized that "local" may have different meanings. Years ago we could have the "real" versions in a back-end system and then check-out a source code to work on it locally on a client PC, but now I just saw Marc Bernards video about ABAPGit and in that context "local" is a version in the back-end SAP system that was pulled from Github.

I don't need local versions in any of the two meanings.

In SAPGui/SE80 SAP has always taken care of version handling for me and if I have a program with 100 versions I can very easy go back and see what changes was actually made in version 37.
In SAPGui/SE80 version management also very easy lets me see one - and only one inactive version.

In SE80 versions equals transports and that makes perfect sense to me. Now I can see that development in Eclipse/ADT has finally been integrated into to the transport system and then I think SE80 like version management should also be possible.

I must admit that when I say "finally integrated into the transport system" I don't know when this happened. Years ago I look at ABAP in Eclipse and there was no integration with transports, so I kicked it out as a useless tool. Now I have given it an other change and although the transport system is now in place, I still don't see the tools I need.

So my question is still unanswered - where can I see SE80 like version management in Eclipse/ADT?

matt
Active Contributor

thomasmadsen.nielsen

Local means in this context versions stored in the Eclipse workspace. You can control how much is kept for how long through

Window->Preferences->General->Workspace->Local History. Default is 7 days.

Where can I see SE80 like version management in Eclipse/ADT?

Right click on the source code, and you can compare current with local history or revision (transport) history. You can also replace from local history.

What is missing is comparison between two earlier revisions (rather than current), and replacement with earlier revisions.

This may or may not be critical depending how you work. I know some places you make ToC's over to the testing system to do actual test. Then local history is less relevant, and the lack of replacement with revisions might be a problem. For me, testing in Dev, it's not an issue. Where I've had to go back to an earlier revision, I've just copy pasted the class source code over. Comparing two earlier revision (or indeed local versions) is a simply matter of copy pasting the two sources into diff. It would of course be nice if this functionality were built in.

Functionality in this area SAPGui doesn't have

  • There is source code comparison between systems not connected through the transport system.
  • You can compare the source code of entire classes (downside, you can't compare just the method!)

Ultimately you just have to decide which set of functionality suits your needs and environement. Personally, I can't imagine ever going back to developing in SAPGui. Eclipse ADT doesn't have everything, neither does SAPGui, but ADT has richer functionality, in my opinion.

TMNielsen
Contributor
0 Kudos

Thanks matthew.billingham

Your guide to see the transport history was exactly what I was looking for. you have written your answer as a comment, so if you move it to an "Answer", I can close the ticket and give you credit for the best answer.

Regards Thomas

matt
Active Contributor
0 Kudos

Ok, done.