Successful and resourceful SAP ABAP developer
ABAP / ABAP OO development is very crucial in addressing any gaps in the solution, RICEFs or custom development for any SAP project. I find it very important to know many different programming aspects during a SAP implementation project and to follow certain guidelines that can make a SAP ABAP professional very successful in your career.
Steps to be an efficient SAP ABAP programmer or SAP technical team leader
1. Review business requirements and write functional specification
The first part of any ABAP development project starts with meeting the end users or business experts and understanding the business requirements to be implemented in the SAP system during the realization phase. A best approach is to hold workshops to gather all business requirements. If SAP function consultants are involved, make sure that they are also present at the meetings. After all business requirements have been collected, a functional SAP consultant or business expert will write a detailed functional specification. Review the functional specification until the document has clearly defined all details, different business scenarios and expected goals. A well-defined functional specification should include UML diagrams and test case scenarios. It is important to have an official signature of the functional specification before proceeding with design and development.
2. View ABAP Development Standards
Ideally, your SAP Project Lead or ABAP Development Manager should have prepared a programming standards and guidelines document. Read this document to follow the naming conventions for function modules, classes, dictionary objects, software components, namespaces and proxies (if you are using SAP XI / PI), input / output parameters of the program, etc. Just to name a few. Following the guideline for the project maintains a consistent coding approach and allows other functional and technical analysts to read and debug your code. The naming convention of ABAP objects must start with Z if it is migrated to the SAP production system and with Y if it is not migrated to the production system.
3. Write and review test cases
The test case documents are written by the business experts or functional SAP consultants in most SAP implementation projects. But some SAP implementation projects may require a programmer to write test cases. Before writing a test case, you should thoroughly review the functional specification document and review the written test case with the business users or functional advisors. Receive an opt-out as mentioned in most of the steps in this article. As ABAP Development Manager for a variety of SAP implementation projects, my goal was to keep my team motivated and always protect the team from any change of scope of development tasks. Having a sign-off at each stage of any SAP custom development or improvement tasks helps the SAP implementation team and project management team to always stay in sync, which is essential to complete SAP implementation on time and on budget.
Four. Write and review technical design specifications
Read the functional specification and list all development objects required to implement the required functionality in the SAP system. The first step is to create a flow chart and discuss it with technical and business experts. The technical design document should include a technical overview, a list of new database objects, ABAP objects that can be reused, a data model and a class diagram (if ABAP OO classes are used). It is strongly recommended to have a rough prototype in the sandbox system (development system if no SAP sandbox system is available) if the development being done is complex or the final product is not well defined. You then need to review your prototype with functional experts and business users. Make sure that the leader or manager of the ABAP Development team signs the prototype. If the effort required to complete the ABAP programming task is not presented and approved by the senior project management, now would be a good time to get the development estimate and timeline approved.
5. Realization of the specification – ABAP development
During this step, you create development objects and implement the code in the SAP development system. Before you begin, if the prototype was created in the sandbox system, analyze the prototype and design specification. Remember that the quality and reusability of existing ABAP objects are more important than strictly following the design specification. Determine which existing dictionary objects can be reused for this topic. If new dictionary objects or classes need to be created, make sure that these objects can be extended and reused for other development tasks. It can take extra effort to develop objects that are reusable and flexible. This one-time effort to build reusable ABAP objects over the course of a development project can potentially save a lot of work programming similar objects that might otherwise use already built objects. Review your approach with an SAP technical team leader or development manager for your project before deviating from the technical design specification and implementing your own ideas. If you are involved in SAP XI (now process integration) related tasks or creating business services, this is the area where you can best reuse existing objects. View the message types that already exist within your SAP business unit and see if existing messages can be expanded with new fields. Discuss with the team leader whether communication should be synchronous or asynchronous before generating proxies.
6. SAP Development Best Practices
SAP ABAP (or JAVA if you are working on SAP Netweaver) development best practices must be followed throughout the project development cycle. While this aspect depends on your technical project manager, I have personally maintained a checklist for developers on my team for all projects and it has been a tremendous success in delivering high quality output for all development tasks. Here are a few best practices worth adapting in your project. Verify that you adhere to all naming conventions described in the programming standards established for your implementation project. Add comments to your code so that someone else can easily understand your programs. This is especially useful if you work in large teams and multiple people work with the same objects. If you are building transactions or web user interfaces that require human interaction, make sure to check for user authorization. Make sure you don’t have any ABAP code segments that can negatively impact performance, such as nested loops, nested select statements (use views if desired), redundant database commits (persistent objects or buffer alternatives can be a good option), etc. Field symbols are a great asset when it comes to handling internal tables and also for variables with unknown data types that are resolved at runtime. Field symbols are very similar to the concept of using pointers in OO’s programming landscape. Check that all exceptions are handled and that error messages are properly communicated to the end users. As an ABAP programmer, it should now be well accepted that short dumps should not be OK. All these occur in unknown special case scenarios, the short dumps need to be resolved.
7. ABAP code reviews and performance
As an ABAP programmer, you should test your code for all possible scenarios upon completion. Check that the final results are the same as expected in the documented test cases. Run ABAP runtime analysis to check the performance of your code. Seek suggestions from your technical team leader or manager on how to improve code performance if you spot red flags during runtime analysis. Schedule a formal code review with your mentor or a senior ABAP developer once development is complete and tested by all responsible developers. Make any revisions and retest your code against the desired output as documented in the test scripts. Remember, code reviews are not intended to find flaws in your programming, but it will only make you a better ABAP developer and maintain consistency.
Be sure to write an end-user document that summarizes functionality or enhancements upon completion. Include screenshots where possible. Prepare documentation and be aware that an end user unfamiliar with your product can read the document and test its functionality. Please include contact information in this document so that users can easily reach the SAP technical team for any questions.
9. User acceptance testing
Now that your ABAP coding has been completed and reviewed by technical experts, it is time for the business users to conduct a formal user acceptance test. UAT testers will verify that the output meets business process requirements and propose any improvements or modifications to the functionality provided. Upon completion of these fixes or customizations, you must request formal signing of the functionality.
10. Migration to SAP test system and production system
Quality assurance engineers test your functionality in the SAP QA environment to verify that everything works in your delivered functionality, as tested during user acceptance tests. Any problems in transporting your ABAP objects over SAP systems are also identified and addressed during this step. If no issues are found, your shipments will be approved for migration to the SAP production system in the next transport cycle.
You have just learned how to be an efficient SAP ABAP developer or, say, a high quality Senior ABAP expert, from writing specifications to realizing your implementation in the production system. Please use this article as a guide, as there are many more aspects of improving yourself to be a good ABAP programmer that you cannot cover in a short article like this. You can always contact me with any suggestions or ideas you may be looking for for your SAP implementation.