INTRODUCCION A LA PROGRAMACION SAP… ABAP PASO A PASO Página 1 de 74 Tabla de contenido INTRODUCCION- NETWEAVER................................................................................ 4 Primeras palabras .......................................................................................................... 4 Introducción .................................................................................................................. 4 Generalidades de SAP .................................................................................................. 4 Consultores SAP ........................................................................................................... 4 Estructura SAP ............................................................................................................. 5 Abap: el lenguaje de SAP ............................................................................................ 5 Netweaver: nuestro ambiente de desarrollo.................................................................. 5 Netweaver: instalación ................................................................................................. 6 Inicio de sesion ............................................................................................................. 6 Transporte ..................................................................................................................... 7 Inicio ............................................................................................................................. 7 DICCIONARIO DE DATOS ........................................................................................... 9 Transacción SE11-Diccionario de datos ....................................................................... 9 Modelo de vuelos ......................................................................................................... 9 PRIMER PROGRAMA .................................................................................................. 14 SE38-Editor Abap ...................................................................................................... 14 Primer programa ......................................................................................................... 14 Creacion de programa ................................................................................................. 14 Upload de codigo ........................................................................................................ 16 Activacion del programa ............................................................................................ 18 Ejecucion de nuestro primer programa ....................................................................... 19 Elementos de texto ..................................................................................................... 20 Pantalla de seleccion ................................................................................................... 21 Variables ..................................................................................................................... 21 Tablas internas ............................................................................................................ 22 Procesamiento de tablas internas ................................................................................ 23 Tratamiento de cortes de control ................................................................................ 24 Primer programa: explicación del codigo ................................................................... 26 Declaracion de datos ................................................................................................... 27 Creacion de elementos de texto .................................................................................. 28 SEGUNDO PROGRAMA ............................................................................................. 30 TERCER PROGRAMA ................................................................................................. 32 CUARTO PROGRAMA ................................................................................................ 34 QUINTO PROGRAMA ................................................................................................. 36 SEXTO PROGRAMA: LISTAS DOBLES ................................................................... 38 SEPTIMO PROGRAMA ............................................................................................... 41 Creacion de subrutina ................................................................................................. 45 OCTAVO PROGRAMA ................................................................................................ 50 Creacion de grupo de funciones-Transaccion SE80 ................................................... 51 Creacion de módulo de funciones .............................................................................. 53 Pruebas de modulos de funciones ............................................................................... 57 NOCIONES DE DEBUG ............................................................................................... 61 NOVENO PROGRAMA: ALV ..................................................................................... 65 Página 2 de 74 TRANSACCIONES ....................................................................................................... 72 Creando una transacción-Transaccion SE93 .............................................................. 72 Página 3 de 74 INTRODUCCION NETWEAVER Primeras palabras El propósito de este Paso a Paso de Abap es introducirlos en el mundo SAP y la programación Abap. No pretende, ni mucho menos, ser un completo manual de referencia, sino, darles las primeras herramientas básicas, para aprender, de forma totalmente practica, a programar en SAP. Destacamos que las introducciones teóricas son breves, priorizando los paso a paso prácticos, con las imágenes que acompañan cada proceso. Se puede ahondar con tutoriales y manuales que encontramos en internet, manuales oficiales de SAP, etc. Y posiblemente, en un futuro cercano, saquemos una segunda parte más avanzada de este curso. Introducción Generalidades de SAP SAP pertenece a una empresa alemana, y su significado en castellano es “Sistemas, Aplicaciones y Productos en tratamiento de Datos”. El sistema SAP consta de varios módulos. Algunos de ellos son: FI: Finanzas SD: Ventas y Distribución MM: Gestión de Materiales PP: Gestión de Producción WF: WorkFlow HR: Planificación y Recursos Humanos. Consultores SAP Básicamente en SAP encontramos tres tipos de consultores: • Basis: encargados de la instalación y administración del sistema • Funcionales: encargados de realizar los relevamientos, blueprints, parametrizaciones y especificaciones funcionales para que los programadores realicen los desarrollos correspondientes. • Programadores: Realizan la programación abap. Página 4 de 74 Estructura SAP En gral, los sistemas SAP R/3 tienen la siguiente estructura: Ambiente Ambiente Ambiente de Desarrollo Testing/Calidad Producción Ambiente de Desarrollo: Aquí se realizan los desarrollos y parametrizaciones del sistema. Al realizar un nuevo desarrollo, se genera una orden de transporte. Mediante la misma, el desarrollo pasará a los demás ambientes. Ambiente de Testing/Calidad: Los objetos generados en Desarrollo pasan a este ambiente por medio de la orden de transporte. En este ambiente, se realizan las pruebas integrales para verificar el correcto funcionamiento de los programas y parametrizaciones. Ambiente Productivo: Aquí están los datos reales y es el ambiente con el que opera la compañía que posee el sistema SAP. Adicionalmente, puede usarse un ambiente Sandbox para testeo de configuraciones y desarrollos. Abap: el lenguaje de SAP El lenguaje que se utiliza para programar en SAP es el ABAP.El Abap es un lenguaje gobernado por eventos, o sea, que existen eventos que condicionan la secuencia de ejecución de los programas. Abap es propietario de SAP, y no es un lenguaje en el que, como en otros (Visual Basic, C, etc.), podemos realizar un ejecutable para correr en cualquier equipo.Los programas son ejecutables dentro del ambiente SAP. Netweaver: nuestro ambiente de desarrollo Para programar, necesitamos conectarnos a un servidor SAP. Afortunadamente, en la actualidad SAP nos provee un entorno para poder instalar en una pc y así tener una suerte de servidor ‘minisap’. Si bien en el mismo no encontraremos los diversos módulos que se encuentran en una instalación real (SD,MM,FI, etc), este entorno nos provee lo necesario para aprender a programar y dar los primeros pasos en ABAP. Página 5 de 74 Netweaver: instalación Para ello, instalaremos el Netweaver trial, que acompaña este DVD y es el que puede descargarse gratuitamente del sitio de SAP. Al ejecutar el archivo ‘start’, se abre una página web con un completo instructivo y los requerimientos de hard y soft para realizar la instalación. Para acceder al sistema, debemos loguearnos en el mismo, mediante una interfase de usuario llamada Sap Graphical User Interfase (SAPGUI). Entonces, en primer lugar realizaremos la instalación del netweaver. Nota: En WinXP funciona correctamente, no tengo referencia si lo hace en otros sistemas operativos. Si se tiene en la pc el Windows Vista, se recomienda realizar la instalación del netweaver sobre una virtual machine. Por cualquier duda o consulta, pueden escribirme a [email protected]. Una vez realizada la instalación y configurado el saplogon (siguiendo el instructivo del instalador), iniciaremos sesión en el sistema.En instalaciones reales, iniciando sesión desde nuestra pc, ingresaremos a un sistema SAP que se encuentra en un servidor, pero en este caso, el cliente y el servidor quedan montados sobre la misma pc. Inicio de sesión Datos de login: Mandante: es un área de trabajo dentro de un ambiente de SAP. Dentro del ambiente de desarrollo, podemos tener distintos mandantes: uno para desarrollo, otro para pruebas, otro para customizing, etc. En el caso de nuestra instalación netweaver, dejamos el valor que viene por defecto. Usuario: en nuestro caso, ingresamos ‘bcuser’. Contraseña: en nuestro caso, ingresamos ‘minisap’. Idioma: SAP provee diversos idiomas para ingresar al sistema. En nuestro caso, lo dejamos en blanco, y nos logueamos por defecto en ingles. Página 6 de 74 FIG. 1- PANTALLA DE LOGIN Transporte Cuando hablábamos de los distintos ambientes, decíamos que para pasar un desarrollo, parametrizacion, corrección, etc, de uno a otro (ej., del ambiente de desarrollo al de testing), lo hacíamos por medio de una orden de transporte. En las instalaciones reales, es siempre así, pero en nuestro caso, tenemos un solo ambiente, y no generaremos nunca orden de transporte. Volveremos a este tema cuando generemos nuestro primer programa. Inicio Una vez que ingresamos al sistema, aparecerá una pantalla similar a esta: Página 7 de 74 FIG.2- PANTALLA INICIAL En SAP se opera por medio de transacciones. Existen muchas y diversas transacciones propias de SAP, y veremos más adelante, que podemos crearlas también nosotros. Existen transacciones para ingresar facturas, para ingreso y salida de mercaderías, para pedidos, etc. Nosotros veremos las que nos interesan para programar, y comenzaremos con una de las más importantes (junto con la del editor Abap), que es la del Diccionario de Datos: SE11. Entonces, en el textbox que aparece a la derecha del botón (en donde dice se38 en la fig. 2) escribiremos se11 y presionaremos enter (o click en el botón de la izquierda). Página 8 de 74 DICCIONARIO DE DATOS Transacción SE11Diccionario de datos FIG. 3- DICCIONARIO DE DATOS En esta transacción, tal como vemos en la figura 3, podemos gestionar tablas, vistas, tipos de datos, etc. Comenzaremos viendo las tablas. Aclaración importante: en SAP, cuando creamos objetos propios (tablas, estructuras, programas, transacciones, etc.) el nombre de los mismos SOLO puede comenzar con Y o Z (ej. Creamos el programa ZPROGRAM). Si probamos crear un programa con el nombre PROGRAM, el sistema emitirá un mensaje de error. Modelo de vuelos Con fines didácticos, SAP provee unas tablas de un sistema de vuelos que ya vienen creadas y con datos en nuestro netweaver. Comencemos entonces a visualizar dichas tablas. Página 9 de 74 Como muestra la fig.3, seleccionaremos con el radiobutton ‘Database table’, y en el nombre, SPFLI. Hacemos click en el botón display, y el sistema nos llevará a una nueva pantalla, en donde podremos visualizar la tabla de conexiones de vuelos. FIG.4- TABLA SPFLI En esta pantalla podemos observar, entre otros datos, el nombre de los campos, tipo de datos, longitud, descripción breve. Para observar el contenido de la tabla, hacemos click en el botón , que se encuentra a la izquierda del botón Technical Settings. Esto nos lleva a la pantalla que muestra la figura 5. Página 10 de 74
Description: