ABAP and Its Infrastructure
There are more advantages to programming with ABAP than simply using a sophisticated programming language, and there are very good reasons for this. You require more than just the programming language to write business applications successfully. Efficient programming not only involves the writing of source code, especially in the case of very large projects. A single program with its code is only a building block in a component, which in turn is part of a solution. Furthermore, it is not just the creation of the solution that is relevant, but its entire lifecycle, especially considering that, on average, maintenance costs make up some 60% of software costs.
When you write an ABAP program, it is, from the outset, integrated in an environment that supports its entire lifecycle. The ABAP Development Workbench, the programming environment of the SAP NW AS ABAP, supports the entire software development cycle with tools for:
· Programming in the ABAP language
· Efficient debugging
· Static and dynamic tests of different scales
· Performance analyses
· Organizing large projects
· Updates and importing patches
· Source code management
· Connectors to Java and .NET world
With regard to the actual programming, ABAP has the following features:
· Tailor-made data types for business programming – for example, the internal table, in which you can dynamically create tables with row types structured to any depth and can search their rows for specific fields.
· Object-oriented exception handling
· Support for dynamic programming; from dynamic data generation to dynamic creation of types and entire programs
· Simple management of multilingual texts
· Integration of the DML part of SQL into the language
· Creation of database tables via the definition of metadata
· Definition of various types of data structures, which are then available throughout the server
· Conversion of XML data into ABAP structures
· Simple handling of transactions – that is, program units – which can only be executed fully or not all, in order to ensure data integrity
· Possibility to prepare program enhancements so that customers can enhance programs without modification – that is, without the changes being lost after an update or having to be merged manually
· Possibility to publish procedures as Web services or access Web services as a user