Ver la Versión Completa : Ayuda LVC_FIELDCATALOG_MERGE
miguel.esteban.martin
11/02/09, 11:58:16
tengo un porblema con un campo qeu me me muestra mi alv.
antes el catalogo de datos lo hacia a mano introduciendo cada campo en el fieldcat.
tengo un campo del tipo numc10 y antes para que en vez de ponerme un 1 me pusiera 00000001 lo convertia yo mismo antes de meterlo en el fieldcat pero ahora al usar la funcion LVC_FIELDCATALOG_MERGE todo esto es automatico y no se como convertir el numero para uqe me lo muestre con los 0 delante.
me podeis esplicar si hay alguna manera de convertir este numero
muchas gracias
Mauricio Hidalgo
11/02/09, 15:42:31
Deja el atributo <tu_catalogo>-no_zero = space. en los campos que necesites ver los ceros.
Saludos
miguel.esteban.martin
11/02/09, 15:52:04
pero como se cual es el campo que quiero cambiar dentro del catalogo.
yo e echo esto pero no sale.
loop at gt_fieldcat.
if gt_fieldcat-fieldname = 'BULTO'.
gt_fieldcat-no_zero = space.
endif.
endloop.
yo quiero que mi campo bulto muestre los ceros.
Sustituye esto
loop at gt_fieldcat.
if gt_fieldcat-fieldname = 'BULTO'.
gt_fieldcat-no_zero = space.
endif.
endloop.
por esto
field-symbols: <linea> type any.
loop at gt_fieldcat assigning <linea>.
if <linea>-fieldname = 'BULTO'.
<linea>-no_zero = space.
endif.
endloop.
miguel.esteban.martin
11/02/09, 16:31:17
me da un error.
<LINEA> is neither specified under "TABLES" nor definde as an internal table.
puedes esplicarme porque?
Si tu haces
LOOP AT tabla.
tabla-campo1 = 'Valor'.
ENDLOOP.
observaras que no se reflejan los cambios dentro de tu tabla interna, es porque te falta utilizar la instruccion MODIFY, tendrias que hacer esto:
LOOP AT tabla.
tabla-campo1 = 'Valor'.
MODIFY tabla.
ENDLOOP.
Y ahora si verias actualizado el campo en tu tabla interna
Una manera de hacer este proceso mas rapido es utilizando field-symbols, que resumiendo son al ABAP IV lo que a otros lenguajes de programacion son los punteros, lo harias asi.
*Aqui declaras el field-symbols, tiene que ir obligatoriamente con los < y >
field-symbols: <linea> type any.
loop at tabla assigning <linea>.
<linea>-campo = 'Valor'.
endloop.
Como el field-symbol apunta directamente al contenido de la tabla no tienes que utilizar MODIFY
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web