Remote Function CALLS

16
  BAPIs 1-15

Transcript of Remote Function CALLS

5/15/2018 Remote Function CALLS - slidepdf.com

http://slidepdf.com/reader/full/remote-function-calls 1/15

 

 

BAPIs 1-15 

5/15/2018 Remote Function CALLS - slidepdf.com

http://slidepdf.com/reader/full/remote-function-calls 2/15

 

 

BAPIs 2-15 

L e c c i ó n 1

I n t r o d u c c i ó n

Cada vez está más extendido y es más necesario la definición 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 (aún y ser un sistema SAP) es muy habitual que estén

separados del resto de sistemas logístico y financiero. Pero es claro ambos sistemas

(Recursos Humanos y Financiero) necesitan estar interconectados: la

contabilización de la nómina y los gastos de viaje se han de contabilizar en el

sistema financiero, los centros de coste asignados a los empleados están creados

en el sistema financiero.

Históricamente estas interconexiones se resolvían mediante interfase batch, que se

ejecutaban periódicamente. Esta solución generaba duplicidad, inconsistencia y

retrasos en los datos. Justamente SAP R/3 nació de la necesidad de integrar losprocesos y eliminar estos problemas. Por ello se han desarrollado tecnologías y

herramientas de interconexión de sistemas que permiten realizar estos flujos de

datos en tiempo real y como si se tratara de un único sistema físico.

5/15/2018 Remote Function CALLS - slidepdf.com

http://slidepdf.com/reader/full/remote-function-calls 3/15

 

 

BAPIs 3-15 

L e c c i ó n 2

A p l i c a t i o n L i n k E n a b l e ( A L E)

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 integración de las aplicaciones se realiza mediante comunicaciones síncronas (en

tiempo real) o asíncronas (procesos batch) no compartiendo una única base de

datos.

Los sistemas interconectados mediante ALE pueden ser de una misma compañía o

de varias compañías. Una de las características del ALE es la de permitir que

diferentes sistemas se conecten usando términos de negocio, dejando los aspectos

técnicos en un segundo nivel, mediante una transferencia de datos segura y

consistente.

Distribución 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 información a transmitir

5/15/2018 Remote Function CALLS - slidepdf.com

http://slidepdf.com/reader/full/remote-function-calls 4/15

 

 

BAPIs 4-15 

3.  Definir el formato de los datos

4.  Acordar la tecnología de transmisión

5.  Identificar los sistemas emisores y receptores de la información

Muchos de los escenarios ALE definidos en el sistema SAP están vinculados a

objetos de negocio y sus Bussiness Application Programming interfaces (BAPIs).

Una BAPI es un método de un objeto de negocio.

Por ejemplo en el caso del objeto de negocio Material  una método admisible paraser usado como BAPI podría ser crear o modificar los datos de un material .

Normalmente todos los atributos de un objeto de negocio pueden ser tratados con

BAPIs.

Existen dos tipos básicos de transferencia de datos: síncrona y asíncrona. Las

transferencias síncronas realizan la transferencia de datos en el mismo momento de

la creación o modificación. Las transferencias asíncronas se planificación para

realizarse periódicamente (diarias, semanales,...) y son lo más parecido a los

escenarios de integración de tradicionales con ficheros.

SAP R/3 lleva ya predefinidos y listos para su activación y uso un gran número de

escenarios ALE que intentan cubrir las necesidades de negocio más habituales en

los tres módulos (Recursos Humanos, logística y fianzas). De todos modos

podemos definir nuevos escenarios ampliando los objetos de negocio y BAPIs

existentes.

5/15/2018 Remote Function CALLS - slidepdf.com

http://slidepdf.com/reader/full/remote-function-calls 5/15

 

 

BAPIs 5-15 

Vista Customizing ALE: Escenarios pre-definidos

5/15/2018 Remote Function CALLS - slidepdf.com

http://slidepdf.com/reader/full/remote-function-calls 6/15

 

 

BAPIs 6-15 

L e c c i ó n 3

R e m o t e F u n c t i o n C a l l s

Un Remote Function Call (RFC) es la definición de interfases basadas en CPI-C y

TCP/IP. Esto facilita la programación de procesos de comunicación entre diferentes

sistemas.

Una comunicación RFC permite ejecutar funciones predefinidas entre sistemas

remotos o entre mandantes del mismo sistema SAP R/3. El RFC gestiona el proceso

de comunicación, la transferencia de parámetros y la gestión de errores.

EL RFC describe una interconexión en al que la función se ejecuta. Las RFC también

permite ejecutar funciones contra sistemas no-SAP.

En la comunicac ión en t re s is temas SAP, el sistema que realiza la llamada usa

una definición RFC del sistema llamado para acceder a una función de este. Esta

función acostumbra a ser un módulo de funciones habilitado para ejecuciones

remotas. 

5/15/2018 Remote Function CALLS - slidepdf.com

http://slidepdf.com/reader/full/remote-function-calls 7/15

 

 

BAPIs 7-15 

En la pestaña de atributos de un módulo de funciones (transacción SE37) se habilita el acceso remoto.

Los módulos de funciones marcados como de acceso remoto tiene un parámetro

adicional para indicar la conexión RFC que hay que usar. Si se deja en blanco se

entiende que se quiere realizar una llamada local del módulo de funciones.

