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 19/01/12, 15:59:57
coloso coloso is offline
Senior Member
 
Fecha de Ingreso: feb 2006
Mensajes: 110
Problema creación ayuda campo ALV OO

Hola a todo el mundo, aquí ando pegándome con un ALV OO.

Me he creado un ALV con dos campos el primero puede variar cada vez que se entre en la pantalla, según ese valor el segundo campo tiene una opción de ayuda que creo dinámicamente dependiendo del valor del primer campo.

Mi problema es que como al abrir la ayuda le pulsen a cerrar la ayuda sin seleccionar algún dato me casca el ALV, me da un error interno del ALV. Alguien sabe como puedo solucionar esto ????? Saludos y muchas graciar por leer este mensaje.....

Err.tmpo.ejec. GETWA_NOT_ASSIGNED
Fecha y hora 19.01.2012 17:59:59



Texto breve
Field symbol has not yet been assigned.



¿Qué ha sucedido?
Error in the ABAP Application Program

The current ABAP program "CL_ALV_CHANGED_DATA_PROTOCOL==CP" had to
terminated because it has
come across a statement that unfortunately cannot be executed.



He usado esto:

set handler i_event_receiver->handle_f4 for go_grid.

"Registramos que campos tienen ayuda dinámica en el ALV de características.
perform register_f4_fields_alv. "set cells with search help

*&---------------------------------------------------------------------*
*& Classes definition for tool bar push button
*& "Para el primer ALV dynpro 2000
*&---------------------------------------------------------------------*
class lcl_event_receiver definition.

public section.

methods:

handle_toolbar for event toolbar of cl_gui_alv_grid
importing e_object e_interactive,

handle_user_command for event user_command of cl_gui_alv_grid
importing e_ucomm,

handle_double_click for event double_click of cl_gui_alv_grid
importing e_row e_column,

handle_hotspot_click for event hotspot_click of cl_gui_alv_grid
importing e_row_id e_column_id es_row_no,

handle_data_changed for event data_changed of cl_gui_alv_grid
importing er_data_changed,

handle_f4 for event onf4 of cl_gui_alv_grid
importing e_fieldname e_fieldvalue es_row_no
er_event_data et_bad_cells e_display.

endclass. "lcl_event_receiver DEFINITION

"Ayuda de búsqueda
method handle_f4.

perform handle_onf4_elemento using e_fieldname e_fieldvalue es_row_no
er_event_data et_bad_cells e_display.

er_event_data->m_event_handled = 'X'.

endmethod. "handle_f4

*&---------------------------------------------------------------------*
*& Form Register_f4_fields
*&---------------------------------------------------------------------*
* Vamos a rellenar la ayuda que le corresponde al campo
*&---------------------------------------------------------------------*
form handle_onf4_elemento using e_fieldname
e_fieldvalue
es_row_no type lvc_s_roid
er_event_data type ref to cl_alv_event_data
et_bad_cells
e_display.
*
field-symbols: <lt_f4> type lvc_t_modi.
data: ls_f4 type lvc_s_modi.

case e_fieldname. "read changed cell

when 'ELEMENTO'.

clear: it_elemento, it_return_tab2. refresh: it_elemento, it_return_tab2.

clear g_caracteristicas.
read table g_caracteristicas index es_row_no-row_id.

clear zdw_par_cartel.
select * into corresponding fields of table it_elemento
from zdw_par_cartel where caracteristica = g_caracteristicas-caracteristica.

* here must be the code to fill in the possible values table
* and the call to fm F4IF_INT_TABLE_VALUE_REQUEST

call function 'F4IF_INT_TABLE_VALUE_REQUEST'
exporting
retfield = 'ELEMENTO'
value_org = 'S'
tables
value_tab = it_elemento
return_tab = it_return_tab2
exceptions
parameter_error = 1
no_values_found = 2
others = 3.

if sy-subrc = 0 and it_return_tab2-fieldval <> ''.
assign er_event_data->m_data->* to <lt_f4>.
ls_f4-fieldname = e_fieldname.
ls_f4-row_id = es_row_no-row_id.
ls_f4-value = it_return_tab2-fieldval.
append ls_f4 to <lt_f4>.
endif.

endcase.

endform. "HANDLE_ONF4
Responder Con Cita
  #2  
Viejo 20/01/12, 12:14:05
Melandry Melandry is offline
Senior Member
 
Fecha de Ingreso: ene 2011
Mensajes: 110
Hola.
Me suena a que tu field-symbols <lt_f4> no está asignado y al hacer el append casca.
Prueba a chequear antes.
IF <lt_f4> IS ASSIGNED.
...
else.
...
endif.

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 15:16:50.


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