HERRAMIENTAS BASICAS ABAP.docx

12
HERRAMIENTAS ABAP Parte 1: Conceptos El ABAP es un lenguaje de programación de 4a. Generación (4GL) orientado tal como su definición especifica, al desarrollo de aplicaciones de negocios. Todos los módulos disponibles en SAP han sido programados en este lenguaje de programación. Además se pueden escribir nuevas aplicaciones en ABAP/4 como complemento a las ya existentes o como apoyo a la configuración del sistema. Herramientas de ABAP más importantes: Transactions: El modo normal de ejecutar código ABAP es mediante transacciones, que pueden ser accedidas desde el menú de usuario de manera definida por el sistema o por el usuario, o ingresando el código de la transacción (un mnemónico de hasta 20 caracteres) en la línea de comandos. Las transacciones también pueden ser invocadas dentro de un programa, mediante las sentencias CALL TRANSACTION o LEAVE TO TRANSACTION. En este contexto, "transacción" sólo es una forma de ejecutar un programa ABAP Editor ABAP: ( SE38) es en donde se desarrollan los programas. Algunas características del editor: Coloración de la sintaxis automática y configurable. Predicción de palabras claves del lenguaje (Select, Stop, etc.) en tiempo real. Señaladores de código (marcadores). Posibilidad de contraer y expandir bloques lógicos de código. Codigos prediseñados (Templates) configurables para estructuras de código, con la posibilidad de utilizar campos dinámicos. Auto-corrección del código a través de diccionario de errores conocidos totalmente configurable. Separación del editor en dos ventanas en la misma pantalla, permitiendo la comparación de sectores de código sin necesidad de abrir otra sesión.

description

CONCEPTOS BASICOS ABAP

Transcript of HERRAMIENTAS BASICAS ABAP.docx

HERRAMIENTAS ABAP

Parte 1: Conceptos

El ABAP es un lenguaje de programación de 4a. Generación (4GL) orientado tal como su definición especifica, al desarrollo de aplicaciones de negocios. Todos los módulos disponibles en SAP han sido programados en este lenguaje de programación. Además se pueden escribir nuevas aplicaciones en ABAP/4 como complemento a las ya existentes o como apoyo a la configuración del sistema.

Herramientas de ABAP más importantes:

Transactions: El modo normal de ejecutar código ABAP es mediante transacciones, que pueden ser accedidas desde el menú de usuario de manera definida por el sistema o por el usuario, o ingresando el código de la transacción (un mnemónico de hasta 20 caracteres) en la línea de comandos.

Las transacciones también pueden ser invocadas dentro de un programa, mediante las sentencias CALL TRANSACTION o LEAVE TO TRANSACTION. En este contexto, "transacción" sólo es una forma de ejecutar un programa ABAP

Editor ABAP: (SE38) es en donde se desarrollan los programas.

Algunas características del editor:

Coloración de la sintaxis automática y configurable. Predicción de palabras claves del lenguaje (Select, Stop, etc.) en tiempo real. Señaladores de código (marcadores). Posibilidad de contraer y expandir bloques lógicos de código. Codigos prediseñados (Templates) configurables para estructuras de código, con

la posibilidad de utilizar campos dinámicos. Auto-corrección del código a través de diccionario de errores conocidos totalmente

configurable. Separación del editor en dos ventanas en la misma pantalla, permitiendo la

comparación de sectores de código sin necesidad de abrir otra sesión. Seteo de breakpoints al margen del código, similar a la vista tradicional del

debugger. Enumeración de líneas de código. Indicador de nuevas líneas y líneas modificadas. Exportación de trozos de código o programas completos con múltiples formatos

(HTML, PDF, etc.).

Program: Es importante señalar que los programas desarrollados por los programadores iniciaran con la letra Z o Y, con la finalidad de que se diferencien de los programas estándar. También podemos crear programas desde la transacción SE80 ( Workbench abap). El nombre de los programas: Tienen hasta un máximo de treinta caracteres. No se pueden usar puntos, comas, espacios, paréntesis, apóstrofes, comillas, signo igual, acentos, porcentaje o asteriscos.

La estructura de un programa ABAP es la siguiente:

1. Introducción: Breve descripción del funcionameinto del programa, autor, fecha de elaboración.

