¿Se pueden cambiar las cantidades mostradas en un Alv para que tenga un importe que nosotros hayamos definido previamente?

La respuesta es si. Se puede modificar un alv para que en la columna de subtotales añada, resto o cambie la cantidad a la que nosotros queramos usando el metodo del grid OO ->get_subtotals.

Y sabiendo esto podemos hacerlo incluso con un reuse_alv_grid asignandole como referencia un grid OO.

Veamos el ejemplo.

Llamada a la funcion Reuse:

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program     = l_repid
i_callback_top_of_page = 'SUB_ALV_TOP_OF_PAGE'
i_default              = 'X'
i_save                 = 'A'
TABLES
t_outtab               = i_ekpo
EXCEPTIONS
program_error          = 1
OTHERS                 = 2.

Detalle del Form ‘SUB_ALV_TOP_OF_PAGE’.

DATA: lo_grid TYPE REF TO cl_gui_alv_grid.

 Referencia del Reuse al Grid OO

CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = lo_grid.

DATA: it_00 TYPE REF TO data,
it_01 TYPE REF TO data.

Obtenemos las tablas que contienen los totales y los subtotales en el grid.

CALL METHOD lo_grid->get_subtotals
IMPORTING
ep_collect00 = it_00
ep_collect02 = it_01.
FIELD-SYMBOLS: <ft_tab> TYPE ANY TABLE,
<fs_tab> TYPE ANY,
<ff_field> TYPE ANY.

Modificaciones en los Totales del ALV

ASSIGN it_00->* TO <ft_tab>.
LOOP AT <ft_tab> ASSIGNING <fs_tab>.
ASSIGN COMPONENT 'NTGEW' OF STRUCTURE <fs_tab> TO <ff_field>.
<ff_field> = <ff_field> + 1000.
ENDLOOP.

Modificaciones de los Subtotales del ALV

ASSIGN it_01->* TO <ft_tab>.
LOOP AT <ft_tab> ASSIGNING <fs_tab>.
ASSIGN COMPONENT 'NTGEW' OF STRUCTURE <fs_tab> TO <ff_field>.
<ff_field> = <ff_field> + 1000.
ENDLOOP.

Para dudas no olvides que tienes el foro de consultas