DATA : li_screens_elements TYPE STANDARD TABLE OF d021s WITH HEADER LINE,
li_screens_flowlogic TYPE STANDARD TABLE OF d022s WITH HEADER LINE.
SELECT SINGLE * FROM trdir
INTO gw_attributes
WHERE name = gv_program.
IF sy-subrc NE 0.
EXIT.
ENDIF.
READ TEXTPOOL gv_program INTO gi_text_elements.
READ REPORT gv_program INTO gi_source_code.
*----------------------------------------------------------------------*
* Collect Menu Painter: Texts
*----------------------------------------------------------------------*
SELECT * FROM rsmptexts
INTO TABLE gi_menutext
WHERE progname = gv_program AND
sprsl = sy-langu.
*----------------------------------------------------------------------*
* Get Object List
*----------------------------------------------------------------------*
DATA : lv_treename LIKE dirtree-tname.
CONCATENATE 'PG_' gv_program INTO lv_treename.
CALL FUNCTION 'WB_TREE_SELECT'
EXPORTING
treename = lv_treename
* WITH_DIALOG =
* IGNORE_CURRENT_TREE =
* WB_MANAGER =
IMPORTING
devclass = gv_devclass
TABLES
nodetab = gi_objecttree
.
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* Get Screens Dynpro Info
*----------------------------------------------------------------------*
SELECT * FROM d020s
INTO CORRESPONDING FIELDS OF TABLE gi_screens
WHERE prog = gv_program.
SELECT * FROM d020t
INTO CORRESPONDING FIELDS OF TABLE gi_screens_description
WHERE prog = gv_program AND
lang = sy-langu.
LOOP AT gi_screens.
CALL FUNCTION 'RS_SCRP_DYNPRO_READ_NATIVE'
EXPORTING
progname = gv_program
dynnr = gi_screens-dnum
* IMPORTING
* HEADER =
TABLES
fieldlist = li_screens_elements
flowlogic = li_screens_flowlogic
* PARAMS =
.
LOOP AT li_screens_flowlogic.
gi_screens_flowlogic-dnum = gi_screens-dnum.
MOVE-CORRESPONDING li_screens_flowlogic TO gi_screens_flowlogic.
APPEND gi_screens_flowlogic.
ENDLOOP.
LOOP AT li_screens_elements.
gi_screens_elements-dnum = gi_screens-dnum.
MOVE-CORRESPONDING li_screens_elements TO gi_screens_elements.
APPEND gi_screens_elements.
ENDLOOP.
ENDLOOP.
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* Get GUI Status
*----------------------------------------------------------------------*
LOOP AT gi_menutext WHERE obj_type = 'C'.
CALL FUNCTION 'RS_CUA_GET_STATUS'
EXPORTING
language = sy-langu
program = gv_program
status = gi_menutext-obj_code
* SUPPRESS_CMOD_ENTRIES = 'X'
TABLES
status_list = gi_status_list
* fkeys = gi_status_fkeys
* tree = gi_status_tree
* not_found_list = gi_status_not_found_list
menutree = gi_status_menutree
functionkeys = gi_status_functionkeys
.
ENDLOOP.
*----------------------------------------------------------------------*
|