During the past 10 years, R/3 has become one of the most complex software systems ever. More then 100 million lines of code and about 100,000 database tables are required to fulfil the requirements of modern business applications. Usually, these numbers are growing with every service pack shipped by SAP. That is, because ABAP programs or data dictionary objects are never removed they are substituted or enhanced but they dont leave the system.
There is also some documentation lacking for the programs available in the system. Inline comments are rare, documentation is only slightly available, and programs were created using generators.
This will be the situation we have to deal with in the upcoming years. R/3 has to be kept up and running at least for the next 10 years. Meanwhile, tax and legal restrictions will change, and so the system has to be changed in addition to the usual maintenance.
There should be a way to find out whats in the system.
Working on this problem started about three years ago with a simple question:
Wouldnt it be great if there is a tool to analyze ABAP programs and draw e. g. dataflow charts automatically?
As a result, a system called Magellan Explorer ( http://www.magellan-project.org ) was created trying to fulfil this question. Magellan Explorer is currently able to create dataflow charts, data models and call graph right from ABAP source code. The results could be presented either in 2D or in 3D.
If you want to know how it looks like, click here:
Magellan Explorer currently is an experimental system. It is working fine, but static software analysis and visualization is a quite new thing in computer science. Nobody has ever tried to analyze a system as complex as R/3.
In the end, I would like to ask two questions:
1.. Do you think we should continue developing the system?
2. To present the results to the SAP development community, we have submitted a an SAP TechED 04 proposal on SDN. Title is An ocean of code: Automatic analysis and visualization of ABAP programs. So, if you want to learn more about this, you can vote for it at: http://www.sapteched.com/speakers/SDN/CastYourVote1.asp