PDA

Ver la Versión Completa : Fields editables: No puedo actualizarlos!!!!!!!!


marianoboni
08/01/09, 15:40:31
Buenas tardes tengo el siguiente escenario que no puedo resolver:
Quiero actualizar dos Fields editables en un DYNPRO ( TXT_IDALMAC, TXT_NAMEALMAC ) , de los cuales uno es un matchcode de almacen ( TXT_IDALMAC ) , cuando hago click en un boton del ALV Grid, entonces implementé mi clase para capturar el click, en dicha implementación le cambio los valores a los fields deseados y luego utilizando la funcion 'SAPGUI_SET_FUNCTIONCODE' fuerzo el Enter para que se ejecute el PAI; cuando hago click la primera ves en el boton funciona, luego deja de actulizarme los valores en los fields ( TXT_IDALMAC, TXT_NAMEALMAC ) concervandome los valores que tenian con anterioridad.

Les paso un fragmento del codigo:




*--------------------------------------------------------------
*
* CLASS lcl_event_handlers DEFINITION
*--------------------------------------------------------------
CLASS lcl_event_handlers DEFINITION.
PUBLIC SECTION.
METHODS:
handle_button_click FOR EVENT button_click OF cl_gui_alv_grid
IMPORTING es_col_id es_row_no.


ENDCLASS. "lcl_event_handlers DEFINITION

*--------------------------------------------------------------
*
* CLASS lcl_event_handlers IMPLEMENTATION
*--------------------------------------------------------------
CLASS lcl_event_handlers IMPLEMENTATION.
METHOD handle_button_click.
* Tratamiento de seleccion de fila
PERFORM seleccionarFila USING es_row_no-row_id .

* Fuerzo la ejecución del PBO mediante simulacion de Enter
CALL FUNCTION 'SAPGUI_SET_FUNCTIONCODE'
EXPORTING
functioncode = '=00'
EXCEPTIONS
function_not_supported = 1
OTHERS = 2.

IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

ENDMETHOD. "handle_button_click



FORM seleccionarFila USING P_NROFILA .

DATA:
cont type I,
loc_e_linea LIKE e_LINEA_DOCU,
e_nroSerie LIKE e_LINEA_SERIAL,
sel_rows TYPE lvc_t_roid,
sel_row TYPE lvc_s_roid.


sel_row-ROW_ID = P_NROFILA.

LBL_CANTIDAD = ''.
cont = 0.
CLEAR gr_sel_rows_lineas .

INSERT sel_row INTO TABLE gr_sel_rows_lineas.

CALL METHOD gr_alvgrid_lineas->set_selected_rows
EXPORTING It_row_no = gr_sel_rows_lineas.


PERFORM buscarLineaSeleccionada CHANGING loc_e_linea .


TXT_LINEA = loc_e_linea-POSPO .
TXT_DSCMATERIAL = loc_e_linea-MATDES.
TXT_NAMEALMAC = loc_e_linea-ALMACDSC.
TXT_IDALMAC = loc_e_linea-ALMAC.

.
.
.

ENDFORM. " seleccionarFila


desde ya gradesco cualquier tipo de ayuda!!!!!!!!
Saludos