Remote Function CALLS

También podría gustarte

Está en la página 1de 15

BAPIs

1-15

Leccin 1 Introduccin
Cada vez est ms extendido y es ms necesario la definicin y uso de escenarios distribuidos en los procesos de negocio (cross system bussiness processes). Un ejemplo lo encontramos en el caso delos recursos humanos. Los sistemas de Recursos Humanos (an y ser un sistema SAP) es muy habitual que estn separados del resto de sistemas logstico y financiero. Pero es claro ambos sistemas (Recursos Humanos y Financiero) necesitan estar interconectados: la contabilizacin de la nmina y los gastos de viaje se han de contabilizar en el sistema financiero, los centros de coste asignados a los empleados estn creados en el sistema financiero. Histricamente estas interconexiones se resolvan mediante interfase batch, que se ejecutaban peridicamente. Esta solucin generaba duplicidad, inconsistencia y retrasos en los datos. Justamente SAP R/3 naci de la necesidad de integrar los procesos y eliminar estos problemas. Por ello se han desarrollado tecnologas y herramientas de interconexin de sistemas que permiten realizar estos flujos de datos en tiempo real y como si se tratara de un nico sistema fsico.

BAPIs

2-15

Leccin 2 Aplication Link Enable (ALE)


ALE permite crear y operar aplicaciones de forma distribuida, el objetivo es asegurar el funcionamiento de un sistema distribuido pero a la vez integrado. Esto incluye intercambio de mensajes y su control ente sistemas interconectados. La integracin de las aplicaciones se realiza mediante comunicaciones sncronas (en tiempo real) o asncronas (procesos batch) no compartiendo una nica base de datos. Los sistemas interconectados mediante ALE pueden ser de una misma compaa o de varias compaas. Una de las caractersticas del ALE es la de permitir que diferentes sistemas se conecten usando trminos de negocio, dejando los aspectos tcnicos en un segundo nivel, mediante una transferencia de datos segura y consistente.

Distribucin de procesos en ALE

Para poder definir un proceso de ALE es necesario identificar los siguientes puntos: 1. Identificar el proceso de negocio y los objetos involucrados. 2. Identificar la informacin a transmitir
BAPIs 3-15

3. Definir

el formato de los datos

4. Acordar la tecnologa de transmisin 5. Identificar los sistemas emisores y receptores de la informacin

Muchos de los escenarios ALE definidos en el sistema SAP estn vinculados a objetos de negocio y sus Bussiness Application Programming interfaces (BAPIs). Una BAPI es un mtodo de un objeto de negocio. Por ejemplo en el caso del objeto de negocio Material una mtodo admisible para ser usado como BAPI podra ser BAPIs. Existen dos tipos bsicos de transferencia de datos: sncrona y asncrona. Las transferencias sncronas realizan la transferencia de datos en el mismo momento de la creacin o modificacin. realizarse peridicamente Las transferencias asncronas se planificacin para (diarias, semanales,...) y son lo ms parecido a los crear o modificar los datos de un material. Normalmente todos los atributos de un objeto de negocio pueden ser tratados con

escenarios de integracin de tradicionales con ficheros. SAP R/3 lleva ya predefinidos y listos para su activacin y uso un gran nmero de escenarios ALE que intentan cubrir las necesidades de negocio ms habituales en los tres mdulos existentes. (Recursos Humanos, logstica y fianzas). De todos modos podemos definir nuevos escenarios ampliando los objetos de negocio y BAPIs

BAPIs

4-15

Vista Customizing ALE: Escenarios pre-definidos

BAPIs

5-15

Leccin 3 Remote Function Calls


Un Remote Function Call (RFC) es la definicin de interfases basadas en CPI-C y TCP/IP. Esto facilita la programacin de procesos de comunicacin entre diferentes sistemas. Una comunicacin RFC permite ejecutar funciones predefinidas entre sistemas remotos o entre mandantes del mismo sistema SAP R/3. El RFC gestiona el proceso de comunicacin, la transferencia de parmetros y la gestin de errores. EL RFC describe una interconexin en al que la funcin se ejecuta. Las RFC tambin permite ejecutar funciones contra sistemas no-SAP. En la comunicacin entre sistemas SAP, el sistema que realiza la llamada usa una definicin RFC del sistema llamado para acceder a una funcin de este. Esta funcin acostumbra a ser un mdulo de funciones habilitado para ejecuciones remotas.

BAPIs

6-15

En la pestaa de atributos de un mdulo de funciones (transaccin SE37) se habilita el acceso remoto.

Los mdulos de funciones marcados como de acceso remoto tiene un parmetro adicional para indicar la conexin RFC que hay que usar. Si se deja en blanco se entiende que se quiere realizar una llamada local del mdulo de funciones.

Parmetro adicional para indicar sistema destino

En la comunicacin con sistemas no-SAP es necesario disponer de un RFC externa en el sistema destino, esto se puede conseguir por ejemplo con una Dynamic Link Library (DLL).

BAPIs

7-15

Posibilidades de conexin RFC

Las interfase RFC son bi-direccionales por lo que permiten la comunicacin en sentido contrario de un sistema no-SAP hacia un sistema SAP. A la gestin de destinos RFC se accede desde la transaccin SM59.

Pantalla de definicin de una conexin RFC (definicin IP de destino)

BAPIs

8-15

Pantalla de definicin de una conexin RFC (datos de conexin)

