✒️SAP BTPFIORI / La implementación del servicio OData Por Roberto Santucho

Selector Alummnos / Empresas

SAP BTPFIORI La implementación del servicio OData

SAP BTPFIORI La implementación del servicio OData

1. LA IMPLEMENTACION DE LOS METODOS CRUD-Q

Podemos mapear los metodos CRUD-Q de cada entidad.

Para iniciar el proceso de mapeo, debemos seleccionar una fuente de datos en el menu contextual del metodo crudq de una entidad en la carpeta implementacion del servicio.

Boton derecho sobre un metodo > Map to Data Source

NOTA: dentro de la interface /IWBEP/IF_MGW_APPL_SRV_RUNTIME existen metodos derivados de varias interfacse en la clase de extension del proveedor de datos.

La implementacion real del servicio, es decir, la codificacion en los metodos CRUD-Q SERAN GENERADOS POR SERVICE BUILDER SEGUN EL MAPEO QUE HAYAMOS REALIZADO.

EL SERVICIO DE SERVICE BUILDER AYUDA AL DESARROLLADOR AL PROPORCIONAR PROPUESTAS DE MAPEOS SI EL TIPO DE ENTIDAD SE HA CREADO IMPORTANDO UN BOR INTERFAZ O UNA INTERFAZ RFC.

2. LA IMPLEMENTACION DEL METODO READ

Carpeta implementacion del servicio, Boton derecho sobre el metodo GetEntity (Read)

Luego presionamos el boton de propuesta de mapeo, y luego el boton generar.

Vamos a la carpeta de artefactos, elegimos la clase ... DPC_EXT , BOTON DERECHO, IR A ABAP WORKBENCH

Y VAMOS A VER COMO SE CREO EL method USERBAPISET_GET_ENTITY

Para probarlo, vamos a carpeta Service Maintenance, boton SAP Gateway Client

/sap/opu/odata/SAP/ZDATOSUSUARIO_ESTVA51C_SRV/UserBapiSet('ESTVA51C') NOS DEVUELVE los datos del usuario ESTVA51C

3. LA IMPLEMENTACION DEL METODO DE CONSULTA PARA BUSCAR UNA COLECCION

en la carpeta implementacion, boton derecho sobre el metodo GetEntitySet (Query) > go to ABAP Workbench, nos avisa que no se ha implementado.

Ir al metodo USERBAPISET_GET_ENTITYSET , boton derecho, Redefine.

colocar el siguiente codigo para leer todos los usuarios:

DATA: lt_usuarios type STANDARD TABLE OF bapiusname.

CALL FUNCTION 'BAPI_USER_GETLIST'
* EXPORTING
* MAX_ROWS = 0
* WITH_USERNAME = ' '
* IMPORTING
* ROWS =
TABLES
* SELECTION_RANGE =
* SELECTION_EXP =
USERLIST = lt_usuarios
* RETURN = .

LOOP AT lt_usuarios INTO DATA(lwa_usuario).
APPEND lwa_usuario TO et_entityset.
ENDLOOP.

Activamos y volvemos a generar

nota: podriamos lanzar una excepcion /IWBEP/CX_MGS_BUSI_EXCEPTION.

URIs para test:

  • $select nos permite seleccionar las propiedasd que deseamos recibir. Ejemplo /sap/opu/odata/SAP/ZDATOSUSUARIO_ESTVA51C_SRV/UserBapiSet?$select=Identity&$format=json
  • $filter
  • $top, $skip y $inlinecount permite paginacion del lado del cliente, cuantas entradas va a recibir (top) y cuantas omitir (skip) por lado del SG
  • $orderby ordena ejemplo /sap/opu/odata/SAP/ZDATOSUSUARIO_ESTVA51C_SRV/UserBapiSet?$orderby=Identity&$format=json

4. LA IMPLEMENTACION DEL METODO CREATE

Usando el metodo read_entry_data del objeto io_data_provider, podemos recuperar los datos que se pasaron a lo largo de la solicitud POST en el cuertpo HTTP.

HTTP 201 si la operacion CREATE FUE EXITOS, SE OBTIENE UN HTTP 201 EN LA RESPUESTA.

5. LA IMPLEMENTACION DEL METODO UPDATE

HTTP 204 SI EL UPDATE FUE EXITOSO

