Application Development and Automation 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: 
Read only

Screen Elements in a Screen

Former Member
0 Likes
1,263

Hi experts,

Is there any way to find out the screen elements/controls from a Program Name (pgmid) and Dynpro Number (dynnr)?

Thanks & Regards

1 ACCEPTED SOLUTION
Read only

former_member491305
Active Contributor
0 Likes
1,144

Hi Hari,

Use the follwoing Function module.You have to pass the program name and screen no.

RS_SCRP_GET_SCREEN_INFOS.

The Table parameter FIELDLIST will return all the screen elements for a particular screen..

Regards,

Vigneswaran S

6 REPLIES 6
Read only

Former Member
0 Likes
1,144

Hari,

either you can see screen no and prg from menu bar :

System>status

or open your prg in se38 than press Ctrl+shift+F5.

Amit.

Read only

valter_oliveira
Active Contributor
0 Likes
1,144

Hello.

Or check tcode SE51.

Regards.

Valter Oliveira.

Read only

Former Member
0 Likes
1,144

Hi,

Thanks for your reply.

My requirement is :

I know my program name and dynnr (EG: SAPLZFG_XXX , 0100)

Is there any Function Module or a table that I can look into to find out the screen elements belonging to that program and dynnr.

Thanks

Read only

0 Likes
1,144

Open your program in SE80 and dbl click on the screen number. Then use the tab Elements

Read only

former_member491305
Active Contributor
0 Likes
1,145

Hi Hari,

Use the follwoing Function module.You have to pass the program name and screen no.

RS_SCRP_GET_SCREEN_INFOS.

The Table parameter FIELDLIST will return all the screen elements for a particular screen..

Regards,

Vigneswaran S

Read only

0 Likes
1,144

After reading the suggestion from Vig, I put this together quickly for simplicity.


REPORT yptc_screen_element_list .

DATA:
  flds_rec   LIKE d021s,
  field_list LIKE STANDARD TABLE OF flds_rec.

*---------------------------------------------------------------*
*   ALV Related Fields & Tables
*---------------------------------------------------------------*
TYPE-POOLS: slis.
CONSTANTS:
  gc_formname_top_of_page   TYPE slis_formname VALUE 'TOP_OF_PAGE',
  gc_formname_user_command   TYPE slis_formname VALUE 'USER_COMMAND'.

DATA: g_fieldcat                   TYPE slis_t_fieldcat_alv,
        g_extab                    TYPE slis_t_extab,
        g_layout                   TYPE slis_layout_alv,
        g_keyinfo                  TYPE slis_keyinfo_alv,
        g_print                    TYPE slis_print_alv,
        g_sort                     TYPE slis_t_sortinfo_alv,
        g_sp_group                 TYPE slis_t_sp_group_alv,
        g_events                   TYPE slis_t_event,
        g_events_ex                TYPE slis_t_event_exit,
        g_repid                    LIKE sy-repid,
        g_list_top_of_page         TYPE slis_t_listheader,
        g_save                     TYPE c.
*        g_exit                     TYPE c.
*        g_variant                  LIKE disvariant,
DATA: ls_line                      TYPE slis_listheader.

PARAMETERS:
  p_prog      LIKE d020s-prog obligatory,
  p_screen    LIKE d020s-dnum obligatory.



*______________________________________  Initialization
INITIALIZATION.

    g_save = 'A'.

START-OF-SELECTION.

  CALL FUNCTION 'RS_SCRP_GET_SCREEN_INFOS'
    EXPORTING
      dynnr                       = p_screen
      progname                    = p_prog
*   WITH_FIELDLIST              = ' '
*   WITH_TEMPLATELIST           = ' '
*   TEXT_LANGUAGE               = ' '
* IMPORTING
*   LINES                       =
*   COLUMNS                     =
   TABLES
     fieldlist                   = field_list
*   TEMPLATELIST                =
   EXCEPTIONS
     dynpro_does_not_exist       = 1
     no_field_list               = 2
     cancelled                   = 3
     OTHERS                      = 4
            .
  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

PERFORM display_alv_report.

