0% encontró este documento útil (0 votos)
82 vistas21 páginas

Api Rest RFC Po Sap

API REST RFC PO SAP
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
82 vistas21 páginas

Api Rest RFC Po Sap

API REST RFC PO SAP
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 21

SAP XI / PI / PO - Exposición

de RFC como API REST en


SAP XI / PI / PO - Desarrollo
de interfaz síncrona de
extremo a extremo
Por
Subin Sudhakaran
-
9 de julio de 2021
0
420

En uno de nuestros artículos anteriores, aprendimos cómo exponer los


servicios de OData e implementar oAuth2.0 en SAP PO . En este tutorial
detallado, explicaremos el procedimiento paso a paso sobre cómo exponer
RFC como una API REST en SAP PI / PO mediante el desarrollo de
una interfaz síncrona desde cero , en la que una vez que recibamos la
solicitud a través de la API REST, ejecutaremos RFC en el sistema backend
(SAP ECC) a través del cual obtendremos la respuesta, que luego se enviará
de vuelta al Cliente REST en la misma comunicación síncrona.
Nota: Para fines de aprendizaje, utilizaremos un RFC estándar
" BAPI_CUSTOMER_GETDETAIL2 ", que devolvería los detalles del cliente
al pasar el código de cliente.

En resumen, a continuación se muestra el


contenido que elaboraremos en este
tutorial:
1. Cree objetos de mapeo e interfaz en ESR importando RFC a PI
desde el sistema ECC.
2. Cree UDF para capturar el código del cliente en el mapeo y
enrutelo a RFC importado.
3. Crear canal de RFC emisor REST y receptor.
4. Cree una configuración integrada importando el mapeo de
operaciones.
5. Pruebas en POSTMAN
Diagrama de escenario:

El diagrama anterior es suficiente para abordar el flujo del proceso. En


términos simples, REST API aceptará ID de cliente (en formato JSON), una
vez que lo recibamos en formato JSON lo convertiremos en XML y lo
asignaremos a BAPI en RFC y ejecutaremos BAPI a través del canal RFC al
sistema ECC. Una vez ejecutado BAPI, en la respuesta recibiremos los
detalles del cliente (en formato XML) y los enviaremos al sistema de origen
(en este caso, POSTMAN).

Objetos a crear en ESR:


Tipo de objeto Nombre del objeto

DT_REQ
Tipo de datos
DT_RESP

MT_REQ
Tipo de mensaje
MT_RESP

Interfaz de servicio SI_SYNC_REQ_RESP_CustomerDetails_Out

MM_REQ_CustomerID_2_BAPI_Request
Asignación de mensajes
MM_RESP_BAPI_Response_2_CustomerDetails

Mapeo de operaciones OM_REQ_RESP_Sync

ECC BAPI BAPI_CUSTOMER_GETDETAIL2

URL de la API REST http: // <host>: <puerto> / RESTAdapter / custDetails / 8321

1) Tipo de datos
Solicitar tipo de datos
Tipo de datos de respuesta

2) Tipo de mensaje
Solicitar tipo de mensaje
Tipo de mensaje de respuesta

3) Interfaz de servicio: saliente


4) Importación de RFC a PI
Para importar RFC a PI, se deben seguir los siguientes pasos:

una. Haga doble clic en la versión del componente de software


correspondiente -> MODO DE EDICIÓN -> Seleccione la casilla de
verificación OBJETOS SON MODIFICABLES y complete los detalles del
sistema ECC.

 Nombre del sistema


 Cliente
 Servidor de mensajes
B. Haga clic derecho en "OBJETOS IMPORTADOS" y haga clic en "IMPORTAR
OBJETOS SAP", que mostrará una ventana emergente.

C. En la ventana emergente, ingrese la información de inicio de sesión del


sistema ECC.

 Servidor de aplicaciones
 Número de sistema
 Nombre de usuario
 Contraseña (no credenciales de PI, es necesario ingresar las
credenciales de ECC donde reside BAPI)
D. Una vez que haya iniciado sesión correctamente, haga clic en el RFC y
busque la BAPI requerida y haga clic en Continuar y finalizar.

mi. Una vez importado, no olvide ACTIVAR.


5) Mapeo de mensajes
Seleccionaremos el mensaje de origen como tipo de mensaje de solicitud y
el mensaje de destino en RFC_Request.

Mapearemos el código del cliente que se pasa en la URL REST a PI a través


de la configuración dinámica. Por lo tanto, necesitamos crear UDF.

En el área de vista de mapeo gráfico, haga clic en el icono similar a una


nota (esquina inferior izquierda) para crear una UDF con 2 argumentos.
Agrega el siguiente código.

String custId = "";

try {

// get the dynamic configuration instance


DynamicConfiguration config = (DynamicConfiguration)
container.getTransformationParameters().get(StreamTransformation
Constants.DYNAMIC_CONFIGURATION);

// define key to read from the dynamic configuration

DynamicConfigurationKey key1 =
DynamicConfigurationKey.create(namespace,keyName);

// Read filename parameter from dynamic configuration based on


the key

custId = config.get(key1);

}catch(Exception ee){}

return custId;
Ahora mapee las dos constantes como a continuación, que agregamos
como argumentos en UDF.

Parámetro de entrada 1 - CustomerID

Parámetro de entrada 2 - http://sap.com/xi/XI/System/REST

Asigne la UDF al nodo de destino de ID de cliente. Por lo tanto, durante el


tiempo de ejecución, la ID del cliente en la URL REST se asigna al nodo de
destino a través de la configuración dinámica que completamos ahora.
NOTA: Esto por sí solo no funcionará, debemos configurar el ID de cliente
como ID de REST en la configuración del canal del remitente, que
cubriremos al configurar los canales de comunicación.

