Post on 03-Apr-2018
7/29/2019 Maestro Home Center - Estandares de Programacion
1/11
MAESTRO HOME CENTERESTNDARES DE PROGRAMACIN
7/29/2019 Maestro Home Center - Estandares de Programacion
2/11
INTRODUCCION
Este documento fue creado para delinear las normas para la definicin de nombres,
estndares de programacin, y mejores prcticas en programacin ABAP as como
proporcionar directrices para los desarrollos para Maestro Home Center. No se trata
de Estndares oficiales ABAP, sin embargo, contienen convenciones de
programacin y tcnicas establecidas como estndares necesarios para uniformizar
los desarrollos realizados por los proveedores y personal involucrado en las tareas de
programacin ABAP.
Los tpicos incluidos son estndares de codificacin general, estndares de
rendimiento, convenciones de nomenclatura, consejos & trucos, y programas de
ejemplo. Como estos estndares se irn desarrollando, esta gua ser actualizada deforma continua.
El documento est diseado para ser utilizado por desarrolladores ABAP como una
gua para los desarrollos realizados para Maestro Home Center.
Para solicitar la aclaracin de estos temas o para sugerir otros, debe contactarse con
el rea de Sistemas de Maestro Home Center.
7/29/2019 Maestro Home Center - Estandares de Programacion
3/11
7/29/2019 Maestro Home Center - Estandares de Programacion
4/11
7/29/2019 Maestro Home Center - Estandares de Programacion
5/11
Objeto T Descripcin1
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
Componentedeaplicacin
CA Compon.multiaplicaciones
AC Finanzas general
FI Gestin financieraTR Tesorera
CO Controlling
IM Gestin de inversiones
EC Controlling empresarial
RE Administ.bienes inmuebles
LO Logstica general
SD Ventas
MM Gestin de materiales
LE Logistics Execution
QM Gestin de calidad
PM Mantenimiento
CS Servicio al cliente
PP Planif.y cntrl. Producc.
PS Sistema de proyectosEHS Gestin medio ambiente
PA Gestin de personal
PT Gestin de tiempos
PY Clculo de la nmina
PE Gestin de actos
BC Base
SV Servicio
YY Para todas las aplicac.
III. CODIFICACIN
Normas Generales
3.1. Un comando por lnea
Cada comando ABAP/4 consta de una frase que termina con un punto. Puede
ser mltiples comandos en una sola lnea; sin embargo, como estndar se
iniciar cada comando en una lnea nueva. Esto permitir facilitar el borrado o
eliminacin de sentencias, e incluir comentarios y la depuracin.
3.2. Indentado de cdigo fuente
El editor ABAP/4 provee la opcin Pretty Printer que permite indentar 2
posiciones a lneas especficas de cdigo y aadir comentarios a las
subrutinas. Cabe resaltar que los eventos no suelen ser indentados.
DATA: BEGIN OF tab OCCURS 100,
f1 LIKE sg-field1,
f2 LIKE sg-field2,
END OF tab.
DATA: f1 TYPE I,
f2 TYPE I.
START-OF-SELECTION.
7/29/2019 Maestro Home Center - Estandares de Programacion
6/11
7/29/2019 Maestro Home Center - Estandares de Programacion
7/11
3.4. Cdigo reutilizable
Si un bloque de cdigo se ejecuta ms de una vez, debe ser colocado en una
subrutina en la parte inferior del cdigo. Esto hace que el cdigo sea ms
legible, requiere menos indentado, y es ms fcil de depurar. Desde el
depurador puede saltar a travs de toda una subrutina va una llave PF.Tambin, cuando sea posible los parmetros debern ser transmitidos, a y
desde subrutinas, para hacer el cdigo ms entendible y reducir la necesidad
de variables globales.
Siempre documente el propsito de cada parmetro.
3.5. Parmetros pasados a subrutinas
Siempre que sea posible use las sentencias TYPE o LIKE cuando especifique
parmetros formales en una subrutina. Este es una buena prctica de
programacin, adems esto permite que el compilador de ABAP genere uncdigo ms eficiente (lo que puede incrementar el rendimiento hasta un factor
de 2x). Por ejemplo:
Form tables p_tab1 like []
using p_param1 like
p_param2 like
p_param3 like
p_param4 type
p_param5 type
....
Endform.
3.6. Tratamiento de textos
Los literales impresos sobre reportes, pueden ser manejados de dos formas:
Una forma es hardcodiar el literal en el cdigo y dar la opcin de mantener los
elementos de texto en varios idiomas para clientes.
WRITE:/ 'Grand Total:'(001), ...
Otra forma es utilizar siempre los elementos de texto.
WRITE:/ TEXT-001.
Las ventajas de la primera forma son la legibilidad y el elemento de texto solo
es necesario para mantener varios idiomas. La ventaja de la segunda forma es
que es ms fcil de mantener if TEXT-001 est codificado varias veces en el
programa y debe ser cambiado. El comando editor REPLACE no cambia el
contenido dentro de comillas simples.
3.7. Convenciones para nombres internos ABAP
Se detalla a continuacin la nomenclatura que debe respetarse en la
codificacin de programas ABAP. Se recomienda incluir dentro del nombre (en
la parte libre) el mismo nombre de variable que el campo de SAP. Ej.:
G_BUKRS.
7/29/2019 Maestro Home Center - Estandares de Programacion
8/11
Objeto Lg.Maxima 1 2 3 4 5 6 7 8 9 0
Variables Globales 10 G _ *
Variables Locales 10 L _ *
Tablas Internas 10 T _ *
Estructuras 10 E _ *
Rangos 8 R _ *Field Symbols 8 F S _ *
Fields Groups 10 F G _ *
Select-Options 8 S _ *
Parameters 8 P _ *
Forms Libre F _ *
Parmetros Actuales 8 U _ *
IV.Documentacin de Programas
Todo programa desarrollado debe incluir comentarios con el propsito defacilitar a futuros programadores una herramienta para comprender con mayor
exactitud de cul es la funcin del cdigo desarrollado y disminuir el impacto
que representa para esta persona la modificacin de un cdigo no propio.
Todo comentario debe estar en letra minscula, adems debe ser claro y
conciso, dando una idea general de la funcin que realiza esa seccin de
cdigo en el programa.
4.1. Cabecera del Programa
La cabecera de un programa ABAP deber respetar el siguiente formato:*----------------------------------------------------------------------** ** DOCUMENTACIN TCNICA: ** ** - Proyecto........: P2009001 - Proyecto Importados ** - Autor...........: Juan Manuel Serrano Palacios - BCTS ** - Fecha Creacin..: 01.10.2006 ** - Ttulo Programa.: Conversin Extractos bancarios ** - Descripcin.....: Convierte los formatos de extractos para ser ** tratados por SAP ** - Banco Crdito - BCP (Per) ** - Banco Interbank (Per) ** - Banco interamericano Finanzas (BIF) ** - Banco Continental(Per) *
* - Banco Financiero(Per) ** **----------------------------------------------------------------------**----------------------------------------------------------------------** LOG DE MODIFICACIONES: **----------------------------------------------------------------------** - Fecha...........: 01.10.2008 ** - Autor...........: Juan Manuel Serrano Palacios - BCTS ** - Solicitado por..: Alonso Huamani Finanzas ** - Marca...........: JS01 ** - Descripcin.....: Se incluy manejo formato para Banco BIF **----------------------------------------------------------------------** - Fecha...........: 01.10.2008 ** - Autor...........: Juan Manuel Serrano Palacios - BCTS *
* - Solicitado por..: Alonso Huamani
Finanzas ** - Marca...........: JS02 ** - Descripcin.....: Se incluy manejo formato para Banco Scotiabank *
7/29/2019 Maestro Home Center - Estandares de Programacion
9/11
*----------------------------------------------------------------------*REPORT zrep0011 MESSAGE-ID zre0001.
La descripcin del programa, tanto en la seccin de documentacin tcnica como de
log de modificaciones, requiere que sea suficientemente clara para distinguir que
funcin realizar el programa o qu funcin cubre la modificacin a realizar.
El campo Marca, corresponde a la marca que identificar la modificacin realizada. El
esquema de funcionamiento se muestra en la seccin 4.2 Modificacin a Programas
para aadir o quitar funcionalidad.
4.2. Modificaciones a Programas para aadir o quitar funcionalidad
A fin de facilitar la trazabilidad y el entendimiento de programas modificados, es
necesario que las modificaciones se realicen tomando en cuenta las siguientes
consideraciones:
- Documentar la cabecera del programa en la seccin LOG DE MODIFICACIONES:
o En el campo Fecha indicar la fecha de realizacin de la modificacin.
o En el campo Autor identificar el programador que realiza el cambio.
o En el campo Solicitado Por identificar el Analista Funcional o Usuario Clave
que solicita el cambio.
o En el campo Descripcin se detallar en forma resumida el objetivo del
cambio a realizar.
o En el campo Marca se deber indicar con 2 caracteres las iniciales del
programador que realiza el cambio, y con 2 caracteres siguientes un
nmero correlativo. La finalidad es identificar fcilmente en el cdigo
quien realiz determinada modificacin.
- Documentar en el cdigo del programa los cambios realizados, para lo cual el
programador deber considerar las siguientes marcas dentro de la seccin a
modificar:
Para cambios en Bloques de Cdigo
o Aadir bloque de cdigo Para aadir un bloque de cdigo deber
incluirse las siguientes marcas:
>>> INI @I-JS01
>>> FIN @I-JS01
Donde:
Las marcas INI identifican el inicio del bloque y FIN el trmino del
bloque aadido.
El Smbolo @I indica que se incluir o aadir nuevo cdigo de
programacin.
La marca IS01 corresponde a la Marca que el programador a indicado en la
cabecera del programa el cual identifica la modificacin a realizar.
7/29/2019 Maestro Home Center - Estandares de Programacion
10/11
o Quitar bloque de cdigo Para quitar un bloque de cdigo deber
incluirse las siguientes marcas:
>>> INI @D-JS01
>>> FIN @D-JS01
Donde:
Las marcas INI identifican el inicio del bloque y FIN el trmino del
bloque aadido.
El Smbolo @D indica que se Quitar o Borrar cdigo de programacin.
La marca IS01 corresponde a la Marca que el programador a indicado en la
cabecera del programa el cual identifica la modificacin a realizar.
o Para Modificar cdigo, ser necesario realizarlo de la siguiente manera:
Primero se deber Quitar cdigo a desechar y a continuacin Incluir
cdigo con los cambios a realizar, de esta manera quedar la huella de loscambios realizados.
Para cambios en lneas especficas de cdigo
o Aadir lnea de cdigo Para aadir una lnea de cdigo deber incluirse
la siguiente marca:
@I-JS01
Donde:
El Smbolo @I indica que se incluir o aadir nuevo cdigo de
programacin.
La marca IS01 corresponde a la Marca que el programador a indicado en la
cabecera del programa el cual identifica la modificacin a realizar.
o Quitar lnea de cdigo Para quitar una lnea de cdigo deber incluirse
la siguiente marca:
@D-JS01
Donde:
El Smbolo @D indica que se Quitar o Borrar cdigo de programacin.
La marca IS01 corresponde a la Marca que el programador a indicado en la
cabecera del programa el cual identifica la modificacin a realizar.
o Para Modificar cdigo, ser necesario realizarlo de la siguiente manera:
Primero se deber Quitar cdigo a desechar y a continuacin Incluir
cdigo con los cambios a realizar, de esta manera quedar la huella de los
cambios realizados.
4.3. Documentacin de Usuario
Como estndar, todo desarrollo Zeta, deber actualizar la funcionalidad de ayuda al
usuario provista por la transaccin SE38 en la opcin del men Pasar a /
Documentacin, de esta manera los usuarios de la aplicacin podrn tener acceso en
lnea de una breve Gua de Usuario que permitir disminuir la curva de aprendizaje
de la misma.
7/29/2019 Maestro Home Center - Estandares de Programacion
11/11
5. Verificacin de Calidad de Programas
5.1. Utilidad de Anlisis del Programa
Para determinar el uso de variables y subrutinas dentro de un programa,
puedes usar la utilidad ABAP llamada Anlisis del Programa incluido en la
transaccin SE38. Para ello, ejecute la transaccin SE38, ingrese su nombre
de programa, y luego utilice la ruta: Utilidades -> Anlisis del Programa.
5.2. Anlisis de Tiempo de Ejecucin
Permitir determinar el adecuado tiempo de respuesta as como el adecuado
uso de los recursos del Sistema. Para ello desde la transaccin SE30 marcar
Transaccin e indicar el nombre de la transaccin a verificar y pulse el botn
Ejecutar. Al finalizar la transaccin, el sistema le retornar a la SE30, desde
all pulsar el botn Evaluar.
6. Formato a usar para los nombres de Ordenes de Transporte
Para definir los nombres (descripciones) de las Ordenes de Transporte, tomar
en cuenta el siguiente formato:
TTTTDDMMAA: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
| | | |
| | | ao
| | mes| da
Tipo: CUST = Implementacin Customizing
ABAP = Implementacin Abap
Ejemplos:
CUST09082011: Creacin Query para Consulta Monto Minimo SolPe
ABAP09082011: Reporte Registro de Consignaciones (ZFIR00014) - 01