Parámetro adicional para indicar sistema destino

En la comunicac ión con s is temas 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).

5/15/2018 Remote Function CALLS - slidepdf.com

http://slidepdf.com/reader/full/remote-function-calls 8/15

 

 

BAPIs 8-15 

Posibilidades de conexión RFC

Las interfase RFC son bi-direccionales por lo que permiten la comunicación en

sentido contrario de un sistema no-SAP hacia un sistema SAP.

A la gestión de destinos RFC se accede desde la transacción SM59 .

Pantalla de definición de una conexión RFC (definición IP de destino)

5/15/2018 Remote Function CALLS - slidepdf.com

http://slidepdf.com/reader/full/remote-function-calls 9/15

 

 

BAPIs 9-15 

Pantalla de definición de una conexión RFC (datos de conexión)

La conexión RFC “DESTINO” no hace referencia aun sistema físico sino a un

s is tema lóg ico , las conexiones RFC apuntan a un mandante dentro de un sistema

SAP. Este término de sistema lógico también se usa en la definición de escenarios

ALE.

Esto hace que sea necesario para establecer comunicación todos los mandantes de

un sistema destino tantas conexiones RFC en el sistema origen como mandantes

tenga el sistema destino.

Si la conexión ha de ser también en el sentido inverso es necesario crear

definiciones RFC análogas en el sistema destino. Una definición RFC es

independiente de mandante, así puede ser usada en todos los mandantes del

sistema en la que se define.

Si en la definición RFC no se especifica un usuario y password de conexión será

necesario pasar esta información cuando se establece la conexión.

5/15/2018 Remote Function CALLS - slidepdf.com

http://slidepdf.com/reader/full/remote-function-calls 10/15

 

 

BAPIs 10-15 

L e c c i ó n 4

B A P I s

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 vía RFC) a procesos de negocio y datos del

sistema SAP.

El Repositorio de Objetos de Negocios o Business Ob ject Repos i to r y ( BOR) de

SAP contiene todos los objetos de negocios. Se define como objeto de negocio una

clase y le corresponde una tabla o una jerarquía de tablas.

Business Object Repository (BOR)

Un objeto de negocios utiliza BAPI s (Business Application Programming Interfaces)

como métodos.

5/15/2018 Remote Function CALLS - slidepdf.com

http://slidepdf.com/reader/full/remote-function-calls 11/15

 

 

BAPIs 11-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 básicas 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 están encapsuladas en un módulo 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 BAPI s

Las BAPIs son utilizadas por:

•  Conectar procesos de negocia a través 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,...)

5/15/2018 Remote Function CALLS - slidepdf.com

http://slidepdf.com/reader/full/remote-function-calls 12/15

 

 

BAPIs 12-15 

Usos de las BAPIs

Características de las BAPIs

Características de las BAPIs

5/15/2018 Remote Function CALLS - slidepdf.com

http://slidepdf.com/reader/full/remote-function-calls 13/15

 

 

BAPIs 13-15 

Los módulos de funciones para BAPIs deben cumplir los siguientes requerimientos

técnicos:

•  Nombrar la BAPI de esta forma:

•  BAPI _  <nombre_objeto_negocio> _ <nombre_método>

•  Acceso remoto

•  No contener ni diálogos ni mensajes

•  Los parámetros de la interfaz deben ser componentes de estructuras del

diccionario ABAP que fueron creados para esta BAPI

•  No deben contener ningún parámetro changing hasta la versión 4.6

•  No se debe desencadenar ninguna excepción: los errores se avisan al

usuario mediante parámetros export  RETURN.

Traba jando con BAPI s

Las BAPIs están definidas en el Repositorio de Objetos de Negocios o Business

Object Repos i to ry (BOR) como métodos de los objetos de negocio SAP. El BOR

nos permite disponer de una visión orientada objetos de las entidades de negocio

de SAP.

Las funciones que se pueden llamar como BAPIs normalmente están

implementadas y almacenadas en el Editor de Funciones Workbench como módulos

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

transacción BAPI .

5/15/2018 Remote Function CALLS - slidepdf.com

http://slidepdf.com/reader/full/remote-function-calls 14/15

 

 

BAPIs 14-15 

Transacción BAPI: Vista jerárquica de objetos de negocio

Esta transacción nos muestra en su parte izquierda todos los objeto s de negocio

disponible ordenados según área funcional o bien alfabéticamente. De cada objeto nos

muestra todos los métodos (BAPIs disponibles) y en la parte derecha de la pantalla

detalle del objeto seleccionado en el árbol jerárquico. Así podemos obtener

documentación del objeto o de los métodos seleccionando el objeto o uno de sus

métodos 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 módulo de funciones se puede navegar al Function Builder . 

5/15/2018 Remote Function CALLS - slidepdf.com

http://slidepdf.com/reader/full/remote-function-calls 15/15

 

 

BAPIs 15-15 

Transacción BAPI: detalles técnicos método

En el detalle técnico de un método podemos ver en el campo Function Module  el

nombre de la función BAPI que implementa el método, en el caso de la imagen

anterior BAPI_TRIP_APPROVE. Si se quiere utilizar una BAPI en el mismo sistemaSAP, se puede llamar al módulo 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 conversión o re-conversión se pueden utilizar módulos de funciones del

grupo de funciones BACV (paquete SBF_BAPI).