Skip to Content
1
Jul 19, 2007 at 11:58 AM

How to generate a dynamic selection-screen

1422 Views

Hi folks,

I have a itab with all fields and descriptions of a database-table. Now i want to generate a selection screen dynamically. I want to create a select-option for every field of the table.

First I read all fields of a database table into my intern table:

CALL FUNCTION 'DDIF_FIELDINFO_GET'

EXPORTING

tabname = 'database_tabname'

TABLES

dfies_tab = it_tabname_fields.

Then I tried to generate a dynamic selection-screen with a select-options statement per field of the itab, but it doesn't work:

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001 NO INTERVALS.

LOOP AT it_tabname_fields INTO s_tabname_fields. "should be 14 loops and 14 lines

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT (25) s_tabname_fields-SCRTEXT_S FOR FIELD var1. "the name of the field should be set dynamically from the itab

SELECT-OPTIONS var1 FOR tabname-s_tabname_fields-fieldname. "s_tabname_fields-fieldname should be set dynamically for each line

SELECTION-SCREEN END OF LINE.

ENDLOOP.

SELECTION-SCREEN END OF BLOCK b2.

I know that this doesn't work but it should help you to understand what i want to do. It doesn't create more than one select-option (it should be 14 because there are 14 lines in the table) and it doesn't get the values from the table.

I hope you can help me...

Regards,

Sebastian