MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 26/04/12, 16:35:21
Eduesqueda Eduesqueda is offline
Senior Member
 
Fecha de Ingreso: dic 2008
Localización: San Nicolás, México
Mensajes: 103
Como recalcular totales en reporte ALV??

Hola a todos de casualidad alguien sabe lo siguiente:

1.- Tengo un reporte ALV que despliega ciertas columnas y la última columna es un checkbox para seleccionar o deseleccionar el renglón.
2.- También al desplegar mi reporte me muestra totales por proveedor (LIFNR) y un total TOTAL. Y lo que sumariza es el importe (WRBTR). Todos los renglones la primer vez aparecen seleccionados o marcados.
3.- Tengo el evento "data_changed" que me detecta si el usuario selecciona o deselecciona el checkbox del renglón. Si el usuario "Deselecciona" entonces se limpia el Checkbox....si el usuario "Selecciona" entonces se marca el checkbox. Y también se actualiza el checkbox en mi tabla de salida. De tal manera que mi tabla de salida es un reflejo del reporte ALV.

La duda es??:

Como le podría hacer para que me esté recalculando los totales ( proveedor y total total) dependiendo de los renglones que se estén seleccionando?


Ejemplo de ALV al principio:

lifnr wrbtr checkbox
10 200 x
10 150 x

TOTAL 10 350

20 300 x
20 131 x
20 70 x

TOTAL 20 501

TOTAL 851


Ahora si yo desmarco
el proveedor 10 importe 200 y
el proveddor 20 importe 70 poniendole al checkbox blancos,
quiero que me quede asi EN LOS TOTALES:

lifnr wrbtr checkbox
10 200
10 150 x

TOTAL 10 150

20 300 x
20 131 x
20 70

TOTAL 20 431

TOTAL 581

La tabla de salida para el alv tiene estas columnas: lifnr, wrbtr, envio (que es el checkbox).
El campo envio se actualiza con espacios o x cada vez que el usuario deselecciona o selecciona.
Siempre tengo que mostrar los marcados y no marcados en la tabla de salida para el ALV por lo que no le puedo mandar en una tabla de salida al ALV solo los registros marcados para el recálculo de totales.

EN BASE A LO ANTERIOR:
Se puede recalcular los totales, DEPENDIENDO DEL CHECKBOX AL MOMENTO QUE SE ESTA SELECCIONANDO O DESELECCIONANDO?? Como??

Y la tabla de salida está así después de seleccionar o deseleccionar por renglón según el evento "Data_Changed":

lifnr wrbtr envio
10 200
10 150 x
20 300 x
20 131 x
20 70

ES DECIR QUIERO QUE PARA LOS TOTALES SOLO SUME LOS REGISTROS MARCADOS CON X CUANDO MUESTRO LA TABLA EN ALV YA QUE AHORITA SUMA TODOS LOS RENGLONES DE LA TABLA DE SALIDA AL ALV.


Saludos y espero alguien me pueda ayudar.
Gracias.
__________________
Saludos
Alabado Seas Yhavé.
-Hay Un Mundo Mejor Cuando Aprendes a AMAR

Úlima edición por Eduesqueda fecha: 26/04/12 a las 19:01:35.
Responder Con Cita
  #2  
Viejo 26/04/12, 19:54:39
Avatar de kibo
kibo kibo is offline
Senior Member
 
Fecha de Ingreso: may 2011
Localización: Quilmes - Argentina
Mensajes: 177
La suma la hace de manera std? deberias de hacer la suma manual. Entonces en tu evento de data change, haces los calculos manuales y le "appendias" la linea a tu tabla de salida.

Es medio picapiedra la cosa
Responder Con Cita
  #3  
Viejo 26/04/12, 20:19:13
Eduesqueda Eduesqueda is offline
Senior Member
 
Fecha de Ingreso: dic 2008
Localización: San Nicolás, México
Mensajes: 103


Si gracias, lo que pasa es que no puedo agregar nada a la tabla de salida porque esto es lo que el usuario está viendo y va a seleccionar para generar un archivo de salida con lo seleccionado y si lo hago como tú dices entonces los botones estandard de SAP en ALV para grupos, cortes y totales me van a incluír en la suma los totales que yo calculé como me estás diciendo y aparte me va a activar el checkbox en estos renglones calculados y el usuario los podría seleccionar cuando no debe ser.

Por lo que mejor lo hago de manera estandard con las rutinas ya creadas por sap, pasandole solo la tabla de salida con sus registros a sumarizar y que SAP haga los totales pero solo quiero que no me sume o no me incluya en los totales los que no tienen el checkbox seleccionado.

Esto ya está en la tabla a desplegar con los campos: lifnr, wrbtr y checkbox solo que me suma todos los registros.....y solo quiero los marcados en el checkbox.

Utilizo las rutinas estandar de SAP como:

1.- * Construction of the Layout.
PERFORM f_construction_layout.----> llena estructura con valores de layout

2.- * Build field catalog
PERFORM f_build_fieldcatalog---> utiliza la funcion: FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

*Aqui especifico que el importe es el campo que se sumará.
WHEN 'WRBTR'.
lw_fieldcat-do_sum = c_x.

3.- * Build Events
PERFORM f_build_events---> llena evento estatus y data_changed
CHANGING i_events.

4.- * Build Sort Criteria
PERFORM f_build_sortCat.--->llena estructura para que sume por proveedor como:

CLEAR wa_sort.
REFRESH it_sortCat.
wa_sort-spos = 1.
wa_sort-fieldname = 'LIFNR'.
wa_sort-up = c_x.
wa_sort-subtot = c_x. "subtotals any totals column by this field
APPEND wa_sort TO it_sortCat.
CLEAR wa_sort.

