4.4 estándares de programación abap

9
7 Proyecto Helvética Estándares de Programación SAP-ABAP Indice TITULO HOJA Indice 1 Nomenclaturas 2 Variables 2 Constantes 2 Parámetros de Entrada 2 Tipos de Datos, Tablas Internas y Rangos 2 y 3 Nombres de Programas 3 Objetos del Diccionario de Datos 3 Paquetes (Clases de Desarrollo) 3 y 4 Tablas y Vistas 4 Elementos de Datos, Dominios, Search Helps y Objetos de Bloqueo 4 Transacciones y Menús de ámbito 5 Documentación 5 Dentro del Programa 5 Ejemplos de Documentaciones dentro de los programas ABAP 6 y 7 Ojeda Juraidini Consulting | www.ojc.mx

Upload: pedro-tenorio

Post on 31-Dec-2015

16 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 4.4 Estándares de Programación ABAP

7

Proyecto Helvética

Estándares de Programación SAP-ABAP

Indice

TITULO HOJA

Indice 1

Nomenclaturas 2

Variables 2Constantes 2Parámetros de Entrada 2Tipos de Datos, Tablas Internas y Rangos 2 y 3Nombres de Programas 3Objetos del Diccionario de Datos 3Paquetes (Clases de Desarrollo) 3 y 4Tablas y Vistas 4Elementos de Datos, Dominios, Search Helps y Objetos de Bloqueo 4Transacciones y Menús de ámbito 5

Documentación 5

Dentro del Programa 5Ejemplos de Documentaciones dentro de los programas ABAP 6 y 7

Ojeda Juraidini Consulting | www.ojc.mx

Page 2: 4.4 Estándares de Programación ABAP

7

Proyecto Helvética

Estándares de Programación SAP-ABAP

Nomenclaturas:

Variables:

Las Variables GLOBALES deben de usar el prefijo GV_ seguidas de una breve descripción compuesta por hasta 7 caracteres como máximo para dar una longitud máxima de 10 caracteres.

Las Variable LOCALES deben de usar el prefijo LV_ seguidas de una breve descripción compuesta por hasta 7 caracteres como máximo para dar una longitud máxima de 10 caracteres.

Nota: Para ambos casos si la variable hace referencia a un objeto del Diccionario de Datos (DD), entonces la descripción será igual a la del objeto; ejemplos: GV_BUKRS like BSIS-BUKRS. LV_BELNR like BSIS-BELNR; si la descripción del Objeto del D.D. es mayor a 7, entonces la longitud de la descripción de la variable se adecuara a los 7 caracteres definidos anteriormente, ejemplo: GV_ GRANT_N like BSIS-GRANT_NBR.

Constantes:

Las Constantes deben de usar el prefijo C_ seguidas de una breve descripción compuesta por hasta 8 caracteres como máximo para dar una longitud máxima de 10 caracteres.

Parámetros de Entrada:

Los Parámetros deben de iniciar con el prefijo P_ seguidos de una breve descripción no mayor de 6 caracteres para tener una longitud máxima de 8 caracteres, que es la permitida por SAP.

Los Rangos de Selección (Select-Options) deben de iniciar con el prefijo S_ seguidos de una breve descripción no mayor de 6 caracteres para tener una longitud máxima de 8 caracteres, que es la permitida por SAP.

Tipos de Datos, Tablas Internas y Rangos:

Los Tipos de Datos deben de llevar el prefijo TY_ seguidos de una descripción de hasta 7 caracteres para dar una longitud máxima de 10 caracteres.

Las Tablas Internas deben de llevar el prefijo T_ seguidas de una descripción de hasta 7 caracteres para dar una longitud máxima de 10 caracteres.

Nota: Para ambos casos los campos que componen ambos objetos tienen una descripción libre, se recomienda que si algún campo hace referencia a un campo de una tabla del Diccionario de Datos (DD), la descripción sea igual a la de SAP, ejemplo:

Ojeda Juraidini Consulting | www.ojc.mx

Page 3: 4.4 Estándares de Programación ABAP

7

Proyecto Helvética

Estándares de Programación SAP-ABAP

TYPES:BEGIN OF ty_ctas, " Estructura General p/Crear Planes de Cuentas hkont LIKE bsis-hkont, " Cuenta de Mayor ltext(50), " Texto LargoEND OF ty_ctas.

Los rangos a usar en un programa ABAP deben de iniciar con el prefijo R_ seguidos de una descripción no mayor a 6 caracteres para obtener una longitud total de 8 caracteres.

Nombres de Programas:

Los programas ABAP (Excepto Module Pools) deben de cumplir con la siguiente nomenclatura:Pos. 01 Deben de Iniciar con la letra “Z” para indicar que es un desarrollo propio.Pos. 02-03 Debe de Indicar el Módulo SAP al que afecta: Finanzas(FI), Ventas(SD),

Producción(PP), Project System(PS), Materiales(MM), Rec.Humanos(HR) y Nómina (HRPY).

Pos. 04 Tipo de Programa: Reporte(R), Interfaz(I),Formulario(S –por Sapscript y Smartform-) ó Módulo de Función(F).

