PDA

Ver la Versión Completa : Editar campo numérico en ALV


zsabu
26/05/08, 14:50:31
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
26/05/08, 15:37:22
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

danny
26/05/08, 15:50:55
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