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 25/04/07, 09:48:56
Vero2007 Vero2007 is offline
Member
 
Fecha de Ingreso: mar 2007
Mensajes: 38
Problema:DUMP al rellenar el catalogo de un alv grid.

Buenas, tengo UN problemas que igual me puedan ayudar a solucionar.
Tengo un alv en una dynpro y me muestra bien la información de una tabla ,pasandole la estructura y los datos
EL PROBLEMA viene cuando quiero que los campos tengan un determinado campo y texto para visualizar, porque tengo
que rellenar un it_fieldcatalog (catalogo) para que tengas las características q quiero. En ese momento SAP me
da un DUMP:

************************************************************
Txt.brv.
Field symbol has not yet been assigned.

Anál.errores
You attempted to access an unassigned field symbol
(data segment 32821).

This error may occur for any of the following reasons:
- You address a typed field symbol before it is set using ASSIGN
- You address a field symbol that points to a line in an internal table
that has been deleted
- You address a field symbol that had previously been reset using
UNASSIGN, or that pointed to a local field that no longer exists
- You address a global function interface parameter, even
though the relevant function module is not active,
that is it is not in the list of active calls. You can get the list
of active calls from the this short dump.

macro_cell_data_get
<ls_fcat>
<ls_data>
<l_field_value>
ls_lvc_data-value.

> new API
if ir_salv_adapter is bound.
clear ls_lvc_data-style.

****************************************************************

Lo que yo tengo en el codigo es lo siguiente:

*--------------------------------------------------------------------
* G L O B A L I N T E R N A L T A B L E S
*--------------------------------------------------------------------

DATA: gi_zfitlogs TYPE TABLE OF zfitlogs.

DATA: g_it_logs TYPE STANDARD TABLE OF zfitlogs WITH HEADER LINE.

DATA: gi_fieldcat1 TYPE LVC_T_FCAT.

*&---------------------------------------------------------------------*
*& Module STATUS_1500 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE STATUS_1500 OUTPUT.
SET PF-STATUS 'MENU1500'.
SET TITLEBAR 'TITULO1500'.

* Crea los objetos
IF go_custom_container IS INITIAL.

CREATE OBJECT go_custom_container
EXPORTING
container_name = 'ALV_CONTAINER'.

CREATE OBJECT go_grid
EXPORTING
i_parent = go_custom_container.

ELSE.
CALL METHOD go_grid->refresh_table_display.
ENDIF.

* Rellenar el catalogo
PERFORM rellenar_catalogo1.


* Rellenar el alv-grid
PERFORM load_data_into_grid.

ENDMODULE. " STATUS_1500 OUTPUT

*&---------------------------------------------------------------------*
*& Form load_data_into_grid
*&---------------------------------------------------------------------*
*& Con la tabla rellena de información para la alv, muestra una alv
*& en una dynpro
*&---------------------------------------------------------------------*
FORM load_data_into_grid.

* Read data from table ZFITLOGS
SELECT * FROM zfitlogs "client specified
APPENDING TABLE gi_zfitlogs
UP TO RSEUMOD-TBMAXSEL ROWS BYPASSING BUFFER
WHERE zsior IN r_zsior
AND ztpop IN r_ztpop
AND zprog IN r_zprog
AND zfent IN r_zfent
AND zfpro IN r_zfpro
AND zestl IN r_zestl
AND usnam IN r_usnam.

* Carga los datos en el grid y los muestra por pantalla
CALL METHOD go_grid->set_table_for_first_display
EXPORTING
i_structure_name = 'ZFITLOGS'
CHANGING
it_outtab = gi_zfitlogs
it_fieldcatalog = gi_fieldcat1.

ENDFORM. " load_data_into_grid

*&---------------------------------------------------------------------*
*& Form rellenar_catalogo1
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM rellenar_catalogo1 .
data: wa_fieldcat1 type lvc_s_fcat.

