Hi,
in this program TOP OF PAGE is displaying as empty
*----------------------------------------------------------------------- * Tables *----------------------------------------------------------------------- TABLES:/irm/ipsipart. *----------------------------------------------------------------------- * Type pools *----------------------------------------------------------------------- TYPE-POOLS slis. *----------------------------------------------------------------------- * Types *----------------------------------------------------------------------- TYPES:BEGIN OF typ_ipsipart, depcode TYPE /irm/ip_depcode, partid TYPE /irm/ip_ktonr, endda TYPE /irm/ip_pedat, begda TYPE /irm/ip_pbdat, END OF typ_ipsipart. TYPES:BEGIN OF typ_pa0000, pernr TYPE persno, endda TYPE endda, begda TYPE begda, massn TYPE massn, massg TYPE massg, stat2 TYPE stat2, partid TYPE /irm/ip_ktonr, END OF typ_pa0000. TYPES:BEGIN OF typ_pa0001, pernr TYPE persno, endda TYPE endda, ename TYPE ename, END OF typ_pa0001. TYPES:BEGIN OF typ_pernr, pernr TYPE persno, END OF typ_pernr. TYPES:BEGIN OF typ_a942, zzpersnr TYPE persno, END OF typ_a942. TYPES:BEGIN OF typ_a943, zzpersnr TYPE persno, END OF typ_a943. TYPES:BEGIN OF typ_a976, zzpersnr TYPE persno, END OF typ_a976. TYPES:BEGIN OF typ_final, pernr TYPE persno, ename TYPE ename, begda TYPE begda, statx(9) TYPE c, mgtxt TYPE mgtxt, depcode TYPE /irm/ip_depcode, begda_c TYPE /irm/ip_pbdat, endda_c TYPE /irm/ip_pedat, END OF typ_final. TYPES:BEGIN OF typ_t530t, massn TYPE massn, massg TYPE massg, mgtxt TYPE mgtxt, END OF typ_t530t. *----------------------------------------------------------------------- * Internal Tables *----------------------------------------------------------------------- DATA:it_a942 TYPE TABLE OF typ_a942, it_a943 TYPE TABLE OF typ_a943, it_a976 TYPE TABLE OF typ_a976, it_pernr TYPE TABLE OF typ_pernr, it_pa0000 TYPE TABLE OF typ_pa0000, it_pa0001 TYPE TABLE OF typ_pa0001, it_ipsipart TYPE TABLE OF typ_ipsipart, it_final TYPE TABLE OF typ_final, it_t530t TYPE TABLE OF typ_t530t. *----------------------------------------------------------------------- * Work areas *----------------------------------------------------------------------- DATA:wa_a942 TYPE typ_a942, wa_a943 TYPE typ_a943, wa_a976 TYPE typ_a976, wa_pernr TYPE typ_pernr, wa_pa0000 TYPE typ_pa0000, wa_pa0001 TYPE typ_pa0001, wa_ipsipart TYPE typ_ipsipart, wa_final TYPE typ_final, wa_t530t TYPE typ_t530t. *----------------------------------------------------------------------- * Constants *----------------------------------------------------------------------- CONSTANTS:c_stat2 TYPE stat2 VALUE '0', c_statx(9) TYPE c VALUE 'Withdrawn', c_endda TYPE endda VALUE '99991231', c_ptype TYPE /irm/ip_patype VALUE 'PE', c_kappl TYPE kappl VALUE 'V', c_ysam TYPE kschl VALUE 'YSAM', c_ysdm TYPE kschl VALUE 'YSDM', c_yssm TYPE kschl VALUE 'YSSM', c_ysse TYPE kschl VALUE 'YSSE', c_sprsl TYPE spras VALUE 'E'. *----------------------------------------------------------------------- * Variables *----------------------------------------------------------------------- DATA:v_begda TYPE begda, v_endda TYPE endda. DATA:v_variant LIKE disvariant, v_save(1) TYPE c, v_repid TYPE sy-repid. *----------------------------------------------------------------------- * ALV Declaraion Part *----------------------------------------------------------------------- * FIELD CATALOG DECLARATION ***** DATA:it_fcat TYPE slis_t_fieldcat_alv, wa_fcat TYPE slis_fieldcat_alv. * ALV SORT INFORMATION ***** DATA:wa_sort TYPE slis_sortinfo_alv, it_sort TYPE slis_t_sortinfo_alv. *ALV LAYOUT INFORMATION ***** DATA:wa_layout TYPE slis_layout_alv. *ALV TOOLBAR EXCLUDING ***** DATA:it_excluding TYPE slis_t_extab, wa_excluding TYPE slis_extab. *----------------------------------------------------------------------- * Selection Screen *----------------------------------------------------------------------- SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001. SELECT-OPTIONS:s_pernr FOR /irm/ipsipart-partid, s_date FOR /irm/ipsipart-begda OBLIGATORY NO-EXTENSION, s_depcod FOR /irm/ipsipart-depcode. SELECTION-SCREEN END OF BLOCK b1. *----------------------------------------------------------------------- * At Selection Screen *----------------------------------------------------------------------- AT SELECTION-SCREEN. IF NOT s_date-low IS INITIAL AND s_date-high IS NOT INITIAL. READ TABLE s_date INDEX 1. v_begda = s_date-low. v_endda = s_date-high. ENDIF. IF s_date-low IS INITIAL AND s_date-high IS NOT INITIAL. READ TABLE s_date INDEX 1. v_begda = s_date-high. v_endda = s_date-high. ENDIF. IF s_date-low IS NOT INITIAL AND s_date-high IS INITIAL. READ TABLE s_date INDEX 1. v_begda = s_date-low. v_endda = s_date-low. ENDIF. *----------------------------------------------------------------------- * Start of selection *----------------------------------------------------------------------- START-OF-SELECTION. break vkreddy1x. PERFORM get_data. PERFORM move_data_to_finalitab. IF NOT it_final[] IS INITIAL. PERFORM field_catalog TABLES it_final USING it_fcat[] wa_fcat. PERFORM alv_sort_info USING it_sort[] wa_sort. PERFORM alv_layout_build USING wa_layout. PERFORM alv_toolbar_excluding USING it_excluding[] wa_excluding. PERFORM load-variant USING v_variant v_repid v_save. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING i_callback_program = v_repid i_callback_top_of_page = 'TOP_OF_PAGE' is_layout = wa_layout it_fieldcat = it_fcat it_excluding = it_excluding it_sort = it_sort i_save = v_save is_variant = v_variant TABLES t_outtab = it_final 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. ELSE. PERFORM info_msg. ENDIF. *&---------------------------------------------------------------------* *& Form GET_DATA *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM get_data . SELECT zzpersnr FROM a942 INTO TABLE it_a942 WHERE kappl = c_kappl AND kschl = c_ysdm AND datbi >= v_begda AND datab <= v_endda. IF sy-subrc EQ 0. SORT it_a942 BY zzpersnr. DELETE ADJACENT DUPLICATES FROM it_a942 COMPARING zzpersnr. LOOP AT it_a942 INTO wa_a942. MOVE wa_a942-zzpersnr TO wa_pernr-pernr. APPEND wa_pernr TO it_pernr. CLEAR:wa_pernr,wa_a942. ENDLOOP. ENDIF. SELECT zzpersnr FROM a943 INTO TABLE it_a943 WHERE kappl = c_kappl AND ( kschl = c_ysam OR kschl = c_ysse ) AND datbi >= v_begda AND datab <= v_endda. IF sy-subrc EQ 0. SORT it_a943 BY zzpersnr. DELETE ADJACENT DUPLICATES FROM it_a943 COMPARING zzpersnr. LOOP AT it_a943 INTO wa_a943. MOVE wa_a943-zzpersnr TO wa_pernr-pernr. APPEND wa_pernr TO it_pernr. CLEAR:wa_pernr,wa_a943. ENDLOOP. ENDIF. SELECT zzpersnr FROM a976 INTO TABLE it_a976 WHERE kappl = c_kappl AND kschl = c_yssm AND datbi >= v_begda AND datab <= v_endda. IF sy-subrc EQ 0. SORT it_a976 BY zzpersnr. DELETE ADJACENT DUPLICATES FROM it_a976 COMPARING zzpersnr. LOOP AT it_a976 INTO wa_a976. MOVE wa_a976-zzpersnr TO wa_pernr-pernr. APPEND wa_pernr TO it_pernr. CLEAR:wa_pernr,wa_a976. ENDLOOP. ENDIF. SORT it_pernr BY pernr. DELETE ADJACENT DUPLICATES FROM it_pernr COMPARING pernr. IF NOT it_pernr[] IS INITIAL. SELECT pernr endda begda massn massg stat2 FROM pa0000 INTO TABLE it_pa0000 FOR ALL ENTRIES IN it_pernr WHERE pernr = it_pernr-pernr AND endda >= v_begda AND begda <= v_endda AND stat2 = c_stat2. ENDIF. LOOP AT it_pa0000 INTO wa_pa0000. wa_pa0000-partid = wa_pa0000-pernr. MODIFY TABLE it_pa0000 FROM wa_pa0000 . ENDLOOP. IF NOT it_pa0000[] IS INITIAL. SELECT depcode partid endda begda FROM /irm/ipsipart INTO CORRESPONDING FIELDS OF TABLE it_ipsipart FOR ALL ENTRIES IN it_pa0000 WHERE nrart = c_ptype AND partid = it_pa0000-partid AND endda >= it_pa0000-begda AND begda <= it_pa0000-endda. SELECT pernr ename FROM pa0001 INTO TABLE it_pa0001 FOR ALL ENTRIES IN it_pa0000 WHERE pernr = it_pa0000-pernr AND endda = c_endda. SELECT mgtxt FROM t530t INTO TABLE it_t530t FOR ALL ENTRIES IN it_pa0000 WHERE sprsl = c_sprsl AND massn = it_pa0000-massn AND massg = it_pa0000-massg. ENDIF. ENDFORM. " GET_DATA *&---------------------------------------------------------------------* *& Form MOVE_DATA_TO_ITAB *&---------------------------------------------------------------------* FORM move_data_to_finalitab . LOOP AT it_pa0000 INTO wa_pa0000. MOVE wa_pa0000-pernr TO wa_final-pernr. MOVE wa_pa0000-begda TO wa_final-begda. IF wa_pa0000-stat2 = c_stat2. MOVE c_statx TO wa_final-statx. ENDIF. READ TABLE it_pa0001 INTO wa_pa0001 WITH KEY pernr = wa_pa0000-pernr. IF sy-subrc EQ 0. MOVE wa_pa0001-ename TO wa_final-ename. ENDIF. READ TABLE it_t530t INTO wa_t530t WITH KEY massn = wa_pa0000-massn massg = wa_pa0000-massg. IF sy-subrc EQ 0. MOVE wa_t530t-mgtxt TO wa_final-mgtxt. ENDIF. READ TABLE it_ipsipart INTO wa_ipsipart WITH KEY partid = wa_pa0000-partid. IF sy-subrc EQ 0. MOVE wa_ipsipart-depcode TO wa_final-depcode. MOVE wa_ipsipart-begda TO wa_final-begda_c. MOVE wa_ipsipart-endda TO wa_final-endda_c. ENDIF. APPEND wa_ipsipart TO it_ipsipart. CLEAR wa_ipsipart. ENDLOOP. ENDFORM. " MOVE_DATA_TO_ITAB *&---------------------------------------------------------------------* *& Form FIELD_CATALOG *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM field_catalog TABLES p_it_final LIKE it_final USING p_it_fcat TYPE slis_t_fieldcat_alv p_wa_fcat TYPE slis_fieldcat_alv. CLEAR p_wa_fcat. p_wa_fcat-col_pos = '1'. p_wa_fcat-tabname = p_it_final. p_wa_fcat-fieldname = 'PERNR'. p_wa_fcat-key = 'X'. p_wa_fcat-seltext_l = 'Personnel Number'. p_wa_fcat-seltext_m = 'Personnel No.'. p_wa_fcat-seltext_s = 'Pers.No.'. APPEND p_wa_fcat TO p_it_fcat. CLEAR p_wa_fcat. p_wa_fcat-col_pos = '2'. p_wa_fcat-tabname = p_it_final. p_wa_fcat-fieldname = 'ENAME'. p_wa_fcat-key = 'X'. p_wa_fcat-seltext_l = 'Employee Name'. p_wa_fcat-seltext_m = 'Emp Name'. p_wa_fcat-seltext_s = 'Name'. APPEND p_wa_fcat TO p_it_fcat. CLEAR p_wa_fcat. p_wa_fcat-col_pos = '3'. p_wa_fcat-tabname = p_it_final. p_wa_fcat-fieldname = 'BEGDA'. p_wa_fcat-key = ' '. p_wa_fcat-seltext_l = 'Termination start date'. p_wa_fcat-seltext_m = 'Term start date'. p_wa_fcat-seltext_s = 'Term start date'. APPEND p_wa_fcat TO p_it_fcat. CLEAR p_wa_fcat. p_wa_fcat-col_pos = '4'. p_wa_fcat-tabname = p_it_final. p_wa_fcat-fieldname = 'MGTXT'. p_wa_fcat-seltext_l = 'Reason f.action text'. p_wa_fcat-seltext_m = 'Reason for action'. p_wa_fcat-seltext_s = 'Act.reason'. APPEND p_wa_fcat TO p_it_fcat. CLEAR p_wa_fcat. p_wa_fcat-col_pos = '5'. p_wa_fcat-tabname = p_it_final. p_wa_fcat-fieldname = 'STATX'. p_wa_fcat-seltext_l = 'Employment status text'. p_wa_fcat-seltext_m = 'Employment status'. p_wa_fcat-seltext_s = 'Employment status'. APPEND p_wa_fcat TO p_it_fcat. CLEAR p_wa_fcat. p_wa_fcat-col_pos = '6'. p_wa_fcat-tabname = p_it_final. p_wa_fcat-fieldname = 'DEPCODE'. p_wa_fcat-seltext_l = 'Deployment Code'. p_wa_fcat-seltext_m = 'Deployment Code'. p_wa_fcat-seltext_s = 'Dep. Code'. APPEND p_wa_fcat TO p_it_fcat. CLEAR p_wa_fcat. p_wa_fcat-col_pos = '7'. p_wa_fcat-tabname = p_it_final. p_wa_fcat-fieldname = 'BEGDA_C'. p_wa_fcat-seltext_l = 'Participation Start Date'. p_wa_fcat-seltext_m = 'Participation Start'. p_wa_fcat-seltext_s = 'Start Date'. APPEND p_wa_fcat TO p_it_fcat. CLEAR p_wa_fcat. p_wa_fcat-col_pos = '8'. p_wa_fcat-tabname = p_it_final. p_wa_fcat-fieldname = 'ENDDA_C'. p_wa_fcat-seltext_l = 'Participation End Date'. p_wa_fcat-seltext_m = 'Participation End'. p_wa_fcat-seltext_s = 'End Date'. APPEND p_wa_fcat TO p_it_fcat. ENDFORM. " FIELD_CATALOG *&---------------------------------------------------------------------* *& Form ALV_SORT_INFO *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->P_IT_SORT[] text * -->P_WA_SORT text *----------------------------------------------------------------------* FORM alv_sort_info USING p_it_sort TYPE slis_t_sortinfo_alv p_wa_sort TYPE slis_sortinfo_alv . p_wa_sort-fieldname = 'PERNR'. p_wa_sort-up = 'X'. APPEND p_wa_sort TO p_it_sort. ENDFORM. " ALV_SORT_INFO *&---------------------------------------------------------------------* *& Form ALV_LAYOUT_BUILD *&---------------------------------------------------------------------* FORM alv_layout_build CHANGING p_wa_layout TYPE slis_layout_alv. p_wa_layout-no_input = 'X'. p_wa_layout-colwidth_optimize = 'X'. ENDFORM. " ALV_LAYOUT_BUILD *&---------------------------------------------------------------------* *& Form ALV_TOOLBAR_EXCLUDING *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM alv_toolbar_excluding USING p_it_excluding TYPE slis_t_extab p_wa_excluding TYPE slis_extab. p_wa_excluding-fcode = '&GRAPH'. APPEND p_wa_excluding TO p_it_excluding. p_wa_excluding-fcode = '&ABC'. APPEND p_wa_excluding TO p_it_excluding. p_wa_excluding-fcode = '%SL'. APPEND p_wa_excluding TO p_it_excluding. ENDFORM. " ALV_TOOLBAR_EXCLUDING *&---------------------------------------------------------------------* *& Form LOAD-VARIANT *&---------------------------------------------------------------------* FORM load-variant USING p_v_variant STRUCTURE disvariant p_v_repid p_v_save. CLEAR p_v_variant. p_v_variant-report = p_v_repid. p_v_save = 'A'. ENDFORM. " LOAD-VARIANT *&---------------------------------------------------------------------* *& Form info_msg *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM info_msg . MESSAGE i016(rp) WITH 'No Data Selected for the Selection Criteria'. ENDFORM. "info_msg *&--------------------------------------------------------------------* *& Form top_of_page *&--------------------------------------------------------------------* * text *---------------------------------------------------------------------* FORM top_of_page. DATA:it_listhead TYPE slis_t_listheader. DATA:wa_listhead TYPE slis_listheader. wa_listhead-typ = 'H'. wa_listhead-info = 'Withdrawn Employees Still Active on Commission Plan'. APPEND wa_listhead TO it_listhead. CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE' EXPORTING it_list_commentary = it_listhead. ENDFORM. "top_of_page