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

Tree structured Report programming

Former Member
0 Likes
552

Hi,

I have a requirement of a Report which has to have a Tree structure similar to SE09 Transaction. When we give the User id in the SE09 and hit on Display button the next screen lists all the Transport requests under the user in a Tree structure which can be exploded or collapsed.

I want to know how complicated is this to code, is there any Function module that can help acheive this. Also let me if there is a sample program.

Appreciate your help on this.

Thanks and Regards,

Saleem.

1 ACCEPTED SOLUTION
Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
510

You can use an ALV Tree display. Please see any program which starts with BCALV_TREE*

REgards,

RIch Heilman

4 REPLIES 4
Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
511

You can use an ALV Tree display. Please see any program which starts with BCALV_TREE*

REgards,

RIch Heilman

Read only

abdul_hakim
Active Contributor
0 Likes
510

hi

check the transaction iw39.

Cheers,

Abdul Hakim

Read only

Former Member
0 Likes
510

Hi,

Check out the sample codes,

http://www.sapdevelopment.co.uk/reporting/alv/alvtree.htm

Regards,

Azaz.

Read only

Former Member
0 Likes
510

Hi Saleem,

Check this sample code,

REPORT Z_AZAZ_TEST_TREE_1 .

TYPE-POOLS : FIBS,STREE.

DATA : T_NODE TYPE SNODETEXT.

DATA : NODE_TAB LIKE T_NODE OCCURS 0 WITH HEADER LINE.

CLEAR : NODE_TAB, NODE_TAB[].

NODE_TAB-TYPE = 'T'.

NODE_TAB-NAME = 'Earth'.

NODE_TAB-TLEVEL = '01'.

NODE_TAB-NLENGTH = '5'.

NODE_TAB-COLOR = '4'.

NODE_TAB-TEXT = 'Hello'.

NODE_TAB-TLENGTH ='5'.

NODE_TAB-TCOLOR = 3.

APPEND NODE_TAB.

CLEAR NODE_TAB.

NODE_TAB-TYPE = 'P'.

NODE_TAB-NAME = 'Europe'.

NODE_TAB-TLEVEL = '02'.

NODE_TAB-NLENGTH = '6'.

NODE_TAB-COLOR = '1'.

NODE_TAB-TEXT = 'Hello'.

NODE_TAB-TLENGTH ='5'.

NODE_TAB-TCOLOR = 4.

APPEND NODE_TAB.

CLEAR NODE_TAB.

NODE_TAB-TYPE = 'P'.

NODE_TAB-NAME = 'Germany'.

NODE_TAB-TLEVEL = '03'.

NODE_TAB-NLENGTH = '7'.

NODE_TAB-COLOR = '4'.

NODE_TAB-TEXT = 'Hello'.

NODE_TAB-TLENGTH ='5'.

NODE_TAB-TCOLOR = 4.

APPEND NODE_TAB.

CLEAR NODE_TAB.

NODE_TAB-TYPE = 'P'.

NODE_TAB-NAME = 'Berlin'.

NODE_TAB-TLEVEL = '04'.

NODE_TAB-NLENGTH = '6'.

NODE_TAB-COLOR = '4'.

NODE_TAB-TEXT = 'Hello'.

NODE_TAB-TLENGTH ='5'.

NODE_TAB-TCOLOR = 3.

APPEND NODE_TAB.

CLEAR NODE_TAB.

NODE_TAB-TYPE = 'P'.

NODE_TAB-NAME = 'Asia'.

NODE_TAB-TLEVEL = '02'.

NODE_TAB-NLENGTH = '4'.

NODE_TAB-COLOR = '1'.

NODE_TAB-TEXT = 'Hello'.

NODE_TAB-TLENGTH ='5'.

NODE_TAB-TCOLOR = 3.

APPEND NODE_TAB.

CLEAR NODE_TAB.

NODE_TAB-TYPE = 'P'.

NODE_TAB-NAME = 'India'.

NODE_TAB-TLEVEL = '03-'.

NODE_TAB-NLENGTH = '5'.

NODE_TAB-COLOR = '1'.

NODE_TAB-TEXT = 'Hello'.

NODE_TAB-TLENGTH ='5'.

NODE_TAB-TCOLOR = 3.

APPEND NODE_TAB.

CLEAR NODE_TAB.

NODE_TAB-TYPE = 'P'.

NODE_TAB-NAME = 'Bombay'.

