Thursday, November 15, 2007

Tipos de Transacciones SAP

Por pedido del público, voy a hacer un resumen de los tipos de transacciones en SAP:

Transacciones de Diálogo

Son las transacciones más comunes dentro del estándar de SAP. Estas transacciones están ligadas a una Dynpro (pantalla) de un programa ABAP. Al llamar a estas transacciones, se carga el programa ABAP y se llama a la Dynpro. De esta manera, una transacción de diálogo llama a una secuencia de pantallas más que a un programa. Sólo durante la lógica de las pantallas se llaman efectivamente los módulos de diálogo del programa. De hecho, se pueden asignar diferentes transacciones de diálogo al mismo programa.


Transacciones de Parámetros

Estas transacciones son llamadas a otras transacciones existentes con parámetros de entrada. Es decir que son llamadas a transacciones con parámetros definidos, pudiendo omitir la pantalla inicial de la transacción original.


Transacciones de Variantes

Son transacciones ya existentes llamadas con una variante anteriormente creada. Al acceder a una transacción de variante, se ejecuta la transacción subyacente con la variante en cuestión. En las variantes se pueden definir valores para los diferentes valores de las diferentes pantallas, cambiar los atributos de los elementos de pantalla, etc. Las transacciones de variante se mantienen con la transacción SHD0.


Transacciones de Reporte

Son transacciones que llaman a un Reporte ABAP. La transacción se debe mapear con la pantalla de selección de un programa ejecutable. Internamente, cuando se llama a este tipo de transacciones el sistema ejecuta un SUBMIT al programa ejecutable.


Transacciones Orientadas a Objetos (OO Transactions)

Este tipo de transacciones apareció en la versión 6.10 de SAP. La transacción está linkeada a un método de una clase local o global. Cuando se llama a la transacción se carga el programa correspondiente.

En el siguiente link tiene más información acerca de las transacciones, tipos programas y ejemplos de código ABAP:

Ejemplos de ABAP

Sunday, November 4, 2007

BADI's (Business ADd Ins)

Las BADI's (Business ADd Ins) son un nuevo tipo de extensión al sistema SAP basado en ABAP Objetcs. El objetivo de los mismos es cumplir con los requerimientos del cliente permitiendo agregar nuevas funcionalidades dentro del código estándar de SAP.
De la misma manera que con los User Exit's, las BADI's tienen dos vistas: la de definición y la de implementación. Mediante la transacción SE18 accedemos a la Definición de las BADI's. Allí se puede ver las características de la misma: parámetros de entrada, salida, tipo de BADI, etc. En la Implementación de la BADI, a la que se accede mediante la transacción SE19, se pueden ver todas las implementaciones que existan de una BADI determinada.

La definición de las BADI's viene definida en el sistema estándar (muy pocas veces es necesario crear una nueva definición para una BADI). En la definición se indica si la BADI es de implementación simple (se puede utilizar sólo una vez, como los User Exits) o múltiple (pueden existir varias implementaciones activas de la misma BADI en el mismo sistema). Además, se pueden definir filtros para la ejecución de la misma permitiendo de esta forma tener diferentes procesos para, por ejemplo, países diferentes. Esto le permite a SAP poder utilizar las BADI's para realizar localizaciones del sistema; por eso es que el sistema estándar ya incluye varias implementaciones de BADI's.

Mediante las implementaciones de BADI's también se pueden hacer aplicaciones para negocios específicos (papeleras, petroleras, químicas, etc). Esto hace que las BADI's sean muy útiles. Esto es así porque a diferencia de los User Exits las BADI's poseen una arquitectura Multicapa (SAP, partners, soluciones de clientes, localizaciones, soluciones específicas para industrias, etc); los User Exits son doble capa únicamente (SAP y soluciones de cliente).

En www.todoabap.com.ar van a encontrar métodos para encontrar las BADI's de una transacción o programa.