Problemas con ALV
Saludos,
Tengo un reporte usando ALV, y me esta dando un problema muy poco usual, resulta que este tiene algunas columnas por las cuales no puedo hacer filtrado, por ej. tengo las columnas nombre, apellido, direccion, telef. y cedula, puedo hacer filtros por nombre y apellido, pero si intento filtrar por los campos cedula, telef. y direccion, me presenta el ALV en blanco aunque el dato por el que este filtrando exista. Las funciones que estoy usando para generar el ALV son REUSE_ALV_FIELDCATALOG_MERGE y REUSE_ALV_GRID_DISPLAY. Espero que sus opiniones me den luz con esto. Gracias, Ana Elisa Martinez |
¿a qué te referís con "filtrar"?
¿decís que cuando recuperás los datos de las tablas buscás que esos campos coincidan con determinados valores o qué? |
Problemas con ALV
Me parece que nos ha definido correctamente el catálogo del ALV. Para que funcione el filtro, a la hora de crear el catalogo se debe indicar que campo y a tabla va relacionado. Son los siguientes campos :
ls_fieldcat-ref_fieldname = p_4. ls_fieldcat-ref_tabname = p_5. Espero que te haya servido de ayuda. |
Problemas con ALV
Con filtrar me refiero a la opcion que tiene el ALV ( con icono de embudo) que permite mostrar solo una parte de los datos segun el criterio o valor que coloquemos en una o varias columnas del reporte.
El prob. es que hay ciertas columnas de mi reporte en las que cuando trato de filtrar, no aparece ningun valor y las celdas se ven vacias, cuando en realidad si existen datos para ese filtro. He estado usando los parametros FIELDNAME y TABNAME, adicione los recomendados REF_FIELDNAME y REF_TABNAME y tengo el mismo resultado. :( |
Hola!
Me da que esos campos por los que no puedes filtrar es porque son carácteres. En el filtro te salen en mayúsculas y tu los tienes en minúsculas en el ALV y por eso no los filtra. |
mira cuando me ocurre eso hago lo siguiente y te va funcionar!!
entra al diccionario de datos del campo ve cuanto tiene d longitud y de q tipo es y luego cuando este declarado los campos en el ALV coloco los siguiente atributos ls_fieldcat-fieldname = 'NAME1'. ls_fieldcat-tabname = 'TU TABLA INTERNA' ls_fieldcat-datatype = 'CHAR'.---> tipo de dato del campo ls_fieldcat-outputlen = '30'. --->longitud del campo o has lo siguiente ls_fieldcat-fieldname = 'NAME1'. ls_fieldcat-tabname = 'TU TABLA INTERNA' ls_fieldcat-ref_tabname = 'KNA1'. ls_fieldcat-ref_fieldname = 'NAME1'. |
Hola!
Fijate en esta página que te indica cómo verificar qué has hecho mal. Dime si fue util!!:) |
este codigo es el que a experiencia propia sirve
ls_fieldcat-fieldname = 'NAME1'. ls_fieldcat-tabname = 'TU TABLA INTERNA' ls_fieldcat-ref_tabname = 'KNA1'. ls_fieldcat-ref_fieldname = 'NAME1'. salu2. |
Hola, yo tambien tuve el mismo problema con el filtro use REF_FIELD y REF_TABLE.
Ahora el problema es que me muestra la descripción de ese campo en el diccionario y no la descripcion que yo colocado en: scrtext_l y scrtext_s para mostrar el texto en las columnas. Alguien puede ayudarme con eso, gracias de antemano. Saludos César. |
Hola,
Si pruebas a ponerlo de esta forma: CLEAR wa_catalogo. wa_catalogo-tabname = 'IT_DATOS'. wa_catalogo-fieldname = 'MSG'. wa_catalogo-col_pos = l_lin. wa_catalogo-inttype = 'C'. wa_catalogo-intlen = 50. wa_catalogo-scrtext_s = 'Mensaje'. wa_catalogo-scrtext_m = 'Mensaje'. wa_catalogo-scrtext_l = 'Mensaje'. APPEND wa_catalogo TO catalogo. Es decir, en lugar de usar el campo del catálogo "ref_table", ir a la tabla en cuestión y ver las propiedades del elemento de datos y usar los campos inttype e intlen. |
Husos Horarios son GMT. La hora en este momento es 13:06:39. |
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web