2. Declaración de variables: Primeramente declaramos las variables globales (incluyendo clases, selection screens…). Los datos globales son visibles para todos los bloques. Las variables locales se definen dentro de un bloque y son visibles sólo dentro de ese bloque.

3. Módulos de diálogos

4. Bloques de eventos

5. Procedimientos

Al crear un programa, el atributo más importante es el tipo (type), que determina como se va a ejecutar un programa. Podemos obtener una lista de todos los tipos posibles con F4. Un programa debe estar asignado a una aplicación y a una base de datos lógica.

Título (title): Incluye el título y una descripción del programa. Mainteinance language: Se rellena automáticamente con el logon lenguaje. Se puede

cambiar. Type: El tipo de programa puede ser ejecutable, módulo, subrutina o include. Status: de sistema, ‘test’, otro. Application: Por ejemplo ‘FINANCIAL ACCOUNTING’. Authoritation group: La autorización incluye bien S_DEVELOP (desarrollo y ejecución),

bien S_PROGRAM (mantenimiento), o los dos.

Package: Todos los objetos asignados a un mismo paquete se agrupan en una única orden de transporte. Si un objeto se asigna al paquete $TMP son privados (locales) y no se pueden transportar a otros sistemas. Una vez asignado un objeto a un package ya no se puede cambiar.

Diccionario ABAP: (SE11) Se encuentran y se definen los tipos de datos como: Dominios, estructuras, tablas, tablas de BD, etc. que podrán ser utilizados luego en cualquier programa ABAP. Dominio: Definición de las características técnica de los atributos (Tipo y longitud). Elemento de datos (data elements): Descripción semántica del dominio. Contiene la

suma del dominio y la descripción del campo Tabla: Conjunto definido de campos estructurados almacenada en el diccionario de

SAP. Puede ser “llenada” con información.Tipos de tablas: Transparente, Z/Y, Pool y ClusterTabla transparente: Propia del sistema.  Tabla Z / Y: Creadas por los desarrolladoresTablas Cluster: Las tablas clustered están físicamente agrupadas en clusters, basados en claves primarias en donde se almacenan datos de tipo transaccionales o de movimiento.Tabla Pool: Basado en búsqueda binaria. Se guardan junto a otras tablas SAP en una única tabla física de BDD. Mejorando el acceso a los registros. Guardan datos de sistema o de control.

Estructura: Es un conjunto de definiciones de campos almacenado en el diccionario de SAP. Una estructura nunca podrá “llenarse” con ningún registro de información asociada en la base de datos. Su uso se sitúa solamente dentro de la programación ABAP. La estructura es una unidad lógica, con un nombre que la identifica, y con la que se puede operar como si fuera una entidad única. Una estructura puede tener otras estructuras entre sus componentes.

Índices: Proporcionan accesos rápidos a los datos de las tablas para aquella selecciones usadas con mayor frecuencia. Todas las tablas de SAP tienen un índice primario, el cual se crea implícitamente a lo largo de que la tabla es usada forzando así que estos sean únicos, otros índices tienen que definirse y se llaman: “índices secundarios”

Vistas: tienen el mismo propósito que en la base de datos subyacente: estas definen un subconjunto de columnas desde una o más tablas usando condiciones join. Una vista es una tabla virtual que no contiene ningún dato físicamente. Ocupan muy poco espacio puesto que solo contienen la definición del dato.

Menú Painter: Se utiliza para diseñar los menús de usuario. Permite organizar los elementos de la superficie gráfica. Se especificará el contenido de la barra de menús, teclas de función y menús de acción.

Screen Painter: En ella se diseñan las pantallas (dynpros) para los programas de diálogo, así como la lógica de proceso para la verificación y proceso de los datos introducidos.

El usuario, al interactuar con la pantalla, ejecuta módulos de programación ABAP. Estos módulos reciben datos de la pantalla, los procesan y, o bien devuelven otros datos de vuelta a la pantalla, o interactúan con la base de datos.

Antes de desplegarse una pantalla se produce el PBO (Process Before Output). Cuando el usuario realiza alguna acción se produce el PAI (Process After Input). El PBO y el PAI son bloques de instrucciones.

Tipos de pantallas: Screen, Selection screen , Listas.