" wa_fieldcat1-tabname = 'g_it_logs'.
wa_fieldcat1-FIELDNAME = 'mandt'.
wa_fieldcat1-SELTEXT = 'Mandante'.
wa_fieldcat1-coltext = 'Columna Mandante'.
" wa_fieldcat1-col_pos = 1.
" wa_fieldcat1-outputlen = 20.
append wa_fieldcat1 to gi_fieldcat1.
clear wa_fieldcat1.

wa_fieldcat1-FIELDNAME = 'znlog'.
wa_fieldcat1-SELTEXT = 'Nombre del log'.
wa_fieldcat1-coltext = 'Columna Nombre'.
append wa_fieldcat1 to gi_fieldcat1.
clear wa_fieldcat1.

wa_fieldcat1-FIELDNAME = 'zprog'.
wa_fieldcat1-SELTEXT = 'Nombre del programa'.
wa_fieldcat1-coltext = 'Columna Nombre'.
append wa_fieldcat1 to gi_fieldcat1.
clear wa_fieldcat1.

wa_fieldcat1-FIELDNAME = 'zestl'.
wa_fieldcat1-SELTEXT = 'Nombre del log'.
wa_fieldcat1-coltext = 'Columna Nombre'.
append wa_fieldcat1 to gi_fieldcat1.
clear wa_fieldcat1.

wa_fieldcat1-FIELDNAME = 'usnam'.
wa_fieldcat1-SELTEXT = 'Nombre del log'.
wa_fieldcat1-coltext = 'Columna Nombre'.
append wa_fieldcat1 to gi_fieldcat1.
clear wa_fieldcat1.

wa_fieldcat1-FIELDNAME = 'znlar'.
wa_fieldcat1-SELTEXT = 'Nombre del log'.
wa_fieldcat1-coltext = 'Columna Nombre'.
append wa_fieldcat1 to gi_fieldcat1.
clear wa_fieldcat1.

wa_fieldcat1-FIELDNAME = 'zncor'.
wa_fieldcat1-SELTEXT = 'Nombre del log'.
wa_fieldcat1-coltext = 'Columna Nombre'.
append wa_fieldcat1 to gi_fieldcat1.
clear wa_fieldcat1.

wa_fieldcat1-FIELDNAME = 'zsior'.
wa_fieldcat1-SELTEXT = 'Nombre del log'.
wa_fieldcat1-coltext = 'Columna Nombre'.
append wa_fieldcat1 to gi_fieldcat1.
clear wa_fieldcat1.

wa_fieldcat1-FIELDNAME = 'ztpop'.
wa_fieldcat1-SELTEXT = 'Nombre del log'.
wa_fieldcat1-coltext = 'Columna Nombre'.
append wa_fieldcat1 to gi_fieldcat1.
clear wa_fieldcat1.

wa_fieldcat1-FIELDNAME = 'zfent'.
wa_fieldcat1-SELTEXT = 'Nombre del log'.
wa_fieldcat1-coltext = 'Columna Nombre'.
append wa_fieldcat1 to gi_fieldcat1.
clear wa_fieldcat1.

wa_fieldcat1-FIELDNAME = 'zfpro'.
wa_fieldcat1-SELTEXT = 'Nombre del log'.
wa_fieldcat1-coltext = 'Columna Nombre'.
append wa_fieldcat1 to gi_fieldcat1.
clear wa_fieldcat1.

wa_fieldcat1-FIELDNAME = 'zhumd'.
wa_fieldcat1-SELTEXT = 'Nombre del log'.
wa_fieldcat1-coltext = 'Columna Nombre'.
append wa_fieldcat1 to gi_fieldcat1.
clear wa_fieldcat1.

ENDFORM. " rellenar_catalogo2

*******************************************************+

Necesitaria saber en que me estoy equivocando para que me dé ese DUMP porque ya he probado de todo,
quitando unos campos poniendos otros, no poniendo el nombre del tabname,etc....

Si alguien me puede ayudar se lo agradeceria.

Un saludo, y gracias por adelantado.
Responder Con Cita
  #2  
Viejo 25/04/07, 11:39:12
ballan ballan is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 671
Vero prueba a rellenar los campos REFTABLE y REFFIELD de la estructura wa_fieldcat1 con la tabla y el campo que has usado de referencia, p.e.