Pos. 05 Guión bajo (_) para separar el prefijo del programa de su descripción.Pos. 06-30 Descripción breve del Programa.

Notas: Para los Programas de Diálogo (Module Pools) se usará el prefijo SAPMZ_ el cual es el Standard de SAP para este tipo de programas, de la posición 7 a la 30 se indicará una descripción breve del mismo.Para los Programas tipo Incluye se aplicará el mismo procedimiento general explicado anteriormente, con la consideración que en la descripción breve (Posiciones 06 a 30) se incluya en las últimas posiciones las siguientes nomenclaturas:

DATA Para Includes de Declaración de Datos Variables, Tablas y/o Parámetros.PROC Para Declaración de Procedimientos y Rutinas usados en el Programa Principal.PAI Para rutinas PAI (Process After Input) usadas en programas tipo Include.PBO Para rutinas PBO (Process Before Output) usadas en programas tipo Include.

Objetos del Diccionario de Datos:

Paquetes (Clases de Desarrollo):

Los Paquetes (Clases de Desarrollo en versiones anteriores) ya están definidos por módulo, en caso de requerir de algún paquete adicional, favor de solicitarlo a la persona responsable. Los Paquetes creados son:

Clase de Desarrollo DescripciónZBC Clase de desarrollo Basis ZCO Clase de desarrollo CO ZFI Clase de desarrollo FI ZMM Clase de desarollo MM ZPM Clase de desarrollo PM

Ojeda Juraidini Consulting | www.ojc.mx

Page 4: 4.4 Estándares de Programación ABAP

7

Proyecto Helvética

Estándares de Programación SAP-ABAP

ZPP Clase de desarrollo PP ZPS Clase de desarrollo PSZRH Clase de desarrollo RH ZSD Clase de desarrollo SD

Tablas y Vistas:

Las Tablas creadas en el Diccionario de Datos (DD) deben de llevar siguiente nomenclatura:Pos. 01 Deben de Iniciar con la letra “Z” para indicar que es un desarrollo propio.Pos. 02-03 Debe de Indicar el Módulo SAP al que afecta: Finanzas(FI), Ventas(SD),

Producción(PP), Project System(PS), Materiales(MM) y Rec.Humanos(HR).Pos. 04 Guión bajo (_) para separar el prefijo de la tabla de su descripción.Pos. 05-16 Descripción breve de la tabla.

Las Vistas generalmente se crearan con la opción de “Generador actualiz.tab.” dentro del menú “Utilidades” en la creación de las Tablas, en este paso la vista toma el mismo nombre de la tabla, dicha vista puede ser llamada desde la transacción SM30. Solo en el caso de que sea necesario crear otra vista o una vista compuesta se usara la opción de “Vista” en el Diccionario de Datos, llevando la siguiente nomenclatura:

Pos. 01 Deben de Iniciar con la letra “Z” para indicar que es un desarrollo propio.Pos. 02-03 Debe de Indicar el Módulo SAP al que afecta: Finanzas(FI), Ventas(SD),

Producción(PP), Project System(PS), Materiales(MM) y Rec.Humanos(HR).Pos. 04 Letra “V”, la cual indicará que se trata de una Vista.Pos. 05 Guión bajo (_) para separar el prefijo de la tabla de su descripción.Pos. 06-16 Descripción breve de la tabla.

Elementos de Datos, Dominios, Search Helps y Objetos de Bloqueo:

En ambos casos deberán de llevar el prefijo “Z_” seguidos de una descripción breve, ejemplos: Z_PRODUCTO, Z_EMPRESA, Z_FRANQUICIA, etc.

Transacciones y Menús de ámbito:

Las Transacciones deberán de llevar la siguiente nomenclatura:Pos. 01 Deben de Iniciar con la letra “Z” para indicar que es un desarrollo propio.Pos. 02-03 Debe de Indicar el Módulo SAP al que afecta: Finanzas(FI), Ventas(SD),

Producción(PP), Project System(PS), Materiales(MM) y Rec.Humanos(HR).Pos. 04 Guión bajo (_) para separar el prefijo de la transacción de su descripción.Pos. 05-20 Descripción breve de la transacción.

Los Menús de ámbito deberán de llevar la siguiente nomenclatura:

Ojeda Juraidini Consulting | www.ojc.mx

Page 5: 4.4 Estándares de Programación ABAP

7

Proyecto Helvética

Estándares de Programación SAP-ABAP

Pos. 01 Deben de Iniciar con la letra “Z” para indicar que es un desarrollo propio.Pos. 02-03 Debe de Indicar el Módulo SAP al que afecta: Finanzas(FI), Ventas(SD),

Producción(PP), Project System(PS), Materiales(MM) y Rec.Humanos(HR).Pos. 04 Guión bajo (_) para separar el prefijo de la transacción de su descripción.Pos. 05-30 Descripción breve del Menú

Documentación Interna:

Dentro del Programa:

Los programas desarrollados debe de contener la siguiente información, relevante para una mejor comprensión del mismo:

1.- Nombre del Programa, 2.- Tipo, 3.-Título breve del Programa, 4.- Autor, 5.- Fecha de Creación, 6.- Nombre de la Empresa(del que desarrolló el programa), 7.- Descripción del Programa.