FORM display_alv_report.
  PERFORM fieldcat_init      USING g_fieldcat[].
  PERFORM build_sort_fields  USING g_sort[].
  PERFORM eventtab_build     USING g_events[]
                                   g_events_ex[].
  PERFORM layout_build       USING g_layout.
*
  PERFORM list_view.
*
ENDFORM.                    " display_alv_report.


*====> End of section that produces the report
*====> This section builds the event table


FORM eventtab_build
    USING e03_lt_events TYPE slis_t_event
          e03_lt_events_ex TYPE slis_t_event_exit.
  DATA: ls_event      TYPE slis_alv_event,
        ls_event_exit LIKE LINE OF e03_lt_events_ex.
*
  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
       EXPORTING
            i_list_type = 1
       IMPORTING
            et_events   = e03_lt_events.
  READ TABLE e03_lt_events
       WITH KEY name = slis_ev_top_of_page
       INTO ls_event.
  IF sy-subrc = 0.
    MOVE gc_formname_top_of_page TO ls_event-form.
    APPEND ls_event TO e03_lt_events.
  ENDIF.
  READ TABLE e03_lt_events
       WITH KEY name = 'USER_COMMAND'
       INTO ls_event.
  IF sy-subrc = 0.
    MOVE gc_formname_user_command TO ls_event-form.
    APPEND ls_event TO e03_lt_events.
  ENDIF.
  ls_event_exit-ucomm  = 'DISP'.
  APPEND ls_event_exit TO  e03_lt_events_ex.
ENDFORM.                    " build_events_table


*====> End of the Build Events section
*====> This section builds the Layout Record


FORM layout_build
    USING e05_ls_layout TYPE slis_layout_alv.
*
  CLEAR e05_ls_layout.
*
  e05_ls_layout-f2code = 'DISP'.
  e05_ls_layout-colwidth_optimize = 'X'.
  e05_ls_layout-zebra = 'X'.
  e05_ls_layout-detail_popup = 'X'.
  e05_ls_layout-detail_initial_lines = 'X'.
  e05_ls_layout-detail_titlebar = 'Screen Element List'.
  e05_ls_layout-info_fieldname = 'X'.
*
*  e05_ls_layout-min_linesize = 125.
*  gs_print-no_print_listinfos = 'X'.
*
ENDFORM.                    " layout_build


*====> End of the Build for Layout Record
*====> This section builds the Actual Display Routine


FORM list_view.
*
  g_repid = sy-repid.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
            i_callback_program = g_repid
            is_layout          = g_layout
            it_sort            = g_sort[]
            it_events          = g_events[]
            it_fieldcat        = g_fieldcat[]
            i_save             = g_save
       TABLES
            t_outtab           = FIELD_LIST
       EXCEPTIONS
            program_error      = 1
            OTHERS             = 2.

  IF sy-subrc <> 0.
    MESSAGE e208(00) WITH 'Error: ALV Grid'.
  ENDIF.
*
ENDFORM.                    " layout_build


*====> End of Actual Display Routine
*====> This section builds the Top of Page Routine


FORM top_of_page.
*
  DATA: ls_line TYPE slis_listheader.
*
  CLEAR g_list_top_of_page[].
  CLEAR ls_line.
  ls_line-typ  = 'H'.
  ls_line-info = 'Screen Element List'.
  APPEND ls_line TO g_list_top_of_page.
  PERFORM build_sub_headings
      USING g_list_top_of_page.
*
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
       EXPORTING
            it_list_commentary = g_list_top_of_page[].
*
ENDFORM.                    " top_of_page
*
FORM build_sub_headings
        USING e07_top_of_page TYPE slis_t_listheader.
  DATA: ls_line TYPE slis_listheader.
*
  CLEAR ls_line.
  ls_line-typ  = 'S'.
  ls_line-key = 'Run Info'.
  CONCATENATE  sy-sysid sy-uname sy-mandt
        INTO ls_line-info
        SEPARATED BY space.
  APPEND ls_line to e07_top_of_page.
*
ENDFORM.                    "build_sub_headings


*====> End of top_of_page
*====> This section builds the User Command Routine


FORM user_command
        USING p_ucomm LIKE sy-ucomm
              p_selfield TYPE slis_selfield.
