✒️ABAP Los Estándares de programación en ABAP
ABAP Los Estándares de programación en ABAP
Programming Standards
Programming Standards determine how we will code our ABAP programs. This includes how we declare variables, structures, tables, as well as how we define objects in the Data Dictionary or in any other SAP transaction where system objects are created. Using Programming Standards is highly beneficial as it makes programs much simpler to read and maintain when modifications are necessary.
Criteria for a good standard
There are many programming standards that can be utilized. A good programming standard generally considers the following factors:
- Mnemonic Factor: So that the programmer can easily remember the name of a variable.
- Suggestive Factor: So that other programmers can quickly read and understand our code.
- Consistency: So that we use the same naming conventions throughout the program and make the code text "readable".
Advantages of using Standards
We can summarize some of the benefits of using programming standards in the following points:
- Variable names will be mnemonic, and one can determine the data type of each variable by simply looking at its name.
- Variable names will be suggestive, making it easy to understand the usage and purpose of the variable or function just by looking at its name.
- The decision to name a variable or function will be mechanical and automatic, as it follows the rules defined by the standard.
- They allow the use of automatic naming verification tools such as Code Inspector or Extended Code Check.
Misunderstandings about Programming Standards
If standards have so many benefits, then the question is, why do programmers use them so infrequently? The reason has more to do with human factors than with technology:
- They work on a project that has not adopted any standard.
- They do not understand or cannot remember them.
- They do not see the benefit of using them.
- They are too rushed or tired.
- They prefer creativity and arbitrary consistency.
- They think it's fun to use "fancy" names in the code.
- They are "software artists" and do not want to be governed by conventions.
Programming Standards - Abap career CVSOFT
Below are the Programming Standards we will use throughout the SAP ABAP Career. It is important to know that within the standards we define below, we may mention concepts that you are unfamiliar with, but we will incorporate them throughout the SAP ABAP Consultant Career.
- For declarations within an ABAP program, we will use the following standards:
Local Variables: VL_XXXXXX
Global Variables: V_XXXXXX
Checkbox: CH_XXXXXX
Radio Button: RBG11_XXXXXX, RBG12_XXXXXX, RBG1N_XXXXXX
Ranges: R_XXXXXX
Local Ranges: RL_XXXXXX
Global Constants: C_XXXXXX
Local Constants: CL_XXXXXX
Structure: WA_XXXXXX
Local Structure: WAL_XXXXXX
Internal Tables: TI_XXXXXX
Local Internal Tables: TIL_XXXXXX
Types: TY_XXXXXX
Parameters: P_XXXXXX
Select Options: SO_XXXXXX
Forms: F_XXXXXXXXXXXXX
Form Parameters: P_XXXXX
- When we talk about Local Variables, Local Constants, or any other local declaration, we refer to those made within subroutines.
- When we talk about Global Variables, Global Constants, or any other Global declaration, we refer to those made within the main program, that is, within the START-OF-SELECTION event.
- For declarations of data we create in the ABAP Data Dictionary, we will use the following standards:
New Table Fields: XXXXXX where XXXXXX is the name of the new field.
Data Elements: ZZ_XXXXXX where XXXXXX is the new name of the field to be associated.
Domain: ZD_XXXXXX where XXXXXX should reference the data type.
Table Name: ZT_XXXXXX where XXXXXX is used to describe the table name.
Structures: Z_XXXXXX where XXXXXX is used to describe the structure name.
- We will use the following nomenclature to establish names for the following objects:
Report or Program: Z_XXXXX_LEGXXX Example: ZREPORT_USER_ID
Function Module: ZFM_XXXXXX where XXXXXX is used to describe the function module name.
Function Group: ZGF_XXXXXX where XXXXXX is used to describe the function group name.
Module Pool or Dialogue Program: ZMP_XXXXXX where XXXXXX is used to describe the program objective.
Update Views: ZVA_XXXXXX where XXXXXX is used to describe the view name.
Message Classes: ZCM_XXXXXX where XXXXXX is used to describe the message class name.
ABAP Objects Classes: ZCL_XXXXXX where XXXXXX is used to describe the class name.
DevClasses or Packages: ZCD_XXXXXX where XXXXXX is used to describe the dev class or package name.
Search Help: ZAB_XXXXXX where XXXXXX is used to describe the search help name.
Lock Object: ZOB_XXXXXX where XXXXXX is used to describe the lock object objective.
- For ABAP Program Headers: When creating a new ABAP program in SAP, it is advisable to always use the same header to unify criteria among all programmers in the same project. Below we propose a version of the skeleton of an ABAP program that you can use for your developments.
********************************************************************************
* PROGRAM NAME
* DESCRIPTION: Brief description of the program functionality
* REQUIREMENT NUMBER: Improvement or incident number that generated the development
* AUTHOR: Full name of the programmer
* DATE: DD.MM.YYYY
********************************************************************************
* MODIFICATION CONTROL: (This section is completed with each modification after implementation
* MODIFIED BY: Full names of the modification author
* MODIFICATION DATE: DD.MM.YYYY
* MODIFICATION DESCRIPTION: Brief description of the modification
********************************************************************************
Below, within the same template of a new program, we specify the declarations of Includes, Types, Internal Tables, etc.
********************************************************************************
* INCLUDES
********************************************************************************
INCLUDE ZRP_USER_TOP. "Include of data declarations, where USER is the program name
INCLUDE ZRP_USER_FORMS. "Include of subroutine declarations, where USER is the program name
********************************************************************************
* Definition of TYPES
********************************************************************************
********************************************************************************
* Definition of structures
********************************************************************************
********************************************************************************
* Definition of internal tables
********************************************************************************
********************************************************************************
* Definition of parameters
********************************************************************************
********************************************************************************
* Definition of constants
********************************************************************************
********************************************************************************
* Definition of ranges
********************************************************************************
********************************************************************************
* Definition of variables
********************************************************************************
 
 
 
Sobre el autor
Publicación académica de Jaime Eduardo Gomez Arango, en su ámbito de estudios para la Carrera Consultor ABAP.
Jaime Eduardo Gomez Arango
Profesión: Ingeniero de Sistemas y Computaci?n - Espa?a - Legajo: SW34C
✒️Autor de: 149 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP Fiori
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
Ingeniero de sistemas y computaci?n con 8 a?os de experiencia el desarrollo frontend & backend (react/node) y en cloud (aws), actualmente desarrollando habilidades en sap btp, ui5, abap y fiori.
Certificación Académica de Jaime Gomez