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: 

Need help using hierarchical list with class cl_salv_hierseq_table

Former Member
0 Kudos

I'm trying to learn how to use a hierarchical avl.

so I grabbed this code http://wiki.sdn.sap.com/wiki/display/Snippets/displaysimplehirarchiallistwithclass+cl_salv_hierseq_table

and changed it in order to use the tables bkpf and bseg instead

3 REPLIES 3

Former Member
0 Kudos
TABLES: bkpf.

TYPES: BEGIN OF ty_bkpf ,
       belnr LIKE bkpf-belnr,
       bukrs LIKE bkpf-bukrs,
       gjahr LIKE bkpf-gjahr,
       bldat LIKE bkpf-bldat,
       waers LIKE bkpf-waers,
       END OF ty_bkpf.

TYPES: BEGIN OF ty_bseg ,
       buzei LIKE bseg-buzei,
       shkzg LIKE bseg-shkzg,
       END OF ty_bseg.

DATA: it_bkpf TYPE STANDARD TABLE OF ty_bkpf ,
      it_bseg TYPE STANDARD TABLE OF ty_bseg .

DATA: ibinding TYPE salv_t_hierseq_binding.
DATA: xbinding TYPE salv_s_hierseq_binding.

DATA: gr_table TYPE REF TO cl_salv_hierseq_table.

SELECT-OPTIONS:
  ndoc FOR bkpf-belnr,
  empr FOR bkpf-bukrs,
  anod FOR bkpf-gjahr.

START-OF-SELECTION.

  PERFORM get_data.

  PERFORM relat_tables.

  PERFORM display_alv.

*&---------------------------------------------------------------------*
*&      Form  get_data
*----------------------------------------------------------------------*
FORM get_data .

  SELECT belnr bukrs gjahr bldat waers
         INTO TABLE it_bkpf
         FROM bkpf
         WHERE belnr IN  ndoc AND
               bukrs IN empr AND
               gjahr IN anod.

  IF sy-subrc = 0.

    SELECT buzei shkzg
           FROM bseg
           INTO TABLE it_bseg
           FOR ALL ENTRIES IN it_bkpf
           WHERE belnr = it_bkpf-belnr AND
                 bukrs = it_bkpf-bukrs AND
                 gjahr = it_bkpf-gjahr.

  ENDIF.

ENDFORM." get_data
*&---------------------------------------------------------------------*
*&      Form  relat_tables
*----------------------------------------------------------------------*
FORM relat_tables .

  xbinding-master = 'BUKRS'.
  xbinding-slave  = 'BUKRS'.
  APPEND xbinding TO ibinding.

ENDFORM. " relat_tables
*&---------------------------------------------------------------------*
*&      Form  display_alv
*----------------------------------------------------------------------*
FORM display_alv .

  cl_salv_hierseq_table=>factory(
  EXPORTING
  t_binding_level1_level2 = ibinding
  IMPORTING
  r_hierseq = gr_table
  CHANGING
  t_table_level1 = it_bkpf
  t_table_level2 = it_bseg
  ).

  gr_table->display( ).
ENDFORM. " display_alv

0 Kudos

but now its raising an exception. 'CX_SALV_NOT_FOUND'

what am I missing?

(sorry I had to use an extra post to post the code)

Former Member
0 Kudos

Alternative tutorial...I've had superb outcomes using Rich's work.

[http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/b0f03986-046c-2910-a5aa-e5364e96ea2c?quicklink=index&overridelayout=true]