#1
|
||||
|
||||
Desaparecer campos en una tabla interna
Saludos!!!
El problema que tengo es que tengo que generar un reporte dinamicamente y digamos creo una tabla de 5 campos A B C D y E ok pero podria ser que segun la seleccion del usuario el resultado de la tabla solo usase los campos A y D por ejemplo como hago para que B C y E queden fuera de la tabla interna. Se puede?
__________________
01010000 01001010 10011000 10100001 De Byte a Beat. |
#2
|
|||
|
|||
Qué tal Rodolfo,
Una solución que yo he utilizado en alv es condicionar la salida, me explico: if selección = X write:/ campoA, campoB. elseif selección = Y. write:/ campoA, campoC. . . . endif. todo está en la selección que hagas. Saludos. |
#3
|
|||
|
|||
Intenta ocultando las columnas
Por lo que he entendido, el reporte en cuestion es un ALV, de ser asi lo que puedes hacer el modificar el catalogo de salida, es decir tu en tu ALV tienes una funcion (estoy casi seguro por q en ALV todos hemos copiado el codigo de algun lugar jaja) con un codigo parecido a este:
LOOP AT ct_fieldcat INTO temp_fieldcat. CASE temp_fieldcat-fieldname. WHEN 'CENTRO_W'. temp_fieldcat-seltext_l = text-010. temp_fieldcat-seltext_m = text-010. temp_fieldcat-seltext_s = text-010. temp_fieldcat-reptext_ddic = space. temp_fieldcat-ref_fieldname = space. temp_fieldcat-ref_tabname = space. temp_fieldcat-fix_column = ''. endloop. Si es asi, de acuerdo a los parametros de seleccion oculta la columna q quieras, para esto, usa: temp_fieldcat-no_out = 'X'. Para q te quede el codigo asi: LOOP AT ct_fieldcat INTO temp_fieldcat. CASE temp_fieldcat-fieldname. WHEN 'CENTRO_W'. temp_fieldcat-seltext_l = text-010. temp_fieldcat-seltext_m = text-010. temp_fieldcat-seltext_s = text-010. temp_fieldcat-reptext_ddic = space. temp_fieldcat-ref_fieldname = space. temp_fieldcat-ref_tabname = space. temp_fieldcat-fix_column = ''. temp_fieldcat-no_out = 'X'. endloop. Sin embargo, si es un reporte plano intenta con read table algo asi: * it_tabla con los datos en cuetion loop at it_table where opcion_salida = seleccion. write wa_table-campo. endloop. Lo que haces con el loop condicionado por el where es escluir los datos q no quieres, para esto meteria una columan en mi tabla llamada seleccion...vaya est ya es mas una onda de programacion... Espero t sirva
__________________
el tema esta en hacer la pregunta correcta... Úlima edición por vickxo fecha: 01/03/08 a las 18:39:51. |
#4
|
||||
|
||||
Gracias por sus respuestas!!!!
__________________
01010000 01001010 10011000 10100001 De Byte a Beat. |
#5
|
|||
|
|||
Que tal : En el caso que no sea un ALV tambien puedes crear tablas internas de manera dimanica pero esto ya es un poco mas complicado.
Saldos. Javier.
__________________
Lo importante no es saber sino saber quien es el que sabe |
Herramientas | Buscar en Tema |
Desplegado | |
|
|