Buenas prácticas en vistas CDS

A la hora de desarrollar nuestras vistas CDS, es importante seguir una serie de buenas prácticas como haríamos en cualquier otro lenguaje de programación. Estas buenas prácticas no van a optimizar nuestro código, pero si van a facilitar la vida a SAP y al resto de programadores que en el mismo proyecto o en un futuro tengan que ‘batallar’ con tu código. Dividiremos nuestras vistas CDS en tres tipos: Indicaremos en cada vista a qué tipo pertenece a través de la siguiente anotación CDS ubicada en la cabecera de nuestro código: Esta anotación permitirá a SAP reconocer más fácilmente a qué tipo de vista hace referencia, y de esta forma, poder organizar internamente de manera más clara el modelo virtual …

Seguir leyendo

Ayudas de búsqueda en SAP Fiori

Las anotaciones CDS nos permiten implementar aplicaciones SAP Fiori de una manera muy sencilla. ¿Te suena?. Lo sé, pero nunca me cansaré de repetirlo. Gracias a las anotaciones CDS reducimos el tiempo de dedicación al desarrollo de informes Fiori gracias a su potencial. Hoy le toca el turno a las ayudas de búsqueda en SAP Fiori. Hace unos años, cuando las anotaciones CDS no estaban todavía en el mapa, el desarrollo de las ayudas de búsqueda en aplicaciones SAP Fiori podía resultar un trabajo tedioso. Para ello, se tenía que desarrollar el componente de filtro en SAPUI5, en la parte del front-end, tanto a nivel de interfaz como a nivel de lógica, donde filtrabamos mediante peticiones oData implementadas a mano …

Seguir leyendo

SAP Fiori List Report paso a paso

Crear una aplicación SAP Fiori List Report nunca había sido tan sencillo como hasta ahora. Eso sí, no cualquier tipo de aplicación. Las aplicaciones Fiori “complejas”, es decir, que impliquen creaciones, modificaciones o borrados en SAP, van a requerir de lógica adicional para poder llevar a cabo estos procesos, ya sea mediante ABAP o mediante BOPF, pero para todas aquellas aplicaciones de tipo informe, donde queremos visualizar información que podamos filtrar y ajustar según el tipo de usuario, SAP ha facilitado mucho la labor de desarrollo para esta casuística. Como vimos en artículos anteriores, para la creación de una aplicación SAP Fiori a partir de una vista ABAP CDS, los pasos a seguir son los siguientes: Ya hemos creado nuestra …

Seguir leyendo

Creación de servicio oData vía SEGW #2

En el artículo anterior vimos las dos formas de creación de un servicio oData a partir de una vista SAP ABAP CDS: Crear servicio oData de manera automática a partir de la anotación CDS @oData.publish:true Crear servicio oData de manera manual a través de la transacción SEGW Vimos en detalle como crear el servicio oData a través de la anotación SAP CDS y como añadirlo en el listado de servicios publicados de nuestro SAP Gateway. En este artículo, vamos a ver como podemos crear el servicio oData de manera manual a través de la transacción SEGW para llegar al mismo lugar que con la anotación CDS. Esta forma de crear el servicio nos permitirá conocer más el detalle de como …

Seguir leyendo

Exponer vista CDS como servicio oData #1

Con la aparición de las vistas ABAP CDS y las anotaciones, podemos crear aplicaciones SAP Fiori de manera mucho más rápida que en el pasado. En el desarrollo de una aplicación Fiori, de tipo informe List Report, tendremos que cubrir 3 pasos esenciales: Creación de nuestras vistas ABAP CDS que obtengan los datos de nuestro sistema SAP S/4 HANA (o anterior con base de datos HANA) y contengan las diferentes anotaciones para que la información obtenida pueda ser representada gráficamente en nuestra aplicación de forma automática a través de los Fiori Elements. Creación de nuestro servicio oData, el cual expondra la CDS como servicio que consumirá nuestra aplicación SAP Fiori para obtener la información, y escribir/modificar datos en los tipos …

Seguir leyendo

Anotaciones CDS esenciales. SAP Fiori List Report #2

Una de las principales utilidades que nos aporta las vistas ABAP CDS, es la posibilidad de construir aplicaciones SAP Fiori sin necesidad de implementar ninguna línea de código SAPUI5 en nuestro Front End para realizar nuestro informes analíticos. Para poder llevar esta idea a cabo, es fundamental que profundicemos en algunas anotaciones CDS, ya que estas serán las que proporcionen semántica y lógica a nuestros listados SAP Fiori. Podemos consultar todas las anotaciones CDS existentes en la referencia de SAP, la cual hay que decir que está bastante bien explicada. No obstante, siempre es mejor aprender si te lo explican de manera detallada. Por ello, iremos desglosando por bloques las diferentes anotaciones CDS para agilizar su comprensión y poder utilizarlas …

Seguir leyendo

