
Las funciones de los servicios oData permiten ser redefinidas para lograr funcionalidades que, de otro modo, no serían posibles. En esta serie de artículos veremos cómo hacer uso de las redefiniciones para tratar ficheros tanto desde el Cliente SAP Gateway como desde una aplicación SAPUI5.
Servicio oData
Para comenzar, en el servicio oData creamos una entidad (tras crear previamente su correspondiente tabla de base de datos y estructura) para almacenar los datos de los ficheros. Se tienen las siguientes propiedades:

A continuación, nos aseguramos de dejar marcado el tipo “Media” en la entidad e implementamos las funciones GetEntity y GetEntitySet.

Redefinición de funciones
Para lograr el tratamiento de ficheros vamos a redefinir varias funciones.
Al crearse un servicio oData, SAP genera automáticamente cuatro clases:
- ZCL_NOMBRE_ODATA_DPC (Data Provider Class)
- ZCL_NOMBRE_ODATA_MPC (Model Provider Class)
- ZCL_NOMBRE_ODATA_DPC_EXT
- ZCL_NOMBRE_ODATA_MPC_EXT
Cada vez que, desde la transacción SEGW, se genera el servicio oData, las clases DPC y MPC se crean de nuevo. Por ello, la redefinición se realiza en las clases de extensión _EXT, ya que, si se hiciese en las otras, se borraría lo que hemos implementado en cuanto activemos el servicio.
La clase MPC contiene los metadatos del servicio, es decir, trata sobre las entidades y sus propiedades.
La clase DPC contiene la implementación del servicio, es decir, aquí se encuentran, por ejemplo, los métodos GetEntity, Update, Create… También se emplea para implementar los Function Import.
Una vez conocidos los conceptos generales sobre estas clases, podemos comenzar con las redefiniciones necesarias para el tratamiento de ficheros.
Primero, en la transacción SE80 buscamos la clase MPC_EXT de nuestro oData y redefinimos el método DEFINE.

Indicamos el nombre de nuestra entidad (Fichero) y el nombre de la propiedad que almacena su contenido (Content).

Activamos los cambios y accedemos a la clase DPC_EXT, donde redefinimos el método /IWBEP/IF_MGW_APPL_SRV_RUNTIME~GET_STREAM, gracias al cual podremos descargar ficheros.

Por último, redefinimos el método /IWBEP/IF_MGW_APPL_SRV_RUNTIME~CREATE_STREAM, gracias al cual podremos subir ficheros.


No te pierdas el próximo artículo sobre tratamiento de ficheros, veremos qué representan los parámetros slug y mimetype mediante ejemplos tanto en el Cliente SAP Gateway como en una aplicación Fiori.
Más información:
Quizas te pueda interesar
Migración de SAP PI/PO a SAP Integration Suite
Moderniza tu Integración Empresarial: Migración de SAP PI/PO a SAP Integration Suite En un entorno empresarial cada vez más dinámico y digital, la conectividad entre sistemas es clave para lograr eficiencia, agilidad y escalabilidad. Las plataformas SAP Process...
SAP Build Work Zone
Antes de empezar hablar de SAP Build Work Zone, vamos a retroceder un poco al pasado porque Work Zone no es un producto que SAP se ha sacado de la chistera mágicamente, si no una evolución de productos anteriores. SAP Build Work Zone es la versión potenciada de los...
SAP TechEd 2024:
Principales Anuncios en la Keynote
Como otros años, en octubre tiene lugar en Barcelona la considerada como mayor conferencia tecnológica de SAP: SAP TechEd. Este evento tiene como fin presentar una serie de anuncios de los nuevos productos y evoluciones en SAP. En concreto, esta edición 2024 se centró...