Editar campo numérico en ALV

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • zsabu
    Junior Member
    • may
    • 1

    #1

    Editar campo numérico en ALV

    Hola a todos,

    Necesitaría saber como editar un campo numérico en un ALV, el tema es que me deja ingresar cualquier caracter, incluso letras, y yo quiero que solo me permita ingresar número con el formato 999,99. Transcribo el código de mi programa.

    Esta es la tabla interna que muestro en el ALV

    DATA: BEGIN OF ti_alv OCCURS 0,
    bukrs LIKE zke_dist_sircreb-bukrs,
    regio LIKE zke_dist_sircreb-regio,
    gjahr LIKE zke_dist_sircreb-gjahr,
    monat LIKE zke_dist_sircreb-monat,
    bezei LIKE t005u-bezei,
    alicu(6) TYPE p DECIMALS 2,
    END OF ti_alv.


    El campo que quiero editar es ALICU.

    Cuando cargo el fieldcat pongo lo siguiente

    CLEAR gt_fieldcat.
    gt_fieldcat-tabname = 'TI_ALV'.
    gt_fieldcat-fieldname = 'ALICU'.
    gt_fieldcat-seltext_m = 'Alícuota'.
    gt_fieldcat-outputlen = '6'.
    gt_fieldcat-edit = 'X'.
    APPEND gt_fieldcat.

    He probado con agregarle

    gt_fieldcat-datatype = 'CURR'.
    gt_fieldcat-decimals_out = '2'.

    pero no pasa nada.

    Agradezco cualquier ayuda que me puedan brindar.

    Zsabu.
  • azua14
    Senior Member
    • jul
    • 140

    #2
    Hola..esas cosas las debiera validar solas SAP, una vez ingresado si le das enter, te debiera mandar un mensaje de error, sin ver más el código me da la impresion que tu campo ALICU puede que este mal definido..no sé..como string o numc..revisa eso primero

    Comentario

    • danny
      Member
      • mar
      • 36

      #3
      holas..al crear tu alv pusistes estos metodos..?
      estos te validan el ingreso k haces..

      * validar al modificar el campo
      CALL METHOD grid_min->register_edit_event
      EXPORTING
      i_event_id = cl_gui_alv_grid=>mc_evt_modified.

      * validar al dar enter
      CALL METHOD grid_min->register_edit_event
      EXPORTING
      i_event_id = cl_gui_alv_grid=>mc_evt_enter.

      CALL METHOD grid_min->set_ready_for_input
      EXPORTING
      i_ready_for_input = 1.

      saludos

      Comentario

      Trabajando...