6. LA IMPLEMENTACION DEL METODO DELETE

HTTP 204 SI EL UPDATE FUE EXITOSO


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Roberto Hernan Santucho, en su ámbito de estudios para la Carrera Consultor SAP BTP Fiori.

Roberto Hernan Santucho

Profesión: Ingeniero en Sistemas - Mexico - Legajo: VA51C

✒️Autor de: 43 Publicaciones Académicas

🎓Egresado del módulo:

Certificación Académica de Roberto Santucho

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "La implementación del servicio OData" de la mano de nuestros alumnos.

SAP SemiSenior

La implementación del servicio OData 1. Introducción Una vez creado y modelado el servicio OData en el backend SAP Gateway (a través de la transacción SEGW), el siguiente paso es implementar su lógica de negocio, es decir, definir cómo se obtienen, crean, modifican o eliminan los datos. Esta implementación se realiza dentro de las clases Data Provider Class (DPC) y Data Provider Class Extension (DPC_EXT), donde se programan los métodos que controlan las operaciones CRUD-Q (Create, Read, Update, Delete y Query). 2. Estructura de la implementación Cuando generamos el runtime del proyecto en la SEGW, el sistema crea automáticamente las siguientes clases: ...

Acceder a esta publicación

Creado y Compartido por: Jose Rodrigo Baz Suarez / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

La implementacion del servicio Odata CRUD-Q: es una extensión del clásico concepto CRUD en desarrollo de servicios web o APIs. Letra Significado Descripción C Create Crear registros R Read Leer o consultar registros U Update Actualizar o modificar registros D Delete Eliminar registros Q Query Consultar o filtrar con criterios específicos Implementacion del metodo read Service implementacion...

Acceder a esta publicación

Creado y Compartido por: Claudia Bibiana Monsalve Lopez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

1. LA IMPLEMENTACION DE LOS METODOS CRUD-Q Podemos mapear los metodos CRUD-Q de cada entidad. Para iniciar el proceso de mapeo, debemos seleccionar una fuente de datos en el menu contextual del metodo crudq de una entidad en la carpeta implementacion del servicio. Boton derecho sobre un metodo > Map to Data Source NOTA: dentro de la interface /IWBEP/IF_MGW_APPL_SRV_RUNTIME existen metodos derivados de varias interfacse en la clase de extension del proveedor de datos. La implementacion real del servicio, es decir, la codificacion en los metodos CRUD-Q SERAN GENERADOS POR SERVICE BUILDER SEGUN EL MAPEO QUE HAYAMOS REALIZADO. EL SERVICIO DE SERVICE BUILDER AYUDA AL DESARROLLADOR AL PROPORCIONAR PROPUESTAS DE MAPEOS SI EL TIPO DE ENTIDAD SE HA...

Acceder a esta publicación

Creado y Compartido por: Roberto Hernan Santucho

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Antes de comenzar a implementar y codificar debemos regenerar el proyecto para asegurarnos de que las clases MPC y DPC estén actualizadas y coincidan con el estado actual de la definición del proyecto. El método GetEntity obtiene un único registro de la colección esto se hace proporcionando las propiedades claves como parte del URI (justo después del nombre del conjunto de entidades) por ejemplo produset(HT-1000). #filter: es la opcion de consulta mas utilizada. Nos permite filtrar el conjunto de resultados de su implementacion Get_EntitySet. Con eso, podemos evitar proporcionar una lista sin filtrar de todos los usuarios, tenemos que proporcionar una opcion de consulta $filter en el URI del servicio....

Acceder a esta publicación

Creado y Compartido por: Jose Medina / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Implementacion servicio OData CRUD-Q if_mgw_appl_Srfv_runtime service builder según mapeo Map to Data Source runtime artifacts Go to Abap workbench heredan métodos de la superclase et_entityset devuelve los valores /iwbep/cx_mgw_busi_Exception $select $filter $top $skip $inlinecount funcionalidad de paginación $orderby read_entry_Data io_data_provider er_entity mo_context http 201 http 04 feed de OData http://sap/opu/odata/sap//ProductsSet?$select=Productid.Name.Description http://services.example.org/my.svc/Suppliers?$orderby=CompanyName generar a través del mapeo de la bapi a campos de la entidad se basan en la misma bapi.

Acceder a esta publicación

Creado y Compartido por: Enrique Gomez

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!