Que tal amigos, durante el aprendizaje en SAP siempre encuentras personas que aportan excelente material para ir desarrollando nuestras habilidades, caso es el @Alvan1 quien fue publicando paso a paso la utilización de los Web Services en SAP.
A pesar que el material nos guía paso a paso algunos necesitamos mucho mas digerido los temas como fue mi caso. Por esta razón quiero compartir un ejemplo practico de la utilization de los WebService en SAP.
Escenario: Cuando un cliente se presenta a sala de ventas, la anfitriona procede a ingresar los datos del cliente en “XCRM” para poder atenderlo.
Problema: Debido XCRM no esta conectado con SAP ocasionando que la anfitriona no tenga visibilidad si el cliente ya cuenta con código de cliente SAP.
Solución: Construcción de WebServices para que la anfitriona pueda consultar por medio del identificador fiscal si el cliente esta registrado.
Sin mas preámbulo pasemos a aplicar la solución
Que necesitamos hacer: Creación de función, Creación de WebService y Consumo del WebService
Creación de Función
Ingresa a la Trx. SE37 y crea tu función
FUNCTION Z_CONSULTA_BP.
*"----------------------------------------------------------------------
*"*"Interfase local
*" IMPORTING
*" VALUE(STCD3) TYPE STCD3
*" EXPORTING
*" VALUE(IT_SALIDA) TYPE ZBPM_CONSULTA1
*"----------------------------------------------------------------------
DATA wa_salida type ZBPM_CONSULTA.
DATA contador type I.
DATA: grupo_1(4), grupo_2(5), grupo_3(4) TYPE c.
DATA ID(17) type c.
CONDENSE STCD3 NO-GAPS.
grupo_1 = STCD3(4).
grupo_2 = STCD3+4(5).
grupo_3 = STCD3+9(4).
CONCATENATE '%' grupo_1 '%' grupo_2 '%' grupo_3 '%' INTO ID.
SELECT KUNNR
ERDAT
INTO CORRESPONDING FIELDS OF TABLE IT_SALIDA
FROM KNA1
WHERE STCD3 LIKE ID.
contador = 1.
LOOP AT IT_SALIDA INTO WA_SALIDA.
WA_SALIDA-CORRELATIVO = contador.
MODIFY IT_SALIDA FROM WA_SALIDA TRANSPORTING CORRELATIVO.
contador = contador + 1.
ENDLOOP.
ENDFUNCTION.
El dato que nos debe enviar “XCRM” los colocas en la pestaña Import
Los datos que le devolveremos a “XCRM” los colocas en el pestaña Export
Ajustes en atributos de tu función
Ya tienes tu función, revisa que funcione y si todo marcha bien, continua con el siguiente paso.
Creación de WebService
Dentro de tu función procede a ubicar la siguiente opción y aplica los paso que te explico en las imagenes
OJO | Mucha atención en el paquete que lo pones por que allí es donde se almacena el service provider y debe estar en el mismo paquete donde grabaste tu función.
por ultimo finaliza y activa tu webservice
Si todo marcha bien hasta aquí, ingresa a la transacción soamanager,
Nota: Si presentas problema para acensar a esta transacción debes revisar la configuración de tu archivo “host” de tu PC C:\Windows\System32\drivers\etc debes tener la linea para que resuelva el nombre de tu servidor SAP. si aun así tienes problema debes consultar al BASIS pueden existir servicios que aun no estén habilitados en SAP.
Ejemplo de archivo Host
Continuemos
Al ingresar a soamanager realiza los siguientes pasos que muestro
Buscar el WebSerivce
seleccionar el botón
ubica la pestaña Configuración
ubica el botón
aplica las configuraciónes
Guarda los cambios
es momento de obtener tu URL, aquí tendrás el XML que consumirá el “XCRM” para comunicarse con SAP
Por ultimo vamos a simular el consumo del webservice con la herramienta SoapUI (es gratuita htt_s://www.soapui.org/ )
Consumo del WebService
ingresa tus credenciales de SAP
Se agregara la siguiente estructura (ingresa de nuevo tu usuario).
Doble Click sobre te mostrara el XML a utilizar
Ingresa un dato valido y ejecuta la consulta
Espero haber ayudado a su aprendizaje.
saludos.