remote function calls
TRANSCRIPT
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).