Escolar Documentos
Profissional Documentos
Cultura Documentos
SAP - ABAP
INDICE
Introduccin.................................................................................................................................................. 3
Estandar Default....................................................................................................................................... 3
Identificacin de Objetos.............................................................................................................................. 3
Tabla........................................................................................................................................................ 3
Estructura (diccionario de datos).............................................................................................................. 4
Elemento de Datos................................................................................................................................... 4
Dominio.................................................................................................................................................... 4
Objeto de Bloqueo.................................................................................................................................... 4
Vista......................................................................................................................................................... 4
Data Type Group...................................................................................................................................... 4
Search Help.............................................................................................................................................. 5
SET/GET Parameter................................................................................................................................ 5
OBJETOS DE PROGRAMAS....................................................................................................................... 5
Programa.................................................................................................................................................. 5
Module Pool............................................................................................................................................. 5
Module pool Include................................................................................................................................. 6
Transaccin.............................................................................................................................................. 6
Clase de Mensaje..................................................................................................................................... 6
Mdulo de Funcin................................................................................................................................... 6
Grupo de Funciones................................................................................................................................. 6
Sapscript.................................................................................................................................................. 7
SmartForms.............................................................................................................................................. 7
Select Option Parameter.......................................................................................................................... 7
Internal Table........................................................................................................................................... 7
Etructura (en tiempo en ejecucin)........................................................................................................... 7
Variable, Constant and Range................................................................................................................. 7
OTROS OBJETOS....................................................................................................................................... 8
Batch input Session.................................................................................................................................. 8
Ordenes de Transporte............................................................................................................................ 8
Imgenes.................................................................................................................................................. 8
NORMAS Y PREFIJOS................................................................................................................................ 8
Mdulos SAP (*): ..................................................................................................................................... 8
Descripcin (**):....................................................................................................................................... 9
Prefijo de tipo de variable (***):................................................................................................................ 9
Prefijo de tipo de Programa (****):............................................................................................................ 9
Estandares de Codigo................................................................................................................................ 10
Encabezado........................................................................................................................................... 12
Entre Lneas........................................................................................................................................... 12
Modificaciones........................................................................................................................................ 12
Eventos, declaraciones y Subrutinas..................................................................................................... 13
Estndares en Reportes............................................................................................................................. 14
Consideraciones de Hardware............................................................................................................... 14
Cuerpo del Reporte................................................................................................................................ 15
Otras Recomendaciones........................................................................................................................ 15
INTRODUCCIN
Es necesario definir estandares para el proceso de desarrollo de aplicaciones complementarias al
sistema SAP.
Estandar Default
SAP tiene un estndar para los desarrollo de aplicaciones complementarias a la licencia
adquirida, dicho estndar es la letra Z, la cual debe utilizarse como inicial a la identificacin de las
aplicaciones que se desarrollan, ya que cuando se realizan actualizaciones a la licencia todo lo que este
identificado inicialmente con Z no lo toca la actualizacin.
Ejemplo.
Z..
IDENTIFICACIN DE OBJETOS
A continuacin se describe, por tipo de objeto de repositorio SAP, el mtodo a utilizar para
asignar los nombres de los mismos. Los criterios utilizados son principalmente: tipo de objeto y mdulo
SAP.
DICCIONARIO DE DATOS
Tabla
Nombre ZXXTT_Nombre:
Valor Fijo
XX
Mdulo SAP *
TT
Nombre
Descripcin **
Valor Fijo
XX
Mdulo SAP *
Nombre
Descripcin **
Elemento de Datos
Nombre ZXXED_Nombre:
Valor Fijo
XX
Mdulo SAP *
ED
Nombre
Descripcin **
Dominio
Nombre ZXXDO_Nombre:
Valor Fijo
XX
Mdulo SAP *
DO
Nombre
Descripcin **
Objeto de Bloqueo
Nombre EZ_Nombre:
Valor Fijo
Nombre
Vista
Nombre ZXXV_Nombre:
Valor Fijo
XX
Mdulo SAP *
Nombre
Descripcin **
Nombre ZDTCorr:
Valor Fijo
DT
Corr
Correlativo de 2 posiciones
Search Help
Nombre ZXXSH_Nombre:
Valor Fijo
XX
Mdulo SAP *
SH
Nombre
Descripcin **
SET/GET Parameter
Nombre PA_Nombre:
PA
Nombre
Descripcin **
OBJETOS DE PROGRAMAS
Programa
Nombre: ZXX_YY_Nombre:
Valor fijo
XX
Mdulo SAP *
YY
Nombre
Descripcin **
Module Pool
Nombre: SAPMZXX_Nombre:
SAP
Valor Fijo
XX
Mdulo SAP *
Nombre
Descripcin **
Valor Fijo
Valor fijo
XX
Mdulo SAP *
Nombre
NN
Correlativo
Transaccin
Nombre: ZXXT_Nombre:
Valor Fijo
XX
Mdulo SAP *
Nombre
Descripcin **
Clase de Mensaje
Nombre: ZXX:
Valor Fijo
XX
Mdulo SAP *
Mdulo de Funcin
Nombre ZXXFU_Nombre:
Valor Fijo
XX
Mdulo SAP *
FU
Nombre
Descripcin **
Grupo de Funciones
Nombre ZXXGF_Nombre:
Valor Fijo
XX
Mdulo SAP *
GF
Nombre
Descripcin **
Sapscript
Nombre ZXXS_Nombre:
Valor Fijo
XX
Mdulo SAP *
Nombre
Descripcin **
SmartForms
Nombre ZXXSF_Nombre:
Valor Fijo
XX
Mdulo SAP *
Nombre
Descripcin **
SO
Nombre
Descripcin **
Internal Table
Nombre IT_Nombre:
IT
Nombre
Descripcin **
Nombre
Descripcin **
PP
Nombre
Descripcin **
OTROS OBJETOS
Batch input Session
Nombre ZXX_Nombre:
Valor Fijo
XX
Mdulo SAP *
Nombre
Descripcin **
Ordenes de Transporte
Nombre BC_XX: Nombre:
BC
Valor Fijo
XX
Mdulo SAP *
Nombre
Descripcin **
Imgenes
Nombre ZXX_IMG_<TIPO> Nombre: (Ej: ZDM_IMG_FIRM_LORENTC)
Valor Fijo
XX
Mdulo SAP *
IMG
Tipo Imagen
Nombre
Descripcin **
NORMAS Y PREFIJOS
Mdulos SAP (*):
Prefijo
FI
CO
Modulo de SAP
GL, AR, TR, AM, AP,
CFM
CO, CO-PC, CO-OM
MM
SD
DE
MM, MM-IM
SD
Desarrollos globales
Descripcin (**):
Para la asignacin del nombre de los objetos se tomaran las 4 primeras letras de cada palabra
que compone la descripcin de lo que se va a desarrollar. En caso de que sean descripciones formadas
por varias palabras, por cada palabra se debe utilizar guin mayor (_) para separarlas.
Tipo de Variable
NU
N - Numeric
CH
PK
IN
C - Character
P - Packet
I Integer
FL
F Floating
HX
DT
TM
X Hexagsimal
D Date
T Time
ST
STRING String
CN
Cualquier Tipo
Descripcin
Alfanumrica
(solo nmeros)
Alfanumrica
Montos
Nmeros Enteros
Nmeros
con
1
entero
y
mucho
decimals
Hexagsimal
Fecha
Hora
Cadena
de
Caracteres
de
tamao variable
Constantes
Tipo de Variable
Interfaz
Reporte
Conversin
Carga Inicial
Programas
Include
PAQUETES
Todo objeto de repositorio debe asignarse a un Paquete al ser creado. Se crearon los siguientes
paquetes:
Paquete
ZFI
ZCO
Descripcin
Desarrollos para FI
Desarrollos para CO
ZMM
ZSD
ZDE
Desarrollos para MM
Desarrollos para SD
Desarrollos globales (clases o includes
globales)
Todos los desarrollos que se realicen para pruebas o temporales, deben ser asignados como
Objeto Local, es decir, al paquete estndar $TMP. Con esto, no se tendr que asignar el desarrollo a
una orden de transporte.
ESTANDARES DE CODIGO
INDENTACIN DE BLOQUES A 2 ESPACIOS
Utilizar 2 espacios para indentar cualquier bloque de cdigo. No utilizar tabuladores ya que estos
pueden ser interpretados distinto segn el editor (Ej.: Notepad), el uso de espacios asegura indentacin
correcta.
DO 5 TIMES.
IF v_tipo = E.
v_nombre = r_cliente.
IF v_nivel = M.
v_descripcion = Mayorista.
ELSE.
v_descripcion = Minorista.
ENDIF.
ELSE.
v_nombre = r_cliente-nombre.
ENDIF.
ENDDO.
COMENTARIOS
Se debe mantener una documentacin consistente en el cdigo escrito para facilitar su
entendimiento por otras personas. Debe incluir como mnimo la lgica del procedimiento que ejecuta el
cdigo.
Encabezado
Se debe escribir un encabezado que indique el estado, nombre, propsito e historial de
modificaciones del procedimiento. Este debe utilizar los delimitadores ** como se muestra en el
ejemplo:
************************************************************************
* INFORMACION GENERAL
* Nombre del Programa : <Nombre del Programa>
* Ttulo
: <Ttulo del Programa en los Atributos>
* Autor
: <Autor>
* Fecha de Creacin
: <Fecha de Creacin>
* Tipo
: <Reporte, conversin, Interfase, etc.>
* Copia de
: <Programa Original del cual fue copiado >
* Mdulo
: <Mdulo Funcional de SAP>
* Llamado por
: <Transaccin, o Programa>
* Descripcin
: <Breve descripcin del Desarrollo>
*
************************************************************************
* Modificaciones:
* <Fecha> - <Autor>
* <Modificacin Descripcin>
************************************************************************
REPORT ZDE_RP_MODELO.
Entre Lneas
En este caso se debe de comentar cada vez que se inicia un bloque de procesamiento para
explicar que es el propsito de esa seccin de cdigo. Si se quiere una lnea de comentario completa, se
utiliza * en la primera columna; si se quiere un breve comentario en la misma lnea donde se encuentra
una instruccin, se utiliza comillas dobles () antes del comentario.
*
Modificaciones
Durante de el desarrollo de una aplicacin, se deben realizar modificaciones de cdigo debido a
correcciones u actualizaciones en la lgica del funcionamiento.
Lo que se debe hacer en estos casos, es que en cada modificacin, dejar constancia de quien lo
hace y desde donde hasta donde se realizo la modificacin.
*
Modif.
12.03.2005
----------------------------------------------INI.
( Cdigo )
*
Modif.
12.03.2005
----------------------------------------------FIN.
USER1
USER1
Esto ayuda a seguir modificando con facilidad y seguir los cambios que se han producido en el
sentido de un historial debido a que se documenta la fecha y el desarrollador que realizo el cambio. Esto
es importante ya que si el cambio diera algn tipo de problema, es sencillo regresar al estado anterior.
Si se va a reemplazar lneas o variables, dejarlas comentadas para tener como referencia la
funcionalidad anterior a la modificacin y el nuevo cdigo hacerlo al costado o debajo de lo viejo.
************************************************************************
"Para Botones
************************************************************************
* TOP-OF-PAGE
*
************************************************************************
"Encabezado de Reportes
************************************************************************
* BOTTOM-OF-PAGE
*
************************************************************************
"Pi de Pgina de Reportes
************************************************************************
* FORMS
*
***********************************************************************
"Subrutinas
*&---------------------------------------------------------------------*
*&
Form SUB_RUTINE
*&---------------------------------------------------------------------*
*
Subrutine Description
*----------------------------------------------------------------------*
*
-->P_VAR1 Parameter Description
*
<--P_VAR2 Parameter Description
*----------------------------------------------------------------------*
FORM SUB_RUTINE USING
P_VAR1
CHANGING P_VAR2.
ENDFORM.
" SUB_RUTINE
.
************************************************************************
Existe ya creado en SAP, el programa ZDE_RP_MODELO, que puede utilizarse como modelo para los
desarrollos.
ESTNDARES EN REPORTES
No es solo como se ver un reporte lo que define el estndar. Se deben tomar en cuenta los factores de
uso para el usuario como el desarrollo del mismo para poder crear un estndar beneficioso tanto a
usuario como a desarrollador.
Consideraciones de Hardware
Se debe tomar en cuenta que realmente ninguna herramienta puede dar un resultado 100% WYSIWYG,
as que los estndares tratan de dar una gua que logre semejanzas entre los formatos impresos.
Para iniciar se presentan ciertas sugerencias al momento de desarrollar los reportes:
Utilizar el mnimo
Courier New
Times New Roman
Lnprint
de
fuentes
de
letras
posibles.
Las
que
se
deben
usar
son:
Evitar el uso de colores en los reportes para prevenir problemas de impresin por el tipo de impresora
o driver.
No utilizar tipos de letra itlica (es ms difcil de leer).
No utilizar espacios en blanco muy extensos entre registros (consumen espacio en las pginas).
Si un reporte ser utilizado en impresin caracter o grfica no generar dos reportes sino que el
reporte pueda adaptarse a cada tipo de impresin.
Todas las formas pueden realizarse ya sea en SmartForms o SAPScript. El primero es una versin
grfica que facilita la programacin, la segunda se refiere a la versin texto que se encuentra disponible
de la versin 1 a la 4.x.
Para realizar las formas en SmartForms es necesario tomar en cuenta que estas pantallas se basaran en
ventanas, las cuales contienen objetos que pueden ser:
Mscaras de Edicin
Tablas
Textos Dinmicos
Comandos
Lneas de Programa
Carpetas
Funcin Grfica
Direcciones
Lneas IF
ENCABEZADO
Cada una de las formas tiene un encabezado, un ttulo en el cual se deben utilizar los objetos:
Textos Dinmicos
Cambian de acuerdo a los requerimientos especficos de la forma.
Includes
Se deben utilizar cuando la informacin que se requiere desplegar ya se encuentra en esta base de
datos. Pues son nombres almacenados comnmente utilizados por los programadores.
Otras Recomendaciones
Existe otro tipo de reporte que es muy comn en la generacin de informes, principalmente de tipo
gerencial, estos reportes son los reportes de tipo ALV.
Estos reportes tambin son muy usados principalmente en donde se manejan cifras de dinero. La gran
ventaja que representan sobre SAPScript y SmartForms es que permiten manipular en pantalla la
organizacin de la informacin, es posible agregar o quitar columnas, totalizar, filtrar, exportar a diversos
formatos como por ejemplo: XML, HTML, EXCEL, WORD en donde es posible agregarles funcionalidad o
hacer ajustes de formato, para su impresin.
Recomendamos usar el tipo de salida ALV en la elaboracin de reportes gerenciales y de resultados.