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

alv

Former Member
0 Likes
722

hi, anyone can send me the sample <b>alv hierarchy</b> report.

thanks in advance

Thnauskodi T.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
695

Hi Thanus

Try using the FM

REUSE_ALV_HIERSEQ_LIST_DISPLAY

for hierarchy display

<u><b>Check the sample programs:</b></u>

BALVHD01 
BALVHD01_GROUP 
BALVHM10 
BALVHM12

<u><b>In case you want to use objects</b></u>

CL_GUI_ALV_TREE
CL_GUI_COLUMN_TREE
CL_GUI_ALV_TREE_SIMPLE

<u><b>Check the below demo programs:</b></u>

BCALV_TREE_01 
BCALV_TREE_02 
BCALV_TREE_03 
BCALV_TREE_04 
BCALV_TREE_05 
BCALV_TREE_06 
BCALV_TREE_DEMO

<b>go through the following links which ll give you the brief idea about the tree strucuter created by theALV</b>

http://help.sap.com/saphelp_nw04s/helpdata/en/32/f26f73d81e11d1a26f0000e8a5a614/content.htm

http://help.sap.com/saphelp_erp2005/helpdata/en/bf/3bd1369f2d280ee10000009b38f889/content.htm

Try with this sample report

<b><u>Report1</u></b>

 *Data Declaration
*----------------
TABLES:     ekko.
TYPE-POOLS: slis.                                 "ALV Declarations

TYPES: BEGIN OF t_ekko,
  ebeln TYPE ekpo-ebeln,
  ebelp TYPE ekpo-ebelp,
  statu TYPE ekpo-statu,
  aedat TYPE ekpo-aedat,
  matnr TYPE ekpo-matnr,
  menge TYPE ekpo-menge,
  meins TYPE ekpo-meins,
  netpr TYPE ekpo-netpr,
  peinh TYPE ekpo-peinh,
 END OF t_ekko.

DATA: it_ekko     TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
      it_ekpo     TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
      it_emptytab TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
      wa_ekko     TYPE t_ekko,
      wa_ekpo     TYPE t_ekko.

DATA: ok_code like sy-ucomm,           "OK-Code
      save_ok like sy-ucomm.

*ALV data declarations
DATA: fieldcatalog  TYPE lvc_t_fcat WITH HEADER LINE.

DATA: gd_fieldcat   TYPE lvc_t_fcat,
      gd_tab_group  TYPE slis_t_sp_group_alv,
      gd_layout     TYPE slis_layout_alv.

*ALVtree data declarations
CLASS cl_gui_column_tree DEFINITION LOAD.
CLASS cl_gui_cfw DEFINITION LOAD.

DATA: gd_tree             TYPE REF TO cl_gui_alv_tree,
      gd_hierarchy_header TYPE treev_hhdr,
      gd_report_title     TYPE slis_t_listheader,
      gd_logo             TYPE sdydo_value,
      gd_variant          TYPE disvariant.

*Create container for alv-tree
DATA: l_tree_container_name(30) TYPE c,
      l_custom_container        TYPE REF TO cl_gui_custom_container.


************************************************************************
*Includes
*INCLUDE ZDEMO_ALVTREEO01. "Screen PBO Modules
*INCLUDE ZDEMO_ALVTREEI01. "Screen PAI Modules
*INCLUDE ZDEMO_ALVTREEF01. "ABAP Subroutines(FORMS)

************************************************************************
*Start-of-selection.
START-OF-SELECTION.

* ALVtree setup data
    PERFORM data_retrieval.
    PERFORM build_fieldcatalog.
    PERFORM build_layout.
    PERFORM build_hierarchy_header CHANGING gd_hierarchy_header.
    PERFORM build_report_title USING gd_report_title gd_logo.
    PERFORM build_variant.

* Display ALVtree report
  call screen 100.


*&---------------------------------------------------------------------*
*&      Form  DATA_RETRIEVAL
*&---------------------------------------------------------------------*
*       Retrieve data into Internal tables
*----------------------------------------------------------------------*
FORM data_retrieval.
  SELECT ebeln
   UP TO 10 ROWS
    FROM ekko
    INTO corresponding fields of TABLE it_ekko.

  loop at it_ekko into wa_ekko.
    SELECT ebeln ebelp statu aedat matnr menge meins netpr peinh
      FROM ekpo
      appending TABLE it_ekpo
     where ebeln eq wa_ekko-ebeln.
  endloop.
ENDFORM.                    " DATA_RETRIEVAL


*&---------------------------------------------------------------------*
*&      Form  BUILD_FIELDCATALOG
*&---------------------------------------------------------------------*
*       Build Fieldcatalog for ALV Report
*----------------------------------------------------------------------*
FORM build_fieldcatalog.
* Please not there are a number of differences between the structure of
* ALVtree fieldcatalogs and ALVgrid fieldcatalogs.
* For example the field seltext_m is replace by scrtext_m in ALVtree.

  fieldcatalog-fieldname   = 'EBELN'.           "Field name in itab
  fieldcatalog-scrtext_m   = 'Purchase Order'.  "Column text
  fieldcatalog-col_pos     = 0.                 "Column position
  fieldcatalog-outputlen   = 15.                "Column width
  fieldcatalog-emphasize   = 'X'.               "Emphasize  (X or SPACE)
  fieldcatalog-key         = 'X'.               "Key Field? (X or SPACE)
