Habíamos estado hablando de lo que eran las asociaciones, la navegación y el expand en los servicios oData. Así, en plan teórico. Y poníamos como ejemplo una posible aplicación para mostrar los personajes de las películas de ciencia ficción.
![]() |
Esta es la aplicación que queríamos crear... a ver cómo creamos el servicio oData |
Pues ahora nos vamos a poner con la parte práctica, vamos a meterle mano a la máquina. Lo primero es crear el servicio oData, y eso es lo que vamos a hacer aquí. En el siguiente post ya lo enlazaremos con la aplicación en SAP UI5.
Si nunca has creado un servicio oData en SAP, quizá te interese revisar este post anterior.
Es importante destacar que la asociación la vamos a crear relacionando propiedades. Esto no siempre es necesario, pero a la hora de codificar en ABAP nos va a facilitar mucho el trabajo. Me dejaré pendiente hacer un post para explicar otra manera de codificar las navegaciones.
Este ejemplo de aplicación hecho en el Web IDE hace los siguientes tipos de llamada, que nos sirve como idea para determinar lo básico que necesitamos implementar.
- Servicio_de_saga/Sagas
- Servicio_de_saga/Sagas('STARWARS')
- Servicio_de_saga/Sagas('STARWARS')/LosPersonajesDeEsaSaga
Pero nos complicaremos un poco más la vida para obtener más información y aprender más:
- Servicio_de_saga/LosPersonajes?$expand=SuSaga
Los pasos que seguiremos son:
- Crear las estructuras y tablas que necesitaremos, incluyendo datos (SE11 y SM30).
- Crear el proyecto en la SEGW y activar el servicio oData en la /IWFND/MAINT_SERVICE.
- Programar los métodos para permitir la funcionalidad de la aplicación estándar (entidad de saga, entityset de saga y navegación hacia personajes).
- Reprogramar el método que nos permite expandir la saga de un personaje (navegación de un personaje hacia su saga).
Como he metido mucha chicha, siempre podéis leer en diagonal y prestar atención a las imágenes ;).