#1
|
|||
|
|||
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. |
#2
|
|||
|
|||
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 |
#3
|
|||
|
|||
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 |
#4
|
|||
|
|||
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 |
#5
|
|||
|
|||
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? |
#6
|
|||
|
|||
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. |
#7
|
|||
|
|||
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 |
#8
|
|||
|
|||
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 |
#9
|
|||
|
|||
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! |
#10
|
|||
|
|||
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. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|