ESTÁNDARES PARA DESARROLLOS ABAPFábrica de Software Este documento es propiedad de Consultoría Organizacional S.A. Se prohíbe su reproducción total o parcial y su uso para propósitos diferentes a los dispuestos por Consultoría Organizacional S.A. Versión 1.0 2.0 3.0 4.0 5.0 6.0 Fecha 31-07-2006 24-10-2006 20-06-2008 04-12-2008 07-01-2009 06-03-2009 VERSIONES DEL DOCUMENTO Creado/Modificado por Revisad (Incluir e-mail) o por Carlos Andrés Marín Vélez – cmarinv@consultoriaorganizacion al.com Carlos Andrés Marín Vélez – cmarinv@consultoriaorganizacion al.com Mireya Duarte Villamizar mduartev@consultoriaorganizacio nal.com Mireya Duarte Villamizar mduartev@consultoriaorganizacio nal.com John Ferro jferroch@consultoriaorganizacion al.com Héctor Fernando Restrepo hfrestrepog@consultoriaorganizac ional.com Mireya Duarte Villamizar mduartev@consultoriaorganizacio nal.com John Ferro jferroch@consultoriaorganizacion al.com Mireya Duarte Villamizar mduartev@consultoriaorganizacio nal.com Comentario Ajuste de algunos errores e implementación de estándares de ordenes de transporte Cambio del diseño del documento Actualización con nuevos lineamientos FDS Revisión documento Adición estándares para manejo de objetos, clases, interfaces, parámetros formales, formularios Actualizaciones menores, resaltando información relacionada con la documentación Revisión documento Actualización general del documento 5.0 28-05-2008 6.0 7-0 10-04-2010 28-10-2013 _______________________________________________________________________________________________________________________ Consultoría Organizacional - Fabrica de software Página 2 de 26 www.consultoriaorganizacional.com Estándares para desarrollos ABAP Este documento es propiedad de Consultoría Organizacional S.A. Se prohíbe su reproducción total o parcial y su uso para propósitos diferentes a los dispuestos por Consultoría Organizacional S.A. 3 4.1 LAYOUT DE CÓDIGO Indentación 22 22 6 7 8 9 SOBRE LAS ORDENES DE TRANSPORTE SOBRE LA DOCUMENTACION SOBRE LA DML SOBRE LOS CORREOS ELECTRONICOS 23 24 26 26 _______________________________________________________________________________________________________________________ Consultoría Organizacional .18 4.Fabrica de software Página 3 de 26 www.6 4.14 4.1 4.10 4.11 4.5 4. Se prohíbe su reproducción total o parcial y su uso para propósitos diferentes a los dispuestos por Consultoría Organizacional S.16 4.20 INTRODUCCIÓN ESTÁNDAR PARA OBJETOS ABAP MANTENIMIENTO DE OBJETOS SAP ESTANDAR NORMATIVIDAD PARA EL CODIGO FUENTE Encabezado Declaración de Tablas Variables Constantes Tipos Parámetros y opciones de selección Tablas Internas Clases e interfaces locales Work Area Field-symbols Eventos Secuencia de comandos Literales Mensajes Parámetros formales para métodos y subrutinas Llamadas a las subrutinas y métodos (Forms) Definición de subrutinas (Forms) Palabras reservadas Inspecciones Lineamientos generales importantes 4 4 10 11 11 12 12 13 14 15 15 16 16 16 16 17 17 17 17 18 18 18 19 20 5 5.15 4. .consultoriaorganizacional.9 4.A.A.17 4.13 4.TABLA DE CONTENIDO 1 2 3 4 4.8 4.2 4.12 4.7 4.19 4.4 4.com Estándares para desarrollos ABAP Este documento es propiedad de Consultoría Organizacional S. 2 ESTÁNDAR PARA OBJETOS ABAP Como regla general para la creación. Tipo de Objeto SAP ABAP program ABAP module pool Nombre 8 8 Convención de Nomenclatura ZRPmoxxx ZMPmoxxx _______________________________________________________________________________________________________________________ Consultoría Organizacional .A. las reglas de nomenclatura aplican también para los objetos que deben iniciar por la letra “Y”. Los estándares son de estricto cumplimiento por parte de todos los miembros de la Fábrica de Software (FDS) y sugeridos para uso en proyectos y asignaciones fuera de la Fábrica. El propósito de este documento es unificar los estándares para programación ABAP y proveer los lineamientos con los cuales los consultores ABAP de Consultoría Organizacional S. (CORG) realizan los desarrollos. reusabilidad y la capacidad de mantenimiento de los programas desarrollados en el entorno de programación SAP. tenemos: La inicial del nombre de todos los objetos que estarán en el ambiente productivo debe ser “Z”.com Estándares para desarrollos ABAP Este documento es propiedad de Consultoría Organizacional S.Fabrica de software Página 4 de 26 www.A. Los caracteres en mayúscula son fijos.consultoriaorganizacional. A pesar de que este documento utiliza solo la letra “Z” como inicial para la definición de los nombres.A.1 INTRODUCCIÓN Los estándares de programación ABAP son necesarios para asegurar la consistencia. donde priman los estándares indicados por el cliente. Los tipos aparecen en ingles para facilitar su identificación dentro de SAP. Se prohíbe su reproducción total o parcial y su uso para propósitos diferentes a los dispuestos por Consultoría Organizacional S. El siguiente cuadro ilustra la convención para la nomenclatura de los objetos de desarrollo. . Objetos que no hayan sido planeados para estar en el ambiente productivo deben poseer el nombre iniciando por la letra “Y”. consultoriaorganizacional.Tipo SAP de Objeto Nombre Convención de Nomenclatura ZMPpadre_TOP Para declaración de datos padre: Nombre completo. del programa padre aaa: postfijo que indica el tipo de incluye. por ejemplo TOP para el include que contenga la declaración de variables.com Estándares para desarrollos ABAP Este documento es propiedad de Consultoría Organizacional S. ZFMmoxxx Zmoxxx En caso de desarrollos que tengan mas de una transacción. Se prohíbe su reproducción total o parcial y su uso para propósitos diferentes a los dispuestos por Consultoría Organizacional S. etc.Fabrica de software Página 5 de 26 www. RTN para el include que contenga las rutinas del programa. sin la "Z". del programa padre ZPBO_moxxx Módulo PBO ZPAI_moxxx Módulo PAI Includes Function group 8 Function module Transaction code 8 6-8 Zpadre_aaa padre: Nombre completo. ZFGmoxxx “Function Groups” generados por SAP nunca deben ser utilizados para definición de nuevos “Function Modules”. Ejemplo: Zmoxxx_1 _______________________________________________________________________________________________________________________ Consultoría Organizacional .A.A. sin la "Z". LOG para el include que contenga el código fuente relacionado con el log de resultados del programa. debe agregarse "_n" n: consecutivo que inicie en 1. El desarrollador debe crear sus propios grupos antes de la creación de nuevas funciones. . ZAMmoxxx Menú de área es una transacción que tiene como funcionalidad reunir una serie de otras transacciones. la pantalla original debe ser copiada de acuerdo con las reglas de nomenclatura y las alteraciones deben ser hechas en la copia. (De existir una transacción con “_2”.A. Si alguna alteración se hiciera necesaria.A. ZVRmoxxx ZTmoxxx Screens (dynpros) 4 Area menu 8 GUI Status Function keys Titlebar Message Classes 13 8 12 6 ABAP Variant Tables 8 7-8 _______________________________________________________________________________________________________________________ Consultoría Organizacional .consultoriaorganizacional. El menú principal de SAP es un menú de área.Fabrica de software Página 6 de 26 www.com Estándares para desarrollos ABAP Este documento es propiedad de Consultoría Organizacional S. . Se prohíbe su reproducción total o parcial y su uso para propósitos diferentes a los dispuestos por Consultoría Organizacional S. es porque existe una con “_1”) Consecutivo iniciando en 9000 e incrementando en 1 Las pantallas estándar de SAP nunca deben ser alteradas.Tipo SAP de Objeto Nombre Convención de Nomenclatura Zmoxxx_2 etc. ZGSmoxxx_yyyy yyyy: Numero de la dynpro donde esta asignado (Numérico entre 9000 y 9999) ZFKmoxxx ZTBmoxxx_yyyy yyyy: Numero de la dynpro donde esta asignado (Numérico entre 9000 y 9999) ZMSGmo Los mensajes definidos en las clases SAP estándar solamente pueden ser alterados mediante autorización de la gerencia. Todos los reportes y programas creados por el equipo de desarrollo que sean utilizados por el usuario final deberán obligatoriamente tener un código de transacción asociado. Views Class 9 Interface Domains Data Elements Matchcode objects Package 8 8 8 3 _______________________________________________________________________________________________________________________ Consultoría Organizacional . SAP tiene una serie de tablas pool. Una tabla pool contiene varias tablas lógicas en una única tabla física.A. Se prohíbe su reproducción total o parcial y su uso para propósitos diferentes a los dispuestos por Consultoría Organizacional S.Tipo SAP de Objeto Nombre Convención de Nomenclatura Para tablas transparentes. por otra parte si hubiera necesidad de crear alguna tabla pool. siendo la mas utilizada la tabla ATAB.Fabrica de software Página 7 de 26 www. Cada vez que un objeto sea creado en “ABAP Development Workbench”.com Estándares para desarrollos ABAP Este documento es propiedad de Consultoría Organizacional S. . ZSTmoxxx (Estándar para estructura) ZVmotabla tabla: Nombre de la tabla principal.A. las mismas reglas para nomenclatura de tablas transparentes deben ser utilizadas. Esta tabla contiene informaciones de control en SAP.consultoriaorganizacional. sin la letra "Z" ZCL_descripcion descripcion: Corresponde a una descripción mnemotécnica clara de la funcionalidad de la clase ZIF_descripcion descripcion: Corresponde a una descripción mnemotécnica clara de la funcionalidad de la interfaz ZDMmoxxx ZDTmoxxx ZMCmoxxx Zmo Los paquetes facilitan el gerenciamiento de transportes y correcciones. No es recomendable adicionar nuevas tablas a las tablas pool ya existentes. un paquete deberá ser asociado al objeto. com Estándares para desarrollos ABAP Este documento es propiedad de Consultoría Organizacional S. .A.Tipo SAP de Objeto Nombre Convención de Nomenclatura Sapscript Layout Set Smartforms Smartform style PDF Based Form Pool de Subrutinas Pool de Interface Pool de clases Type-pool Programa XSLT Donde: 9 8 8 9 8 8 8 8 10 ZSLSmoxxx ZSFmoxxx ZSSmoxxx ZPDFmoxxx ZPSmoxxx ZPImoxxx ZPCmoxxx ZTPmoxxx ZXSLTmoxxx mo: Dos letras que identifiquen el módulo al que pertenece el desarrollo.Fabrica de software Página 8 de 26 www. En la siguiente tabla se listan los módulos y submódulos a utilizar según le corresponda a cada desarrollo: Módulos y Submódulos SAP FI GL LC AR AP AA SL CONTABILIDAD FINANCIERA Cuentas de Mayor Consolidación Sociedades Cuentas a Cobrar Cuentas a Pagar Gestión de Activos Special Ledger Cierres MM MRP PUR IM WM IV IS EDI GESTION DE MATERIALES Planificación Necesidades Materiales Gestión de Compras Gestión de Inventarios Gestión de Almacenes Verificación de Facturas Sistema de Información Intercambio Electrónico de Datos Sistema Clasificación Gestión de Lotes IM INVERSIONES Gestión de Inversiones QM TR TESORERIA Programa Conciliación Provisiones Posicionamientos PT IM QC CALIDAD Herramientas de planificación Proceso de Inspección Control de Calidad _______________________________________________________________________________________________________________________ Consultoría Organizacional . 3 dígitos.A. xxx: Numeración que FDS da al desarrollo según el consecutivo de desarrollos por módulo. Se prohíbe su reproducción total o parcial y su uso para propósitos diferentes a los dispuestos por Consultoría Organizacional S.consultoriaorganizacional. Fabrica de software Página 9 de 26 www. .com Estándares para desarrollos ABAP Este documento es propiedad de Consultoría Organizacional S.consultoriaorganizacional.Control de Fondos CA QN Certificados de Calidad Notificaciones de Calidad CO CCA PC PA OPA ABC CONTROLLING Contabilidad por Centros Coste Contabilidad Presupuestaria Control de Costes del Producto Analisis de Rentabilidad Ordenes Internas Costes Basados en Actividades PP BD SOP MP CRP MRP SFC PRODUCCION Datos Basicos Gestión de la Demanda Plan Maestro Plan de Capacidades Plan de Materiales Ordenes de Fabricación Costes de producto Sistema de Información Industria de procesos Configuración de Producto LO MD VC PR ECH GESTION DATOS GENERALES DE LOGISTICA Datos Básicos Gestión Variantes de Productos Modelos Previsión y Comportamientos Cambios Ingenieria Objetos SAP PC IS PI CFG HR SM EC PCA BP MC EIS GESTION DEL PERSONAL Datos Maestros de Personal Nómina Gastos de Viaje Organización y Planificación Desarrollo de Personal Gestión de la Formación Selección de Personal Gestión de Tiempos GESTION DEL MANTENIMIENTO ENTERPRISE CONTROLLING Contabilidad Centros Beneficio Planificación del Negocio Consolidación a Nivel Directivo Executive Information System PA-EMP PA-PAY PA-TRV PD-OM PD-PD PD-SCM PA-APP PA-TIM SD MD SLS GF SHP BIL IS EDI VENTAS Y DISTRIBUCION Datos maestros Gestión de Ventas GestiónTarifas y Condiciones de Precio Gestión de Expediciones Facturación Sistemas de Información Intercambio Electrónico de Datos IS-R IS-R IS-R IS-R IS-R CP MM SD RIS INDUSTRY SOLUTION RETAIL Planificación de Surtidos Reaprovisionamiento Formatos de presentación Sales Retail Inventario de proveedores Compras Retail Transporte Sistema de Información Retail PS BD OS PLN APM EXE IS GESTION DE PROYECTOS Datos Basicos Planificación del proyecto Plan de Costes Proceso de Aprobación Seguimiento y Progreso del Proyecto Sistema de Información PM EQM PRM WOC PRO SM GESTION DEL MANTENIMIENTO Identificación Descripción Mantenimiento Preventivo Ordenes de Mantenimiento Proyectos de Mantenimiento Gestión del Servicio _______________________________________________________________________________________________________________________ Consultoría Organizacional . Se prohíbe su reproducción total o parcial y su uso para propósitos diferentes a los dispuestos por Consultoría Organizacional S.A.A. A. se debe hacer uso de las “badis”. se debe tener en cuenta lo siguiente: Siempre que sea posible. Cuando la solución no sea posible a través de la customización.com Estándares para desarrollos ABAP Este documento es propiedad de Consultoría Organizacional S. Se prohíbe su reproducción total o parcial y su uso para propósitos diferentes a los dispuestos por Consultoría Organizacional S. este debe ser copiado y la alteración debe hacerse en la copia renombrada.LO FI GE Para desarrollos que pertenezcan a varios módulos del área logística Para desarrollos que pertenezcan a varios módulos del área financiera Para desarrollos que pertenezcan a varios módulos de diferentes áreas 3 MANTENIMIENTO DE OBJETOS SAP ESTANDAR Los objetos SAP estándar nunca deben ser modificados. Siempre que sea posible.consultoriaorganizacional. _______________________________________________________________________________________________________________________ Consultoría Organizacional . “user-exits” o cualquier otro tipo de ampliación disponible en SAP. el objeto copiado debe tener el mismo nombre del objeto origen. Si un tipo de objeto estándar necesita ser alterado. Como regla general.Fabrica de software Página 10 de 26 www. Esta regla aplica a cualquier tipo de objeto SAP copiado. excepto por el prefijo “Z” que se adiciona.A. . se debe hacer uso de procedimientos de customización para obviar las necesidades de alteración en objetos estándar. consultoriaorganizacional. los estándares y el contenido para el código fuente de los objetos desarrollados.Fabrica de software Página 11 de 26 www.com Estándares para desarrollos ABAP Este documento es propiedad de Consultoría Organizacional S. consideraciones *** para la ejecución. 4.consultoriaorganizacional.4 NORMATIVIDAD PARA EL CODIGO FUENTE Es necesario respetar rigurosamente los siguientes puntos en la generación del código fuente. estos se refieren a la forma. A continuación el template que todo desarrollo ABAP de nuestra FDS debe contener. el orden. Se prohíbe su reproducción total o parcial y su uso para propósitos diferentes a los dispuestos por Consultoría Organizacional S.) ***--------------------------------------------------------------------------*** Includes: *** ***--------------------------------------------------------------------------*** Funciones: ***--------------------------------------------------------------------------*** Parámetros de Entrada: ***--------------------------------------------------------------------------****************************************************************************** *** HISTORICO DE MODIFICACIONES: ***--------------------------------------------------------------------------*** Fecha | Consec.A. etc. diligenciado de manera correcta según el cliente y desarrollo: *************************************************************************** *** PROGRAMA : ZRPFI01 *** DESCRIPCION : Programa de interfaces contables Tx F-01 *** ENTIDAD : INDISTRI *** AUTOR : CARLOS ANDRES MARIN VELEZ *** CONSULTORIA ORGANIZACIONAL *** FABRICA DE SOFTWARE *** www. . | Autor | Alteración ***--------------------------------------------------------------------------*** | 1 | | ****************************************************************************** IMPORTANTE: _______________________________________________________________________________________________________________________ Consultoría Organizacional .A.1 Encabezado Deberá estar localizado en las primeras líneas del código fuente.com *** FECHA : Enero 17 de 2006 ***-----------------------------------------------------------------------*** Consideraciones adicionales: *** (Escribir aca los detalles claves a tener en cuenta. Fabrica de software Página 12 de 26 www. 4. ************************************************************** *** Tablas del Diccionario de Datos ************************************************************** TABLES: MARA. El encabezado debe actualizarse siempre que se haga un ajuste en el código fuente indicándose la fecha de actualización Dentro del cuerpo del código fuente debe actualizarse de igual manera un comentario que indique el inicio y el final del ajuste realizado con la fecha y el autor del cambio: *** MDV Octubre 27 de 2007 (INICIO: Adicion de variable para el manejo de la *** cantidad total) DATA: ln_total type n.A. “Breve descripción de la tabla Sin embargo. Se prohíbe su reproducción total o parcial y su uso para propósitos diferentes a los dispuestos por Consultoría Organizacional S.com Estándares para desarrollos ABAP Este documento es propiedad de Consultoría Organizacional S. En lugar de ello es recomendable utilizar tablas internas y work areas en caso de ser requeridas.A.2 Declaración de Tablas Aquí serán declaradas todas las tablas del diccionario de datos utilizadas en el programa.consultoriaorganizacional.3 Variables Gtipo_nombre (variable global) Ltipo_nombre (variable local) tipo: Letra correspondiente a uno de los siguientes tipos de datos: _______________________________________________________________________________________________________________________ Consultoría Organizacional . “Cantidad total *** MDV Octubre 27 de 2007 (FIN: Adicion de variable para el manejo de la *** cantidad total) 4. debe tenerse en cuenta que la instrucción TABLES obsoleta no debería utilizarse puesto que crea una tabla interna con header line. . Al final de la sección se ilustra un ejemplo donde se usa como referencia el tipo MATNR cuyo dominio es de tipo CHAR.consultoriaorganizacional.tipo D T F I C N DC S DR RF TC B Dato Date Time Float Integer Character/string/xstring Numeric Decimal Structure Data reference Reference variable Table control Bin/xbin Cuando la variable que se declara hace referencia a un elemento de datos definido en el diccionario de datos. se utilizará el tipo de datos del dominio del elemento de datos utilizado (Es válido para las declaraciones realizadas utilizando la sentencia ‘LIKE’). . “Descripción de la variable DATA: lc_nombre type MATNR. “Descripción de la variable 4.A. ************************************************************** *** Definición de Variables ************************************************************** DATA: ln_nombre type n.4 Constantes Ctipo_nombre tipo: Letra correspondiente a uno de los siguientes tipos de datos: _______________________________________________________________________________________________________________________ Consultoría Organizacional . Se prohíbe su reproducción total o parcial y su uso para propósitos diferentes a los dispuestos por Consultoría Organizacional S. nombre: describe la funcionalidad de la variable.com Estándares para desarrollos ABAP Este documento es propiedad de Consultoría Organizacional S.A.Fabrica de software Página 13 de 26 www. consultoriaorganizacional.A.5 Tipos TY_nombre nombre: describe la funcionalidad del tipo.Fabrica de software Página 14 de 26 www. Se prohíbe su reproducción total o parcial y su uso para propósitos diferentes a los dispuestos por Consultoría Organizacional S. . “Breve descripción del tipo _______________________________________________________________________________________________________________________ Consultoría Organizacional . ************************************************************** *** Definición de Tipos ************************************************************** TYPES: ty_werks.tipo D T F I C N DC S DR RF TC B Dato Date Time Float Integer Character/string/xstring Numeric Decimal Structure Data reference Reference variable Table control Bin/xbin nombre: describe la funcionalidad de la constante. ************************************************************** *** Definición de Constantes ************************************************************** CONSTANTS: cn_constante type n. “Descripción de la constante 4.com Estándares para desarrollos ABAP Este documento es propiedad de Consultoría Organizacional S.A. s para sort table y vacio para estándar table.consultoriaorganizacional.Fabrica de software Página 15 de 26 www. .6 Parámetros y opciones de selección Ptipo_nombre (Parámetro) SOtipo_nombre (Opciones de selección) tipo: Letra correspondiente a uno de los siguientes tipos de datos: tipo D T F I C N DC S DR RF TC B Dato Date Time Float Integer Character/string/xstring Numeric Decimal Structure Data reference Reference variable Table control Bin/xbin nombre: describe la funcionalidad del parámetro o la opción de selección. Se prohíbe su reproducción total o parcial y su uso para propósitos diferentes a los dispuestos por Consultoría Organizacional S. “Descripción del parámetro SELECT-OPTION soc_name for mara-matnr.A.7 Tablas Internas TIx_nombre x: h para hash table. ************************************************************** *** Definición de la Pantalla de Selecciones ************************************************************** PARAMETERS: pc_parameter(8) type c.4. nombre: describe la funcionalidad de la tabla interna.A. “Descripción del campo 4.com Estándares para desarrollos ABAP Este documento es propiedad de Consultoría Organizacional S. _______________________________________________________________________________________________________________________ Consultoría Organizacional . El nombre de cada uno de los campos de una tabla interna.com Estándares para desarrollos ABAP Este documento es propiedad de Consultoría Organizacional S. 4.9 Work Area WA_nombre nombre: nombre de la tabla interna correspondiente. Se prohíbe su reproducción total o parcial y su uso para propósitos diferentes a los dispuestos por Consultoría Organizacional S. 4. . De lo contrario.consultoriaorganizacional. fs debe ser un nombre que exprese la funcionalidad del field-symbol.10 Field-symbols <fs>: Declaración del field-symbol. 4.Fabrica de software Página 16 de 26 www.8 Clases e interfaces locales Lcl_nombre: Para clases locales Lif_nombre: Para interfaces locales nombre: Descripción mnemotécnica de la clase o interfaz que se va a declarar. fs corresponda al nombre de la tabla. sin "TI_". ************************************************************** *** Fin Evento: At Selection Screen ************************************************************** _______________________________________________________________________________________________________________________ Consultoría Organizacional .11 Eventos Todos los eventos deben poseer un comentario en su inicio y otro en su fin.A.A. fs: Se recomienda que si el field-symbol se utiliza para realizar operaciones sobre la tabla interna. en lo posible debe corresponder con el nombre del elemento de datos o dominio correspondiente. 4. ************************************************************** *** Evento: At Selection Screen ************************************************************** At selection-screen. 4.12 Secuencia de comandos Todas las secuencias de comandos deben ser comentadas por 3 asteriscos en el inicio seguidos por una descripción clara de la finalidad del comando correspondiente.A. .Fabrica de software Página 17 de 26 www.15 Parámetros formales para métodos y subrutinas Prefijo Subrutinas using changing tables Métodos importing exporting u* c* t* i* e* Ejemplo uti_mara cti_mara tti_mara iti_mara eti_mara _______________________________________________________________________________________________________________________ Consultoría Organizacional ."Número total de registros:. Además de eso debe existir una línea en blanco antecediendo el comentario <línea en Blanco> *** Lee el registro READ DATASET pc_file INTO gw_record.13 Literales Cuando un determinado texto sea muy utilizado a lo largo de un programa. Se prohíbe su reproducción total o parcial y su uso para propósitos diferentes a los dispuestos por Consultoría Organizacional S.A. Incorrecto: write: / ´Número total de registros:´. 4.4. 4.com Estándares para desarrollos ABAP Este documento es propiedad de Consultoría Organizacional S.consultoriaorganizacional.14 Mensajes Todos los mensajes de error deberán ser impresos vía MESSAGE Id. debe utilizarse TEXT ELEMENT: Ejemplos: Correcto: write: /text-001. 18 Palabras reservadas Sin excepción TODAS las palabras reservadas en ABAP deberán estar escritas en mayúsculas y el resto de código en minúsculas. *** Entrada : Código(s) de(l)(los) material(es) a ser listados.A. Se prohíbe su reproducción total o parcial y su uso para propósitos diferentes a los dispuestos por Consultoría Organizacional S.consultoriaorganizacional. _______________________________________________________________________________________________________________________ Consultoría Organizacional .A. CALL METHOD zclase=>escribe_titulo( ). así: READ DATASET pc_file INTO gw_record.16 Llamadas a las subrutinas y métodos (Forms) Los “Forms” deben ser llamados de la siguiente forma: PERFORM escribe_titulo.Fabrica de software Página 18 de 26 www. DATA: BEGIN OF ti_mara OCCURS 0 WITH HEADER LINE. tipo y descripción *** de los materiales seleccionados ****************************************************************************** 4.changing returning c* r* cti_mara rlc_variable * Corresponde a la variable de referencia para el parámetro formal 4. La nomenclatura utilizada en los nombres de las subrutinas y métodos debe ser lo suficientemente explicativo para no necesitar documentación adicional. . *** Salida : Listado con código.17 Definición de subrutinas (Forms) Los “Forms” o subrutinas deben poseer un encabezado de la siguiente forma: ****************************************************************************** *** Form : Imprime_Lista *** Descripción : Utilizado para impresión de una lista de *** materiales con informaciones de tipo y *** descripción de los materiales.com Estándares para desarrollos ABAP Este documento es propiedad de Consultoría Organizacional S. 4. .Fabrica de software Página 19 de 26 www.A. la terminación “_co” se omitirá. donde mo corresponde al nombre del módulo y XXX es una descripción mnemotécnica clara de la funcionalidad a la que corresponde el desarrollo o el objeto creado. “Descripción del campo “Descripción del campo 4.matnr LIKE mara-matnr. maktx LIKE makt-maktx.consultoriaorganizacional. el nombre del conjunto de objetos será ZmoXXX_co.19 Inspecciones Al realizar una verificación ampliada (Code Inspector <transacción SCI>) se crea una inspección para un objeto o para un conjunto de objetos como se observa en la figura: Nombre: ZmoXXX. Si la inspección se ha desarrollado para un conjunto de objetos. Generalmente se utilizará la variante de verificación DEFAUL para todas las pruebas. END OF gw_table1.com Estándares para desarrollos ABAP Este documento es propiedad de Consultoría Organizacional S. En caso de que se esté evaluando solo uno. Se prohíbe su reproducción total o parcial y su uso para propósitos diferentes a los dispuestos por Consultoría Organizacional S. _______________________________________________________________________________________________________________________ Consultoría Organizacional .A. A.A. Todo desarrollo Z debe estar asignado al paquete correspondiente y previamente indicado por la coordinación del proyecto. cargo y fecha de autorización). parámetros de entrada en el programa o cualquier opción que le permita al usuario hacer mantenimiento de estos valores. Toda vista de actualización de una tabla en SAP que el usuario deba mantener.4. deben manejarse tablas de parámetros. este log debe ser el estándar de FDS (siempre que el cliente no disponga de alguno particular). LOG para el log de resultados del programa.20 Lineamientos generales importantes Cuando el desarrollador estuviera realizando una copia de programas SAP estándar (copiar y renombrar para alteración). RTN para las rutinas del programa. Cuando una línea del programa original sea alterada. No manejar código fijo dentro del programa (a menos que el cliente autorice hacerlo. ninguna línea del programa original debe ser eliminada. debe siempre presentar al usuario un log con los resultados de su ejecución. Se prohíbe su reproducción total o parcial y su uso para propósitos diferentes a los dispuestos por Consultoría Organizacional S.Fabrica de software Página 20 de 26 www. . Consideraciones para archivos planos utilizados en conversiones e interfaces (Si no se define alguna regla propia del cliente para estos archivos): Tipo de archivo txt Separador de columnas tabulador _______________________________________________________________________________________________________________________ Consultoría Organizacional . El desarrollador deberá dejar en comentario la totalidad del código estándar que no requiera (sin excepciones!!!). con la observación correspondiente. Los programas deben tener los includes que sean requeridos.com Estándares para desarrollos ABAP Este documento es propiedad de Consultoría Organizacional S. el desarrollador deberá dejarla en comentario y colocar la línea alterada enseguida de la comentada. TOP para definición de las variables y demás declaraciones. etc. debe tener transacción asociada y su detalle debe aparecer en la documentación de usuario que se entregue del desarrollo. en cuyo caso debe dejarse el comentario con el nombre.consultoriaorganizacional. Un programa de carga inicial y una interface de entrada y/o salida. Al terminar el desarrollo debe eliminarse cualquier código no requerido que se haya dejado de manera temporal en el programa. La instrucción BREAK-POINT no debe utilizarse y cuando se utilice BREAK usuario por favor no olvidar quitarlo cuando se termina la verificación del desarrollo y antes de sus transportes definitivos. Nunca dejen break points escritos en el código de sus desarrollos.com Estándares para desarrollos ABAP Este documento es propiedad de Consultoría Organizacional S. . Seleccionar desde la primera celda de la primera columna hasta la ultima celda de la ultima fila que tenga los datos (sin los nombres de las columnas. Se prohíbe su reproducción total o parcial y su uso para propósitos diferentes a los dispuestos por Consultoría Organizacional S. Ejecutar el programa ABAP correspondiente a la conversión / interfase Estas reglas deben comunicarse en el manual de ejecución al funcional y/o usuario encargados de las pruebas. si los datos se llenan en un Excel y luego se pasan a un txt se recomienda seguir el siguiente proceso: 1.Fechas en formato DDMMAAAA Hora en formato HHMM Separador de decimales . solo los datos) 2. Para todo programa debe ejecutarse la Verificación Ampliada y el Code Inspector. Code Inspector Best Practice y hacer uso de la Base de Conocimientos de la compañía.A. Abrir un archivo Notepad nuevo 4. (símbolo coma) Sin separador de miles El txt debe tener solamente los registros de datos.consultoriaorganizacional. Guardar el archivo txt en la ruta establecida 6. Esto aplica para todos los clientes y debe realizarse siempre antes de su entrega a pruebas funcionales. El desarrollador debe seguir siempre las mejores prácticas de programación existentes según la versión de SAP del cliente para el cual fue solicitado el desarrollo. _______________________________________________________________________________________________________________________ Consultoría Organizacional . El consultor debe leer. Menú Edición opción Pegar 5. mejorando lo necesario para que el programa quede sin errores y registrando los resultados en la documentación correspondiente del desarrollo.Fabrica de software Página 21 de 26 www. Menú Edición opción Copiar 3.A. sin líneas vacías al final. entender y aplicar los documentos entregados por Consultoría Organizacional relacionados con Tuning y performance. Esta regla debe ser seguida para facilitar la eliminación.A. ENDIF. exit.A. endif.5 LAYOUT DE CÓDIGO Cada comando en ABAP consiste en una sentencia terminada por un punto “.1 Indentación Para mantener el diseño del código uniforme.com Estándares para desarrollos ABAP Este documento es propiedad de Consultoría Organizacional S. Cada línea debe contener máximo un comando. Su configuración debe ser: _______________________________________________________________________________________________________________________ Consultoría Organizacional . Se prohíbe su reproducción total o parcial y su uso para propósitos diferentes a los dispuestos por Consultoría Organizacional S. todos los desarrollos deberán utilizar la funcionalidad “Pretty Printer” del editor para aplicar la indentación en el código fuente. 5. cada comando siempre debe iniciar en una nueva línea (A pesar de que ABAP permite varios comandos por línea).Fabrica de software Página 22 de 26 www. Correcto: IF v_status EQ c_error. exit.consultoriaorganizacional. .”. es decir. comentariado y depuración del código generado. Incorrecto: if v_status EQ c_error. Fabrica de software Página 23 de 26 www.A.com Estándares para desarrollos ABAP Este documento es propiedad de Consultoría Organizacional S. Se prohíbe su reproducción total o parcial y su uso para propósitos diferentes a los dispuestos por Consultoría Organizacional S. ordenes completas.consultoriaorganizacional. _______________________________________________________________________________________________________________________ Consultoría Organizacional .6 SOBRE LAS ORDENES DE TRANSPORTE Antes de modificar un programa existente debe verificarse que sus versiones anteriores estén transportadas al ambiente productivo. Asociar los objetos de cada desarrollo a ordenes de transporte de manera organizada. sin que falten objetos que al momento de transportar.A. todo desarrollo que se solicite pasar a QAS y/o PRD debe estar dentro de una orden (o varias… pero propias de ese desarrollo y no varios desarrollos dentro de la misma orden). Para las ordenes de transporte debe escribirse lo siguiente como descripción: [Módulo] + Tipo desarrollo + Descripción. en caso contrario debe notificarse al consultor funcional y al cliente para saber cómo proceder evitando modificaciones a versiones no definitivas del desarrollo. . Ejemplo: FI Cargue Maestro del plan de cuentas. generen errores. Para archivos con información relacionada con un cliente utilizar siempre un prefijo [País] + [Cliente] y a continuación el nombre del archivo. esta debe ser actualizada. Se prohíbe su reproducción total o parcial y su uso para propósitos diferentes a los dispuestos por Consultoría Organizacional S.doc” (sin “DT” o “MU” o “V1” o “V2” o “_” o “-” etc. debe diligenciar su parte correspondiente de los documentos y hacer seguimiento del mismo hasta que cumpla con la calidad esperada para entrega al cliente. a lo que no aplica se le debe coloca N. Solamente de adiciona “DT” o “MU” o “PU” cuando se diligencie un documento que solo contenga la información técnica o de usuario o de pruebas unitarias específicamente. en caso de requerirlo. . Diligenciar siempre la tabla de versiones del documento detallando cuales son los ajustes realizados. _______________________________________________________________________________________________________________________ Consultoría Organizacional . Quitar o modificar ítems del formato no esta permitido. El nombre para la documentación de un desarrollo debe ser: [Módulo] + [Tipo de desarrollo] + [Descripción] “. ejemplo: “CO-SCARE Relación de ordenes de transporte.com Estándares para desarrollos ABAP Este documento es propiedad de Consultoría Organizacional S. enviar la sugerencia a la coordinación de la FDS.doc”. Mantener el inventario de sus órdenes de transporte por desarrollo e indicar sobre su liberación.A. Las ordenes de transporte que no se necesiten deben ser ELIMINADAS.). 7 SOBRE LA DOCUMENTACION Todo documento debe estar diligenciado COMPLETAMENTE. Siempre que se haga algún ajuste que afecte la documentación. El consultor de calidad ABAP asignado para verificar un desarrollo. junto con su orden de transporte).A. (No aplica). Los documentos estándar de FDS no pueden ser modificados.consultoriaorganizacional.Fabrica de software Página 24 de 26 www.xls”.A. no pueden quedar ordenes modificables que no se necesite transportar posteriormente o resultado de pruebas (Los desarrollos prueba se deben eliminar luego de utilizarlos. Ejemplo: “SD Cargue maestro de clientes. el responsable del cambio y la fecha. El título dentro del documento debe corresponder con el nombre del archivo.consultoriaorganizacional. debe actualizarse la tabla de Versiones aclarando que se revisó el documento y que se confirmó que el cambio implementado en ese control de cambios no requiere modificación de la documentación del desarrollo. Debe verificarse la ortografía y redacción del documento antes de enviarlo a QA y entregarlo al cliente. No debe haber documentos donde solamente se documente el control de cambios. .com Estándares para desarrollos ABAP Este documento es propiedad de Consultoría Organizacional S. aclarando la fecha y objetivo del control de cambios implementado. Si un control de cambios no afecta la documentación. Actualizar la tabla de contenido siempre que se termine de actualizar el documento. justo antes de grabarlo. El código fuente hace parte de la documentación y debe incluirse dentro de una carpeta con nombre [Módulo] + “CF”. generalmente se usa tamaño 12.Fabrica de software Página 25 de 26 www. En el Manual de ejecución. Cargar el documento en la ubicación indicada por el cliente y notificar mediante una observación en su tarea asignada de la DML sobre la entrega del mismo. Toda imagen en un documento debe pegarse tipo jpg o algún otro formato que sea liviano. en la parte de “Consideraciones para la ejecución” debe escribirse de manera detallada todo comentario o regla especificada o producto de la solución y que el usuario deba tener presente cuando ejecute el programa. La letra siempre debe ser ARIAL. Los controles de cambio deben registrarse en el mismo documento donde se documentó inicialmente el requerimiento.A.A. Se prohíbe su reproducción total o parcial y su uso para propósitos diferentes a los dispuestos por Consultoría Organizacional S. Ejemplo: “CO_______________________________________________________________________________________________________________________ Consultoría Organizacional . El Zoom de los documentos al grabarlos debe ser 100%. en ningún caso utilizar PrintScreen y pegar directamente la imagen al documento. Los correos electrónicos deben responderse siempre. “Personal . 8 SOBRE LA DML La DML (Development Master List) es la herramienta de gestión utilizada para todos los proyectos y que permite hacer el seguimiento de las asignaciones a todos los consultores.Desarrollos terminados”. “Alfa . Es responsabilidad de cada consultor mantener sus tareas actualizadas tanto en Observaciones que reflejen el status real de cada tema (estado actualizado al día). Ejemplo: “CGA . En el GPI también debe cargarse a nivel de la implementación correspondiente. Cualquier modificación al desarrollo debe actualizarse en la documentación. y con “Respuesta a todos”. . 9 SOBRE LOS CORREOS ELECTRONICOS Todo correo electrónico enviado por un consultor de la FDS debe tener como prefijo en el asunto un nombre o sigla que identifique el cliente.A.Justificación de Ausencia”. _______________________________________________________________________________________________________________________ Consultoría Organizacional .Estándares ABAP”. área o motivo del envío del mismo. el Porcentaje de avance correspondiente y el Estado de la misma.consultoriaorganizacional. Se prohíbe su reproducción total o parcial y su uso para propósitos diferentes a los dispuestos por Consultoría Organizacional S. así como su documentación. a menos que por conveniencia específica del tema sea necesario sólo responder al emisor.Cronograma actividades a la fecha”.Fabrica de software Página 26 de 26 www. “FDS .A.SNCH-SD-01 CF”.com Estándares para desarrollos ABAP Este documento es propiedad de Consultoría Organizacional S.