*  fieldcatalog-do_sum      = 'X'.              "Sum Column?
*  fieldcatalog-no_zero     = 'X'.              "Don't display if zero
  APPEND fieldcatalog TO gd_fieldcat.
  CLEAR  fieldcatalog.

  fieldcatalog-fieldname   = 'EBELP'.
  fieldcatalog-scrtext_m   = 'PO Iten'.
  fieldcatalog-outputlen   = 15.
  fieldcatalog-col_pos     = 1.
  APPEND fieldcatalog TO gd_fieldcat..
  CLEAR  fieldcatalog.

  fieldcatalog-fieldname   = 'STATU'.
  fieldcatalog-scrtext_m   = 'Status'.
  fieldcatalog-outputlen   = 15.
  fieldcatalog-col_pos     = 2.
  APPEND fieldcatalog TO gd_fieldcat..
  CLEAR  fieldcatalog.

  fieldcatalog-fieldname   = 'AEDAT'.
  fieldcatalog-scrtext_m   = 'Item change date'.
  fieldcatalog-outputlen   = 15.
  fieldcatalog-col_pos     = 3.
  APPEND fieldcatalog TO gd_fieldcat..
  CLEAR  fieldcatalog.

  fieldcatalog-fieldname   = 'MATNR'.
  fieldcatalog-scrtext_m   = 'Material Number'.
  fieldcatalog-outputlen   = 15.
  fieldcatalog-col_pos     = 4.
  APPEND fieldcatalog TO gd_fieldcat..
  CLEAR  fieldcatalog.

  fieldcatalog-fieldname   = 'MENGE'.
  fieldcatalog-scrtext_m   = 'PO quantity'.
  fieldcatalog-outputlen   = 15.
  fieldcatalog-col_pos     = 5.
  APPEND fieldcatalog TO gd_fieldcat..
  CLEAR  fieldcatalog.

  fieldcatalog-fieldname   = 'MEINS'.
  fieldcatalog-scrtext_m   = 'Order Unit'.
  fieldcatalog-outputlen   = 15.
  fieldcatalog-col_pos     = 6.
  APPEND fieldcatalog TO gd_fieldcat..
  CLEAR  fieldcatalog.

  fieldcatalog-fieldname   = 'NETPR'.
  fieldcatalog-scrtext_m   = 'Net Price'.
  fieldcatalog-outputlen   = 15.
  fieldcatalog-col_pos     = 7.
  fieldcatalog-datatype     = 'CURR'.
  APPEND fieldcatalog TO gd_fieldcat..
  CLEAR  fieldcatalog.

  fieldcatalog-fieldname   = 'PEINH'.
  fieldcatalog-scrtext_m   = 'Price Unit'.
  fieldcatalog-outputlen   = 15.
  fieldcatalog-col_pos     = 8.
  APPEND fieldcatalog TO gd_fieldcat..
  CLEAR  fieldcatalog.
ENDFORM.                    " BUILD_FIELDCATALOG


*&---------------------------------------------------------------------*
*&      Form  BUILD_LAYOUT
*&---------------------------------------------------------------------*
*       Build layout for ALV grid report
*----------------------------------------------------------------------*
FORM build_layout.
  gd_layout-no_input          = 'X'.
  gd_layout-colwidth_optimize = 'X'.
  gd_layout-totals_text       = 'Totals'(201).
*  gd_layout-totals_only        = 'X'.
*  gd_layout-f2code            = 'DISP'.  "Sets fcode for when double
*                                         "click(press f2)
*  gd_layout-zebra             = 'X'.
*  gd_layout-group_change_edit = 'X'.
*  gd_layout-header_text       = 'helllllo'.
ENDFORM.                    " BUILD_LAYOUT


*&---------------------------------------------------------------------*
*&      Form  build_hierarchy_header
*&---------------------------------------------------------------------*
*       build hierarchy-header-information
*----------------------------------------------------------------------*
*      -->P_L_HIERARCHY_HEADER  structure for hierarchy-header
*----------------------------------------------------------------------*
FORM build_hierarchy_header CHANGING
                               p_hierarchy_header TYPE treev_hhdr.

  p_hierarchy_header-heading = 'Hierarchy Header'(013).
  p_hierarchy_header-tooltip = 'This is the Hierarchy Header !'(014).
  p_hierarchy_header-width = 30.
  p_hierarchy_header-width_pix = ''.
ENDFORM.                               " build_hierarchy_header

