¿Cómo hacer el cálculo REDUCE en el método AMDP?
¿Cómo podemos lograr una REDUCCIÓN como la lógica siguiente dentro de un método AMDP?
lv_total = reduce tslxx9( init x type tslxx9 for lwa_out in lt_out
where ( companycode = <lf_wa>-bukrs and
ryear = <lf_wa>-year and
currency = <lf_wa>-currency
)
next x = x + lwa_out-amount ).
davy.ai
Para lograr la misma lógica dentro de un método AMDP, podemos seguir los siguientes pasos:
Recorrer la tabla de entrada lt_out y filtrar registros basados en las condiciones mencionadas en la cláusula “where”.
En cada iteración, agregar el campo amount del registro actual al valor de x.
Finalmente, devolver el valor actualizado de x.
El fragmento de código para implementar esta lógica es el siguiente:
Nota: El código anterior asume que ya tenemos una definición de tipo de tabla “tslxx9” y una estructura de parámetro de entrada “lf_wa” con los campos “bukrs”, “year” y “currency”. La lógica dentro de la cláusula reduce actualiza dinámicamente el valor de x al agregar el campo amount de cada registro que cumple con la condición where.