This is my code.. pls tell me how to add hotspot in the total field which is in level three of the tree.
REPORT yrj_alv_tree_cust_orders.
******Tables
TABLES : kna1.
********Types Declaration
TYPES : BEGINOF ts_vbak,
vbeln TYPE vbak-vbeln, "Sales Order
audat TYPE vbak-audat, "Order Date
kunnr TYPE vbak-kunnr, "Customer No.
ENDOF ts_vbak,
BEGINOF ts_vbap,
vbeln TYPE vbap-vbeln,
posnr TYPE vbap-posnr, "Order Item
kwmeng TYPE vbap-kwmeng, "Net weight
netpr TYPE vbap-netpr, "Item Price
ENDOF ts_vbap,
BEGINOF ts_kna1,
kunnr TYPE kna1-kunnr,
name1 TYPE kna1-name1, "Customer Name
ENDOF ts_kna1.
*******Internal Table declaration
DATA : lt_node TYPETABLEOF snodetext,
lt_vbak TYPETABLEOF ts_vbak,
lt_vbap TYPETABLEOF ts_vbap,
lt_kna1 TYPETABLEOF ts_kna1.
*******Work area declaration
DATA : ls_node TYPE snodetext,
ls_vbak TYPE ts_vbak,
ls_vbap TYPE ts_vbap,
ls_kna1 TYPE ts_kna1.
*******Variable Declaration
DATA : w_value(15) TYPEc,
w_qty TYPE kwmeng,
w_amt TYPE netpr.
***************Selection screen
SELECT-OPTIONS : s_kunnr FOR kna1-kunnr.
*********Start of selection.
START-OF-SELECTION.
PERFORM get_kna1.
PERFORM get_vbak.
PERFORM get_vbap.
PERFORM build_tree.
*************End of selection
END-OF-SELECTION.
PERFORM display_tree.
*&---------------------------------------------------------------------*
*& Form get_vbak
*&---------------------------------------------------------------------
FORM get_vbak .
SELECT vbeln
audat
kunnr
FROM vbak INTOTABLE lt_vbak
FORALL ENTRIES IN lt_kna1
WHERE kunnr EQ lt_kna1-kunnr.
IF sy-subrc NE0.
MESSAGE'No Orders found'(001) TYPE'I'.
LEAVE LIST-PROCESSING.
ENDIF.
ENDFORM. " get_vbak
*&---------------------------------------------------------------------*
*& Form build_tree
*&---------------------------------------------------------------------
FORM build_tree .
CLEAR : lt_node, ls_node.
SORT : lt_vbak BY kunnr vbeln,
lt_vbap BY vbeln posnr,
lt_kna1 BY kunnr.
ls_node-type = 'T'.
ls_node-name = 'Orders of Customers'(002).
ls_node-tlevel = '01'.
ls_node-nlength = '20'.
ls_node-color = '5'.
ls_node-text = 'Orders'(003).
ls_node-tlength = '10'.
ls_node-tcolor = '3'.
APPEND ls_node TO lt_node.
CLEAR ls_node.
ls_node-type = 'P'.
ls_node-tlevel = '2'.
ls_node-text = 'Customer No'(004).
ls_node-tlength = '15'.
ls_node-tcolor = '7'.
ls_node-text1 = 'Customer Name'(005).
ls_node-tlength1 = '30'.
ls_node-tcolor1 = '7'.
APPEND ls_node TO lt_node.
CLEAR ls_node.
LOOPAT lt_kna1 INTO ls_kna1.
DATA : w_flg TYPEc,
w_flg1 TYPEc.
ls_node-type = 'P'.
ls_node-tlevel = '2'.
ls_node-text = ls_kna1-kunnr.
ls_node-tlength = '15'.
ls_node-tcolor = '1'.
ls_node-text1 = ls_kna1-name1.
ls_node-tlength1 = '30'.
ls_node-tcolor1 = '1'.
APPEND ls_node TO lt_node.
CLEAR ls_node.
LOOPAT lt_vbak INTO ls_vbak WHERE kunnr EQ ls_kna1-kunnr.
IF w_flg1 ISINITIAL.
w_flg1 = 'X'.
ls_node-type = 'P'.
ls_node-tlevel = '3'.
ls_node-text = 'Sales Order'(006).
ls_node-tlength = '15'.
ls_node-tcolor = '7'.
ls_node-text1 = 'Order Date'(007).
ls_node-tlength1 = '15'.
ls_node-tcolor1 = '7'.
APPEND ls_node TO lt_node.
CLEAR ls_node.
ENDIF.
ls_node-type = 'P'.
ls_node-tlevel = '3'.
ls_node-text = ls_vbak-vbeln.
ls_node-tlength = 15.
ls_node-tcolor = 5.
CLEAR w_value.
WRITE ls_vbak-audat TO w_value.
ls_node-text1 = w_value.
ls_node-tlength1 = 15.
ls_node-tcolor1 = 5.
APPEND ls_node TO lt_node.
CLEAR : w_qty, w_amt.
LOOPAT lt_vbap INTO ls_vbap WHERE vbeln EQ ls_vbak-vbeln.
IF w_flg ISINITIAL.
w_flg = 'X'.
ls_node-type = 'P'.
ls_node-tlevel = '4'.
ls_node-text = 'Item'(008).
ls_node-tlength = '11'.
ls_node-tcolor = '7'.
ls_node-text1 = 'Net Weight'(009).
ls_node-tlength1 = '15'.
ls_node-tcolor1 = '7'.
ls_node-text2 = 'Net Price'(010).
ls_node-tlength2 = '15'.
ls_node-tcolor2 = '7'.
APPEND ls_node TO lt_node.
CLEAR ls_node.
ENDIF.
ls_node-type = 'P'.
ls_node-tlevel = '4'.
ls_node-text = ls_vbap-posnr.
ls_node-tlength = '11'.
ls_node-tcolor = '2'.
CLEAR w_value.
w_value = ls_vbap-kwmeng.
ls_node-text1 = w_value.
ls_node-tlength1 = '15'.
ls_node-tcolor1 = '2'.
CLEAR w_value.
w_value = ls_vbap-netpr.
ls_node-text2 = w_value.
ls_node-tlength2 = '15'.
ls_node-tcolor2 = '2'.
APPEND ls_node TO lt_node.
CLEAR ls_node.
ADD ls_vbap-kwmeng TO w_qty.
ADD ls_vbap-netpr TO w_amt.
ENDLOOP.
IF w_qty ISNOTINITIAL.
ls_node-type = 'P'.
ls_node-tlevel = '4'.
ls_node-text = 'Total'(011).
ls_node-tlength = '11'.
ls_node-tcolor = '3'.
CLEAR w_value.
w_value = w_qty.
ls_node-text1 = w_value.
ls_node-tlength1 = '15'.
ls_node-tcolor1 = '3'.
CLEAR w_value.
w_value = w_amt.
ls_node-text2 = w_value.
ls_node-tlength2 = '15'.
ls_node-tcolor2 = '3'.
APPEND ls_node TO lt_node.
CLEAR ls_node.
ENDIF.
CLEAR w_flg.
ENDLOOP.
ENDLOOP.
ENDFORM. " build_tree
*&---------------------------------------------------------------------*
*& Form display_tree
*&---------------------------------------------------------------------
FORM display_tree .
CALLFUNCTION'RS_TREE_CONSTRUCT'
TABLES
nodetab = lt_node
EXCEPTIONS
tree_failure = 1
id_not_found = 2
wrong_relationship = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGEID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CALLFUNCTION'RS_TREE_LIST_DISPLAY'
EXPORTING
callback_program = sy-repid.
ENDFORM. " display_tree
*&---------------------------------------------------------------------*
*& Form get_vbap
*&---------------------------------------------------------------------
FORM get_vbap .
SELECT vbeln
posnr
kwmeng
netpr
FROM vbap INTOTABLE lt_vbap
FORALL ENTRIES IN lt_vbak
WHERE vbeln EQ lt_vbak-vbeln.
ENDFORM. " get_vbap
*&---------------------------------------------------------------------*
*& Form get_kna1
*&---------------------------------------------------------------------
FORM get_kna1 .
SELECT kunnr
name1
FROM kna1 INTOTABLE lt_kna1
WHERE kunnr IN s_kunnr.
IF sy-subrc NE0.
MESSAGE'No customers exists'(012) TYPE'I'.
LEAVE LIST-PROCESSING.
ENDIF.
ENDFORM.