‎2008 Jan 02 4:30 PM
Hi,
can anyone send me hiearchical alv report example.
i m new to learn that plzz help me out.
Thanks,
satish
‎2008 Jan 02 4:33 PM
‎2008 Jan 02 4:35 PM
‎2008 Jan 02 4:40 PM
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.
‎2008 Jan 02 5:58 PM
‎2008 Jan 02 8:04 PM
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.
‎2010 Oct 21 3:02 PM
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
‎2010 Oct 21 3:16 PM
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?