data: begin of tabla occurs 0,

campo1 like vbak-vbeln
...

pues pon vbak en reftable y vbeln en reffield aver si asi te funciona

un saludo
Responder Con Cita
  #3  
Viejo 25/04/07, 11:47:27
Vero2007 Vero2007 is offline
Member
 
Fecha de Ingreso: mar 2007
Mensajes: 38
No va. Ya lo intenté y sigue saliendo ese error de :


Txt.brv.
Field symbol has not yet been assigned.

No se a que se puede referir
Responder Con Cita
  #4  
Viejo 25/04/07, 11:54:05
ayasystems ayasystems is offline
Member
 
Fecha de Ingreso: mar 2006
Mensajes: 33

Hola Vero,

ahora mismo no tengo sistema para poder verificarlo pero creo que si le pasas una tabla interna con el catalogo de campos no puedes especificarle la structura de referencia.

Prueba a ver y dime.

Saludos
Responder Con Cita
  #5  
Viejo 25/04/07, 11:59:44
Vero2007 Vero2007 is offline
Member
 
Fecha de Ingreso: mar 2007
Mensajes: 38
Pos va a ser que da igual, porque ese error lo sigue dando.

Yo solo quiero darle un tamaño a ciertos campos. Por un casual no habra otra forma de hacerlo que no sea por it_fieldcatalog?
Responder Con Cita
  #6  
Viejo 25/04/07, 12:13:13
ayasystems ayasystems is offline
Member
 
Fecha de Ingreso: mar 2006
Mensajes: 33
Vero esta función "LVC_FIELDCATALOG_MERGE" te rellenará sola el catálogo.
Prueba a pasarle el catálogo que te devuelve la función y ver si sigue dando el dump, así podemos determinar si es problema de los datos que van en el catálogo o que.

ya lo he comprobado y si pasas el catálogo no puedes pasar la estructura de referencia.



Saludos

Úlima edición por ayasystems fecha: 25/04/07 a las 13:38:44.
Responder Con Cita
  #7  
Viejo 25/04/07, 13:08:46
Vero2007 Vero2007 is offline
Member
 
Fecha de Ingreso: mar 2007
Mensajes: 38
Me funciona con "LVC_FIELDCATALOG_MERGE" , asiq así se queda. lo qeu tengo q conseguir ahora es modificar el campo outputlen para que me cambie el tamaño de lo que visualiza.

La tabla interna gi_fieldcat1 que yo usaba por alguna razon no la acepta, incluso poniendole lo mismo que crea la tabla de la función asiq si con la funcion va pues asi se queda

Muchas gracias

Ahora voya intentar modificar ese campo concreto
Responder Con Cita
  #8  
Viejo 25/04/07, 13:37:18
ayasystems ayasystems is offline
Member
 
Fecha de Ingreso: mar 2006
Mensajes: 33
Ok, me alegro de que lo hayas solucionado al final

Ahora un lupete y a modificar valores, aunque yo miraría a ver por qué no pilla lo otro... soy muy cabezón con esas cosas
Responder Con Cita
  #9  
Viejo 25/04/07, 15:20:04
TonyTrex TonyTrex is offline
Junior Member
 
Fecha de Ingreso: abr 2007
Localización: Madrid
Mensajes: 3
Ese problema lo solucioné poniendo en mayúsculas el nombre del campo:
asi no----> wa_fieldcat1-FIELDNAME = 'znlog'
asi si ----> wa_fieldcat1-FIELDNAME = 'ZNLOG'

suerte!
Responder Con Cita
  #10  
Viejo 25/04/07, 16:54:15
Vero2007 Vero2007 is offline
Member
 
Fecha de Ingreso: mar 2007
Mensajes: 38
Gracias porque si es eso, en todos los campos los tengo en minusculas y por ese pequeño detalle ya no me va.

Además el nombre de tabla q estaba usando estaba vacio y tenia otra tabla igual con datos, usaba la q no tenia datos.

Muchas gracias ya esta resuelto. CUIDADO CON LAS MAYUSCULAS para los que tengan el mismo fallo.
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 23:00:18.


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