Las pantallas de SAP tienen los típicos elementos gráficos (campos, botones, casillas…). Cada elemento debe tener asignado un nombre y se almacena en la memoria interna del sistema. Se pueden enlazar estos elementos con los del diccionario ABAP. El contenido introducido en estos campos de la pantalla se asigna a las variables del programa con el mismo nombre. Cada pantalla activa unos módulos en la aplicación ABAP asociada a esa pantalla. El PBO de la aplicación prepara los campos de la pantalla, y el PAI procesa los datos introducidos por el usuario.

Pantallas de Selección: se usan fundamentalmente antes de acceder a una base de datos. Se declaran en la aplicación mediante instrucciones ABAP (PARAMETERS, SELECT-OPTIONS y SELECTION-SCREEN). El flujo lógico de la pantalla de selección se crea por defecto. Los elementos más importantes de una pantalla de selección son los campos para insertar bien valores individuales, o bien tablas enteras. Se pueden usar unos valores preseleccionados para estos campos (variants).

Para activar una pantalla de selección en una aplicación ABAP se usa la instrucción CALL SELECTION-SCREEN. En ese momento se ejecuta la pantalla de selección declarada al inicio de la aplicación.

Listas son pantallas que despliegan datos de forma ordenada. Lo único que puede enviar un sistema SAP a la cola de impresión son las listas. Para activar una lista en una aplicación ABAP usamos la instrucción LEAVE TO LIST-PROCESSING. En ese momento se ejecuta la lista declarada al inicio de la aplicación. El flujo lógico de la pantalla lo crea el sistema por defecto. Las listas permiten al usuario interactuar con el sistema (incluso introducir datos). Una sola aplicación puede desplegar hasta 21 listas principales. Cada lista principal puede desplegar hasta 20 listas detalladas. Para configurar una lista usamos las instrucciones WRITE, SKIP, ULINE, NEW-PAGE… El procesador de listas las interpreta.

Search help: La Ayuda para entradas (F4 ayuda) es una función estándar del Sistema R/3. El usuario puede visualizar la lista de todos los posibles valores de entrada para un campo de pantalla con la ayuda de entrada. Los posibles valores de entrada se visualizar con más información. Esto es especialmente significativo cuando el campo requiere la entrada de una clave formal.El usuario inicia la entrada de ayuda para mostrar los valores de entrada posibles para un campo (campo de búsqueda) en una plantilla de pantalla.

Generador de Funciones o grupos de función: Se utiliza para crear funciones que luego podrán ser usados en cualquier programa ABAP. También se definen los Funtion Pools (Grupos de Funciones) que agrupan funciones para un mismo propósito.

Módulos de función: Los módulos de funciones son objetos que realizan operaciones que pueden ser utilizadas en varios programas. Al crear un módulo de función con el código que realiza una operación, se evita tener que repetirlo en todos los programas que realicen esa operación añadiendo en ellos una llamada al módulo de función. Además de evitar que se repita el mismo código en diferentes programas, se facilita el mantenimiento del proceso, ya que las modificaciones que se realicen en un módulo de función afectan a todos los programas que lo utilicen. SAP dispone de un gran número de módulos de función predefinidos que se pueden utilizar en nuestros programas, a las que se añadirán los que se desarrollen a medida. Los módulos de función pertenecen a grupos de funciones, que los agrupan según su funcionalidad. Los módulos de funciones de un mismo grupo de funciones comparten las definiciones de datos globales.

Generador de Clases: En esta herramienta podemos definir clases globales para utilizarlas en los programas ABAP. Class: Las clases sólo pueden contener métodos. Se declaran con la instrucción CLASS-POOL y pueden contener una sola clase global y cuantas clases locales sean necesarias. Se pueden asignar códigos de transacción a los métodos dentro de una clase global, con lo que, al lanzarlos mediante el código, implícitamente se crea un objeto de esa clase. Para crear una clase podemos usar la herramienta Class Builder del banco de trabajo (Workbench).

Interfaces: Las interfaces no pueden incluir ni pantallas ni bloques. Son tan sólo una declaración de clase que puede ser implementada en cualquier otra clase (local o global). Se declaran mediante la instrucción INTERFACE-POOL y se crean mediante el Class Builder del Workbench.Obviamente bueno, si ya no nos escribimos te deseo linda tarde

