Maestro Home Center - Estandares de Programacion

download Maestro Home Center - Estandares de Programacion

of 11

Transcript of Maestro Home Center - Estandares de Programacion

  • 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