SAP CORRECTNESS QUALITY - Guide
Get Example source ABAP code based on a different SAP table
GUIDELINE 2.3
Correctness and Quality
ABAP_BACKGROUND
Most organizations that develop professional software have product standards that must be adhered to. These product standards define what is meant by correctness and quality of a program. SAP has many such standards, which development departments have to comply with. The current product standards that are most important to developers are listed below:
In the information technology environment, the term
As a rule, a product standard for documentation defines which documents have to be shipped to the consumer with the product and ensures that the documentation supplied is consistent, correct, and up to date across all product areas.
The functional correctness of software is generally seen as its most important quality. Software that is not functionally correct is usually unusable. As a rule, a product standard for functional correctness requires software to be error-free, and defines the stability of interfaces and program behavior during upgrades. To reach these goals, thorough testing of the software may be made compulsory.
If software is to be used worldwide, a product standard for globalization is usually necessary. This covers the aspects of internati onalization and localization.
Internationalization comprises the technical aspects of globalization such as Unicode compatibility, text processing, screen display, printing, data exchange, time zones, translatability, and so on, and thus sets out the technical prerequisites for localization. The translation of user interfaces and other texts is also, of course, an important aspect of internationalization.
Localization is necessary if software for global use has to be adapted to local (usually country-specific) conditions, such as legal requirements or particular business procedures.
Even if a program is functionally correct, it is of little or no use to a user if it cannot be executed in a reasonable time. A performance product standard ensures that this aspect is not neglected. It can include, for example, rules for efficient database access and scalability of application logic.
Where security is critical to software, and this is generally the case for any type of business software, a product standard for security sets out all security-relevant aspects of a product, by pointing out any potential security gaps or legal requirements, for example, and also contains instructions for meeting the standard.
The term usability refers to the adaptation of user interfaces to the requirements of human end users and their tasks. A usability product standard should ensure that end users can perform their tasks efficiently and effectively. Key aspects of usability include c onsistency of user interfaces, ease of use, intuitive task- and role-specific interfaces, individual adaptability, error tolerance, and so on.
Although these standards are, in part, legal requirements, they essentially arise from the fundamental aim to guarantee the correctness and quality of the software that is shipped to consumers. Programming guidelines are very important in this respect. Many of the guidelines listed here support, directly or indirectly, one of the standards mentioned or are derived from them. They support and ensure compliance with such standards, resulting in correct, high-quality programs. The programming guidelines themselves could even be said to be on a par with binding product standards.
However, since not all possible product standards can be covered by the programming guidelines, for example all rules of a performance or security standard, we set out the following basic rule.
ABAP_RULE
Adhere to the product standards that exist in your organization, and ensure the correctness and quality of your programs by testing them during development and after completion with all the test tools at your disposal.
ABAP_DETAILS
It is obvious that you must comply with product standards; this needs no further explanation. However, it is often forgotten that the static and dynamic analysis tools that are available in the ABAP environment can provide invaluable help for compliance with important product standards, particularly standards for functional correctness and performance. Therefore, as part of this basic rule we recommend that you use all available tools that help to ensure the correctness and quality of ABAP programs.
Note
Where in doubt, product standards take precedence over the guidelines and recommendations of this documentation. If, for example, performance or security aspects prohibit any of the programming practices presented here, compliance with the standard takes priority.
Good example
Executing module tests for classes of the package