Professional Documents
Culture Documents
1
2 3 4 5 6 7 8 9 10 11 12
confidencialidad
Aviso: Este documento es material confidencial y propiedad de everis. Se prohbe el uso, reproduccin o la divulgacin del contenido de este material sin permiso previo y por escrito de la empresa propietaria.
Derechos de Autor 2011, everis. All rights reserved
1
2 3 4 5 6 7 8 9 10 11 12
ndice
1
2 3 4 5 6 7 8 9 10 11 12
Introduccin
Objetivo Principal
Brindar los conocimientos tcnicos bsicos de ABAP para facilitar las tareas de anlisis dentro del entorno de SAP, reduciendo as los tiempos y adems contribuir a un mejor anlisis .
1
2 3 4 5 6 7 8 9 10 11 12
ndice
1
2 3 4 5 6 7 8 9 10 11 12
Organizacin
Conceptos Bsicos 1/12
Estructura SAP Funciones de los ambientes
Mandante: es un rea de trabajo dentro de un ambiente de SAP. Por ejemplo, dentro del
ambiente de desarrollo, podemos tener distintos mandantes: uno para desarrollo, otro para pruebas, otro para customizing, etc.
1
2 3 4 5 6 7 8 9 10 11 12
Organizacin
Conceptos Bsicos 2/12
Roles Analista Funcional Analista Tcnico Programador
Escenario Ideal
Analista Tcnico
Programador
Analista Funcional
Programador
7
1
2 3 4 5 6 7 8 9 10 11 12
SAP ABAP
Conceptos Bsicos 3/12
No importa cun abarcativo sea un software de gestin, las necesidades particulares de cada cliente y los requisitos de los distintos escenarios de negocios, puede generar una necesidad de customizing del software que excede la parametrizacin. En el caso particular de SAP, es sabido que no se permite modificar el cdigo fuente de un programa ABAP standard. Por ello, SAP proporciona recursos e instrumentos que permiten intromisiones "controladas" al cdigo, a travs del concepto de ampliaciones o Enhancements. La idea es expandir la funcionalidad dentro del sistema SAP para atender las necesidades adicionales del cliente, sin modificar el cdigo fuente del programa standard. Las sucesivas versiones de SAP fueron incoporando nuevos y mejores instrumentos para llevar a cabo esta tarea. Asimismo, permite generar nuevas funcionalidades fuera del standard de SAP, comunmente se trata de programas ABAP Z, con funcionalidades como reportes y aplicaciones especificas de negocio.
1
2 3 4 5 6 7 8 9 10 11 12
SAP ABAP
Conceptos Bsicos 4/12
Un programa es un conjunto de sentencias de un lenguaje de programacin (ABAP Advanced Business Application Programming), con un orden especfico, orientado al desarrollo de aplicaciones de negocios. Una Transaccin en terminologa SAP es la ejecucin de un programa, la forma normal de ejecutar cdigo ABAP en el sistema SAP es ingresando un cdigo de transaccin. Los programas ABAP ( Reports) pueden visualizarse a travs de la transaccin SE38 Podemos diferenciar varios tipos de programas:
Includes (SE38): Son programas referenciados dentro de los Reports (que se incluyen en un programa
report ), se utilizan para poder ordenar el cdigo, generalmente contienen subrutinas ( performs ) especificas, por ejemplo las subrutinas de pantalla, de salida, y proceso.
Jobs (SM36 / SM37): Son programas ( creados por SE38 ) que tienen asociada una periodicidad de
ejecucin. Se crean y modifican a travs de la transaccin SM36, se ejecutan y monitorean en la transaccin SM37.
IDocs( Intermediate Documents): Permiten intercambiar informacin entre distintos sistemas. Es una
estructura de datos para el intercambio electrnico de datos ( EDI). Se lo puede ver como un archivo de texto plano, con registros. Los IDocs se crean y luego se envan. Los distintos tipos IDOC definen las diferentes categoras de datos, tales como rdenes de compra o facturas, que a su vez puede dividirse en categoras ms especficas llamados tipos de mensaje. Ms especficamente, significa que un tipo de IDOC es capaz de almacenar slo los datos necesarios para una determinada operacin, lo que aumenta la eficiencia y disminuye la demanda de recursos.
1
2 3 4 5 6 7 8 9 10 11 12
SAP ABAP
Conceptos Bsicos 5/12
que realiza dentro de una transaccin SAP especfica. En resumen no es ms que un a proceso automatizado.
Se pueden realizar de dos maneras diferentes: CALL TRANSACTION, se realiza el proceso al momento de ejecucin del programa Juego de datos, donde el proceso realizado se guarda junto con los datos intervinientes para una posterior ejecucin. Asimismo existe tres modos de ejecucin: Modo A: Muestra todas las pantallas paso a paso y la accin a realizar en cada paso Modo E: Ejecuta en fondo hasta encontrar un mensaje de error y luego sigue paso a paso . Modo N: Ejecuta en fondo, al finalizar muestra los mensajes obtenidos.
10
1
2 3 4 5 6 7 8 9 10 11 12
SAP ABAP
Conceptos Bsicos 6/12
parmetros de salida, estos pueden ser campos, estructuras o tablas. Pueden visualizarse en la transaccin SE37, tienen una funcionalidad especifica que puede ser utilizada en diferentes lugares, como por ejemplo en un programa, user-exit , ampliaciones. Por ejemplo K_PLAN_ATTRIBUTES_GET, Z01FIAP_FFIJO_VALIFNR ( Validacin del proveedor),
BAPIS: Mdulo de Funcin estndar de SAP que permite realizar una operacin especfica.
Por ejemplo:
BAPI_PO_CREATE > Creacin de Pedidos BAPI_GOODSMVT_CREATE > Crear Movimientos de mercancas BAPI_ACC_DOCUMENT_POST > Contabilidad: Posting (creacin de documentos
contables) En la transaccin BAPI, se pueden visualizar todas la BAPIs existentes, los datos de cada BAPI en particular se visualizar y testean en la transaccin SE37.
11
1
2 3 4 5 6 7 8 9 10 11 12
SAP ABAP
Conceptos Bsicos 7/12
Tilde de RFC (Modulo de Acceso Remoto) Permite que la funcin sea llamada desde un sistema legacy RFC = Interfaz
12
1
2 3 4 5 6 7 8 9 10 11 12
SAP ABAP
Conceptos Bsicos 8/12
Ampliaciones / Enhacements:
Son puntos dentro de espacios estndares en los que SAP permite agregar cdigo Z. Estn puestos estratgicamente por SAP para validar distintos datos, por ejemplo en la grabacin de solp, pedidos, movimientos, facturas, etc. La idea es expandir la funcionalidad dentro del sistema SAP para atender las necesidades adicionales del cliente, sin modificar el cdigo fuente del programa standard. User exits: Los USER EXITS son como subrutinas vacas dentro de un programa estndar en las cuales se puede agregar cdigo. (El nombre de las mismas comienza con USEREXIT). Este mtodo utiliza mdulos de funcin mediante los cuales se puede ingresar cdigo ABAP. El sistema provee las funciones donde los user-exits son llamados y se cuenta con una interfaz definida y un programa Include. Es en este programa Include donde se agrega el cdigo requerido. Se consideran tcnicamente modificaciones, dado que hay que tocar programas includes de SAP, para lo cual se necesita clave de modificacin de objeto (proporcionada por SAP). Field Exits: TODOS los campos pueden tener una validacin especifica en una pantalla especifica. Estn asociados al elemento de datos ( tipo de dato especifico ).
13
1
2 3 4 5 6 7 8 9 10 11 12
SAP ABAP
1
2 3 4 5 6 7 8 9 10 11 12
SAP ABAP
Formularios : Existen dos tipos de formularios: SAPscript y Smartforms. Donde los Formularios SAPscripts son dependientes de mandante y adems se separa la parte grfica de la lgica, estos se visualizan desde la transaccin SE71 y siempre tienen un programa impresor asociado. En cambio, los Smartfoms son independientes de mandante. Se ejecutan a travs de mdulos de funciones que estn ligadas directamente al formulario. Una vez creado el Formulario, mediante las transacciones SMARTFOMS y SMARTSTYLES, el sistema escribe automticamente las rutinas del control del formulario y podremos invocar al formulario a travs de un par de funciones estndar de sistema. En la transaccin SMARTSTYLES se define el estilo del formulario llamada en la cual se definen tipo de prrafos, tipo de caracteres, los fonts que se van a usar, el tamao que tendrn, los tabuladores, etc.
15
1
2 3 4 5 6 7 8 9 10 11 12
SAP ABAP
Variantes son grabaciones de los parmetros de entrada de un programa ( Transaccin ) o Mdulo de Funcin. Simplemente se utilizan para no tener que volver a escribir los datos cada vez que se utilizan.
Graba la variante
16
1
2 3 4 5 6 7 8 9 10 11 12
SAP ABAP
Comentarios Los programas sufren modificaciones continuamente, y estas modificaciones son realizadas por diferentes programadores a lo largo del tiempo, por ello para lograr un mejor mantenimiento de los mismos, se recomienda que al menos el 30% de las lneas de cdigo de un programa sean comentarios. En ABAP las lneas de comentario comienzan con un asterisco ( * ) o comillas dobles ( ) y resaltadas en azul o gris segn la versin del editor ABAP .
17
1
2 3 4 5 6 7 8 9 10 11 12
SAP ABAP
1
2 3 4 5 6 7 8 9 10 11 12
SAP ABAP
Campos Clave
Estructura general
19
1
2 3 4 5 6 7 8 9 10 11 12
SAP ABAP
20
1
2 3 4 5 6 7 8 9 10 11 12
SAP ABAP
21
1
2 3 4 5 6 7 8 9 10 11 12
SAP ABAP
ndices Es una alternativa de performance para acceder a los datos de una tabla con campos distintos de la clave. Puede traer n registros. Siempre que no se pueda acceder a una tabla por su clave se debe verificar la existencia de un ndice que permita el acceso con mejor performence. Referencia de utilizacin La referencia de utilizacin se utiliza para buscar un objeto, como por ejemplo, buscar programas que utilizan una determinada tabla transparente o buscar en tablas un campo especfico a travs del elemento de datos. Traducciones de elementos de datos estndar La transaccin SE11 puede utilizarse para copiar las descripciones de los elementos de datos en otros idiomas.
22
1
2 3 4 5 6 7 8 9 10 11 12
SAP ABAP
ndices
Referencias de utilizacin
23
1
2 3 4 5 6 7 8 9 10 11 12
ndice
24
1
2 3 4 5 6 7 8 9 10 11 12
SAP ABAP
25
1
2 3 4 5 6 7 8 9 10 11 12
SAP ABAP
1
2 3 4 5 6 7 8 9 10 11 12
SAP ABAP
Tablas SE11 Diccionario de datos(tablas, estructuras, dominios, etc) SE16 Browser de datos SM30 Actualizacin de vistas (tablas) Envo de mails SO01/02/03 Bandeja de mails personal. SOST Resumen de Mails enviados SCOT SAP Connect: Gestin.
27
1
2 3 4 5 6 7 8 9 10 11 12
ndice
28
1
2 3 4 5 6 7 8 9 10 11 12
SAP ABAP
Debbugging 1/5
Hay varias formas de ingresar al modo debugging. Una de ellas, es indicndole al editor que coloque un break en la parte del cdigo en el cual deseamos que el programa detenga la ejecucin y comience el debugging. Coloquemos un break posicionndonos en una lnea del cdigo y presionando el botn correspondiente, y veremos como aparece el indicador de break en dicha lnea. Ahora, cuando presionemos la tecla F8 para ejecutar el programa, en primer lugar aparecer la pantalla de seleccin. Luego de ejecutar la misma, no aparecer como hasta ahora la pantalla con el listado, sin que veremos que aparece una pantalla como la de la figura. Vemos a la izquierda el cdigo del report, comenzando por el punto de break, y a la derecha, una pantalla con las variables.
29
1
2 3 4 5 6 7 8 9 10 11 12
SAP ABAP
Debbugging 2/5
Esta funcin permite ejecutar el programa lnea a lnea. Se activa con la sentencia /h en el campo de OK-CODE, o fijando un break point. Breakpoint Fijo Se realiza dentro del cdigo utilizando la sentencia BREAK, la misma puede estar asignada independientemente del usuario a un punto especfico con la sentencia BREAK-POINT., o asignada a un usuario especfico BREAK SE11567. (usuario) Variable Se asigna a la lnea de ejecucin indicada por el cursor . En sentencia Se asigna a una sentencia determinada en todas las repeticiones existentes dentro del programa en ejecucin
1
2 3 4 5 6 7 8 9 10 11 12
SAP ABAP
Debbugging 3/5
Variables Work Area Es una estructura que contiene los datos de un registro de una tabla interna. Tabla Interna para su manipulacin se utilizan sentencias como : LOOP AT / ENDLOOP: Recorre uno a uno los registros de la tabla interna. READ TABLE: Lee un registro especifico de la tabla interna. Modificacin de Valores Para diversos fines de pruebas en el programa, podemos modificar los valores de variables en tiempo de ejecucin. Veamos cmo. Hagamos doble clic sobre un valor del primer registro, por ej., sobre el campo, en la solapa de variables hay un lapicito, hacemos doble clic sobre el mismo, y pasamos a modo de edicin.
31
1
2 3 4 5 6 7 8 9 10 11 12
SAP ABAP
Debbugging 4/5
Comandos Single step (F5) Ejecucin Paso a Paso Execute(F6) Ejecucin Paso a Paso, pero las rutinas y funciones se ejecutaran como una instruccin, sin ingresar al cdigo de las mismas Return (F7) Si ingresamos a una rutina o funcin, presionando F7, finalizaremos la ejecucin de la misma, y volveremos al cdigo principal. Ejecuta hasta salir de la subrutina o funcin Continue (F8) Con el mismo, saltaremos hasta el prximo break establecido, o , si no hay ms breaks, finalizaremos la ejecucin del report.
32
1
2 3 4 5 6 7 8 9 10 11 12
SAP ABAP
Debbugging 5/5
Consultas SQL El Lenguaje ABAP utiliza sentencias de SQL para comunicarse con cualquier base de Datos . Consulta bsica
Select (campos) From (tabla) into (tabla interna o variables) Where (condicin) SY-SUBRC variable de sistema que indica el resultado de la ejecucin de la lnea de cdigo ejecutada. Puede indicar distintos valores de respuesta. 0 Indica que la sentencia fue ejecutada correctamente, y en caso de que se trate de una sentencia de SQL, indica que se encontraron valores que cumplen las condiciones requeridas. Cualquier valor distinto de Cero, Indica que hubo algn tipo de error, por ejemplo 4 significa que no se hallaron valores que cumplan la consulta. SY-TABIX Variable de Sistema que indica la cantidad de valores que se encontraron.
33
everis.com