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: 

ABAP Report - Expand and Collapse

Former Member
0 Kudos

Is there a way to set "groups/levels" so that you can expand and collapse them, in ABAP reports (not ALV)?

This would be similar to a hierarchical ALV report.

2 REPLIES 2

Former Member
0 Kudos

hey,

we can do that but there are some drawbacks also.........Consider you are having a list ok ,just a place an icon for expand or collapse .....when the user hits that you should design another list which is having the changes for that button.Even in the case of lines.......you will be getting the details in which line the user had double clicked...then you should append the details under that line in the internal table ...when the list appears the details will be there under that line..In all these cases if the user select these options for 10 or 15 times then it wil result in a dump....cause of the number of secondart list....but this can be done ..

Regards,

Midhun Abraham

Former Member
0 Kudos

Type-pools : fibs,stree.

DATA:FLAG(1) VALUE 'X'.

DATA TEMP(20).

DATA: type_mapping TYPE stree_ctl_type_mapping_tab.

DATA: wa_type TYPE stree_ctl_type_mapping.

CLEAR: type_mapping[].

DATA:BEGIN OF ITAB OCCURS 0,

VBELN TYPE VBRP-VBELN,

FKIMG TYPE VBRP-FKIMG,

VRKME TYPE VBRP-VRKME,

NETWR TYPE VBRP-NETWR,

MATNR TYPE VBRP-MATNR,

END OF ITAB,

BEGIN OF JTAB OCCURS 0,

MATNR TYPE MARA-MATNR,

END OF JTAB.

data : t_node type snodetext.

data : node_tab like t_node occurs 0 with header line.

clear : node_tab, node_tab[].

TABLES:MARA.

***************FRAME 1 ************

SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.

PARAMETERS:matnr TYPE MARA-matnr OBLIGATORY.

SELECTION-SCREEN SKIP 1.

SELECT-OPTIONS:mtart FOR MARA-mtart NO-EXTENSION NO INTERVALS .

SELECTION-SCREEN END OF BLOCK blk1.

*************FRAME 2 **************

SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002 .

SELECT-OPTIONS:ERSDA FOR MARA-ERSDA NO-EXTENSION NO INTERVALS.

SELECTION-SCREEN END OF BLOCK blk2.

***************FRAME 3 **********************************

SELECTION-SCREEN BEGIN OF BLOCK blk3 WITH FRAME TITLE text-003 NO INTERVALS.

SELECTION-SCREEN COMMENT 19(20) TEXT-005.

SELECTION-SCREEN ULINE /18(21) .

SELECTION-SCREEN SKIP 1.

PARAMETERS: LAND RADIOBUTTON GROUP GRP1.

PARAMETERS: AIR RADIOBUTTON GROUP GRP1.

SELECTION-SCREEN END OF BLOCK blk3.

*****************FRAME 4 *************************************

SELECTION-SCREEN BEGIN OF BLOCK blk4 WITH FRAME TITLE text-004 NO INTERVALS.

SELECTION-SCREEN COMMENT 19(20) TEXT-006.

SELECTION-SCREEN ULINE /18(14) .

SELECTION-SCREEN SKIP 1.

PARAMETERS: CAR AS CHECKBOX.

PARAMETERS: HOUSE AS CHECKBOX .

SELECTION-SCREEN END OF BLOCK blk4.

***************************************************

AT SELECTION-SCREEN.

SELECT MATNR FROM MARA INTO TABLE JTAB WHERE MATNR = MATNR.

IF SY-DBCNT = 0.

MESSAGE E000(ZCN_MCLASS01) WITH MATNR.

ENDIF.

SELECT VBELN FKIMG VRKME NETWR MATNR FROM VBRP INTO CORRESPONDING FIELDS OF TABLE ITAB WHERE MATNR = MATNR.

IF SY-DBCNT = 0.

MESSAGE E001(ZCN_MCLASS01) WITH MATNR.

ENDIF.

******************************************************

START-OF-SELECTION.

LOOP AT ITAB.

IF FLAG = 'X'.

FLAG = SPACE.

node_tab-type = 'T'.

node_tab-name = 'MATNR'.

node_tab-tlevel = '01'.

node_tab-nlength = '18'.

node_tab-color = '4'.

node_tab-text = ITAB-MATNR.

node_tab-tlength ='18'.

node_tab-tcolor = 3.

append node_tab.

clear node_tab.

ENDIF.

node_tab-type = 'P'.

node_tab-name = 'VBELN'.

node_tab-tlevel = '02'.

node_tab-nlength = '5'.

node_tab-color = '5'.

node_tab-text = ITAB-VBELN.

node_tab-tlength ='10'.

node_tab-tcolor = 5.

append node_tab.

clear node_tab.

WRITE ITAB-FKIMG TO TEMP.

node_tab-type = 'P'.

node_tab-name = 'FKIMG'.

node_tab-tlevel = '03'.

node_tab-nlength = '7'.

node_tab-color = '7'.

node_tab-text = TEMP.

node_tab-tlength ='20'.

node_tab-tcolor = 7.

append node_tab.

clear node_tab.

node_tab-type = 'P'.

node_tab-name = 'VRKME'.

node_tab-tlevel = '03'.

node_tab-nlength = '7'.

node_tab-color = '7'.

node_tab-text = ITAB-VRKME.

node_tab-tlength ='3'.

node_tab-tcolor = 7.

append node_tab.

clear node_tab.

WRITE ITAB-NETWR TO TEMP.

node_tab-type = 'P'.

node_tab-name = 'NETWR'.

node_tab-tlevel = '03'.

node_tab-nlength = '7'.

node_tab-color = '7'.

node_tab-text = TEMP.

node_tab-tlength ='20'.

node_tab-tcolor = 7.

append node_tab.

clear node_tab.

ENDLOOP.

CALL FUNCTION 'RS_TREE_CONSTRUCT'

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.

wa_type-type = 'A'.

wa_type-icon = '@BL@'.

APPEND wa_type TO type_mapping.

.

CALL FUNCTION 'RS_TREE_LIST_DISPLAY'

EXPORTING

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

**********end of program .

Edited by: chayan nandi on Jan 2, 2009 6:13 AM