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 10/04/12, 20:27:42
AlexisChavero
 
Mensajes: n/a
Unhappy TOP-OF-PAGE dinamico

Hola gente de Mundosap,
El inconveniente por el que les escribo es el siguiente.
Tengo 2 alv oo los cuales uno deriba del otro.
Es decir, tengo el alv 1, en el cual tengo agregado el evento doble clic, entonces al hacer doble clic sobre una de las lineas del alv 1, me abre el alv 2 en forma de popup con el detalle de la linea seleccionada.
Esto funciona perfectamente. Pero lo que no logro hacer es que el TOP_OF_PAGE del alv 2 sea dinamico.
Es decir, que me muestre en el TOP_OF_PAGE la sucursal que se selecciono en el alv 1.
En este momento no puedo hacer que actualice el TOP_OF_PAGE del alv 2 mostrandome siempre la sucursal del primer registro que le hago doble clic.
O sea, si la primera vez que hice doble clic sobre el alv 1 en la sucursal AAA, por mas que haga doble clic sobre el alv 1 en la sucursal BBB, me sigue mostrando AAA en el TOP_OF_PAGE del alv 2.
Le di miles de vueltas y ya no se como hacer para poder actualizar el TOP_OF_PAGE de esta manera.
Espero haber sido lo mas claro posible para que me puedan ayudar en el tema.
Desde ya muchas gracias.
Saludos,
Responder Con Cita
  #2  
Viejo 10/04/12, 22:24:35
jossnet jossnet is offline
Member
 
Fecha de Ingreso: oct 2007
Mensajes: 61
tienes que inicializar el encabezado:

CALL METHOD OBJETO_CL_DD_DOCUMENT->INITIALIZE_DOCUMENT.

CALL METHOD OBJETO_CL_GUI_ALV_GRID->LIST_PROCESSING_EVENTS
EXPORTING
I_EVENT_NAME = 'TOP_OF_PAGE'
I_DYNDOC_ID = OBJETO_CL_DD_DOCUMENT.
Responder Con Cita
  #3  
Viejo 11/04/12, 15:26:51
AlexisChavero
 
Mensajes: n/a

Jossnet,
Muchas gracias por el aporte, pero esto lo probe de la siguiente manera, y no me funciono:
DATA: LCL_DYNDOC_ID TYPE REF TO CL_DD_DOCUMENT. " Declarado globalmente
* initializing document
CALL METHOD LCL_DYNDOC_ID->INITIALIZE_DOCUMENT.
* force top_of_page event
CALL METHOD gr_alvgrid2->LIST_PROCESSING_EVENTS
EXPORTING
I_EVENT_NAME = 'TOP_OF_PAGE'
I_DYNDOC_ID = LCL_DYNDOC_ID.

Y dentro del perform del metodo top_of_page:
READ TABLE gt_plan INTO gs_plan INDEX gv_row.
CALL METHOD E_DYNDOC_ID->NEW_LINE.
* Sucursal
WRITE gs_plan-i_vkbur TO LV_TEXT.
ADD_TEXT: 'Sucursal:' SPACE CL_DD_AREA=>STRONG,
LV_TEXT SPACE CL_DD_AREA=>SMALL.

Pero esto no me lo actualiza.
Sinceramente creo que me esta faltando algo, ya que logicamente asi deberia funcionar, pero en la practica no es asi.
Siempre mantiene la sucursal del primer registro que se visualizo.
Es mas, incluso probe con agregarle el metodo initialization dentro del perform (CALL METHOD E_DYNDOC_ID->INITIALIZE_DOCUMENT) lo cual tampoco me funciono.
Alguien que me sugiera alguna otra cosa o me indique como hacer para subir el codigo asi pueden visualizar como lo estoy haciendo y asi quizas me puedan ayudar con una solucion?
Desde ya muchas gracias.
Responder Con Cita
  #4  
Viejo 16/04/12, 12:45:41
AlexisChavero
 
Mensajes: n/a
Thumbs up

Estimados,
El tema fue solucionado de la siguientes manera.
El ALV OO y el TOP_OF_PAGE forman parte de un mismo contenedor el cual es dividido en 2 por medio de un SPLITTER, como el SPLITTER no posee un metodo refresh o initialize, elimine el contenedor del TOP_OF_PAGE y lo cree de nuevo, lo cual me actualiza los datos del TOP_OF_PAGE como necesitaba.

* Se elimina el contenedor del TOP_OF_PAGE
CALL METHOD GV_SPLITTER2->REMOVE_CONTROL
EXPORTING
ROW = 1
COLUMN = 1
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
others = 3.
* Se instancia el contenedor del TOP_OF_PAGE
CALL METHOD GV_SPLITTER2->GET_CONTAINER
EXPORTING
ROW = 1
COLUMN = 1
RECEIVING
CONTAINER = gr_tcontainer2.
* Se setea la dimension del contenedor del TOP_OF_PAGE
CALL METHOD GV_SPLITTER2->SET_ROW_HEIGHT
EXPORTING
ID = 1
HEIGHT = 20.
* initializing document
CALL METHOD LCL_DYNDOC_ID->INITIALIZE_DOCUMENT.
* force top_of_page event
CALL METHOD gr_alvgrid2->LIST_PROCESSING_EVENTS
EXPORTING
I_EVENT_NAME = 'TOP_OF_PAGE'
I_DYNDOC_ID = LCL_DYNDOC_ID.

Espero a alguien le sirva.
Saludos,
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 10:33:13.


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