Adicionalmente se agregarán dos secciones, una con el histórico de las Ordenes de Transporte asociadas al Programa y otra con el Histórico de las Modificaciones realizadas al mismo. Ambas secciones deberán de contener al menos los siguientes datos: Fecha, Orden de Transporte, Programador y Comentarios.

Se solicita el uso de Includes para las declaraciones de Datos y Subrutinas (en el caso de los Module Pools, se solicitan dos más: uno para los procesos PAI y otro para los PBO), esto con el propósito de hacer el flujo del programa lo más fácil posible para su análisis en las modificaciones futuras, así como en los Quality Assurance aplicados al mismo.

También se requiere que los procesos y eventos que se realicen dentro del flujo del programa contengan algún comentario que facilite la comprensión de su uso dentro del proceso lógico del programa.

A continuación se muestra un ejemplo de un programa de tipo Interfase con la información requerida:

*----------------------------------------------------------------------** Programa: ZFII_CARGA_PLAN Tipo: Programa de Interfase ** Titulo : Carga Inicial de Planes de Cuentas. ** Autor : Ernesto Aarón Villar Zambrano Fecha: Noviembre 17, 2004 ** Empresa : North American Software -NASOFT- ** Descrip.: Interfase para la Carga Inicial de Diferentes Planes de ** Cuentas. ************************************************************************** Histórico de Ordenes de Transporte: **----------------------------------------------------------------------|* Orden Tr. | Fecha | Comentarios |*----------------------------------------------------------------------|* DEVK900074 | 17/11/2004 | Desarrollo Inicial [Creación] |

Ojeda Juraidini Consulting | www.ojc.mx

Page 6: 4.4 Estándares de Programación ABAP

7

Proyecto Helvética

Estándares de Programación SAP-ABAP

* | | |************************************************************************* Histórico de Modificaciones: **----------------------------------------------------------------------|* Date | Desarrollador | Orden Tr.| Comentarios |*----------------------------------------------------------------------|* 17/11/2004 | E.Aarón Villar Z.|DEVK900074| Desarrollo Inicial. |* | | |************************************************************************REPORT zfii_carga_plan MESSAGE-ID 00 NO STANDARD PAGE HEADING.***************************************************** Includes utilizados por el Programa Principal *****************************************************INCLUDE zfii_carga_plan_data. " Declaración de Variables y Tablas.INCLUDE zfii_carga_plan_proc. " Procedimientos usados en el Programa********************************* Eventos de Selection Screens ************************************************************************** Se ejecuta rutina GET_FILENAME si el usuario da un click sobre el **** campo P_FILE *************************************************************************AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file. PERFORM get_filename. " Muestra ventana diálogo del archivo a leer************************************* Inicio del Flujo del Programa *************************************START-OF-SELECTION. PERFORM upload_file. " Sube archivo de texto a tablas internas PERFORM open_batch. " Abre el juego de datos PERFORM fill_batch. " Llena el Juego de Datos PERFORM close_batch. " Cierra el Juego de Datos

En el caso de modificaciones realizadas a un programa existente, es necesario indicar en el rubro de “Comentarios” del Histórico de Modificaciones las iniciales que permitan identificar sus cambios dentro del programa. Además de sus iniciales, en las líneas modificadas deberán de llevar la Fecha de Modificación/Inserción/Borrado de la misma. En caso de ser un grupo de líneas de programación continuas, indicar cual es la línea inicial y cual la final, siempre indicando sus iniciales y fechas de modificación.

A continuación se muestra un ejemplo de líneas insertadas/borradas en un programa:

************************************* Inicio del Flujo del Programa *************************************START-OF-SELECTION.** EAVZ Nov. 26, 2004 Inicio: Se Elimina rutina UPLOAD_FILE y se sustituye **** por las rutinas NEW_UPLOAD1 y NEW_UPLOAD2. **** PERFORM upload_file. " Sube archivo de texto a tablas internas PERFORM NEW_UPLOAD1. PERFORM NEW_UPLOAD2.

Ojeda Juraidini Consulting | www.ojc.mx

Page 7: 4.4 Estándares de Programación ABAP

7

Proyecto Helvética

Estándares de Programación SAP-ABAP

** EAVZ Nov. 26, 2004 Fin: Se Elimina rutina UPLOAD_FILE y se sustituye **** por las rutinas NEW_UPLOAD1 y NEW_UPLOAD2. ** PERFORM open_batch. " Abre el juego de datos PERFORM NEW_ROUTINE. “ EAVZ Nov. 25, 2004: “ Nueva rutina agregada PERFORM fill_batch. " Llena el Juego de Datos PERFORM close_batch. " Cierra el Juego de Datos

La aplicación de estos estándares dentro de los programas ABAP desarrollados permitirá un mejor análisis y control de los mismos dentro del proyecto NEO-INTRA. Cualquier modificación a los mismos deberá de verse reflejada en este manual e informada a los miembros del grupo de desarrolladores para evitar posibles confusiones en su aplicación.

Ojeda Juraidini Consulting | www.ojc.mx