*
  IF p_selfield-value NE space.
    CASE p_selfield-tabname.
      WHEN 'FIELD_LIST'.
        READ TABLE FIELD_LIST INDEX p_selfield-tabindex
                  INTO FLDS_REC.
      WHEN OTHERS.
        EXIT.
    ENDCASE.
  ELSE.
    EXIT.
  ENDIF.
*
  CHECK sy-subrc = 0.
*
  CASE p_selfield-fieldname.
*    WHEN 'QUOTE'.
*      SET PARAMETER ID 'AGN' FIELD p_selfield-value.
*      CALL TRANSACTION 'VA23' AND SKIP FIRST SCREEN.
*    WHEN 'SALESORD'.
*      SET PARAMETER ID 'AUN' FIELD p_selfield-value.
*      CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
*    WHEN 'NAME1'.
*      SET PARAMETER ID 'KUN' FIELD FLDS_REC-kunnr.
*      CALL TRANSACTION 'XD03' AND SKIP FIRST SCREEN.
*    WHEN 'LOTEVAL'.
*      SET PARAMETER ID 'ZLOTNUM' FIELD p_selfield-value.
*      SET PARAMETER ID 'KUN' FIELD FLDS_REC-kunnr.
*      CALL TRANSACTION 'ZLOT' AND SKIP FIRST SCREEN.
*    WHEN 'CREDITAPP'.
*      SET PARAMETER ID 'ZCRDNUM' FIELD p_selfield-value.
*      SET PARAMETER ID 'KUN' FIELD FLDS_REC-kunnr.
*      CALL TRANSACTION 'ZCRD' AND SKIP FIRST SCREEN.
*    WHEN 'PROJECT'.
*      SET PARAMETER ID 'PSP' FIELD FLDS_REC-project.
*      CALL TRANSACTION 'CJ20N' AND SKIP FIRST SCREEN.
*    WHEN 'ACCNO'.
*      SET PARAMETER ID 'ZREO' FIELD p_selfield-value.
*      CALL TRANSACTION 'ZREO' AND SKIP FIRST SCREEN.
*    WHEN 'LEADID'.
*      SET PARAMETER ID 'LEAD' FIELD rpt_rec-leadid.
*      SET PARAMETER ID 'LMSMENU' FIELD 'N'.
*      CALL TRANSACTION 'ZLM02' AND SKIP FIRST SCREEN.
*
    WHEN OTHERS.
      EXIT.
  ENDCASE.
*
ENDFORM.                    "user_command


*====> End of user_command

*&--------------------------------------------------
*&      Form  build_sort_fields
*&--------------------------------------------------
FORM build_sort_fields
  USING p_sort TYPE slis_t_sortinfo_alv..
*----------------------> ALV Build Sort Table
  DATA:  ls_sort  LIKE LINE OF p_sort.
  REFRESH p_sort.
ENDFORM.          " build_sort_fields

*&--------------------------------------------------
*&      Form  fieldcat_init
*&--------------------------------------------------
FORM fieldcat_init
  USING e01_lt_fieldcat TYPE slis_t_fieldcat_alv.
  DATA: ls_fieldcat TYPE slis_fieldcat_alv.

  CLEAR: e01_lt_fieldcat[], e01_lt_fieldcat.