Asigne el código de la compañía a una constante o con el valor del código


de la compañía, si no está asignado, mientras que el sistema de tiempo de
ejecución arrojará un error.

Mapeo de mensajes de respuesta:

Mapearemos la estructura de respuesta de BAPI con el tipo de mensaje de


respuesta. El código de cliente será un mapeo uno a uno, el nombre del
cliente y la dirección serán concatenación de NOMBRE y NOMBRE2, PAÍS y
CIUDAD.
6) Mapeo de operaciones
Operación de origen: interfaz de servicio de salida donde asignamos los
tipos de mensajes de solicitud y respuesta.

Operación de destino: BAPI RFC

Una vez seleccionada la BAPI y la interfaz de servicio, haga clic en el botón


LEER OPERACIONES, para generar la pestaña de solicitud y respuesta,
donde podemos importar el mapeo del mensaje de solicitud y respuesta.
Objetos que se crearán en ID:

7) Canal de comunicación del remitente -


DESCANSO
TEST_CC_REST_SND_CustomerDetails

Seleccione el protocolo de mensaje para DESCANSAR

Ficha general :
Como los datos de entrada estarán en formato JSON, seleccionaremos
Formato de datos como JSON y seleccionaremos la casilla de verificación
"convertir a xml".

"Registrar mensaje JSON": para registrar la carga útil en la supervisión de PI

“Agregar elemento contenedor”: proporcione el nombre y el espacio de


nombres del tipo de mensaje de solicitud. Una vez que la carga útil JSON se
convierte a XML, el elemento contenedor MESSAGE TYPE se agregará a la
capa externa.

Seleccione la Calidad de servicio para MEJOR ESFUERZO ya que es una


interfaz síncrona. Para el formato de mensaje de RESPUESTA, se puede
seleccionar XML o si el extremo del receptor acepta solo JSON, se puede
seleccionar el mismo.

Pestaña de selección de canal:

En la pestaña de selección de canal, el único detalle que necesitamos


especificar es el punto final de la URL.
Este es el punto final que aparecerá después de .. http: // <host>: <port> /
RESTAdapter / custDetails
Pestaña Recursos de descanso:

Ya que vamos a pasar el ID de cliente a través de la configuración


dinámica, lo que hicimos anteriormente. También debemos mencionar el
nombre del parámetro en el canal REST.

Pestaña Operación de descanso:

Déjelo como está - Operación HTTP

Pestaña de determinación de operación:

Esta pestaña es aplicable solo para interfaces de sincronización, donde


debemos mencionar los detalles de la interfaz de respuesta, como a través
de qué interfaz de servicio y operación se realiza.
En la pestaña Operación REST, se mencionará el nombre de la variable de
operación, que necesitaremos especificar en la columna de variable.

Expresión será la operación realizada.

Operation es el nombre de la interfaz de servicio y su espacio de nombres


correspondiente.

El resto de las dos pestañas está intacto.

8) Canal de comunicación del receptor -


RFC
TEST_CC_RFC_RCV_CustomerDetails

En el receptor RFC necesitamos especificar los detalles del sistema ECC:

 Tipo de servidor RFC: sistema SAP


 Servidor de aplicaciones
 Número de sistema - 00
 Modo de autenticación: utilice los datos de inicio de sesión del
sistema SAP
 Usuario de inicio de sesión
 Contraseña de inicio de sesión
 Idioma de inicio de sesión
 Cliente de inicio de sesión
9) Configuración integrada
Importar el canal de comunicación emisor y receptor con el mapeo de
operaciones desarrollado en ESR.

En la pestaña de configuración avanzada, en Estadificación y registro,


seleccione USAR CONFIGURACIÓN ESPECÍFICA DEL ESCENARIO y seleccione
la opción "Almacenar" y "Registro" para ver las cargas útiles de la versión
en la pantalla de monitoreo PI.
10) Prueba en POSTMAN
Antes de comenzar la prueba, verifique la solicitud y la respuesta en ECC
para la BAPI que seleccionamos. En el sistema ECC, vaya a SE37 -> Ingrese
“BAPI_CUSTOMER_GETDETAIL2” y haga clic en ejecutar.

Respuesta:
Capaz de recibir respuesta. Estamos listos para irnos.

Primero genere la URL de la API REST:

http: // <host>: <puerto> / RESTAdapter / custDetails / {customerID}

* custDetails: extremo de URL que proporcionamos en la configuración del


CANAL DE ENVIADOR DE RESTO.

* ID de cliente: código de cliente que podemos proporcionar para el cual el


ECC puede enviar una respuesta.

Pegue esta URL y seleccione POST.

Debajo del cuerpo, adjunte la siguiente carga útil en formato JSON.

"CustomerID": 8321
}

Proporcione el nombre de usuario y la contraseña de PI en la pestaña AUTH.

Haga clic en ENVIAR para ver la respuesta.


Tan simple como eso !!!. Espero que hayas aprendido algo nuevo siguiendo
esta publicación. Compartiremos más tutoriales y series de aprendizaje
sobre SAP XI / PI / PO, así que esté atento a nuestros materiales futuros.

Consulte los tutoriales de SAP XI / PI


 SAP XI / PI: cómo actualizar certificados en SAP PI 7.5
 SAP XI / PI - Adjuntos de facturas ARIBA enviados a S / 4HANA a
través de PI
 SAP XI / PI - Transferencia de archivo adjunto de factura de ARIBA
a VIM
 SAP XI / PI / PO - Exposición de servicios OData e implementación
de oAuth2.0 en SAP PO
 SAP XI / PI / PO - Exposición de RFC como API REST en SAP XI / PI /
PO - Desarrollo de interfaz síncrona de extremo a extremo

También podría gustarte