Custom ABAP Development Methodology
Almost all SAP implementations require to certain degree a custom ABAP development.
Some custom development projects are very small and involve one or two ABAP programmers implementing user exits or enhancements. Some are very large and include custom development of complete, complex bolt-on subsystems by a large onsite and/or offshore development teams.
No matter whether your custom ABAP development is small, medium or large in size, it always pays off to approach it in well organized manner with potential future expansion in mind. When doing any software development, it is important to focus on source code reusability by building libraries of well defined, tested and documented components.
Developing software libraries might increase initial development time for small projects but it would pay off quickly when undertaking additional assignments that would reuse those libraries. For medium and large size projects, the development and usage of software component libraries would have a positive effect on the development timeline and better quality of the source code. The library of reusable components might be useful in any project and could start with the development of widely used components for error handling, string manipulation, file i/o and alerts to name few areas.
The road to success is not only in the development of reusable components but also in superior documentation that fully describes them, shows their signatures, examples of using them as well as provide a comprehensive search capabilities. Only then, the programmers will be fully aware of them and will appreciate and use them to the full extend rather than write similar ABAP code over and over again.
Usually, the development process starts with preparing Blueprint, Functional Specification and Technical Specification documents. Once Technical Specification for custom development is ready and approved, the ABAP programmers start writing ABAP code implementing user requirements.
The Technical Specification document describes how to implement a specific requirement described in the Functional Specification document. Usually, it is one to one relation. In real life, the process described in Technical Specification could be divided into number of separate components. Many of those components could be used when implementing objects described in more than one Functional Specification document.
The standard project documentation ends with Technical Specification document that is a basis for ABAP programming. It misses n:n relation between Technical Specification and Development Components where one Technical Specification may utilize many Development Components and one Development Component may be utilized by many Technical Specifications.
The following diagram emphasizes the importance of the Development Components in building libraries of well documented and tested reusable programming objects:
Figure 1 – Custom ABAP Development Methodology
The traditional approach with one Functional Specification document followed by one Technical Specification document and its ABAP Programming misses the reusability advantage that might streamline many projects. The above diagram adds the additional step – the Development Component Documentation – shown as Apps & Libs with Inline Documentation. Often, the Technical Specification object may be divided into one or more Development Components that form libraries of reusable ABAP components; e.g., function modules, ABAP forms, ABAP object classes and methods, ABAP macros, … etc.
The Technical Specification document is usually prepared in MS Word format and saved with other documentation in Solution Manager. The Development Component Documentation should be as close as possible to the development system. Since it would be mainly used by programmers it should be an integral part of ABAP components’ programs as Java documentation is a part of Java programs.
To make ABAP Component Documentation easy to find and benefit from it during the development process, the Java Docs concept should be used to handle it. The generation program is needed to convert inline component documentation to online documentation and presentation program is needed to display it.
The bottom layer on the preceding diagram shows components’ inline documentation in HTML format presented with help of ABAP Docs system.
The entire custom development process is shown in more detail on the following diagram:
Figure 2 – Custom Development Process with ABAP Docs
Beside standard development process flow with Functional Specification, Technical Specification and Development steps, notice splitting the Technical Specification object into Development Components, creating their documentation with ABAP Docs as well as Development and Testing of those components.
Those additional steps to the standard development process would allow for greater usability of ABAP code. Especially important step is documenting components to be developed with ABAP Docs so the functionality of the new and already available components could be available for reference online to the entire development team.
The creation of the Development Component documentation should be delegated to team lead or chief architect/developer. The process consists of the following tasks:
- Defining component scope that could be useful for this and future use
- Selection of component name
- Selection of component location; e.g., ABAP include where it will be implemented
- Definition of component signature
- Writing component inline documentation including code examples
- Generation of component online documentation
The component implementation should be delegated to a programmer in the development team. The process consists of the following tasks:
- Development of component ABAP code
- Writing of component test program
- Preparing component test cases
- Performing component unit testing
- Updating component inline documentation
- Generation of component online documentation
To help architects/developers/programmers with documenting Development Components and finding information about them, the ABAP Docs system was implemented.
The ABAP Docs is a premier ABAP software documentation system intended for software developers. It is based on assumption that the documentation is the last thing that programmers want to do unless they can really benefit from it. It is why ABAP Docs, with its superior search capabilities, has developers in mind and gives them instantaneous access to software components’ online documentation, making the development process faster and easier. The software documentation created and generated with ABAP Docs provides very useful information on software components’ signatures, functional and technical description, example of their use, links to related components’ documentation as well as status information on the components’ development process. It can be also easily incorporated into MS Word based documents.
ABAP Docs is not the artificial intelligence system and it does not write documentation for you. It only helps to write it and use it providing useful documentation templates, HTML generator and documentation cockpit. You are responsible for writing documentation. The documentation will be as good as written by architects, team leads and/or programmers. Once you start using it, you will quickly appreciate its benefits and write documentation that would be very helpful for the entire development team and speedup the implementation process.
The complete free ABAP Docs source code and documentation is available through the link to the “Upgrade to ABAP Docs 2.0 …” whitepaper – the latest version of ABAP Docs that introduces its many new exciting features:
The ABAP Docs 2.0 system was also installed on the internal SAP Consultant’s E60 system; i.e., Application Server: tsphl815, System Number: 02, System Id: E60