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.