NODE_TAB-TLEVEL = '04-'.

NODE_TAB-NLENGTH = '6'.

NODE_TAB-COLOR = '1'.

NODE_TAB-TEXT = 'Hello'.

NODE_TAB-TLENGTH ='5'.

NODE_TAB-TCOLOR = 3.

APPEND NODE_TAB.

CLEAR NODE_TAB.

CALL FUNCTION 'RS_TREE_CONSTRUCT'

  • EXPORTING

  • INSERT_ID = '000000'

  • RELATIONSHIP = ' '

  • LOG =

TABLES

NODETAB = NODE_TAB

  • EXCEPTIONS

  • TREE_FAILURE = 1

  • ID_NOT_FOUND = 2

  • WRONG_RELATIONSHIP = 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.

DATA: TYPE_MAPPING TYPE STREE_CTL_TYPE_MAPPING_TAB.

DATA: WA_TYPE TYPE STREE_CTL_TYPE_MAPPING.

CLEAR: TYPE_MAPPING[].

WA_TYPE-TYPE = 'A'.

WA_TYPE-ICON = '@BL@'.

APPEND WA_TYPE TO TYPE_MAPPING.

*CALL FUNCTION 'RS_TREE_CONTROL_PREPARE'

  • EXPORTING

    • CONTROL_PATTERN = STREE_CTL_GENERIC

  • CONTROL_PATTERN = 'PH'

*

    • HIERARCHY_HEADER =

    • INITIAL_HEADER_WIDTH =

    • LIST_ITEM_HEADER =

  • MULTIPLE_SELECTION = 'X'

    • ITEM_SELECTION = STREE_FALSE

    • SUPPRESS_NODE_ICON = STREE_FALSE

    • SUPPRESS_FOLDER_ICON = STREE_FALSE

    • CALLBACK_PROGRAM =

    • CALLBACK_ITEM_DISPLAY =

    • COLOR_MAPPING =

  • TYPE_MAPPING = type_mapping

    • IMPORTING

    • SUBSCREEN_PROGRAM =

    • SUBSCREEN_DYNNR =

    • EXCEPTIONS

    • NOT_AVAILABLE = 1

    • OTHERS = 2

  • .

*IF SY-SUBRC <> 0.

    • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

    • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

*ENDIF.

*

*CALL FUNCTION 'RS_TREE_SET_CURRENT_LAYOUT'

    • EXPORTING

    • CURSOR_COLUMN = 3

    • CURSOR_LINE = 2

    • FIRST_NODE = 1

    • FIRST_NODE_TYPE = ' '

    • LIST_COLUMN = 1

    • LIST_LINE = 1

    • LAYOUT_MODE = STREE_LAYOUT_NORMAL

    • IMPORTING

    • INCONSISTENT_LAYOUT =

    • TABLES

    • LAYOUT =

  • .

CALL FUNCTION 'RS_TREE_LIST_DISPLAY'

EXPORTING

  • CALLBACK_PROGRAM =

  • CALLBACK_USER_COMMAND =

  • CALLBACK_TEXT_DISPLAY =

  • CALLBACK_MOREINFO_DISPLAY =

  • CALLBACK_COLOR_DISPLAY =

  • CALLBACK_TOP_OF_PAGE =

  • CALLBACK_GUI_STATUS =

  • CALLBACK_CONTEXT_MENU =

  • STATUS = 'IMPLICIT'

  • CHECK_DUPLICATE_NAME = '1'

  • COLOR_OF_NODE = '4'

  • COLOR_OF_MARK = '3'

  • COLOR_OF_LINK = '1'

  • COLOR_OF_MATCH = '5'

  • LOWER_CASE_SENSITIVE = ' '

  • MODIFICATION_LOG = ' '

  • NODE_LENGTH = 30

  • TEXT_LENGTH = 75

  • TEXT_LENGTH1 = 0

  • TEXT_LENGTH2 = 0

  • RETURN_MARKED_SUBTREE = ' '

  • SCREEN_START_COLUMN = 0

  • SCREEN_START_LINE = 0

  • SCREEN_END_COLUMN = 0

  • SCREEN_END_LINE = 0

  • SUPPRESS_NODE_OUTPUT = ' '

  • LAYOUT_MODE = ' '

  • USE_CONTROL = STREE_USE_LIST

USE_CONTROL = 'L'.

  • IMPORTING

  • F15 =

.

Regards,

Azaz Ali.