Bsp applications: Es una completa aplicación funcional, como un clásico de transacciones SAP. Sin embargo, esta aplicación se ejecuta en un navegador Web en lugar de en el SAPGUI. HTTP o HTTPS es el protocolo utilizado para acceder a la aplicación a través de la red, permitiendo así el uso de productos estándar como firewalls y servidores proxy.El Business Server Pages programming model es similar a la tecnología de servidor de la página. El enfoque del modelo de programación de BSP son los puntos que aseguran la estructura óptima de las interfaces y la lógica de negocio.

Business Add-ins (impl defenitons) BADI: son complementos que permiten ampliar y mejorar el sistema. Facilitan la asignación de requisitos específicos en el proceso de negocio que no están incluidos en el paquete estándar de SAP.BADI se compone de dos partes: BADI definición e implementación BADI.

Definición BADI: proporciona un punto de salida en el código fuente de un objeto estándar SAP. Permite a los desarrolladores adjuntar código adicional al código estándar sin modificación del objeto original.

Ventajas del uso de BADI: SAP admite la compatibilidad de BADI en próximas versiones de SAP. No hay necesidad de notificar a SAP Software Registro de Cambio (SCCR) para modificar la versión estándar de los objetos SAP prestados. BADI puede tener aplicación diferente de acuerdo a los valores de filtro.

Tipos de BADI

Internal SAP: No podría haber una aplicación de cliente para este tipo de BADI. Se llevan a cabo sólo por SAP. Los usraios sólo pueden controlar la activación de este tipo de BADI con el código de transacción FIBF.

Multiple-Use BADI: Se puede utilizar Importación y Cambio de los parámetros. Orden en la que las implementaciones de BADI se llaman no pueden ser controladas técnicamente.

Filter Dependent BADI: BADI dependiente del filtro es aquel cuya implantación puede variar en función del valor del filtro. Una implementación de BADI definición deberá existir para cada valor de filtro. Más de un valor de filtro se puede referir a la ejecución misma.

Transacciones BADIs SE19 y SE18 son.

Parte 2: Pasos

EDITOR ABAP (SE38 CREAR UN PROGRAMA)

Teclear la transacción SE38, pulsar Enter y se desplegará la pantalla inicial del editor ABAP.

Colocar el nombre del programa, para este ejemplo "ZHOLAMUNDO". Clic en el botón Create o

Crear

El siguiente paso es configurar los atributos del programa. En "Title" colocar un texto descriptivo del programa para el ejemplo: "Mi primer programa-Hola Mundo". En el apartado de "Type"

Seleccionar la opción "Executable program”, en el "Status” elegir "System Program" Finalmente

dar click en el botón Save

Ingresar el paquete y clcik en guardar

Colocar la transacción y click en ok

Se desplegará en pantalla el editor de Abap, para activarlo dar clic en ícono Edit. . Colocar la

sentencia : write 'hola mundo'. Ahora se debe Activar el programa dando clic en el ícono que parece un cerillo (fósforo) o también puedes presionar ctrl+F3.

Una vez Activado, ejecutar el report. Hacemos click en el icono ejecutar que está a la derecha del cerillo o presionar F8.

Diccionario ABAP: (SE11 definir dominos, elementos de datos, tablas, índices, vistas)

Dominio: Teclear la transacción SE11, Seleccionar la opción “Domain” escribir el nombre del dominio (iniciando con Z), para este ejemplo, ”Zejemplo_dominio” dar click en el botón Create o

crear.

En la siguiente pantalla completar los campos “descripción” “Texto descriptivo del dominio creado”, “Data Type”, “No. Characters”, esto dependerá de las características del atributo.

Proceder a Guardar , asignar transacción con su respectiva orden de transporte. Finalmente

Activar y el dominio estará listo para usarlo en un elemento de datos que es el siguiente tema.

REFERENCIAS ELECTRÓNICAS

Herramientas Abap: http://www.todoabap.com.ar/abap_workbench.html

Editor abap: http://abapdesdecero.blogspot.mx/

Características del Editor: http://www.teknodatips.com.ar/sap-netweaver/9-como-usar-el-nuevo-editor-y-debugger-abap.html

Conceptos: http://es.wikipedia.org/wiki/ABAP

BAPIS: http://techsamosa.com/blogs/2011/08/17/enhancements-with-business-add-ins-badi/

Creación de tablas y estructuras: http://www.blogdesap.com/2011/05/crear-tablas-transparentes-y.html