política - normativa - creación de objetos en el repositorio abap v5.0
DESCRIPTION
Política - Normativa - Creación de Objetos en El Repositorio ABAP v5.0TRANSCRIPT
Dirección de Planificación, Arquitectura y
Compras
Normativa para la creación de Objetos en
el Repositorio ABAP 2015
Pág. 1 de 21
NORMATIVA PARA LA CREACIÓN DE OBJETOS EN EL REPOSITORIO
ABAP
Actualización: 5.0
Autor: Arquitectura de Desarrollo e Integración
Dirección de Planificación, Arquitectura y
Compras
Normativa para la creación de Objetos en
el Repositorio ABAP 2015
Pág. 2 de 21
Contenido 1. OBJETIVOS Y ALCANCE ......................................................................................... 4
2. ESTRUCTURA DE REFERENCIA PARA LA ORDENANCIÓN Y
NOMENCLATURA DE OBJETOS ...................................................................................... 5
3. NORMATIVA DE CREACIÓN DE PAQUETES.......................................................... 6
3.1. ¿Qué es un paquete? ........................................................................................................ 6
3.2. Normativa para la organización del repositorio de objetos ................................................. 6
4. NORMATIVA PARA LA CREACIÓN DE CLASES DE DESARROLLO .................... 8
5. NORMATIVA PARA LA NOMENCLATURA DE OBJETOS DEL REPOSITORIO .... 9
5.1. Normativa para nomenclatura abap (versiones 4.x y superiores) ....................................... 9
5.2. Normativa para nomenclatura abap de objetos corporativos ............................................ 10
6. NORMATIVA PARA OBJETOS DE DESARROLLO EN SAP CRM 7.0 .................. 11
7. CONVENIO DE NOMENCLATURA ABAP .............................................................. 13
7.1. Visibilidad y tipo ............................................................................................................... 13
7.2. Contexto .......................................................................................................................... 15
7.3. Field-Symbols .................................................................................................................. 19
7.4. Interfases IM/3 ................................................................................................................. 20
7.4.1 Entidades ..................................................................................................................................... 20 7.4.2 Interface program ........................................................................................................................ 20
Dirección de Planificación, Arquitectura y
Compras
Normativa para la creación de Objetos en
el Repositorio ABAP 2015
Pág. 3 de 21
Control de Versiones
Versión Responsable Fecha Descripción del cambio
1.0 DSI-Arquitectura de
Desarrollo
19/05/2009 Primera versión
2.0
DSI-Arquitectura de
Desarrollo
07/10/2009 Convenio de nomenclatura para ABAP
3.0 DSI-Arquitectura de
Desarrollo
20/102010 Normativa para objetos de desarrollo SAP CRM 7.0
4.0 Arquitectura de Desarrollo e Integración
Mayo – 2013 Actualización del documento a versiones actuales
5.0 Arquitectura de Desarrollo e Integración
Enero-2015 Actualización del documento con la nomenclatura de paquetes incluyendo la Aplicación.
Dirección de Planificación, Arquitectura y
Compras
Normativa para la creación de Objetos en
el Repositorio ABAP 2015
Pág. 4 de 21
1. OBJETIVOS Y ALCANCE
El presente documento tiene como objetivo proporcionar una normativa para la creación ordenada
de objetos en el Repositorio ABAP, intentado de este modo facilitar la gestión del sistema. El
contenido de esta guía se centra en tres aspectos:
Organización del Repositorio mediante paquetes o clases de desarrollo.
Nomenclatura recomendada para los objetos del Repositorio.
Convenio de nomenclatura para objetos de datos en lenguaje ABAP
Todo proyecto nuevo en Repsol deberá seguir estas recomendaciones mediante una política de
creación de paquetes o clases de desarrollo y estableciendo una nomenclatura que, en la medida
de lo posible, se ajuste a la proporcionada.
El cuadro de nomenclatura para objetos del Repositorio que se muestra en los siguientes
capítulos está basado en la nota de soporte de SAP número 16466. Es importante destacar que
quedan excluidos de esta propuesta de nomenclatura ABAP todos los nombres de objetos que
aparecen en la tabla TDKZ del sistema SAP.
Dirección de Planificación, Arquitectura y
Compras
Normativa para la creación de Objetos en
el Repositorio ABAP 2015
Pág. 5 de 21
2. ESTRUCTURA DE REFERENCIA PARA LA ORDENANCIÓN Y NOMENCLATURA DE OBJETOS
La normativa de ordenación del Repositorio de objetos recogida en el presente documento
necesita una estructura que sirva como guía de referencia, para lo que se ha elegido la jerarquía
de área de aplicaciones estándares SAP publicada en Service Marketplace.
https://service.sap.com/~form/handler?_APP=00200682500000002095&_EVENT=DISPL_MAIN&
_COMP=&_IGN=&_CAT=&_SEL_ALL=X
Esta estructura representa un elemento organizativo fundamental para:
La ordenación en el Repositorio ABAP de los objetos de desarrollo mediante paquetes o
clases de desarrollo.
La normativa general de nomenclatura.
Si la funcionalidad a implantar en el sistema no puede ser adecuada a esta jerarquía de áreas
estándares SAP, será necesaria la creación de una estructura específica para el proyecto o
negocio. El objetivo en cualquier caso debe ser la ordenación lógica de los objetos de desarrollo
para facilitar el mantenimiento, los cambios y evolutivos de los sistemas. La estructura creada
deberá cumplir el mismo rol que la jerarquía de área de aplicaciones estándares SAP en la
organización del Repositorio ABAP y la nomenclatura de objetos.
Dirección de Planificación, Arquitectura y
Compras
Normativa para la creación de Objetos en
el Repositorio ABAP 2015
Pág. 6 de 21
3. NORMATIVA DE CREACIÓN DE PAQUETES
3.1. ¿QUÉ ES UN PAQUETE?
Generalmente, se define un paquete de software como un conjunto de aplicaciones o programas
que se distribuyen de forma conjunta debido a la existencia de dependencias entre los elementos
que lo componen. Los paquetes tienen como objetivo ayudar a modular, encapsular y desacoplar
funcionalidades.
Cuando se trata de ABAP, este concepto puede ajustarte reemplazando en la definición el
conjunto de aplicaciones o programas por un conjunto de objetos del Repositorio. A partir de la
versión 6.40 de AS ABAP, SAP sustituye las clases de desarrollo por paquetes.
Las clases de desarrollo son simples contenedores de objetos de desarrollo asignados a una capa
de transporte que determina como los objetos van a ser transferidos entre los sistemas. Los
paquetes extienden este concepto con la aportación de más utilidades como la posibilidad de
creación de jerarquías de paquetes, interfaces, determinación de la visibilidad de los objetos
contenidos y reglas para la utilización de los accesos permitidos. La explotación de estas nuevas
características facilita una estructuración más eficaz del Repositorio ABAP.
3.2. NORMATIVA PARA LA ORGANIZACIÓN DEL REPOSITORIO DE OBJETOS
La clasificación de los objetos de desarrollo dentro del Repositorio representa un factor
fundamental para la gestión eficiente de los sistemas SAP en procesos evolutivos y de
mantenimiento de la funcionalidad instalada. Por lo tanto, es necesario establecer políticas para la
creación y utilización de los paquetes como elementos organizativos del Repositorio.
La jerarquía de áreas de aplicación de SAP representará el modelo a seguir para la creación de
paquetes (ESTRUCTURA DE REFERENCIA PARA LA ORDENANCIÓN Y NOMENCLATURA DE
OBJETOS).
El identificador fundamental de un paquete será la aplicación del sistema ARIS de Repsol. Con la
aplicación se puede obtener información sobre el proveedor de servicios, el responsable del
desarrollo o tener una relación directa con el identificador único en ARIS.
La clasificación de los objetos se realizará en base a la siguiente jerarquía de paquetes:
Dirección de Planificación, Arquitectura y
Compras
Normativa para la creación de Objetos en
el Repositorio ABAP 2015
Pág. 7 de 21
Cada paquete de primer nivel podrá contener o no, los paquetes necesarios para cada una de
sus correspondientes áreas de aplicación de segundo y tercer nivel. La nomenclatura de los
paquetes es:
APPL es el código de la aplicación en el sistema ARIS de Repsol.
N1 y N2 son los módulos y submódulos estándar de SAP. Estos niveles serán obligatorios
en el caso de que la aplicación sea gestionada por distintos servicios o responsables. El
conjunto de valores posibles se tomará de los valores indicados en el segundo nivel de la
jerarquía de áreas de aplicaciones de SAP (Ir a ESTRUCTURA DE REFERENCIA PARA
LA ORDENANCIÓN Y NOMENCLATURA DE OBJETOS).
Para clasificar los objetos Cross que afectan a varios módulos se utilizará el módulo XX.
La clasificación de módulos custom se realizará en el módulo ZXX correspondiendo con el
grupo de requisitos del documento de análisis.
Dado que tanto el código de aplicación, los módulos y submódulos que se van a utilizar en el
proyecto se conocen en el momento de elaboración del convenio, es en este documento donde se
especificará el nombre exacto de los paquetes y subpaquetes a utilizar.
Es responsabilidad del jefe de proyecto interno generar la petición al equipo CRSAP para que se
encarguen de la creación de los roles de los usuarios desarrolladores que participen en el
proyecto que sólo permitan acceso a estos paquetes y subpaquetes.
Posteriormente, el jefe de proyecto debe ocuparse de solicitar mediante petición al equipo de SAP
BASIS la asignación de los roles creados a sus usuarios correspondientes.
Dirección de Planificación, Arquitectura y
Compras
Normativa para la creación de Objetos en
el Repositorio ABAP 2015
Pág. 8 de 21
4. NORMATIVA PARA LA CREACIÓN DE CLASES DE DESARROLLO
Las clases de desarrollo existen en SAP hasta la versión 6.40 del AS ABAP donde son sustituidas
por los paquetes (NORMATIVA DE CREACIÓN DE PAQUETES). Son contenedores de objetos
de desarrollo cuya utilidad es ordenar el Repositorio de objetos y determinar cuáles son
transportables.
La normativa para la creación clases de desarrollo en un sistema es análoga a la de creación de
paquetes.
Dirección de Planificación, Arquitectura y
Compras
Normativa para la creación de Objetos en
el Repositorio ABAP 2015
Pág. 9 de 21
5. NORMATIVA PARA LA NOMENCLATURA DE OBJETOS DEL REPOSITORIO
5.1. NORMATIVA PARA NOMENCLATURA ABAP (VERSIONES 4.X Y SUPERIORES)
Como regla general todos los objetos de desarrollo se nombrarán según el siguiente patrón:
Dónde DESCRIPCIÓN es una zona de libre asignación que tendrán en cuenta las siguientes
recomendaciones:
Utilización de la zona de libre asignación
Es imprescindible la utilización de nombres descriptivos por lo que se recomienda el empleo de
sustantivos y verbos.
Utilización del idioma inglés.
Los acrónimos y abreviaturas pueden resultar confusos, se aconseja reducir su utilización.
Si se considera que el código del submódulo debe estar presente en el nombre del objeto, se
indicará al principio de la descripción seguido de un guión bajo: <SUBMOD>_<DESCRIPCIÓN>.
El identificador del submódulo se tomará de los valores indicados en el segundo nivel de la
jerarquía de aplicaciones de SAP (ESTRUCTURA DE REFERENCIA PARA LA ORDENANCIÓN
Y NOMENCLATURA DE OBJETOS).
Tabla 6.1 Utilización de la zona de libre asignación
A continuación se listan elementos que representan una excepción a la norma general junto a la
regla específica de nomenclatura para cada uno de ellos:
Objeto de
transporte Objeto de desarrollo
Long.
nombre
Excepción a la regla
general
--- Campo de tabla (en tabla estándar) 16 ZZ<DESCR>
--- Dynpro (programa estándar) 4 [9000, 9999]
--- IDoc: Nombre de segmento 30 Z2<DESCR>
Z DESCRIPCIÓN
Dirección de Planificación, Arquitectura y
Compras
Normativa para la creación de Objetos en
el Repositorio ABAP 2015
Pág. 10 de 21
--- IDoc: Tipo de segmento 27 Z1<DESCR>
--- Infotipo 4 [9000, 9999]
--- Mensaje (en clase de mensajes
estándar) 3 [900, 999]
--- Módulo de función 30 Z_< DESCR>
R3TR-ENQU Objeto de bloqueo 16 EZ<DESCR>
R3TR-FXER IDs de texto relevantes Z_<DESCR>
R3TR-MCUN Unidades SIL 2 [0, 9]
R3TR-SPCS Juegos de caracteres 4 [9000, 9999]
R3TR-SPLO Formas de edición [9000, 9999]
R3TR-W3MI Tipos MIME (binarios) de servidor
ITS/Web Reporting H_ Z<DESCR>
Tabla 6.2 Excepciones a la regla general
5.2. NORMATIVA PARA NOMENCLATURA ABAP DE OBJETOS CORPORATIVOS
Los objetos de desarrollo corporativos implementan distintas funcionalidades de reconocida
utilidad para ser utilizada por las distintas unidades de negocio que la requieran. La nomenclatura
para este tipo de objetos deberá ajustarse a la NORMATIVA PARA LA NOMENCLATURA DE
OBJETOS DEL REPOSITORIO, con la variación de que todos los objetos deben comenzar por Y
en sustitución de la letra Z. Esta diferenciación es necesaria porque el prefijo ZX está reservado
por SAP para los programas de tipo ‘I’ de grupos de funciones Exit.
Dirección de Planificación, Arquitectura y
Compras
Normativa para la creación de Objetos en
el Repositorio ABAP 2015
Pág. 11 de 21
6. NORMATIVA PARA OBJETOS DE DESARROLLO EN SAP CRM 7.0
Como regla general todos los objetos de desarrollo en SAP CRM 7.0 se nombrarán según el
siguiente patrón:
Dónde DESCRIPCIÓN es una zona de libre asignación que tendrán en cuenta las siguientes
recomendaciones:
Utilización de la zona libre de asignación
Es imprescindible la utilización de nombres descriptivos por lo que se recomienda el empleo de sustantivos y verbos. Utilización del idioma inglés.
Los acrónimos y abreviaturas pueden resultar confusos, se aconseja reducir su utilización.
Tabla 3 Utilización de la zona libre de asignación
A continuación se listan elementos que representan una excepción a la norma general junto a la
regla específica de nomenclatura para cada uno de ellos:
Objeto de desarrollo Long.
Nombre Excepción a la regla general
Extensión en EEW 30
Z<DESCR>_<C>
<C> = contador de las extensiones del tipo de
objeto que se toca
Clase de implementación 30
Z<DESCR_CLASE>
El objeto es una copia de la clase estándar
cuyo nombre se genera automáticamente en
la badi BSP_WD_APPL_WB, en el método
GET_CUST_CLASS_NAME_PROPOSAL.
Hay que programar este método para
nombrar esta clase con esta nomenclatura.
Ejemplo:
Clase estándar:
CL_BT108H_L_DETAIL_IMPL
Clase generada:
ZEEBT108H_L_DETAIL_IMPL
<DESCR_CLASE> =
BT108H_L_DETAIL_IMPL
Z DESCRIPCIÓN
Dirección de Planificación, Arquitectura y
Compras
Normativa para la creación de Objetos en
el Repositorio ABAP 2015
Pág. 12 de 21
Objeto de desarrollo Long.
Nombre Excepción a la regla general
Template 40
Z<T><DESCR>
<T> = Tipo de template:
- AF (Adobe Form) - MW (Microsoft Word)
Dirección de Planificación, Arquitectura y
Compras
Normativa para la creación de Objetos en
el Repositorio ABAP 2015
Pág. 13 de 21
7. CONVENIO DE NOMENCLATURA ABAP
Mediante la utilización de las siguientes categorías es posible establecer sin ambigüedades el
nombre de variables y parámetros en el lenguaje ABAP:
1. Visibilidad: Global / Local / Contexto de clase
2. Tipo: Variable simple / Estructura / Tipo de tabla / Referencia / Constante
3. Contexto: Rutinas FORM / Módulo de función / Métodos
Existen dos reglas generales para el convenio de nombres:
Variables y Atributos de Clases: <Visibilidad>_<Tipo>_<Descripción>
Parámetros de la firma: <Contexto>_< Tipo >_< Descripción >
Utilización del espacio reservado a la descripción
Cuando la variable está tipificada por algún elemento del diccionario puede utilizarse el nombre
de este elemento como descripción de la variable.
Si se utiliza un nombre distinto al elemento del diccionario, es imprescindible que sea descriptivo
por lo que se recomienda el empleo de sustantivos y verbos.
Utilización del idioma inglés.
Los acrónimos y abreviaturas pueden resultar confusos, se aconseja reducir su utilización.
Tabla 7.1 Descripción
7.1. VISIBILIDAD Y TIPO
Visibilidad Prefijo Tipo Prefijo Ejemplo Código
Global G Variable
simple V GV_MATERIAL
DATA: gv_material TYPE
matnr.
Estructura S GS_KNB1 DATA: gs_knb1 TYPE knb1.
Tipo de
tabla T GT_VBAK
DATA: gt_vbak TYPE TABLE
OF vbak.
Dirección de Planificación, Arquitectura y
Compras
Normativa para la creación de Objetos en
el Repositorio ABAP 2015
Pág. 14 de 21
Clase O GO_GRID DATA: go_grid TYPE REF TO
cl_gui_alv_grid.
Interface IF GIF_MESSAGE_LIST DATA: gif_msglist TYPE REF
TO if_reca_message_list.
Referencia R GR_DATA DATA: gr_data TYPE REF TO
data.
Constante C GC_LIGHTSPEED CONSTANTS: gc_lightspeed
TYPE i VALUE '300000'.
Local L Variable
simple V LV_MATNR DATA: lv_matnr TYPE matnr.
Estructura S LS_KNB1 DATA: ls_knb1 TYPE knb1.
Tipo de
tabla T LT_VBAK
DATA: lt_vbak TYPE TABLE
OF vbak.
Clase O LO_GRID DATA: lo_grid TYPE REF TO
cl_gui_alv_grid.
Interface IF LIF_ MESSAGE_LIST DATA: lif_msglist TYPE REF
TO if_reca_message_list.
Referencia R LR_DATA DATA: lr_data TYPE REF TO
data.
Constante C LC_LIGHTSPEED CONSTANTS: lc_lightspeed
TYPE i VALUE '300000'.
Contexto
de clase M
Variable
simple V MV_MATNR DATA: mv_matnr TYPE matnr.
Estructura S MS_KNB1 DATA: ms_knb1 TYPE knb1.
Tipo de
tabla T MT_VBAK
DATA: mt_vbak TYPE TABLE
OF vbak.
Clase O MO_GRID DATA: mo_grid TYPE REF TO
cl_gui_alv_grid.
Interface IF MIF_MESSAGE_LIST DATA: mif_msglist TYPE REF
TO if_reca_message_list.
Referencia R MR_DATA DATA: mr_data TYPE REF TO
data.
Constante C MC_LIGHTSPEED CONSTANTS: mc_lightspeed
TYPE i VALUE '300000'.
Tabla 7.2 Convenio según visibilidad y tipo
Dirección de Planificación, Arquitectura y
Compras
Normativa para la creación de Objetos en
el Repositorio ABAP 2015
Pág. 15 de 21
7.2. CONTEXTO
I. Firma de una subrutina FORM
Parámetro Prefijo Tipo Prefijo Ejemplo
USING U Variable
simple V UV_MATNR
Estructura S US_KNB1
Tipo de
tabla T UT_VBAK
Clase O UO_GRID
Interface IF UIF_MESSAGE_LIST
Referencia R UR_DATA
CHANGING C Variable
simple V CV_MATNR
Estructura S CS_KNB1
Tipo de
tabla T CT_VBAK
Clase O CO_GRID
Interface IF CIF_MESSAGE_LIST
Referencia R CR_DATA
Tabla 7.3 Convenio para firma de subrutinas
Dirección de Planificación, Arquitectura y
Compras
Normativa para la creación de Objetos en
el Repositorio ABAP 2015
Pág. 16 de 21
II. Firma de un módulo de función
Parámetro Prefijo Tipo Prefijo Ejemplo
IMPORTING I Variable simple V IV_MATNR
Estructura S IS_KNB1
Tipo de tabla T IT_VBAK
Clase O IO_GRID
Interface IF IIF_MSGLIST
Referencia R IR_DATA
EXPORTING E Variable simple V EV_MATNR
Estructura S ES_KNB1
Tipo de tabla T ET_VBAK
Clase O EO_GRID
Interface IF EIF_MSGLIST
Referencia R ER_DATA
CHANGING C Variable simple V CV_MATNR
Estructura S CS_KNB1
Tipo de tabla T CT_VBAK
Clase O CO_GRID
Dirección de Planificación, Arquitectura y
Compras
Normativa para la creación de Objetos en
el Repositorio ABAP 2015
Pág. 17 de 21
Interface IF CIF_MSGLIST
Referencia R CR_DATA
TABLES Sólo lectura IT IT_VBAK
Sólo escritura ET ET_VBAK
Lectura/Escritura CT CT_VBAK
Tabla 7.4 Convenio para firma de módulos de función
III. Firma de un método
Parámetro Prefijo Tipo Prefijo Ejemplo
IMPORTING I Variable
simple V IV_MATNR
Estructura S IS_KNB1
Tipo de tabla T IT_VBAK
Clase O IO_GRID
Interface IF IIF_MSGLIST
Referencia R IR_DATA
EXPORTING E Variable
simple V EV_MATNR
Estructura S ES_KNB1
Tipo de tabla T ET_VBAK
Dirección de Planificación, Arquitectura y
Compras
Normativa para la creación de Objetos en
el Repositorio ABAP 2015
Pág. 18 de 21
Clase O EO_GRID
Interface IF EIF_MSGLIST
Referencia R ER_DATA
CHANGING C Field V CV_MATNR
Structure S CS_KNB1
Table Type T CT_VBAK
Class O CO_GRID
Interface IF CIF_MSGLIST
Data Object R CR_DATA
RETURNING R Variable
simple V RV_MATNR
Estructura S RS_KNB1
Tipo de tabla T RT_VBAK
Clase O RO_GRID
Interface IF RIF_MSGLIST
Referencia R RR_DATA
Tabla 7.5 Convenio para firma de métodos
Dirección de Planificación, Arquitectura y
Compras
Normativa para la creación de Objetos en
el Repositorio ABAP 2015
Pág. 19 de 21
7.3. FIELD-SYMBOLS
Visibilidad Prefijo Tipo Prefijo Ejemplo
Global G Variable
simple V <GV_MATNR>
Estructura S <GS_KNB1>
Tipo de tabla T <GT_VBAK>
Clase O <GO_GRID>
Interface IF <GIF_MSGLIST>
Referencia R <GR_DATA>
Local L Variable
simple V <LV_MATNR>
Estructura S <LS_KNB1>
Tipo de tabla T <LT_VBAK>
Clase O <LO_GRID>
Interface IF <LIF_MSGLIST>
Referencia R <LR_DATA>
Tabla 7.6 Convenio para field symbols
Dirección de Planificación, Arquitectura y
Compras
Normativa para la creación de Objetos en
el Repositorio ABAP 2015
Pág. 20 de 21
7.4. INTERFASES IM/3
A continuación se detalla la normativa para la creación de objetos de desarrollo de IM/3 en un
sistema.
7.4.1 ENTIDADES
Las entidades de IM/3 deben seguir la siguiente nomenclatura:
El primer carácter debe ser ‘Y’ o ‘Z’.
El segundo carácter debe ser una letra o un digito.
La entidad ‘Y0’ y la ‘Z0’ están reservadas para uso interno de IM/3.
7.4.2 INTERFACE PROGRAM
Las interfases en IM/3 tienen un texto con una longitud máxima de 8 caracteres, los 4 primeros
caracteres son completados de forma automática por IM/3 y el resto serán cumplimentados de
forma libre por el desarrollador.
Posición Descripción
1,2 Código Entidad
3 Identificador del módulo de R/3
4
Tipo de interfaz:
Entrada: I
Salida: O
5,6,7,8 Libre
El código de entidad (posiciones 1 y 2) determina la entidad utilizada por el Interface Program.
El módulo de aplicación R/3 (posición 3) es usado como criterio de selección de utilidades como la
generación en masa de interface programs y como criterio de búsqueda en el Monitor de
interfases.
El tipo de programa (posición 4) determina si la interfaz es de entrada o salida. Este también será
uno de los criterios de búsqueda del monitor de interfases.
Dirección de Planificación, Arquitectura y
Compras
Normativa para la creación de Objetos en
el Repositorio ABAP 2015
Pág. 21 de 21