*&---------------------------------------------------------------------*
*&      Form  BUILD_REPORT_TITLE
*&---------------------------------------------------------------------*
*       Build table for ALVtree header
*----------------------------------------------------------------------*
*  <->  p1        Header details
*  <->  p2        Logo value
*----------------------------------------------------------------------*
FORM build_report_title CHANGING
      pt_report_title  TYPE slis_t_listheader
      pa_logo             TYPE sdydo_value.

  DATA: ls_line TYPE slis_listheader,
        ld_date(10) TYPE c.

* List Heading Line(TYPE H)
  CLEAR ls_line.
  ls_line-typ  = 'H'.
* ls_line-key     "Not Used For This Type(H)
  ls_line-info = 'PO ALVTree Display'.
  APPEND ls_line TO pt_report_title.

* Status Line(TYPE S)
  ld_date(2) = sy-datum+6(2).
  ld_date+2(1) = '/'.
  ld_date+3(2) = sy-datum+4(2).
  ld_date+5(1) = '/'.
  ld_date+6(4) = sy-datum(4).

  ls_line-typ  = 'S'.
  ls_line-key  = 'Date'.
  ls_line-info = ld_date.
  APPEND ls_line TO pt_report_title.

* Action Line(TYPE A)
  CLEAR ls_line.
  ls_line-typ  = 'A'.
  CONCATENATE 'Report: ' sy-repid INTO ls_line-info  SEPARATED BY space.
  APPEND ls_line TO pt_report_title.
ENDFORM.


*&---------------------------------------------------------------------*
*&      Form  BUILD_VARIANT
*&---------------------------------------------------------------------*
*       Build variant
*----------------------------------------------------------------------*
form build_variant.
* Set repid for storing variants
  gd_variant-report = sy-repid.
endform.                    " BUILD_VARIANT

Reward all helpfull answers

Regards

Pavan

hi, anyone can send me the sample <b>alv hierarchy</b> report.

thanks in advance

Thnauskodi T.

5 REPLIES 5
Read only

gopi_narendra
Active Contributor
0 Likes
695

Check this example

TYPE-POOLS: slis.

DATA: BEGIN OF itab OCCURS 0,
        vbeln TYPE vbeln,
        expand,
      END OF itab.

DATA: BEGIN OF itab1 OCCURS 0,
        vbeln TYPE vbeln,
        posnr TYPE posnr,
        matnr TYPE matnr,
        netpr TYPE netpr,
      END OF itab1.

DATA: t_fieldcatalog TYPE slis_t_fieldcat_alv.
DATA: s_fieldcatalog TYPE slis_fieldcat_alv.

s_fieldcatalog-col_pos = '1'.
s_fieldcatalog-fieldname = 'VBELN'.
s_fieldcatalog-tabname   = 'ITAB'.
s_fieldcatalog-rollname  = 'VBELN'.
s_fieldcatalog-outputlen = '12'.
APPEND s_fieldcatalog TO t_fieldcatalog.
CLEAR: s_fieldcatalog.

s_fieldcatalog-col_pos = '1'.
s_fieldcatalog-fieldname = 'VBELN'.
s_fieldcatalog-tabname   = 'ITAB1'.
s_fieldcatalog-rollname  = 'VBELN'.
s_fieldcatalog-outputlen = '12'.
APPEND s_fieldcatalog TO t_fieldcatalog.
CLEAR: s_fieldcatalog.

s_fieldcatalog-col_pos = '2'.
s_fieldcatalog-fieldname = 'POSNR'.
s_fieldcatalog-tabname   = 'ITAB1'.
s_fieldcatalog-rollname  = 'POSNR'.
APPEND s_fieldcatalog TO t_fieldcatalog.
CLEAR: s_fieldcatalog.

s_fieldcatalog-col_pos = '3'.
s_fieldcatalog-fieldname = 'MATNR'.
s_fieldcatalog-tabname   = 'ITAB1'.
s_fieldcatalog-rollname  = 'MATNR'.
APPEND s_fieldcatalog TO t_fieldcatalog.
CLEAR: s_fieldcatalog.

s_fieldcatalog-col_pos = '4'.
s_fieldcatalog-fieldname = 'NETPR'.
s_fieldcatalog-tabname   = 'ITAB1'.
s_fieldcatalog-rollname  = 'NETPR'.
s_fieldcatalog-do_sum    = 'X'.
APPEND s_fieldcatalog TO t_fieldcatalog.
CLEAR: s_fieldcatalog.

DATA: s_layout TYPE slis_layout_alv.

s_layout-subtotals_text            = 'SUBTOTAL TEXT'.
s_layout-key_hotspot = 'X'.
s_layout-expand_fieldname = 'EXPAND'.


SELECT vbeln UP TO 100 ROWS
       FROM
       vbak
       INTO TABLE itab.


IF NOT itab[] IS INITIAL.

  SELECT vbeln posnr matnr netpr
         FROM vbap
         INTO TABLE itab1
         FOR ALL ENTRIES IN itab
         WHERE vbeln = itab-vbeln.

ENDIF.


