Siguiendo con los artículos relacionados con el protocolo ODATA, hoy nos disponemos a profundizar algo más en detalle en cómo crear estructuras profundas vía ODATA desde SAP.

¿Cómo crear una estructura profunda vía ODATA?

Para la creación de una estructura profunda tenemos que seguir una serie de pasos que describiremos a continuación.

1. Acceso a la SEGW.

2. Pulsar ‘Crear Proyecto’ donde se solicita el Nombre del Proyecto, descripción y asignación de paquete junto con orden de transporte (al pulsar el botón Guardar).

3. Creación de Entidades.

Por ejemplo, en nuestro caso se crean tres entidades: Header (cabecera), Item (elemento), Status(estado).

4. Creación de Asociaciones.

En nuestro caso, crearemos dos relaciones.

Quedando de la siguiente forma.

Establecemos el Association set.

5. Generación de Objetos en tiempo de ejecución y activar Servicio.

En este punto, se definen las “Provider Class” que son las clases con las que se trabajara posteriormente (terminación con la extensión <*DPC_EXT>), se define también el modelo (clases con la extensión <*MPC_EXT>) y se establece el nombre del servicio técnico.

Con la generación y activación del servicio se crean las clases necesarias para la implementación, donde mediante las operaciones CRUD (Create, Read, Update and Delete) podremos dar funcionalidad a nuestros procesos.

6. Model Provider Class (MPC_EXT): Creación de nuevo tipo en la clase de extensión MPC_EXT. En nuestro caso, le denominaremos ‘TS_DEEP’ con visibilidad pública.

  • 6.1 – Definición del nuevo tipo.

6.2 – Redefinición del método DEFINE.

7. Data Provider Class (DPC_EXT):

  • 7.1 – Se seleccionan los métodos heredados (Inherited Methods) dentro de la carpeta /IWBEP/IF_MGW_APPL_SRV_RUNTIME en el método CREATE_DEEP_ENTITY se pulsa el botón Redefinir.

8. Transacción “/n/iwfnd/maint_service” (GW server) para probar el servicio.

     En este punto, nos limitamos a explicar la prueba en sí, es decir, los pasos de la añadir el servicio, asignación al paquete y ordenes de transporte asociadas las explicamos ya anteriormente en otros capítulos del blog.

No obstante, en caso de dudas estamos abiertos a responderlas sin problema. ¡Esperamos que este post haya resultado útil!