refresh a un alv

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • nmarquez1974
    Member
    • abr
    • 36

    #1

    refresh a un alv

    Hola como estan, espero me pueden ayudar

    tengo una columna asi
    gt_itab_mat-fieldname = 'PRECS'.
    gt_itab_mat-tabname = 'T_ART'.
    gt_itab_mat-seltext_l = 'Precio Solic.'.
    gt_itab_mat-just = 'R'.
    gt_itab_mat-outputlen = '12'.
    "gt_itab_mat-hotspot = 'X'.
    gt_itab_mat-emphasize = 'C500'.
    APPEND gt_itab_mat. CLEAR gt_itab_mat.

    cuando le doy clik me llama una pantalla para agregar datos


    FORM user_command USING r_ucomm LIKE sy-ucomm
    rs_selfield TYPE slis_selfield.

    READ TABLE t_art INTO wa_art INDEX rs_selfield-tabindex.
    break-point.
    FIELD-SYMBOLS: <fs>.
    CASE r_ucomm.
    WHEN '&IC1'.
    IF rs_selfield-fieldname EQ 'PRECS'.
    assign precs to <fs>.
    call screen 200 starting at 75 10.
    <fs> = precs.
    precs = <fs>.
    rs_selfield-refresh = 'X'.
    ENDIF.
    ENDCASE.
    ENDFORM. " user_command


    pero no se me actualiza el campo, del reporte alv, como puedo hacer?


    espero me puedan ayudar con ejemplo. saludes
  • marlonx
    Junior Member
    • sep
    • 10

    #2
    Como me ha funcionado a mi, es de dos formas:

    1. Hacer un append o modify a una Itab y volver a mostrar el contenido del ALV.

    2. O bien utilizar la opción refresh del método que llama al ALV Grid.


    FORM USER_COMMAND USING L_UCOMM LIKE SY-UCOMM
    L_SELFIELD TYPE SLIS_SELFIELD.

    READ TABLE TI_SMS INDEX L_SELFIELD-TABINDEX.
    IF SY-SUBRC = 0.
    CASE L_UCOMM.
    WHEN '&IC1'. " Doble click
    "ACA TU CODIGO DE PROCESO LUEGO TE REFRESCA
    L_SELFIELD-REFRESH = 'X'.

    ENDCASE.
    ENDIF.
    ENDFORM. "USER_COMMAND

    Comentario

    Trabajando...