MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 11/02/09, 11:58:16
miguel.esteban.martin miguel.esteban.martin is offline
Member
 
Fecha de Ingreso: ene 2009
Mensajes: 89
Ayuda LVC_FIELDCATALOG_MERGE

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
Responder Con Cita
  #2  
Viejo 11/02/09, 15:42:31
Mauricio Hidalgo Mauricio Hidalgo is offline
Senior Member
 
Fecha de Ingreso: may 2006
Localización: Santiago, Chile
Mensajes: 481
Deja el atributo <tu_catalogo>-no_zero = space. en los campos que necesites ver los ceros.

Saludos
Responder Con Cita
  #3  
Viejo 11/02/09, 15:52:04
miguel.esteban.martin miguel.esteban.martin is offline
Member
 
Fecha de Ingreso: ene 2009
Mensajes: 89
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.
Responder Con Cita
  #4  
Viejo 11/02/09, 16:15:26
ballan ballan is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 671
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.
Responder Con Cita
  #5  
Viejo 11/02/09, 16:31:17
miguel.esteban.martin miguel.esteban.martin is offline
Member
 
Fecha de Ingreso: ene 2009
Mensajes: 89
me da un error.
<LINEA> is neither specified under "TABLES" nor definde as an internal table.
puedes esplicarme porque?
Responder Con Cita
  #6  
Viejo 11/02/09, 17:04:18
ballan ballan is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 671
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
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 20:07:10.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web