5.- * Display alv report on output screen
PERFORM f_display_alv_report.--->utiliza la funcion:
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
__________________
Saludos
Alabado Seas Yhavé.
-Hay Un Mundo Mejor Cuando Aprendes a AMAR

Úlima edición por Eduesqueda fecha: 27/04/12 a las 14:50:22.
Responder Con Cita
  #4  
Viejo 27/04/12, 16:52:19
Eduesqueda Eduesqueda is offline
Senior Member
 
Fecha de Ingreso: dic 2008
Localización: San Nicolás, México
Mensajes: 103


TIENES ALGUNA OTRA IDES KIBO? O ALGUIEN MAS??
HELP, PLEASE!!
__________________
Saludos
Alabado Seas Yhavé.
-Hay Un Mundo Mejor Cuando Aprendes a AMAR
Responder Con Cita
  #5  
Viejo 27/04/12, 17:02:26
Avatar de kibo
kibo kibo is offline
Senior Member
 
Fecha de Ingreso: may 2011
Localización: Quilmes - Argentina
Mensajes: 177
No creo que al ALV_GRID puedas hacer de manera std eso... o al menos yo no lo se, si estuviera en Objetos tenes un poco mas de chances.

La UNICA que se me ocurre, es que copies la funcion de sumarizacion e un Z y ahi le puedas metar vos que solo tenga en cuenta los registros marcados.

No es muy alentadora la idea porque tendras que debuguear el std un rato pero desde mis pocos conocimientos no se me ocurre mas, tal vez puedas buscar en SDN a ver si saben algo.

Y sino la respuesta mas habitual "No, mira... eso SAP no lo contempla, bajalo a Excel y cualquier cosa preguntale a Microsft "
Responder Con Cita
  #6  
Viejo 27/04/12, 17:34:16
Eduesqueda Eduesqueda is offline
Senior Member
 
Fecha de Ingreso: dic 2008
Localización: San Nicolás, México
Mensajes: 103


OK.....KIBO....MUCHAS GRACIAS....ESO ES LO QUE ESTABA DEBUGUEANDO HACE RATO LA FUNCION: REUSE_ALV_GRID_DISPLAY PERO ME DESESPERE...voy a ver si encuentro el sumarizado para excluír los que no fueron marcados.....

y si no les voy a decir que no se puede en SAP....

GRACIAS y te aviso si pude encontrar el punto exacto para cambiar en la funcion.

Saludos
__________________
Saludos
Alabado Seas Yhavé.
-Hay Un Mundo Mejor Cuando Aprendes a AMAR
Responder Con Cita
  #7  
Viejo 27/04/12, 20:04:23
Avatar de DCErick
DCErick DCErick is offline
Moderator
 
Fecha de Ingreso: mar 2006
Localización: Monterrey
Mensajes: 1,090
Puedes truquear los subtotales con el evento SUBTOTAL_TEXT, hacer tu calculo con los registros marcados y reemplazar el valor, pero el grand total seguirá siendo el de todos los registros de la tabla....
__________________
-------------------
¿Dudas para descargar manuales? Ver este tema ->
Responder Con Cita
  #8  
Viejo 27/04/12, 21:00:16
Avatar de DCErick
DCErick DCErick is offline
Moderator
 
Fecha de Ingreso: mar 2006
Localización: Monterrey
Mensajes: 1,090
En el evento changed, haz lo sigiuente:


Bueno ya tu le metes la lógica para calcular los totales en base a tu check.... Creo que tendré que ir a tu consultora a pasarte mas trucos xD.
__________________
-------------------
¿Dudas para descargar manuales? Ver este tema ->
Responder Con Cita
  #9  
Viejo 27/04/12, 21:39:13
Eduesqueda Eduesqueda is offline
Senior Member
 
Fecha de Ingreso: dic 2008
Localización: San Nicolás, México
Mensajes: 103


JIJIJIJI....Si verdad, me falta mucho, yo sé. Muchas Gracias, DERICK, lo voy a probar te estoy avisando...gracias y saludos.


HOLA DCERICK, FIJATE QUE PROBE EL CODIGO COMO ME DIJISTES EN EL EVENTO DATA_CHANGED Y SI VI QUE FUNCIONA MUY BIEN. ** CAMBIA EL RENGLON DE LA TABLA DEL EL TOTAL TOTAL AL VALOR 100 ó 1000 (WRBTR)
** CAMBIA TODA LA INFO DE LA TABLA DE LOS SUBTOTALES POR PROVEEDOR AL VALOR 100 (WRBTR)

PERO NO ME CAMBIA EN MI ALV O PANTALLA NADA al salir del evento DATA_CHANGED y regresa a mi ALV, DEBERIA VER EL TOTAL TOTAL con 1000 Y LOS TOTALES POR PROVEEDOR CON 100.
PERO SIGUE CON LOS DATOS ORIGINALES...PORQUE?

GRACIAS Y SI ME PUDIERAS DECIR TE LO AGRADECERIA DE TODO CUCHARON.
SALUDOS.
__________________
Saludos
Alabado Seas Yhavé.
-Hay Un Mundo Mejor Cuando Aprendes a AMAR

Úlima edición por Eduesqueda fecha: 27/04/12 a las 22:42:02.
Responder Con Cita
  #10  
Viejo 27/04/12, 23:09:25
Avatar de DCErick
DCErick DCErick is offline
Moderator
 
Fecha de Ingreso: mar 2006
Localización: Monterrey
Mensajes: 1,090
mmm sabes, no tengo forma de probarlo ahorita con el user_command

Yo lo puse en el top_of_page y me jala bien....
__________________
-------------------
¿Dudas para descargar manuales? Ver este tema ->
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 12:27:56.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web