DATA: v_repid TYPE syrepid.

v_repid = sy-repid.

DATA: s_keyinfo TYPE slis_keyinfo_alv.
s_keyinfo-header01 = 'VBELN'.
s_keyinfo-item01   = 'VBELN'.

CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
     EXPORTING
          i_callback_program = v_repid
          is_layout          = s_layout
          it_fieldcat        = t_fieldcatalog
          i_tabname_header   = 'ITAB'
          i_tabname_item     = 'ITAB1'
          is_keyinfo         = s_keyinfo
     TABLES
          t_outtab_header    = itab
          t_outtab_item      = itab1
     EXCEPTIONS
          program_error      = 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.

Regards

Gopi

Read only

Former Member
0 Likes
695

Hi,

Check the sample programs:

<b>BALVHD01

BALVHD01_GROUP

BALVHM10

BALVHM12</b>

Regards

Sudheer

Read only

Former Member
0 Likes
695

hi,

check the sample code.

*-----Tables Declaration

TABLES:LFA1,LFB1.

TYPE-POOLS:SLIS.

*-----data declaration

TYPES:BEGIN OF X_EKKO,

EBELN TYPE EKKO-EBELN, "PO Number

AEDAT TYPE EKKO-AEDAT, "Creation Date

LIFNR TYPE EKKO-LIFNR, "Vendor Account Number

END OF X_EKKO,

BEGIN OF X_EKPO,

EBELN TYPE EKPO-EBELN, "PO Number

EBELP TYPE EKPO-EBELP, "PO Item

ELIKZ TYPE EKPO-ELIKZ, "Payment Method

END OF X_EKPO,

BEGIN OF X_LFB1,

LIFNR TYPE LFB1-LIFNR, "Vendor Account Number

ERDAT TYPE LFB1-ERDAT, "Creation Date

ZWELS TYPE LFB1-ZWELS, "Payment Method

END OF X_LFB1,

BEGIN OF X_LFA1,

LIFNR TYPE LFA1-LIFNR, "Vendor Account Number

NAME1 TYPE LFA1-NAME1, "Name

STRAS TYPE LFA1-STRAS, "Street

ORT01 TYPE LFA1-ORT01, "City

ORT02 TYPE LFA1-ORT02, "District

PFACH TYPE LFA1-PFACH, "PO Box

PSTLZ TYPE LFA1-PSTLZ, "Postal Code

REGIO TYPE LFA1-REGIO, "Region

LAND1 TYPE LFA1-LAND1, "Country Key

ERDAT TYPE LFA1-ERDAT, "Creation Date

END OF X_LFA1.

DATA: BEGIN OF IT_PO OCCURS 0, "#EC *

EBELN TYPE EKKO-EBELN, "PO Number

AEDAT TYPE EKKO-AEDAT, "Creation Date

LIFNR TYPE EKKO-LIFNR, "Vendor Account Number

EBELP TYPE EKPO-EBELP,

ELIKZ TYPE EKPO-ELIKZ,

END OF IT_PO.

DATA:IT_EKKO TYPE STANDARD TABLE OF X_EKKO,

IT_EKPO TYPE STANDARD TABLE OF X_EKPO, "#EC *

IT_LFB1 TYPE STANDARD TABLE OF X_LFB1,

IT_LFA1 TYPE STANDARD TABLE OF X_LFA1,

IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,

V_REPID LIKE SY-REPID.

*-----selection-screen

SELECTION-SCREEN BEGIN OF BLOCK B1.

SELECT-OPTIONS:S_DATE FOR LFB1-ERDAT,

S_LIFNR FOR LFA1-LIFNR.

SELECTION-SCREEN END OF BLOCK B1.

*-----selection-screen validation

AT SELECTION-SCREEN.

SELECT EBELN AEDAT LIFNR

FROM EKKO

INTO TABLE IT_EKKO

WHERE AEDAT IN S_DATE.

*-----To display an error message if there are invalid values

IF SY-SUBRC NE 0.

MESSAGE E009.

ENDIF.

*-----Data retrieval

START-OF-SELECTION.

*-----retrieving the open PO's from the PO item table

SELECT AEBELN AAEDAT ALIFNR BEBELP B~ELIKZ

FROM EKKO AS A JOIN EKPO AS B

ON AEBELN = BEBELN

INTO TABLE IT_PO

WHERE A~AEDAT IN S_DATE

AND A~LIFNR IN S_LIFNR

AND B~ELIKZ = ''.

*-----to display an error if there are no records

IF SY-SUBRC NE 0.

MESSAGE E003.

ENDIF.

*-----retrieving the vendor information based on the payment methods

SELECT LIFNR ERDAT ZWELS

FROM LFB1

INTO TABLE IT_LFB1

FOR ALL ENTRIES IN IT_PO

WHERE LIFNR = IT_PO-LIFNR

AND ZWELS = 'C'. "International Check

*-----to display an error if there are no records

IF SY-SUBRC NE 0.

MESSAGE E003.

ENDIF.

