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 30/07/10, 00:17:07
andresf02 andresf02 is offline
Senior Member
 
Fecha de Ingreso: nov 2009
Mensajes: 190
Problema Subtotales en Reporte Interactivo

Buenas noches.

Realize un reporte interactivo (ALV OO) que muestra un listado de clientes (codigo y nombre) junto con varias columnas con diversos valores dependiendo del mes.

|-Cuenta FI-|-COD Cliente-|-Nombre-|-Ene-|-Feb-|-Mar-|.......|-Dic-|
---------------------------------------------------------------------
|-22050100-|-1000000001-|-Lito SA-|-150-|-200-|-350-|.......|-175-|
|-22050100-|-1000000002-|-Sax SA-|-550-|-100-|-280-|.......|-850-|

Para cada cliente, por mes muestra un valor, y al usuario dar doble click en la fila de un cliente en la columna de un determinado mes (por ejemplo fila '2', columna 'Mar') muestra en un POPUP el detalle de todos los documentos del cliente seleccionado que suman el valor del mes indicado.
En este ejemplo, para el cliente 1000000002, mostraria todos los documentos de Marzo que componen el valor total de 280.

El problema esta cuando el usuario hace un sobtotal por la columna CUENTA FI y muestra solo las filas subtotalizadas por dicho campo. Al hacer doble click sobre el valor subtoalizado de algun mes el programa genera un DUMP de inmediato porque el espera que le llegue un codigo de CLIENTE y un mes para pasarlos como parametros al Select que generará la consulta en el POPUP.

¿Como puedo hacer para que si el usuario da double click sobre una fila subtotalizada, el programa no haga nada simplemente y que sobre todo No genere el DUMP?

Al hacer el debugging haciendo duble click sobre una fila subtotalizada, los valores que recibe el programa son:

p_row = S 0101X0000000001
p_colum = V030



Por favor ayuda, ya que aunque el reporte funciona bien, este detalle lo puede opocar bastate ante un usuario.


Gracias!
Responder Con Cita
  #2  
Viejo 30/07/10, 13:20:50
Avatar de stormshadow
stormshadow stormshadow is offline
Senior Member
 
Fecha de Ingreso: jun 2008
Mensajes: 117
Prueba con sy-tabix, solo identifica cuales son las columnas que quieres que tengan el evento de double click y para mandarlo llamar con una condición le indicas que solo se invoque con sy-tabix = número_columna y de esa forma solo funcionará en las que le indiques
__________________
"Si quieres resultados distintos, no hagas siempre lo mismo" .... Einstein
Responder Con Cita
  #3  
Viejo 30/07/10, 15:11:19
andresf02 andresf02 is offline
Senior Member
 
Fecha de Ingreso: nov 2009
Mensajes: 190
stormshadow, gracias por la respuesta.

No se si te entendi bien, pero el problema que tengo no es con las columnas sino con las filas. Todas las columnas del reporte son interactivas (a excepcion de la columna CUENTA FI). cada columna genera un reporte en el popup diferente.

El problema esta es cuando el usuario realiza un sobtotal por la columna CUENTA FI. Me refiero es que el ALV crea una nueva fila (resaltada en color amarillo) donde solo se muestra el valor de la columna por la que se subtotalizó (en este caso CUENTA FI) y los valores subtotalizados en cada uno de los meses.

Como no se subtotaliza incluyendo la Columna COD CLIENTE, en la fila que genera el ALV, obviamente no aparece nada en esta columna, porque el subtotal es por CUENTA FI. Al usuario dar doble click sobre cualquier columna de la fila subtoalizada

si subtotalizamos el ejemplo por la cuenta 22050100

|-Cuenta FI-|-COD Cliente-|-Nombre-|-Ene-|-Feb-|-Mar-|.......|-Dic-|
---------------------------------------------------------------------
|-22050100-|-1000000001-|-Lito SA-|-150-|-200-|-350-|.......|-175-|
|-22050100-|-1000000002-|-Sax SA-|-550-|-100-|-280-|.......|-850-|

Quedaria asi:

|-Cuenta FI-|-COD Cliente-|-Nombre-|-Ene-|-Feb-|-Mar-|.......|-Dic-|
---------------------------------------------------------------------
|-22050100-|-*********-|-*****-|-700-|-300-|-630-|.......|-1025-|

Esta fila es la que en ALV se muestra como Amarilla. Ahora si el usuario da doble click sobre esta fila en el mes de Mar por ejemplo,

el programa recibe lo siguiente:

p_row = S 0101X0000000001
p_colum = MAR

Pero el programa espera en el p_row, el codigo del cliente, entonces como esta fila subtotalizada por CUENTA FI no lo tiene codigo de cliente obviamente, al programa intentar ejecutar

READ TABLE it_tabcon INTO wa_tabcon INDEX p_row.
Para traer los datos del cliente en el mes indicado genera el DUMP.


Lo que quiero es una forma de evitar que cuando el usuario haga doble click sobre una fila subtotalizada como la del ejemplo, el programa no haga nada pero no genere el DUMP.

Se me ocurre verificar antes del read table que si p_row no contiene un valor intero, salga de la funcion o algo parecido pero no se como hacer la verificacion.

Alguna otra idea?


Gracias de Antemano.
Responder Con Cita
  #4  
Viejo 31/07/10, 00:15:56
calanis calanis is offline
Senior Member
 
Fecha de Ingreso: oct 2008
Mensajes: 147
Hola

Andres

La cosa es simple p_row debe ser númerico y como no lo es al momento de generarse el evento del click en el subtotal, le aplicaria lo siguiente.


Saludos
Carlos D. Alanis
Responder Con Cita
  #5  
Viejo 02/08/10, 21:08:11
andresf02 andresf02 is offline
Senior Member
 
Fecha de Ingreso: nov 2009
Mensajes: 190
Muchas gracias calanis por tu respuesta.
Esta validacion de que si p_row es numerico es mas o menos lo que estaba buscando.
Voy a probarla y comento los resultados.
Responder Con Cita
  #6  
Viejo 04/08/10, 17:04:48
andresf02 andresf02 is offline
Senior Member
 
Fecha de Ingreso: nov 2009
Mensajes: 190
Funciono perfecto. Gracias!
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 15:25:03.


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