2007 Jun 15 6:32 AM
hello experts
i am doing alv program with seven feilds and doing total for 2 feilds output is fine but when i watch in the print preview it is not showing those 2 colums for which i am doing sum we r using 4.6b version.
Points for sure
2007 Jun 15 6:48 AM
hi,
check the filedcatalog population.vwerify the output length
ex-
CLEAR x_fieldcat.
x_fieldcat-fieldname = 'Count'.
x_fieldcat-seltext_l = "material number'.
x_fieldcat-tabname = 'I_SEC8final'.
x_fieldcat-do_sum = 'X'.
x_fieldcat-outputlen = 20.
x_fieldcat-col_pos = 4.
APPEND x_fieldcat TO it_fieldcat.
ex:
REPORT zsw_alv.
TYPE-POOLS:slis.
TYPES:BEGIN OF ty_tab,
index TYPE c,
field TYPE i,
field1 TYPE i,
field2 TYPE i,
field3 TYPE i,
matnr LIKE mara-matnr,
END OF ty_tab.
DATA:it_tab TYPE STANDARD TABLE OF ty_tab WITH HEADER LINE.
DATA:it_fieldcat1 TYPE slis_t_fieldcat_alv,
wa_fieldcat1 LIKE LINE OF it_fieldcat1,
l_layout TYPE slis_layout_alv,
it_events TYPE slis_t_event,
wa_events LIKE LINE OF it_events.
it_tab-field = '1'.
it_tab-field1 = '20'.
it_tab-field2 = '37'.
it_tab-matnr = '37'.
APPEND it_tab.
it_tab-field = '2'.
it_tab-field1 = '5'.
it_tab-field2 = '6'.
it_tab-matnr = '37'.
APPEND it_tab.
it_tab-field = '3'.
it_tab-field1 = '9'.
it_tab-field2 = '17'.
it_tab-matnr = '37'.
APPEND it_tab.
it_tab-field = '4'.
it_tab-field1 = '3'.
it_tab-field2 = '37'.
it_tab-matnr = '37'.
APPEND it_tab.
it_tab-field = '5'.
it_tab-field1 = '4'.
it_tab-field2 = '3'.
it_tab-matnr = '37'.
APPEND it_tab.
LOOP AT it_tab.
it_tab-field3 = it_tab-field1 + it_tab-field2.
MODIFY it_tab INDEX sy-tabix.
ENDLOOP.
CLEAR it_tab.
CLEAR wa_fieldcat1.
wa_fieldcat1-fieldname = 'INDEX'.
wa_fieldcat1-seltext_l = '' .
wa_fieldcat1-col_pos = 1.
*wa_fieldcat1-checkbox = 'X'.
wa_fieldcat1-edit = 'X'.
APPEND wa_fieldcat1 TO it_fieldcat1.
CLEAR wa_fieldcat1.
wa_fieldcat1-fieldname = 'FIELD'.
wa_fieldcat1-seltext_l = 'Col1' .
wa_fieldcat1-col_pos = 2.
APPEND wa_fieldcat1 TO it_fieldcat1.
CLEAR wa_fieldcat1.
wa_fieldcat1-fieldname = 'FIELD1'.
wa_fieldcat1-seltext_l = 'Col2' .
wa_fieldcat1-col_pos = 3.
wa_fieldcat1-do_sum = 'X'.
APPEND wa_fieldcat1 TO it_fieldcat1.
CLEAR wa_fieldcat1.
wa_fieldcat1-fieldname = 'FIELD2'.
wa_fieldcat1-seltext_l = 'Col3' .
wa_fieldcat1-col_pos = 4.
wa_fieldcat1-do_sum = 'X'.
APPEND wa_fieldcat1 TO it_fieldcat1.
CLEAR wa_fieldcat1.
wa_fieldcat1-fieldname = 'FIELD3'.
wa_fieldcat1-seltext_l = 'TOTAL' .
wa_fieldcat1-col_pos = 5.
wa_fieldcat1-do_sum = 'X'.
APPEND wa_fieldcat1 TO it_fieldcat1.
clear wa_fieldcat1.
wa_fieldcat1-fieldname = 'MATNR'.
wa_fieldcat1-seltext_l = 'Col6' .
wa_fieldcat1-col_pos = 6.
wa_fieldcat1-no_out = 'X'.
append wa_fieldcat1 to it_fieldcat1.
l_layout-totals_text = 'Total'.
CLEAR wa_events.
wa_events-form = 'END_OF_PAGE'.
wa_events-name = 'END_OF_LIST'.
APPEND wa_events TO it_events.
CLEAR wa_events.
wa_events-form = 'TOP_OF_PAGE'.
wa_events-name = 'TOP_OF_PAGE'.
APPEND wa_events TO it_events.
call function 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = sy-repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME = I_STRUCTURE_NAME
I_BACKGROUND_ID = ' '
I_GRID_TITLE = I_GRID_TITLE
I_GRID_SETTINGS = I_GRID_SETTINGS
IS_LAYOUT = l_LAYOUT
IT_FIELDCAT = IT_FIELDCAT1
IT_EXCLUDING = IT_EXCLUDING
IT_SPECIAL_GROUPS = IT_SPECIAL_GROUPS
IT_SORT = IT_SORT
IT_FILTER = IT_FILTER
IS_SEL_HIDE = IS_SEL_HIDE
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT = IS_VARIANT
IT_EVENTS = IT_EVENTS
IT_EVENT_EXIT = IT_EVENT_EXIT
IS_PRINT = IS_PRINT
IS_REPREP_ID = IS_REPREP_ID
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS = IT_ALV_GRAPHICS
IT_HYPERLINK = IT_HYPERLINK
IT_ADD_FIELDCAT = IT_ADD_FIELDCAT
IT_EXCEPT_QINFO = IT_EXCEPT_QINFO
IR_SALV_FULLSCREEN_ADAPTER = IR_SALV_FULLSCREEN_ADAPTER
IMPORTING
E_EXIT_CAUSED_BY_CALLER = E_EXIT_CAUSED_BY_CALLER
ES_EXIT_CAUSED_BY_USER = ES_EXIT_CAUSED_BY_USER
tables
t_outtab = it_tab
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 top_of_page.
WRITE:/ 'TOP_OF_PAGE'.
*ENDFORM. "TOP_OF_PAGE
FORM end_of_page.
WRITE:/ 'END_OF_PAGE'.
ENDFORM. "END_OF_PAGE
hello experts
i am doing alv program with seven feilds and doing total for 2 feilds output is fine but when i watch in the print preview it is not showing those 2 colums for which i am doing sum we r using 4.6b version.
Points for sure
2007 Jun 15 6:43 AM
please check any layout is assigned.
if so then change ur layout.
regards
prabhu
2007 Jun 15 6:47 AM
hello Prabhu
I have not assigned any layout i am using reuse_alv_grid_display
2007 Jun 15 6:48 AM
hi,
check the filedcatalog population.vwerify the output length
ex-
CLEAR x_fieldcat.
x_fieldcat-fieldname = 'Count'.
x_fieldcat-seltext_l = "material number'.
x_fieldcat-tabname = 'I_SEC8final'.
x_fieldcat-do_sum = 'X'.
x_fieldcat-outputlen = 20.
x_fieldcat-col_pos = 4.
APPEND x_fieldcat TO it_fieldcat.
ex:
REPORT zsw_alv.
TYPE-POOLS:slis.
TYPES:BEGIN OF ty_tab,
index TYPE c,
field TYPE i,
field1 TYPE i,
field2 TYPE i,
field3 TYPE i,
matnr LIKE mara-matnr,
END OF ty_tab.
DATA:it_tab TYPE STANDARD TABLE OF ty_tab WITH HEADER LINE.
DATA:it_fieldcat1 TYPE slis_t_fieldcat_alv,
wa_fieldcat1 LIKE LINE OF it_fieldcat1,
l_layout TYPE slis_layout_alv,
it_events TYPE slis_t_event,
wa_events LIKE LINE OF it_events.
it_tab-field = '1'.
it_tab-field1 = '20'.
it_tab-field2 = '37'.
it_tab-matnr = '37'.
APPEND it_tab.
it_tab-field = '2'.
it_tab-field1 = '5'.
it_tab-field2 = '6'.
it_tab-matnr = '37'.
APPEND it_tab.
it_tab-field = '3'.
it_tab-field1 = '9'.
it_tab-field2 = '17'.
it_tab-matnr = '37'.
APPEND it_tab.
it_tab-field = '4'.
it_tab-field1 = '3'.
it_tab-field2 = '37'.
it_tab-matnr = '37'.
APPEND it_tab.
it_tab-field = '5'.
it_tab-field1 = '4'.
it_tab-field2 = '3'.
it_tab-matnr = '37'.
APPEND it_tab.
LOOP AT it_tab.
it_tab-field3 = it_tab-field1 + it_tab-field2.
MODIFY it_tab INDEX sy-tabix.
ENDLOOP.
CLEAR it_tab.
CLEAR wa_fieldcat1.
wa_fieldcat1-fieldname = 'INDEX'.
wa_fieldcat1-seltext_l = '' .
wa_fieldcat1-col_pos = 1.
*wa_fieldcat1-checkbox = 'X'.
wa_fieldcat1-edit = 'X'.
APPEND wa_fieldcat1 TO it_fieldcat1.
CLEAR wa_fieldcat1.
wa_fieldcat1-fieldname = 'FIELD'.
wa_fieldcat1-seltext_l = 'Col1' .
wa_fieldcat1-col_pos = 2.
APPEND wa_fieldcat1 TO it_fieldcat1.
CLEAR wa_fieldcat1.
wa_fieldcat1-fieldname = 'FIELD1'.
wa_fieldcat1-seltext_l = 'Col2' .
wa_fieldcat1-col_pos = 3.
wa_fieldcat1-do_sum = 'X'.
APPEND wa_fieldcat1 TO it_fieldcat1.
CLEAR wa_fieldcat1.
wa_fieldcat1-fieldname = 'FIELD2'.
wa_fieldcat1-seltext_l = 'Col3' .
wa_fieldcat1-col_pos = 4.
wa_fieldcat1-do_sum = 'X'.
APPEND wa_fieldcat1 TO it_fieldcat1.
CLEAR wa_fieldcat1.
wa_fieldcat1-fieldname = 'FIELD3'.
wa_fieldcat1-seltext_l = 'TOTAL' .
wa_fieldcat1-col_pos = 5.
wa_fieldcat1-do_sum = 'X'.
APPEND wa_fieldcat1 TO it_fieldcat1.
clear wa_fieldcat1.
wa_fieldcat1-fieldname = 'MATNR'.
wa_fieldcat1-seltext_l = 'Col6' .
wa_fieldcat1-col_pos = 6.
wa_fieldcat1-no_out = 'X'.
append wa_fieldcat1 to it_fieldcat1.
l_layout-totals_text = 'Total'.
CLEAR wa_events.
wa_events-form = 'END_OF_PAGE'.
wa_events-name = 'END_OF_LIST'.
APPEND wa_events TO it_events.
CLEAR wa_events.
wa_events-form = 'TOP_OF_PAGE'.
wa_events-name = 'TOP_OF_PAGE'.
APPEND wa_events TO it_events.
call function 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = sy-repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME = I_STRUCTURE_NAME
I_BACKGROUND_ID = ' '
I_GRID_TITLE = I_GRID_TITLE
I_GRID_SETTINGS = I_GRID_SETTINGS
IS_LAYOUT = l_LAYOUT
IT_FIELDCAT = IT_FIELDCAT1
IT_EXCLUDING = IT_EXCLUDING
IT_SPECIAL_GROUPS = IT_SPECIAL_GROUPS
IT_SORT = IT_SORT
IT_FILTER = IT_FILTER
IS_SEL_HIDE = IS_SEL_HIDE
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT = IS_VARIANT
IT_EVENTS = IT_EVENTS
IT_EVENT_EXIT = IT_EVENT_EXIT
IS_PRINT = IS_PRINT
IS_REPREP_ID = IS_REPREP_ID
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS = IT_ALV_GRAPHICS
IT_HYPERLINK = IT_HYPERLINK
IT_ADD_FIELDCAT = IT_ADD_FIELDCAT
IT_EXCEPT_QINFO = IT_EXCEPT_QINFO
IR_SALV_FULLSCREEN_ADAPTER = IR_SALV_FULLSCREEN_ADAPTER
IMPORTING
E_EXIT_CAUSED_BY_CALLER = E_EXIT_CAUSED_BY_CALLER
ES_EXIT_CAUSED_BY_USER = ES_EXIT_CAUSED_BY_USER
tables
t_outtab = it_tab
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 top_of_page.
WRITE:/ 'TOP_OF_PAGE'.
*ENDFORM. "TOP_OF_PAGE
FORM end_of_page.
WRITE:/ 'END_OF_PAGE'.
ENDFORM. "END_OF_PAGE
2007 Jun 15 6:49 AM
Hi,
Please check the field catalog you have created for the ALV Report, especially for the 2 fields you want to calculate total.
Reply back with what you have done exactly to find a precise solution.
Thanks and Regards,
Kunjal Patel
2007 Jun 15 7:15 AM