*-----retrieving the details of the vendor having open PO

SELECT LIFNR NAME1 STRAS ORT01 ORT02 PFACH PSTLZ REGIO LAND1 ERDAT

FROM LFA1

INTO TABLE IT_LFA1

FOR ALL ENTRIES IN IT_LFB1

WHERE LIFNR = IT_LFB1-LIFNR.

*-----to display an error if there are no records

IF SY-SUBRC NE 0.

MESSAGE E003.

ENDIF.

*-----Fieldcatalog

REFRESH IT_FIELDCAT[].

WA_FIELDCAT-COL_POS = '1'.

WA_FIELDCAT-FIELDNAME = 'LIFNR'.

WA_FIELDCAT-TABNAME = 'IT_LFA1'.

WA_FIELDCAT-REF_FIELDNAME = 'LIFNR'.

WA_FIELDCAT-REF_TABNAME = 'LFA1'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-COL_POS = '2'.

WA_FIELDCAT-FIELDNAME = 'NAME1'.

WA_FIELDCAT-TABNAME = 'IT_LFA1'.

WA_FIELDCAT-REF_FIELDNAME = 'NAME1'.

WA_FIELDCAT-REF_TABNAME = 'LFA1'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-COL_POS = '3'.

WA_FIELDCAT-FIELDNAME = 'STRAS'.

WA_FIELDCAT-TABNAME = 'IT_LFA1'.

WA_FIELDCAT-REF_FIELDNAME = 'STRAS'.

WA_FIELDCAT-REF_TABNAME = 'LFA1'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-COL_POS = '4'.

WA_FIELDCAT-FIELDNAME = 'ORT01'.

WA_FIELDCAT-TABNAME = 'IT_LFA1'.

WA_FIELDCAT-REF_FIELDNAME = 'ORT01'.

WA_FIELDCAT-REF_TABNAME = 'LFA1'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-COL_POS = '5'.

WA_FIELDCAT-FIELDNAME = 'ORT02'.

WA_FIELDCAT-TABNAME = 'IT_LFA1'.

WA_FIELDCAT-REF_FIELDNAME = 'ORT02'.

WA_FIELDCAT-REF_TABNAME = 'LFA1'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-COL_POS = '6'.

WA_FIELDCAT-FIELDNAME = 'PFACH'.

WA_FIELDCAT-TABNAME = 'IT_LFA1'.

WA_FIELDCAT-REF_FIELDNAME = 'PFACH'.

WA_FIELDCAT-REF_TABNAME = 'LFA1'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-COL_POS = '7'.

WA_FIELDCAT-FIELDNAME = 'PSTLZ'.

WA_FIELDCAT-TABNAME = 'IT_LFA1'.

WA_FIELDCAT-REF_FIELDNAME = 'PSTLZ'.

WA_FIELDCAT-REF_TABNAME = 'LFA1'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-COL_POS = '8'.

WA_FIELDCAT-FIELDNAME = 'REGIO'.

WA_FIELDCAT-TABNAME = 'IT_LFA1'.

WA_FIELDCAT-REF_FIELDNAME = 'REGIO'.

WA_FIELDCAT-REF_TABNAME = 'LFA1'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-COL_POS = '9'.

WA_FIELDCAT-FIELDNAME = 'LAND1'.

WA_FIELDCAT-TABNAME = 'IT_LFA1'.

WA_FIELDCAT-REF_FIELDNAME = 'LAND1'.

WA_FIELDCAT-REF_TABNAME = 'LFA1'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-COL_POS = '10'.

WA_FIELDCAT-FIELDNAME = 'ERDAT'.

WA_FIELDCAT-TABNAME = 'IT_LFA1'.

WA_FIELDCAT-REF_FIELDNAME = 'ERDAT'.

WA_FIELDCAT-REF_TABNAME = 'LFA1'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

*-----to display the list of open PO's

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = V_REPID

IT_FIELDCAT = IT_FIELDCAT[]

TABLES

T_OUTTAB = IT_LFA1[].

Read only

Former Member
0 Likes
695

Hi,

REPORT ZSR_ALV_HIR.

TYPE-POOLS: SLIS.

&----


TYPES: BEGIN OF TY_VBAK,

VBELN TYPE VBELN,

ERDAT TYPE ERDAT,

NETWR TYPE NETWR,

WAERK TYPE WAERK,

END OF TY_VBAK.

TYPES: BEGIN OF TY_VBAP,

VBELN TYPE VBELN,

POSNR TYPE POSNR,

ARKTX TYPE ARKTX,

NETWR TYPE NETWR,

END OF TY_VBAP.

&----


DATA: W_VBAK TYPE TY_VBAK.

DATA: T_VBAK TYPE STANDARD TABLE OF TY_VBAK INITIAL SIZE 1.

DATA: W_VBAP TYPE TY_VBAP.

DATA: T_VBAP TYPE STANDARD TABLE OF TY_VBAP INITIAL SIZE 1.

&----


