Ver Mensaje Individual
  #4  
Viejo 07/05/09, 21:50:39
eljota eljota is offline
Member
 
Fecha de Ingreso: dic 2008
Localización: Lima-Peru
Mensajes: 48
alv llama popup

Creo q ya entendi lo q intentas hacer y si se puede:

Primero debes capturar la accion d dar doble clic a la celda q quieres editar, para eso debes asegurarte q:

q tu layout tenga asignado un valor en el campo F2CODE.

GS_LAYOUT-F2CODE = 'MATCHCODE'.

q tu llamado a alv grid tenga como export este layout y el user_command:

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
*
*
*
IS_LAYOUT = GS_LAYOUT
TABLES
T_OUTTAB = 'tu_tabla_interna'
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.

Luego implementar tu user_command:

FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.

CHECK NOT RS_SELFIELD-TABNAME IS INITIAL.
CASE R_UCOMM.
WHEN 'MATCHCODE'.
IF RS_SELFIELD-FIELDNAME EQ 'nombre_campo_editable'.
" Aqui va la funcionalidad una vez q hiciste doble clic al campo

" Llamado al pop up tipo matchcode
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'CAMPO-TABLA-POPUP'
WINDOW_TITLE = 'TITULO POP-UP'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = 'tabla interna con valores popup'
RETURN_TAB = IT_MATCH
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3.

IF SY-SUBRC EQ 0.
READ TABLE IT_MATCH INDEX 1.
tu_tabla_interna-nombre_campo_editable = IT_MATCH-FIELDVAL.
ENDIF.
" Actualizacion del campo con el valor dl pop up
MODIFY tu_tabla_interna INDEX RS_SELFIELD-TABINDEX.

rs_selfield-refresh = 'X'.
clear i_ucomm.
ENDIF.
ENDCASE.
ENDFORM.

Necesitaras declarar la tabla interna:
DATA: BEGIN OF IT_MATCH OCCURS 0,
SHLPNAME LIKE DDSHRETVAL-SHLPNAME,
FIELDNAME LIKE DDSHRETVAL-FIELDNAME,
RECORDPOS LIKE DDSHRETVAL-RECORDPOS,
FIELDVAL LIKE DDSHRETVAL-FIELDVAL,
RETFIELD LIKE DDSHRETVAL-RETFIELD,
END OF IT_MATCH.

Esto lo hice sin compilar pero he hecho programas q hacen esto, asi q si tienes alguna duda, me avisas.

salu2
__________________
Jaime Zegarra V.
________________
ABAP Developer
Responder Con Cita