Asociaciones y tipos de Join en SAP ABAP CDS

Una de las funciones básicas de cualquier consulta a base de datos en nuestros SAP ABAP CDS son los Joins. En las vistas ABAP CDS, al igual que en ABAP, tenemos la posibilidad de ejecutar diferentes tipos de joins. INNER JOIN/ JOIN: este tipo de enlace busca coincidencias entre las dos tablas o vistas enlazadas a través de las columnas que tienen en común e indiquemos en la clausula ON. Este join recuperará solo los datos resultados de la intersección. LEFT OUTER JOIN: este tipo de enlace da prioridad a la tabla situada en la izquierda del join, buscando en la tabla o vista de la derecha las coincidencias a través de las columnas indicadas en la clausula ON. Encuentre …

Seguir leyendo

¿Qué son las anotaciones CDS?

Antes de seguir incluyendo lógica en nuestras vistas CDS, hay un elemento básico que modificará el comportamiento de nuestras vistas y aportará valor y funcionalidad a nuestras aplicaciones e informes “desarrollados” en Fiori. Digo desarrollados, entre comillas, ya que muchos informes podrán construirse simplemente con anotaciones CDS sin introducir ninguna línea de código SAPUI5 en nuestra aplicación. ¿Qué son las anotaciones CDS? Si recordamos el código de ejemplo que vimos en el primer artículo, observamos en la cabecera de nuestra vista ABAP CDS una serie elementos que comienzan con ‘@’. Las anotaciones CDS no son más que propiedades de nuestra vista CDS, una forma de enriquecer nuestras vistas. Todas estas anotaciones se evalúan en ejecución y dotan de funcionalidad y …

Seguir leyendo

ABAP OO. Tipos de métodos y creación de objetos #3

Los métodos de una clase definen su comportamiento y permiten modificar su estado. Al igual que los atributos, disponemos de dos tipos de métodos: Métodos de instancia y métodos estáticos. Métodos de instancia: estos métodos pueden acceder a todos los atributos de una clase y pueden disparar todos los eventos la misma. Métodos estáticos: Solo pueden acceder a los atributos estáticos, que si recordamos, son aquellos que definen de la forma CLASS-DATA, y que mantienen un único valor para todas las instancias activas de una clase. Además, pueden desencadenar los eventos estáticos de la clase. A continuación, podemos ver un ejemplo de declaración de dos métodos de instancia y un método estático: Para este ejemplo, vamos a crear una clase …

Seguir leyendo

¿Qué son las ABAP CDS y cómo se crean? #1

Hoy vamos a empezar con una de mis favoritas, las vistas ABAP CDS, una tecnología básica en el uso de BD HANA, y un imprescindible que debe conocer todos aquellos perfiles que quieren mantenerse actualizados. ¿Qué son las vistas ABAP CDS? ABAP CDS es una infraestructura creada por SAP para definir y consumir modelos de datos en SAP HANA. Utilizan un lenguaje de definición (DLL), un lenguaje de consulta (QL) y un lenguaje de control de datos (DCL). Para enriquecer estos desarrollos, se pueden utilizar otras tecnologías como AMDP y BOPF para permitir ampliar la funcionalidad de nuestras aplicaciones Fiori. A partir de la versión NetWeaver 7.4 SP05, se introduce el concepto CDS en ABAP, permitiendo desarrollar este tipo de …

Seguir leyendo

Conceptos básicos ABAP Orientado a Objetos #2

Empezamos con los conceptos básicos de la programación orientada a objetos en ABAP, y como vimos, las 3 piezas claves de este modelo de programación son las siguientes: Clase: definición del tipo de objeto que queremos crear. Es una especie de plantilla que reune los diferentes atributos y métodos que la definen. Mediante la creación de un objeto a través de su método de creación estamos instanciando dicha clase. Atributos: propiedades, características que representan a nuestro objeto. Si nuestra clase se llama Vehículo, un atributo podría ser el color, la marca, motor, etc. Métodos: porción de código que realizará una modificación en nuestro objeto o consultara información de algunas de sus propiedades. También pueden disparar eventos en otros objetos del …

Seguir leyendo

SAP ABAP Orientado a Objetos #1

La costumbre genera hábitos que cuestan de quitar, y uno de ellos, en mi caso y creo que en el de muchos, ha sido desarrollar ABAP de la manera tradicional, desde el origen de mi carrera en SAP hasta casi el día de hoy. Normalmente, entramos al mundo SAP sin saber ni siquiera qué es SAP, y aprendemos sobre la marcha, generando nuestros propias costumbres de desarrollo, que a veces son complicadas de cambiar, aunque el avance nos esté gritando al oído que debemos de cambiar. La programación orientada a objetos en ABAP no es algo nuevo, pero si es algo que la gente no ha conocido, o no ha querido conocer, ya que podíamos programar nuestras rutinas y nuestras …

Seguir leyendo