DATA: W_FCAT TYPE SLIS_FIELDCAT_ALV.

DATA: T_FCAT TYPE SLIS_T_FIELDCAT_ALV.

&----


CONSTANTS: C_VBAK TYPE SLIS_TABNAME VALUE 'W_VBAK'.

CONSTANTS: C_VBAP TYPE SLIS_TABNAME VALUE 'W_VBAP'.

&----


DATA: W_KEYINFO TYPE SLIS_KEYINFO_ALV.

W_KEYINFO-HEADER01 = 'VBELN'.

W_KEYINFO-ITEM01 = 'VBELN'.

&----


W_FCAT-COL_POS = 1.

W_FCAT-FIELDNAME = 'VBELN'.

W_FCAT-SELTEXT_M = 'ORDER NO'.

W_FCAT-TABNAME = 'W_VBAK'.

APPEND W_FCAT TO T_FCAT.

W_FCAT-COL_POS = 2.

W_FCAT-FIELDNAME = 'ERDAT'.

W_FCAT-SELTEXT_M = 'DATE'.

W_FCAT-TABNAME = 'W_VBAK'.

APPEND W_FCAT TO T_FCAT.

W_FCAT-COL_POS = 3.

W_FCAT-FIELDNAME = 'NETWR'.

W_FCAT-SELTEXT_M = 'ORDER VALUE'.

W_FCAT-TABNAME = 'W_VBAK'.

APPEND W_FCAT TO T_FCAT.

W_FCAT-COL_POS = 4.

W_FCAT-FIELDNAME = 'POSNR'.

W_FCAT-SELTEXT_M = 'ITEM NO'.

W_FCAT-TABNAME = 'W_VBAP'.

APPEND W_FCAT TO T_FCAT.

W_FCAT-COL_POS = 5.

W_FCAT-FIELDNAME = 'ARKTX'.

W_FCAT-SELTEXT_L = 'DESCRIPTION'.

W_FCAT-TABNAME = 'W_VBAP'.

APPEND W_FCAT TO T_FCAT.

W_FCAT-COL_POS = 6.

W_FCAT-FIELDNAME = 'NETWR'.

W_FCAT-SELTEXT_M = 'ITEM VALUE'.

W_FCAT-TABNAME = 'W_VBAP'.

APPEND W_FCAT TO T_FCAT.

&----


SELECT-OPTIONS: ORDNO FOR W_VBAP-VBELN.

&--


SELEC HEADER DATA AND SORT--

SELECT VBELN

ERDAT

NETWR

FROM VBAK

INTO CORRESPONDING FIELDS OF TABLE T_VBAK

WHERE VBELN IN ORDNO.

SORT T_VBAK BY VBELN.

&--


SELEC ITEM DATA AND SORT--

SELECT

VBELN

POSNR

ARKTX

NETWR

FROM VBAP

INTO CORRESPONDING FIELDS OF TABLE T_VBAP.

SORT T_VBAP BY POSNR.

&--


'REUSE_ALV_HIERSEQ_LIST_DISPLAY'--

CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'

EXPORTING

IT_FIELDCAT = T_FCAT

I_TABNAME_HEADER = C_VBAK

I_TABNAME_ITEM = C_VBAP

IS_KEYINFO = W_KEYINFO

TABLES

T_OUTTAB_HEADER = T_VBAK

T_OUTTAB_ITEM = T_VBAP.

Read only

Former Member
0 Likes
696

Hi Thanus

Try using the FM

REUSE_ALV_HIERSEQ_LIST_DISPLAY

for hierarchy display

<u><b>Check the sample programs:</b></u>

BALVHD01 
BALVHD01_GROUP 
BALVHM10 
BALVHM12

<u><b>In case you want to use objects</b></u>

CL_GUI_ALV_TREE
CL_GUI_COLUMN_TREE
CL_GUI_ALV_TREE_SIMPLE

<u><b>Check the below demo programs:</b></u>

BCALV_TREE_01 
BCALV_TREE_02 
BCALV_TREE_03 
BCALV_TREE_04 
BCALV_TREE_05 
BCALV_TREE_06 
BCALV_TREE_DEMO

<b>go through the following links which ll give you the brief idea about the tree strucuter created by theALV</b>

http://help.sap.com/saphelp_nw04s/helpdata/en/32/f26f73d81e11d1a26f0000e8a5a614/content.htm

http://help.sap.com/saphelp_erp2005/helpdata/en/bf/3bd1369f2d280ee10000009b38f889/content.htm

Try with this sample report

<b><u>Report1</u></b>

 *Data Declaration
*----------------
TABLES:     ekko.
TYPE-POOLS: slis.                                 "ALV Declarations

TYPES: BEGIN OF t_ekko,
  ebeln TYPE ekpo-ebeln,
  ebelp TYPE ekpo-ebelp,
  statu TYPE ekpo-statu,
  aedat TYPE ekpo-aedat,
  matnr TYPE ekpo-matnr,
  menge TYPE ekpo-menge,
  meins TYPE ekpo-meins,
  netpr TYPE ekpo-netpr,
  peinh TYPE ekpo-peinh,
 END OF t_ekko.

