Modificación parametro clase Importing en BADI

Para ver el contenido completo de este articulo por favor dirigirse al sitio oficial de DiarioAbap

Cuando se implementa una BADI puede ser necesario cambiar los datos de alguna de las tablas, si la tabla corresponde a un parámetro de clase IMPORTING no será posible modificarlo con alguno de los metodos convencionales (ej. MODIFY).

Para poder realizar la modificación a la tabla interna hay que recurrir al uso de FIELD-SYMBOL, esta instrucción nos permite manejar punteros.

Como dije antes F-S es un puntero que tiene como contenido la dirección de un objeto, esto quiere decir, que apunta a un objeto, y esto justamente es lo que se debe hacer, apuntar al objeto (tabla) que carga la tabla (parametro) que queremos modificar.

Para demostrarlo con un ejemplo se ha implementado la BADI WORKER_UPDATE y se ha realizado codigo en el METODO BEFORE_UPDATE para modificar la tabla IT_OPERATION, logicamente es de la clase IMPORTING.

FIELD-SYMBOLS: <fs_tabla> TYPE cobai_t_operation .
FIELD-SYMBOLS: <fs_contrato>  TYPE LINE OF cobai_t_operation.

ASSIGN (‘(SAPLCOBT)AFVG_BT[]’) TO <fs_tabla>.

Para ver el contenido completo de este articulo por favor dirigirse al sitio oficial de DiarioAbap