Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

dynamically get the structure of an itab

Former Member
0 Kudos

Hi all,

How to get the structure of an Itab dynamically.

Regards,

bala

3 REPLIES 3

Former Member
0 Kudos

Hi Krithika,

Check the class CL_ALV_TABLE_CREATE and use the method CREATE_DYNAMIC_TABLE.

To be more clear about the usage, you can check the program BCALV_TABLE_CREATE.

Cheers

JK

Former Member
0 Kudos

u mean to say that the itab table structure has to be dynamic. ???

u can refer the followig code.

REPORT ZDINUCOPY_DATA_FROM_CLIENTS .

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.

PARAMETERS : P_CLIENT LIKE T000-MANDT OBLIGATORY,

P_TABLE(10) OBLIGATORY,

P_TARGET(10).

SELECTION-SCREEN COMMENT 45(65) TEXT-001 FOR FIELD P_TARGET.

SELECTION-SCREEN SKIP 1 .

PARAMETERS : P_DEL AS CHECKBOX.

PARAMETERS : P_INS AS CHECKBOX.

SELECTION-SCREEN END OF BLOCK B1.

DATA: GP_TABLE TYPE REF TO DATA .

FIELD-SYMBOLS: <GT_TABLE> TYPE TABLE .

FIELD-SYMBOLS: <GS_TABLE> .

DATA : I_STRUCTURE_NAME LIKE DD02L-TABNAME,

CT_FIELDCAT TYPE LVC_T_FCAT.

AT SELECTION-SCREEN.

IF P_TABLE(1) NE 'Z' AND

P_TABLE(1) NE 'Y'.

MESSAGE E000(00) WITH 'Enter a customer table'.

ENDIF.

IF P_TARGET IS INITIAL.

P_TARGET = P_TABLE.

ENDIF.

START-OF-SELECTION.

I_STRUCTURE_NAME = P_TABLE.

CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'

EXPORTING

I_STRUCTURE_NAME = I_STRUCTURE_NAME

I_CLIENT_NEVER_DISPLAY = 'X'

CHANGING

CT_FIELDCAT = CT_FIELDCAT[]

EXCEPTIONS

INCONSISTENT_INTERFACE = 1

PROGRAM_ERROR = 2

OTHERS = 3 .

CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE

EXPORTING

IT_FIELDCATALOG = CT_FIELDCAT

IMPORTING

EP_TABLE = GP_TABLE

EXCEPTIONS

GENERATE_SUBPOOL_DIR_FULL = 1

OTHERS = 2.

ASSIGN GP_TABLE->* TO <GT_TABLE>.

BREAK-POINT.

Former Member
0 Kudos

Hi,

i use this:

REPORT ZGRO_TEST.

*

TYPE-POOLS: SLIS.

*

DATA: FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.

DATA: WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

DATA: PROGNAME LIKE SY-REPID.

*

DATA: BEGIN OF IMARA OCCURS 0.

INCLUDE STRUCTURE MARA.

DATA: ebeln like ekpo-ebeln,

END OF IMARA.

*

START-OF-SELECTION.

*

PROGNAME = SY-REPID.

*

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = progname

I_INTERNAL_TABNAME = 'IMARA'

I_CLIENT_NEVER_DISPLAY = 'X'

I_INCLNAME = progname

CHANGING

CT_FIELDCAT = FIELDCAT

EXCEPTIONS

INCONSISTENT_INTERFACE = 1

PROGRAM_ERROR = 2

OTHERS = 3.

*

LOOP AT FIELDCAT INTO WA_FIELDCAT.

*

WRITE: / WA_FIELDCAT.

*

ENDLOOP.

*

END-OF-SELECTION.

regards, dieter