DATA: it_ekko     TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
      it_ekpo     TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
      it_emptytab TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
      wa_ekko     TYPE t_ekko,
      wa_ekpo     TYPE t_ekko.

DATA: ok_code like sy-ucomm,           "OK-Code
      save_ok like sy-ucomm.

*ALV data declarations
DATA: fieldcatalog  TYPE lvc_t_fcat WITH HEADER LINE.

DATA: gd_fieldcat   TYPE lvc_t_fcat,
      gd_tab_group  TYPE slis_t_sp_group_alv,
      gd_layout     TYPE slis_layout_alv.

*ALVtree data declarations
CLASS cl_gui_column_tree DEFINITION LOAD.
CLASS cl_gui_cfw DEFINITION LOAD.

DATA: gd_tree             TYPE REF TO cl_gui_alv_tree,
      gd_hierarchy_header TYPE treev_hhdr,
      gd_report_title     TYPE slis_t_listheader,
      gd_logo             TYPE sdydo_value,
      gd_variant          TYPE disvariant.

*Create container for alv-tree
DATA: l_tree_container_name(30) TYPE c,
      l_custom_container        TYPE REF TO cl_gui_custom_container.


************************************************************************
*Includes
*INCLUDE ZDEMO_ALVTREEO01. "Screen PBO Modules
*INCLUDE ZDEMO_ALVTREEI01. "Screen PAI Modules
*INCLUDE ZDEMO_ALVTREEF01. "ABAP Subroutines(FORMS)

************************************************************************
*Start-of-selection.
START-OF-SELECTION.

* ALVtree setup data
    PERFORM data_retrieval.
    PERFORM build_fieldcatalog.
    PERFORM build_layout.
    PERFORM build_hierarchy_header CHANGING gd_hierarchy_header.
    PERFORM build_report_title USING gd_report_title gd_logo.
    PERFORM build_variant.

* Display ALVtree report
  call screen 100.


*&---------------------------------------------------------------------*
*&      Form  DATA_RETRIEVAL
*&---------------------------------------------------------------------*
*       Retrieve data into Internal tables
*----------------------------------------------------------------------*
FORM data_retrieval.
  SELECT ebeln
   UP TO 10 ROWS
    FROM ekko
    INTO corresponding fields of TABLE it_ekko.

  loop at it_ekko into wa_ekko.
    SELECT ebeln ebelp statu aedat matnr menge meins netpr peinh
      FROM ekpo
      appending TABLE it_ekpo
     where ebeln eq wa_ekko-ebeln.
  endloop.
ENDFORM.                    " DATA_RETRIEVAL


*&---------------------------------------------------------------------*
*&      Form  BUILD_FIELDCATALOG
*&---------------------------------------------------------------------*
*       Build Fieldcatalog for ALV Report
*----------------------------------------------------------------------*
FORM build_fieldcatalog.
* Please not there are a number of differences between the structure of
* ALVtree fieldcatalogs and ALVgrid fieldcatalogs.
* For example the field seltext_m is replace by scrtext_m in ALVtree.

  fieldcatalog-fieldname   = 'EBELN'.           "Field name in itab
  fieldcatalog-scrtext_m   = 'Purchase Order'.  "Column text
  fieldcatalog-col_pos     = 0.                 "Column position
  fieldcatalog-outputlen   = 15.                "Column width
  fieldcatalog-emphasize   = 'X'.               "Emphasize  (X or SPACE)
  fieldcatalog-key         = 'X'.               "Key Field? (X or SPACE)
