Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 8581

HELLO GUYS PLS TELL ME HOW TO ADD HOTPOT IN ALV TREE?????

$
0
0

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.                                   


Viewing all articles
Browse latest Browse all 8581

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>