HI ALL
i want to print the total number of less than 6000 and greater than 6000 .. but the following code is printing from 1 to number of records
<pre>
TABLES: pernr,
pa0001,
pa9999.
INFOTYPES: 0000,
0001,
9999.
TYPE-POOLS: slis.
DATA: fieldcat TYPE slis_t_fieldcat_alv,
fc_str TYPE slis_fieldcat_alv,
event TYPE slis_t_event,
event_str TYPE slis_alv_event,
layout TYPE slis_layout_alv,
title TYPE lvc_title,
repid LIKE sy-repid.
DATA: heading TYPE slis_t_listheader,
heading_str TYPE slis_listheader,
duration-months TYPE i.
*ranges period for pa9024-begda .
DATA: BEGIN OF itab OCCURS 0,
temp1 TYPE i,
temp2 TYPE i,
loc_code LIKE pa0001-btrtl,
total TYPE i,
END OF itab.
DATA v_zztel0069b LIKE pa9999-zztel0069b.
SELECT-OPTIONS s_btrtl FOR pa0001-btrtl OBLIGATORY.
START-OF-SELECTION.
GET pernr.
IF ( pernr-btrtl IN s_btrtl ).
SELECT zztel0069b
INTO (v_zztel0069b)
FROM pa9999
WHERE pernr = pernr-pernr
AND begda = pnpbegda AND endda = pnpendda.
READ TABLE itab WITH KEY itab-loc_code.
IF sy-subrc EQ 0.
MODIFY itab.
ELSE.
itab-loc_code = pernr-btrtl.
ENDIF.
IF v_zztel0069b > 6000.
ADD 1 TO itab-temp1.
MODIFY itab.
READ TABLE itab WITH KEY itab-loc_code.
IF sy-subrc EQ 0.
MODIFY itab.
ELSE.
itab-loc_code = pernr-btrtl.
ENDIF.
ELSEIF v_zztel0069b < 6000.
ADD 1 TO itab-temp2.
ENDIF.
itab-total = itab-temp1 + itab-temp2.
APPEND itab.
ENDSELECT.
ENDIF.
APPEND itab.
end-of-selection.
fc_str-col_pos = 5.
fc_str-tabname = 'ITAB'.
fc_str-fieldname = 'LOC_CODE'.
fc_str-outputlen = 15.
fc_str-seltext_m = 'LOCATION CODE'.
APPEND fc_str TO fieldcat.
fc_str-col_pos = 15.
fc_str-tabname = 'ITAB'.
fc_str-fieldname = 'TEMP1'.
fc_str-outputlen = 20.
fc_str-seltext_m = 'EMPLOYEE ABOVE 6000'.
APPEND fc_str TO fieldcat.
fc_str-col_pos = 25.
fc_str-tabname = 'ITAB'.
fc_str-fieldname = 'TEMP2'.
fc_str-outputlen = 40.
fc_str-seltext_m = 'EMPLOYEE BELOW 6000'.
APPEND fc_str TO fieldcat.
fc_str-col_pos = 35.
fc_str-tabname = 'ITAB'.
fc_str-fieldname = 'TOTAL'.
fc_str-outputlen = 50.
fc_str-seltext_m = 'TOTAL EMPLOYEE'.
APPEND fc_str TO fieldcat.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = event[]
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 event WITH KEY name = 'TOP_OF_PAGE' INTO event_str.
IF sy-subrc = 0.
MOVE: 'TOP_OF_PAGE' TO event_str-form.
APPEND event_str TO event.
ENDIF.
heading_str-typ = 'H'.
heading_str-info = 'LOCATION SUMMARY OF EDUCATION'.
APPEND heading_str TO heading.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
i_callback_program = sy-cprog
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_BACKGROUND_ID = ' '
i_grid_title = ' '
I_GRID_SETTINGS =
is_layout = layout
it_fieldcat = fieldcat[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
i_save = 'X'
IS_VARIANT =
it_events = event[]
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
I_HTML_HEIGHT_TOP =
I_HTML_HEIGHT_END =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = itab.
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
&----
........
&----
FORM top_of_page.
*
heading_str-typ = 'H'.
heading_str-key = 'K1'.
heading_str-info = 'Stop Loan Report'.
APPEND heading_str TO heading.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = heading[]
i_logo = 'DADEX'
I_END_OF_LIST_GRID =
.
ENDFORM.
</pre>
Regards
Ammad
Edited by: Vijay Babu Dudla on Jun 10, 2009 3:08 AM