PDA

Ver la Versión Completa : Reuse_alv_fieldcatalog_merge


DCErick
19/01/07, 15:12:04
Hola estoy trabajando con un ALV y pasa algo curioso...

Cuando corro esta funcion..


CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = 'ZDP_CAPTACION_DE_ASOCIADOS'
i_internal_tabname = 'TI_ASOCIADOS'
i_inclname = 'YXZDP_CAPTACION_DE_ASOCIADOS'
CHANGING
ct_fieldcat = ct_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.



ct_fieldcat se me llena solo con dos campos de la tabla interna que paso por parametro.. Y esta tiene 6... alguna idea de que podria ser???

yo2
23/01/07, 08:15:33
Hola.
Yo cuando utilizo esta funcion lo hago asi:

data: repname LIKE sy-repid.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = repname
i_internal_tabname = 'TI_ACRED'
i_inclname = repname
CHANGING
ct_fieldcat = fieldtab.

en i_program_name y i_inclname pongo el mismo valor, el nombre del programa.

Espero que te sirva.

Txelian
23/01/07, 08:31:23
Hola yo2,


En el parametro i_inclname se debe de pasar el programa donde esta declarado la tabla interna. En tu caso, supongo que estará en 'YXZDP_CAPTACION_DE_ASOCIADOS' ???
Verdad???

lolita
23/01/07, 14:19:05
Si usas REUSE_ALV_FIELDCATALOG_MERGE debes tener en cuenta que todos los campos que quieras que te liste el ALV deben existir en la tabla del diccionario a traves de la cual te creas tu tabla interna.

DCErick
23/01/07, 15:19:26
Si, mi tabla interna esta en ese include, y los campos son de tablas Z y viene uno que es de tipo char(01) pero aun asi omitiendo ese campo de la tabla interna solo me muestra dos campos, dichos campos son los dos primeros.

SitaF
21/01/08, 14:03:04
A mi me pasaba algo parecido, y resulto q en mi declaracion de la tabla interna, tenia los campos declarados como type, y al declararlos like el campo de mi tabla del diccionario funciono.

A b si es eso, Suerte

miko-lynn
03/02/09, 09:14:55
Te has de crear una tabla de diccionario, una Z, con los campos que quieres que te salgan por el alv.
Aunque tu tabla sea asi:

DATA: begin of it_lqua occurs 0,
cabecera(1),
contador TYPE i.
INCLUDE STRUCTURE lqua.
DATA: END OF it_lqua.

O sea con una estructura estandard de dict y n campos añadidos, deberás crearte una copia de la tabla estandard, y añadirle tus campos Z.

Si, ya se que crearse una tabla de dict solo para mostrar una alv es un poco rollo pero... "SAP ist gut"...