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

example program Hiearchical alv report

Former Member
0 Likes
839

Hi,

can anyone send me hiearchical alv report example.

i m new to learn that plzz help me out.

Thanks,

satish

7 REPLIES 7
Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
804

Have a look at program BCALV_TEST_HIERSEQ_LIST

Regards,

RIch Heilman

Read only

Former Member
0 Likes
804

Hi

Did you check BCALV_TEST_HIERSEQ_LIST ???

Read only

Former Member
0 Likes
804

Hi,

Refer this Simple code.

type-pools: slis.

  • icon.

tables: zemp10,zemp12.

data: BEGIN OF WA1,

EMPID TYPE ZEMP10-EMPID,

EXPAND2,

BOX,

LIGHT,

END OF WA1.

DATA: BEGIN OF WA2,

EMPID TYPE ZEMP12-EMPID,

CITY TYPE ZEMP12-CITY,

STATE TYPE ZEMP12-STATE,

COUNTRY TYPE ZEMP12-COUNTRY,

INCENTIVE TYPE ZEMP12-INCENTIVE,

LIGHT,

END OF WA2.

DATA: ITAB1 LIKE STANDARD TABLE OF WA1 WITH HEADER LINE,

ITAB2 LIKE STANDARD TABLE OF WA2 WITH HEADER LINE,

it_events type slis_t_event,

wa_events like line of it_events,

CAT1 TYPE SLIS_T_FIELDCAT_ALV.

  • WA_CAT LIKE LINE OF CAT1.

*

*DATA IT_FCAT1 TYPE SLIS_T_FIELDCAT_ALV.

data wa_layout type slis_layout_alv.

data wa_keyinfo type slis_keyinfo_alv.

DATA CAT2 TYPE SLIS_T_FIELDCAT_ALV.

data wa_repid type sy-repid.

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

wa_keyinfo-header01 = 'EMPID'.

wa_keyinfo-item01 = 'EMPID'.

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

perform fill_tables.

perform layout.

PERFORM FIELD.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

  • EXPORTING

  • I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = it_events

  • EXCEPTIONS

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

read table it_events into wa_events with key name = 'USER_COMMAND'.

if sy-subrc = 0.

wa_events-form = 'FORM1'.

modify it_events from wa_events index sy-tabix.

endif.

CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

I_CALLBACK_PROGRAM = 'ZVIJIALV7'

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

IS_LAYOUT = WA_LAYOUT

IT_FIELDCAT = CAT1

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

IT_EVENTS = it_events

  • IT_EVENT_EXIT =

i_tabname_header = 'ITAB1'

i_tabname_item = 'ITAB2'

  • I_STRUCTURE_NAME_HEADER =

  • I_STRUCTURE_NAME_ITEM =

is_keyinfo = WA_KEYINFO

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

  • IR_SALV_HIERSEQ_ADAPTER =

  • IT_EXCEPT_QINFO =

  • I_SUPPRESS_EMPTY_DATA = ABAP_FALSE

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

tables

t_outtab_header = ITAB1

t_outtab_item = ITAB2

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

form fill_tables .

SELECT

empid

FROM zemp10 INTO TABLE ITAB1.

SELECT

empid city state country INCENTIVE

FROM ZEMP12 INTO TABLE ITAB2.

LOOP AT ITAB2.

IF ITAB2-INCENTIVE < 100.

ITAB2-LIGHT = '2'.

ELSEIF ITAB2-INCENTIVE > 100 AND ITAB2-INCENTIVE < 200.

ITAB2-LIGHT = '1'.

ELSE.

ITAB2-LIGHT = '3'.

ENDIF.

MODIFY ITAB2 INDEX SY-TABIX.

ENDLOOP.

LOOP AT ITAB1.

IF ITAB1-EMPID = '101'.

ITAB1-BOX = 'X'.

ITAB1-LIGHT = '2'.

ELSE.

ITAB1-LIGHT = '1'.

ENDIF.

MODIFY ITAB1 INDEX SY-TABIX.

ENDLOOP.

endform. " fill_tables

form LAYOUT .

WA_LAYOUT-ZEBRA = 'X'.

WA_LAYOUT-EXPAND_FIELDNAME = 'EXPAND2'. "FOR EXPANDING

  • WA_LAYOUT-EXPAND_ALL = 'X'.

WA_LAYOUT-LIGHTS_FIELDNAME = 'LIGHT'. " FOR LIGHT

WA_LAYOUT-LIGHTS_TABNAME = 'ITAB1'.

WA_LAYOUT-LIGHTS_FIELDNAME = 'LIGHT'. " FOR LIGHT

WA_LAYOUT-LIGHTS_TABNAME = 'ITAB2'.

WA_LAYOUT-BOX_FIELDNAME = 'BOX'. " FOR CHECKBOX

WA_LAYOUT-BOX_TABNAME = 'ITAB1'.

endform. " LAYOUT

FORM FIELD.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

  • I_PROGRAM_NAME = WA_REPID

I_INTERNAL_TABNAME = 'ITAB1'

I_STRUCTURE_NAME = 'ZEMP10'

  • I_CLIENT_NEVER_DISPLAY = 'X'

  • I_INCLNAME =

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

CHANGING

ct_fieldcat = CAT1

  • EXCEPTIONS

  • INCONSISTENT_INTERFACE = 1

  • PROGRAM_ERROR = 2

  • OTHERS = 3

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

DELETE CAT1 WHERE FIELDNAME <> 'EMPID'.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

  • I_PROGRAM_NAME = WA_REPID

I_INTERNAL_TABNAME = 'ITAB2'

I_STRUCTURE_NAME = 'ZEMP12'

  • I_CLIENT_NEVER_DISPLAY = 'X'

  • I_INCLNAME =

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

CHANGING

ct_fieldcat = CAT2

  • EXCEPTIONS

  • INCONSISTENT_INTERFACE = 1

  • PROGRAM_ERROR = 2

  • OTHERS = 3

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

DELETE CAT2 WHERE FIELDNAME <> 'EMPID' AND

FIELDNAME <> 'CITY' AND

FIELDNAME <> 'STATE' AND

FIELDNAME <> 'INCENTIVE'.

APPEND LINES OF CAT2 TO CAT1.

ENDFORM.

form FORM1 using ucomm like sy-ucomm

sel_field type slis_selfield.

write : sel_field-fieldname.

write : sel_field-value.

endform.

Thanks.

Read only

Former Member
0 Likes
804

hi,

Try BALVHT01.

Thanks

ANUPAM

Read only

former_member156446
Active Contributor
0 Likes
804

rest will be the same ,, the only diff will be..

CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'

EXPORTING

i_interface_check = ' '

i_callback_program = alv_repid

i_callback_pf_status_set = 'SET_STATUS'

i_callback_user_command = 'USER_COMMAND'

is_layout = alv_layout

it_fieldcat = fc[]

i_default = 'X'

i_save = 'A'

is_variant = alv_variant

i_tabname_header = 'HEADER'

i_tabname_item = 'LIST'

is_keyinfo = alv_keyinfo

is_print = alv_print

TABLES

t_outtab_header = header

t_outtab_item = list.

Read only

Former Member
0 Likes
804

hii,

i need know how to get the different fields to join in in a single alv report

and how to loop the final table by using to display material cross plant report

Read only

0 Likes
804

A suggestion: Adding to an old post for a different subject is not a very good way to get help. So, what have you written to date? What part of that is not working?