Add BO-enhancements (Side Effects) using RAP Cloud Environment
Desarrollo de ampliaciones con código de cliente en una aplicación en ABAP RAP en Ambiente Cloud (Side Effects).
Objetivo
Adecuar una aplicación CRUD para añadir ampliaciones a lógica de negocio o código de cliente, con el modelo RestFul Application programming model en Eclipse utilizando ABAP Development Tools.
Prerequisitos
- Desarrollo de un servicio OData para una aplicación FIORI (Managed).
- Añadir lógica de negocio a una aplicación ABAP RAP ambiente Cloud.
- Añadir una entidad al modelo de datos de una aplicación ABAP RAP ambiente Cloud.
- Añadir virtual elements a una aplicación RAP Ambiente Cloud.
- Añadir internal actions a una aplicación RAP Ambiente Cloud.
- Añadir functions a una aplicación RAP Ambiente Cloud.
- Añadir features a una aplicación RAP Ambiente Cloud.
Cuando desarrollamos una aplicación por lo regular tenemos algunas acciones que pudieran ser condicionadas de acuerdo a la lógica del negocio.
En este caso Side Effects nos permite ejecutar alguna función (recálculo, revisión de autorización o mensaje) de acuerdo a la modificación de determinado campo.
Ejemplo: si modificamos el valor del fee que se actualice automáticamente el importe total.
Pasos
- Implementar el side effect en el behavior de Travel.
- Definir el uso del side effect en el projection del behavior de Travel.
- Visualizar la Aplicación (Preview).
1.- Implementar el side effect en el behavior de Travel.
Incluír la siguiente sentencia para implementar el side effect en el TotalPrice.
//side effects
side effects
{
field BookingFee affects field TotalPrice;
field CurrencyCode affects field TotalPrice;
}
Grabar (Ctrl+S) y Activar (CTRL+F3).
2.- Definir el side effect en el projection del behavior de Travel.
Incluír la siguiente sentencia para implementar el side effect.
use side effects;
Grabar (Ctrl+S) y Activar (CTRL+F3).
3.- Visualizar la aplicación.
Seleccionar el Service Binding de la aplicación.
Presionar el botón Preview.
Presionar el botón Go.
Y seleccionar un Travel para ver su detalle.
Modificamos el fee del Travel. Por ejemplo de 7 a 8 y damos <Enter>.
El Precio se recálcula al momento de actualizarse el draft.
Esto sin necesidad de haber salvado para ver el resultado.
Fin.