
Una función largamente esperada estuvo disponible con la última actualización de 2302 del Entorno SAP BTP, ABAP y Entorno SAP S/4HANA ABAP sistemas
Ahora es posible configurar los efectos secundarios en el definición de comportamiento de su objeto comercial RAP.
Para fines educativos y de demostración, he creado un ejemplo simple de una aplicación de calculadora basada en RAP.
Aquí puede agregar dos operandos y un operador ( +, – , * o / ).
Al cambiar un valor, ya sea un operando o el operador, se cambiarán los datos en el campo de resultados.
Esta aplicación la puede construir usted mismo según la tabla que se encuentra al final de esta publicación.
Una vez que hayas generado el RAP BO solo tienes que agregar el
side effects { }
declaración a su definición de comportamiento donde enumera qué campo se ve afectado por otro campo de su RAP BO.
side effects
{
field OperandA affects field CalcResult;
field OperandB affects field CalcResult;
field Operator affects field CalcResult;
}
determination CalculateCalcResult on modify { field OperandA, OperandB, Operator; }
Y en la proyección de comportamiento, debe habilitar el uso de efectos secundarios agregando un
use side effects;
declaración.
projection;
strict ( 2 );
use side effects;
use draft;
define behavior for ZC_CalculatorTP_01 alias Calculator
use etag
{
use create;
use update;
use delete;
use action Edit;
use action Activate;
use action Discard;
use action Resume;
use action Prepare;
}
@EndUserText.label : 'Pocket Calculator'
@AbapCatalog.enhancement.category : #NOT_EXTENSIBLE
@AbapCatalog.tableCategory : #TRANSPARENT
@AbapCatalog.deliveryClass : #A
@AbapCatalog.dataMaintenance : #RESTRICTED
define table zcalculator {
key client : abap.clnt not null;
key calc_uuid : sysuuid_x16 not null;
operand_a : abap.int4;
operand_b : abap.int4;
operator : abap.char(1);
calc_result : abap.fltp;
created_at : abp_creation_tstmpl;
created_by : abp_creation_user;
last_changed_by : abp_lastchange_user;
last_changed_at : abp_lastchange_tstmpl;
local_last_changed_at : abp_locinst_lastchange_tstmpl;
}
Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010
Paseo de la Reforma 26
Colonia Juárez, Cuauhtémoc
Ciudad de México 06600
Real Cariari
Autopista General Cañas,
San José, SJ 40104
Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073