*  fieldcatalog-do_sum      = 'X'.              "Sum Column?
*  fieldcatalog-no_zero     = 'X'.              "Don't display if zero
  APPEND fieldcatalog TO gd_fieldcat.
  CLEAR  fieldcatalog.

  fieldcatalog-fieldname   = 'EBELP'.
  fieldcatalog-scrtext_m   = 'PO Iten'.
  fieldcatalog-outputlen   = 15.
  fieldcatalog-col_pos     = 1.
  APPEND fieldcatalog TO gd_fieldcat..
  CLEAR  fieldcatalog.

  fieldcatalog-fieldname   = 'STATU'.
  fieldcatalog-scrtext_m   = 'Status'.
  fieldcatalog-outputlen   = 15.
  fieldcatalog-col_pos     = 2.
  APPEND fieldcatalog TO gd_fieldcat..
  CLEAR  fieldcatalog.

  fieldcatalog-fieldname   = 'AEDAT'.
  fieldcatalog-scrtext_m   = 'Item change date'.
  fieldcatalog-outputlen   = 15.
  fieldcatalog-col_pos     = 3.
  APPEND fieldcatalog TO gd_fieldcat..
  CLEAR  fieldcatalog.

  fieldcatalog-fieldname   = 'MATNR'.
  fieldcatalog-scrtext_m   = 'Material Number'.
  fieldcatalog-outputlen   = 15.
  fieldcatalog-col_pos     = 4.
  APPEND fieldcatalog TO gd_fieldcat..
  CLEAR  fieldcatalog.

  fieldcatalog-fieldname   = 'MENGE'.
  fieldcatalog-scrtext_m   = 'PO quantity'.
  fieldcatalog-outputlen   = 15.
  fieldcatalog-col_pos     = 5.
  APPEND fieldcatalog TO gd_fieldcat..
  CLEAR  fieldcatalog.

  fieldcatalog-fieldname   = 'MEINS'.
  fieldcatalog-scrtext_m   = 'Order Unit'.
  fieldcatalog-outputlen   = 15.
  fieldcatalog-col_pos     = 6.
  APPEND fieldcatalog TO gd_fieldcat..
  CLEAR  fieldcatalog.

  fieldcatalog-fieldname   = 'NETPR'.
  fieldcatalog-scrtext_m   = 'Net Price'.
  fieldcatalog-outputlen   = 15.
  fieldcatalog-col_pos     = 7.
  fieldcatalog-datatype     = 'CURR'.
  APPEND fieldcatalog TO gd_fieldcat..
  CLEAR  fieldcatalog.

  fieldcatalog-fieldname   = 'PEINH'.
  fieldcatalog-scrtext_m   = 'Price Unit'.
  fieldcatalog-outputlen   = 15.
  fieldcatalog-col_pos     = 8.
  APPEND fieldcatalog TO gd_fieldcat..
  CLEAR  fieldcatalog.
ENDFORM.                    " BUILD_FIELDCATALOG


*&---------------------------------------------------------------------*
*&      Form  BUILD_LAYOUT
*&---------------------------------------------------------------------*
*       Build layout for ALV grid report
*----------------------------------------------------------------------*
FORM build_layout.
  gd_layout-no_input          = 'X'.
  gd_layout-colwidth_optimize = 'X'.
  gd_layout-totals_text       = 'Totals'(201).
*  gd_layout-totals_only        = 'X'.
*  gd_layout-f2code            = 'DISP'.  "Sets fcode for when double
*                                         "click(press f2)
*  gd_layout-zebra             = 'X'.
*  gd_layout-group_change_edit = 'X'.
*  gd_layout-header_text       = 'helllllo'.
ENDFORM.                    " BUILD_LAYOUT


*&---------------------------------------------------------------------*
*&      Form  build_hierarchy_header
*&---------------------------------------------------------------------*
*       build hierarchy-header-information
*----------------------------------------------------------------------*
*      -->P_L_HIERARCHY_HEADER  structure for hierarchy-header
*----------------------------------------------------------------------*
FORM build_hierarchy_header CHANGING
                               p_hierarchy_header TYPE treev_hhdr.

  p_hierarchy_header-heading = 'Hierarchy Header'(013).
  p_hierarchy_header-tooltip = 'This is the Hierarchy Header !'(014).
  p_hierarchy_header-width = 30.
  p_hierarchy_header-width_pix = ''.
ENDFORM.                               " build_hierarchy_header

*&---------------------------------------------------------------------*
*&      Form  BUILD_REPORT_TITLE
*&---------------------------------------------------------------------*
*       Build table for ALVtree header
*----------------------------------------------------------------------*
*  <->  p1        Header details
*  <->  p2        Logo value
*----------------------------------------------------------------------*
FORM build_report_title CHANGING
      pt_report_title  TYPE slis_t_listheader
      pa_logo             TYPE sdydo_value.

  DATA: ls_line TYPE slis_listheader,
        ld_date(10) TYPE c.

* List Heading Line(TYPE H)
  CLEAR ls_line.
  ls_line-typ  = 'H'.
* ls_line-key     "Not Used For This Type(H)
  ls_line-info = 'PO ALVTree Display'.
  APPEND ls_line TO pt_report_title.

* Status Line(TYPE S)
  ld_date(2) = sy-datum+6(2).
  ld_date+2(1) = '/'.
  ld_date+3(2) = sy-datum+4(2).
  ld_date+5(1) = '/'.
  ld_date+6(4) = sy-datum(4).

  ls_line-typ  = 'S'.
  ls_line-key  = 'Date'.
  ls_line-info = ld_date.
  APPEND ls_line TO pt_report_title.

* Action Line(TYPE A)
  CLEAR ls_line.
  ls_line-typ  = 'A'.
  CONCATENATE 'Report: ' sy-repid INTO ls_line-info  SEPARATED BY space.
  APPEND ls_line TO pt_report_title.
ENDFORM.


*&---------------------------------------------------------------------*
*&      Form  BUILD_VARIANT
*&---------------------------------------------------------------------*
*       Build variant
*----------------------------------------------------------------------*
form build_variant.
* Set repid for storing variants
  gd_variant-report = sy-repid.
endform.                    " BUILD_VARIANT

Reward all helpfull answers

Regards

Pavan