La conexin RFC DESTINO no hace referencia aun sistema fsico sino a un sistema lgico, las conexiones RFC apuntan a un mandante dentro de un sistema SAP. Este trmino de sistema lgico tambin se usa en la definicin de escenarios ALE.

Esto hace que sea necesario para establecer comunicacin todos los mandantes de un sistema destino tantas conexiones RFC en el sistema origen como mandantes tenga el sistema destino.

Si la conexin ha de ser tambin en el sentido inverso es necesario crear definiciones RFC anlogas en el sistema destino. Una definicin RFC es independiente de mandante, as puede ser usada en todos los mandantes del sistema en la que se define.

Si en la definicin RFC no se especifica un usuario y password de conexin ser necesario pasar esta informacin cuando se establece la conexin.

BAPIs

9-15

Leccin 4 BAPIs
Un Business Application Programming Interface (BAPI) es un programa con la interfase estandarizada para facilitar el acceso interno (mismo sistema SAP) como externo (otros sistemas SAP y n-SAP va RFC) a procesos de negocio y datos del sistema SAP. El Repositorio de Objetos de Negocios o Business Object Repository (BOR) de SAP contiene todos los objetos de negocios. Se define como objeto de negocio una clase y le corresponde una tabla o una jerarqua de tablas.

Business Object Repository (BOR)

Un objeto de negocios utiliza BAPIs (Business Application Programming Interfaces) como mtodos.

BAPIs

10-15

Se puede ordenar a las BAPIs acceder a las tablas correspondientes. Por lo tanto, una BAPI es el medio de acceso a los datos del sistema de SAP. Las BAPIs existen generalmente para funciones bsicas de un objeto de negocios, por ejemplo: Crear un objeto Recuperar los atributos de un objeto Cambiar los atributos de un objeto Listar los objetos

Las funciones de una BAPI estn encapsuladas en un mdulo de funciones que puede ser ejecutado remotamente. Por lo tanto, las BAPIS se pueden ejecutar por programas de ABAP del mismo sistema as como por programas externos.

Usos de las BAPIs


Las BAPIs son utilizadas por: Conectar procesos de negocia a travs de distintos sistemas (escenarios ALE) Para integrar soluciones SAP dentro del entorno de mySAP Bussiness Suite. Para conectar los sistemas SAP a Internet En las tareas de SAP Bussiness Workflow. Para conectar a programas externos (JAVA, Visual Basic,...)

BAPIs

11-15

Usos de las BAPIs

Caractersticas de las BAPIs

Caractersticas de las BAPIs

BAPIs

12-15

Los mdulos de funciones para BAPIs deben cumplir los siguientes requerimientos tcnicos: Nombrar la BAPI de esta forma: BAPI_<nombre_objeto_negocio>_<nombre_mtodo> Acceso remoto No contener ni dilogos ni mensajes Los parmetros de la interfaz deben ser componentes de estructuras del

diccionario ABAP que fueron creados para esta BAPI No deben contener ningn parmetro changing hasta la versin 4.6 No se debe desencadenar ninguna excepcin: los errores se avisan al usuario mediante parmetros export RETURN.

Trabajando con BAPIs


Las BAPIs estn definidas en el Repositorio de Objetos de Negocios o Business Object Repository (BOR) como mtodos de los objetos de negocio SAP. El BOR nos permite disponer de una visin orientada objetos de las entidades de negocio de SAP.

Las

funciones

que

se

pueden

llamar

como

BAPIs

normalmente

estn

implementadas y almacenadas en el Editor de Funciones Workbench como mdulos de funciones habilitados para acceso remoto. En el explorador de BAPIs se muestran los objetos de negocio as como su correspondiente BAPI. Para ir al explorador de BAPIs se puede acceder mediante el siguiente men de SAP: Herramientas Business Framework BAPI Explorer, o mediante la transaccin BAPI.

BAPIs

13-15

Transaccin BAPI: Vista jerrquica de objetos de negocio

Esta transaccin nos muestra en su parte izquierda todos los objeto s de negocio disponible ordenados segn rea funcional o bien alfabticamente. De cada objeto nos muestra todos los mtodos (BAPIs disponibles) y en la parte derecha de la pantalla detalle del objeto seleccionado en el rbol jerrquico. As podemos obtener documentacin del objeto o de los mtodos seleccionando el objeto o uno de sus mtodos respectivamente.
Una vez se haya encontrado la BAPI necesaria, se pueden mostrar sus detalles en la parte derecha de la pantalla seleccionando la BAPI. Haciendo doble clic encima del mdulo de funciones se puede navegar al Function Builder.

BAPIs

14-15

Transaccin BAPI: detalles tcnicos mtodo

En el detalle tcnico de un mtodo podemos ver en el campo Function Module el nombre de la funcin BAPI que implementa el mtodo, en el caso de la imagen anterior BAPI_TRIP_APPROVE. Si se quiere utilizar una BAPI en el mismo sistema SAP, se puede llamar al mdulo de funciones que la contiene. Se tiene que tener en cuenta las restricciones ya mencionadas. Consejo: Las interfases de la BAPI se crean teniendo en cuenta los requerimientos de la llamada externa, es decir, de un sistema no-SAP. Por lo tanto, las cantidades se esperan en un formato externo con 4 o 9 decimales. Durante la llamada las cantidades deben ser transferidas a la interfaz en un formato convertido de forma apropiada, incluso si la correspondiente moneda no tiene decimales. Para esta conversin o re-conversin se pueden utilizar mdulos de funciones del grupo de funciones BACV (paquete SBF_BAPI).

BAPIs

15-15

También podría gustarte