* Field name
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'FNAM'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'FNAM'.
  ls_fieldcat-key           = 'X'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Field name'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = 'Field name'.
  ls_fieldcat-SELTEXT_M     = 'Field name'.
  ls_fieldcat-SELTEXT_L     =
    'Field name'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Box height
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'DIDX'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'DIDX'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Box height'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = 'Box height'.
  ls_fieldcat-SELTEXT_M     = 'Box height'.
  ls_fieldcat-SELTEXT_L     =
    'Box height'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Flag byte 1
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'FLG1'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'FLG1'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Flag byte 1'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'Flag byte 1'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Flag byte 2
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'FLG2'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'FLG2'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Flag byte 2'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'Flag byte 2'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Flag byte 3
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'FLG3'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'FLG3'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Flag byte 3'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'Flag byte 3'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Padding character, leading zero
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'FILL'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'FILL'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Padding character, leading zero'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'Padding character, leading zero'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Format byte
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'FMB1'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'FMB1'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Format byte'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'Format byte'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Format byte extension
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'FMB2'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'FMB2'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Format byte extension'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'Format byte extension'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Color
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'COLR'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'COLR'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Color'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'Color'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Text length
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'LENG'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'LENG'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Text length'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'Text length'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Line
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'LINE'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'LINE'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Line'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'Line'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Column
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'COLN'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'COLN'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Column'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'Column'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Loop type
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'LTYP'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'LTYP'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Loop type'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'Loop type'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Loop start line
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'LANF'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'LANF'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Loop start line'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'Loop start line'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Loop block size
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'LBLK'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'LBLK'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Loop block size'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'Loop block size'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Loop repeat factor
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'LREP'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'LREP'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Loop repeat factor'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'Loop repeat factor'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Function menu key
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'FMKY'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'FMKY'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Function menu key'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'Function menu key'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Set/Get parameter ID
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'PAID'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'PAID'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Set/Get parameter ID'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = 'SPA/GPA'.
  ls_fieldcat-SELTEXT_M     = 'Parameter ID'.
  ls_fieldcat-SELTEXT_L     =
    'Set/Get parameter ID'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* User conversion routine
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'UCNV'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'UCNV'.
  ls_fieldcat-REPTEXT_DDIC   =
    'User conversion routine'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'User conversion routine'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Field format
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'TYPE'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'TYPE'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Field format'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'Field format'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Authorization ID
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'AUTH'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'AUTH'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Authorization ID'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'Authorization ID'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Currency key field
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'WNAM'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'WNAM'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Currency key field'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'Currency key field'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Matchcode file name
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'DMAC'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'DMAC'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Matchcode file name'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'Matchcode file name'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Modification group 1
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'GRP1'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'GRP1'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Modification group 1'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'Modification group 1'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Modification group 2
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'GRP2'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'GRP2'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Modification group 2'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'Modification group 2'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Modification group 3
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'GRP3'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'GRP3'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Modification group 3'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'Modification group 3'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Modification group 4
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'GRP4'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'GRP4'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Modification group 4'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'Modification group 4'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Internal type from ABAP Dictionary
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'ITYP'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'ITYP'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Internal type from ABAP Dictionary'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'Internal type from ABAP Dictionary'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Number of valid positions
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'AGLT'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'AGLT'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Number of valid positions'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'Number of valid positions'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* No. of decimal places
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'ADEZ'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'ADEZ'.
  ls_fieldcat-REPTEXT_DDIC   =
    'No. of decimal places'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'No. of decimal places'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Text
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'STXT'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'STXT'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Text'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = ''.
  ls_fieldcat-SELTEXT_M     = ''.
  ls_fieldcat-SELTEXT_L     =
    'Text'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Screen source reserve field area without structure
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'RES1'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'RES1'.
  ls_fieldcat-no_out        = 'X'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Screen source reserve field area without structure'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = 'Reserve'.
  ls_fieldcat-SELTEXT_M     = 'Reserve area'.
  ls_fieldcat-SELTEXT_L     =
    'Screen source'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
* Screen source reserve field area without structure
  CLEAR ls_fieldcat.
  ls_fieldcat-tabname       = 'FIELD_LIST'.
  ls_fieldcat-fieldname     = 'RES2'.
  ls_fieldcat-ref_tabname   = 'D021S'.
  ls_fieldcat-ref_fieldname = 'RES2'.
  ls_fieldcat-no_out        = 'X'.
  ls_fieldcat-REPTEXT_DDIC   =
    'Screen source reserve field area without structure'.
  ls_fieldcat-ddictxt       = 'L'.
  ls_fieldcat-SELTEXT_S     = 'Reserve'.
  ls_fieldcat-SELTEXT_M     = 'Reserve area'.
  ls_fieldcat-SELTEXT_L     =
    'Screen source'.
  APPEND ls_fieldcat TO e01_lt_fieldcat.
ENDFORM.          " fieldcat_init

Edited by: Paul Chapman on Jun 25, 2008 10:06 AM