Ayuda SAP

Sumar columna ALV

Saludos, espero que esten bien.

Estoy haciendo un ALV, alguno de ustedes sabe como puedo sumar varios campos de una misma columna en un ALV. Por ejemplo:

image

Que tal emgm

Un gusto saludarte, solo para apoyarte un poco mas con tu consulta, nos indicas si los subtotales se haran por orden que llevan (es decir los primeros 3 y posterior los segundos 3) o estas pensando indicar algo en comun que tengan los primero 3 para hacer un subtotal y despues los siguientes tres para un subtotal, adicionalmente el subtotal lo colocaras a lado del grupo de materiales?, esperamos tu respuesta.

Si, hay otro campo en comun que los relaciona.

Me gustaria colocar el subtotal al lado del grupo de materiales.

Gracias por responder.

Gracias por tu respuesta emgm

No se si sepas que en los reportes ALV puedes sacar sutotales a traves de la funcion de los iconos sigma (image) o por el doble sigma (image) para utilizar este ultimo debes de ocupar primero el sigma para totalizar y despues la columna en comun la seleccionas y te aplica subtotales.

Eso lo haces directo en el reporte ALV o si lo que quieres es codigo ABAP para hacerlo directo mediante un programa Z, comentas porfa, gracias.

Esta opcion no me funciona @alexrosascoti porque necesito guardar ese valor en una tabla interna y utilizar el resultado para calcular en otra columna.

Que tal de nuevo emgm

Entonces eso lo vas a hacer mediante codigo directo de ABAP, entonces si vas a necesitar una vez que ingreses tus datos en el ALV ir verificando en que momento llegar al ultimo valor en el renglon segun te agrupacion que vas a sumar en ese momento lo tomas y lo mandas a tu tabla interna, quieres solo la idea plasmada o tambien el codigo ABAP de referencia?, porque una funcion de ese tipo en ABAP que te haga subtotales de momento no la recuerdo, comentas?

Alex, espero que estes bien.

Me interesa un codigo abap de referencia, he intentado varios pero no he tenido resultado.

Que tal emgm

Saludos nuevamente, en este codigo que voy a ir agregando poco a poco veras un ciclo aplicado a una tabla transparente que es copia de la tabla ekpo.

LOOP AT t_ekpo
INTO sl_ekpo
WHERE ebeln = sl_eban-ebeln
AND ebelp = sl_eban-ebelp.

dentro del ciclo que se tiene para la table t_ekpo se tiene lo siguiente:

CLEAR sl_mseg.
READ TABLE t_mseg
TRANSPORTING NO FIELDS
WITH KEY ebeln = sl_ekpo-ebeln
ebelp = sl_ekpo-ebelp.
IF sy-subrc EQ 0.
CLEAR sl_mseg.
LOOP AT t_mseg
INTO sl_mseg
WHERE ebeln = sl_ekpo-ebeln
AND ebelp = sl_ekpo-ebelp.

Se limpia una tabla: sl_mseg y se hace la lectura de datos de acuerdo a una condicion de acuerdo al campo ebeln.

En a condicion IF sy-subrc EQ 0. se checa si hubo algun dato leido y si es asi se procede a realizar un ciclo para otra tabla (t_mseg).

En tu caso seria hacer una verificacion de una condicion que te dijera que si ya llegaste a un renglon ultimo de tu agrupacion si no es asi vas mediante un ELSE acumulando el subtotal.

Si ya llegaste al ultimo renglon de tu agrupacion copias el subtotal a la otra tabla que quieres y limpias la variable donde lleves el subtotal para que te sirva para acumular el subtotal de la siguiente agrupacion.

Como ves te funciona o si quieres compartir tu codigo adelante amigo.

Este tema se cerró automáticamente 7 días después de la última publicación. No se permiten nuevas respuestas.