¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo corregir la conversión automática de horas en ALV Grid - Problema con campo editable de tipo stdaz

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 6 Vistas
0
Cargando...

Estimados amigos,

Estoy usando ALV Grid y la salida en modo editable. Tengo horas (tipo de dato stdaz) como campo editable, ahora cuando

ingreso en el campo editable como 10.00 ....... en la pantalla solo aparece 10.00 ....... sin embargo, cuando ingreso y presiono el botón que he colocado en el ALV grid ...... se activa el código de comando de usuario en el que puedo ver en el área de trabajo el valor

que he ingresado en el campo editable se muestra como 0.10 en lugar de 10.00 ...........

he declarado este campo solo como stdaz.

mi código es el siguiente en el comando de usuario.

CASE ucomm.

WHEN '&GRK'.

IF NOT Gt_final[] IS INITIAL.

LOOP AT gt_final INTO wa_tmp_final WHERE

chk = 'X'.

IF wa_tmp_final-grade NE 'SE6A' .

SELECT SINGLE * FROM pa0008 INTO wa_pa0008 WHERE pernr = wa_tmp_final-pernr

AND lga01 = '1000'.

SELECT SINGLE * FROM pa0014 INTO wa_pa0014 WHERE pernr = wa_tmp_final-pernr

AND lgart = '2048'.

break-point.

IF wa_pa0008-bet01 IS NOT INITIAL.

wa_tmp_final-amt1096 = wa_tmp_final-adminohrs * (wa_pa0008-bet01 + wa_pa0014-betrg) / 240.

MODIFY TABLE gt_final FROM wa_tmp_final transporting amt1096.

ENDIF.

endif.

endloop.

ENDIF.

ENDCASE.

Wa_tmp_final-adminohrs -


> me está dando 0.10 en lugar de 10.00, no logro entender cómo se está convirtiendo automáticamente.

por favor, corríjanme por qué se comporta así como se describe arriba.

saludos

madhuri.

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hola,

Madhuri, puedes intentar esto:

Coloca tu campo que tiene este problema como

" wa_fieldcat-decimals = '2'. "

eso resolverá tu problema.

por ejemplo:

wa_fieldcat-fieldname = 'KBETR'.

  • ls_fieldcatalog-checkbox = 'X'.

  • ls_fieldcatalog-datatype = 'C'.

AGREGAR 1 A wf_pos.

wa_fieldcat-col_pos = wf_pos.

wa_fieldcat-outputlen = '15'.

wa_fieldcat-reptext = 'PRECIO EXISTENTE'.

wa_fieldcat-coltext = 'PRECIO EXISTENTE'.

wa_fieldcat-seltext = 'PRECIO EXISTENTE'.

wa_fieldcat-tooltip = 'PRECIO EXISTENTE'.

wa_fieldcat-key = 'X'.

wa_fieldcat-icon = 'X'.

wa_fieldcat-TABNAME = 'IT_DATA'.

wa_fieldcat-decimals = '2'. /// mantener este campo como 2 para que se guarde en el formato requerido.

*ls_fieldcatalog-edit = 'X'.

    • wa_fieldcat-edit = 'X'.

AGREGAR wa_fieldcat A it_fieldcat.

BORRAR wa_fieldcat.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

¡Hola Gaurav!

Gracias por tu solución, está funcionando... pero tengo un problema: el texto en el encabezado se está cambiando al texto estándar de la tabla de referencia.

Cuando cambié mi código de la siguiente manera:

gk_FIELDCAT-REF_FIELD = 'STDAZ'. " nombre del campo

gk_FIELDCAT-REF_TABLE = 'T550P'. " nombre de la tabla

en lugar de mi texto personalizado, estoy obteniendo el estándar... mi código es el siguiente:

PERFORM f_get_fcat USING :

'CHK' 'CheckBox' 'X' ,

'PERNR' 'Código de empleado' espacio,

'ENAME' 'Nombre de empleado' espacio,

'DATE' 'Fecha' espacio,

'PWRKTIME' 'Tiempo de trabajo planificado' espacio.

FORM f_get_fcat USING value(p_0708)

value(p_0709)

p_0710.

GK_fieldcat-fieldname = p_0708.

GK_fieldcat-tabname = 'IT_FINAL'.

GK_fieldcat-seltext_l = p_0709.

GK_fieldcat-edit = p_0710.

IF p_0708 EQ 'CHK'.

GK_fieldcat-checkbox = p_0710.

ENDIF.

IF p_0708 EQ 'ADMINOHRS'.

gk_FIELDCAT-REF_FIELDname = 'STDAZ'. " nombre del campo

gk_FIELDCAT-REF_TABname = 'T550P'. " nombre de la tabla

.

endif.

APPEND GK_fieldcat TO Gt_fieldcat.

CLEAR : gk_fieldcat.

endform.

¿Cómo puedo obtener mi texto personalizado que estoy pasando en el perform?

Saludos

Madhuri.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola,

En el campo de moneda está creando un problema ............ así que en el campo de catálogo solo debes proporcionar el campo de referencia y el nombre de la tabla de referencia.....

Tu problema será resuelto.

WA_FIELDCAT-REF_FIELD = 'MENGE'.  " nombre del campo
  WA_FIELDCAT-REF_TABLE = 'EKPO'.  " nombre de la tabla

Por favor, házmelo saber si el problema no se resuelve.

Saludos

Gaurav

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola,

Solo agrega un campo para resolver el problema............

IF p_0708 EQ 'ADMINOHRS'.

gk_FIELDCAT-COLTEXT = ' '."Encabezado de columna.

gk_FIELDCAT-REF_FIELDname = 'STDAZ'. " nombre del campo

gk_FIELDCAT-REF_TABname = 'T550P'. " nombre de la tabla

endif.

Saludos,

Gaurav

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?