‎2006 Jul 26 8:00 AM
Hi All,
I have an issue where i need to change the header name of the fields. I cannot find the header names such as planned start time, planned end time, planned group. But when i execute the program it appears. Kindly help me find the same in the below program.
REPORT YHRPAREP26 NO STANDARD PAGE HEADING MESSAGE-ID zfec
LINE-SIZE 250
LINE-COUNT 65.
TABLES : zroster ,
sscrfields ,
dd03l,
bhdgd ,
iflo,
pa0001.
----
Type Pools
----
TYPE-POOLS slis.
----
Internal Tables
----
itab for ZROSTER Table
DATA : BEGIN OF i_roster OCCURS 100.
INCLUDE STRUCTURE zroster.
DATA: vbeln1 LIKE vbak-vbeln.
DATA: dutypost LIKE iflo-pltxt.
DATA : stell_txt(40).
DATA: report LIKE P2001-BEGUZ.
DATA: remarks(50).
DATA: signature(50).
DATA: ename LIKE pa0001-ename.
DATA: del_stat.
DATA: END OF i_roster.
itab for Events
DATA: i_events TYPE slis_alv_event OCCURS 0 WITH HEADER LINE.
DATA f_var LIKE disvariant OCCURS 1 WITH HEADER LINE. "M3
DATA: i_vbak LIKE vbak OCCURS 100 WITH HEADER LINE.
----
Global Variables
----
DATA : BEGIN OF w ,
repid LIKE sy-repid ,
variant TYPE disvariant ,
END OF w .
DATA g_repid LIKE sy-repid.
DATA: w_field(72) OCCURS 100 WITH HEADER LINE.
----
Selection Screen
----
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
PARAMETERS : p_vkorg LIKE zroster-vkorg NO-DISPLAY .
PARAMETERS : p_werks LIKE zroster-werks DEFAULT '1110' NO-DISPLAY.
"OBLIGATORY .
SELECT-OPTIONS : s_jdate FOR zroster-jdate ."OBLIGATORY .
SELECT-OPTIONS : s_vbeln FOR zroster-vbeln NO INTERVALS .
SELECT-OPTIONS : s_tplnr FOR zroster-tplnr NO INTERVALS .
SELECT-OPTIONS : s_route FOR zroster-route NO INTERVALS .
SELECT-OPTIONS : s_ingrp FOR zroster-ingrp NO INTERVALS .
SELECT-OPTIONS : s_pernr FOR zroster-pernr NO INTERVALS . "NO-EXTENSION
SELECT-OPTIONS : s_pernr2 FOR zroster-alt_pernr1 NO INTERVALS .
SELECT-OPTIONS : s_stat FOR zroster-status NO INTERVALS .
SELECT-OPTIONS : s_spjob FOR zroster-spljob NO INTERVALS .
SELECT-OPTIONS : s_shtyp FOR zroster-shtyp NO INTERVALS .
SELECTION-SCREEN END OF BLOCK blk1.
SELECTION-SCREEN BEGIN OF BLOCK bl2 WITH FRAME TITLE text-ch2 .
PARAMETERS: p_var LIKE disvariant-variant.
SELECTION-SCREEN END OF BLOCK bl2.
----
Initialization Event
----
INITIALIZATION .
w-repid = sy-repid .
----
At-Selection-Screen Event
----
AT SELECTION-SCREEN .
PERFORM f_authority_check .
IF sscrfields-ucomm = 'ONLI' .
Get Data .
PERFORM f_get_data .
ENDIF .
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_var.
PERFORM f_get_f4_help.
----
Start-of-Selection Event
----
START-OF-SELECTION .
Display the Entries
PERFORM f_display_alv.
----
End-of-Selection Event
----
END-OF-SELECTION .
----
BEGIN OF SUBROUTINES
----
&----
*& Form f_get_data
&----
Get the Data from ZROSTER based on Selection Parameters
----
FORM f_get_data.
DATA : BEGIN OF i_iflo OCCURS 0,
tplnr LIKE iflo-tplnr,
pltxt LIKE iflo-pltxt,
END OF i_iflo.
DATA: BEGIN OF i0001 OCCURS 0.
INCLUDE STRUCTURE p0001.
DATA: END OF i0001.
DATA : short LIKE objec-short,
stext LIKE objec-stext,
subrc LIKE sy-subrc.
DATA :ZR_IDATE LIKE P2006-BEGDA,
ZR_ITIME LIKE P2006-BEGUZ,
ZR_STDAZ LIKE P2012-ANZHL,
ZR_EDATE LIKE P2006-BEGDA,
ZR_ETIME LIKE P2001-BEGUZ.
CLEAR w_field.
REFRESH w_field.
SELECT * FROM dd03l WHERE tabname = 'ZROSTER'.
w_field = dd03l-fieldname.
APPEND w_field.
ENDSELECT.
CONCATENATE 'B' '~' 'VBELN' INTO w_field.
APPEND w_field.
SELECT (w_field) FROM zroster
INTO TABLE i_roster
WHERE werks = p_werks
AND vbeln IN s_vbeln
AND tplnr IN s_tplnr
AND route IN s_route
AND jdate IN s_jdate
AND ingrp IN s_ingrp
AND pernr IN s_pernr
AND alt_pernr1 IN s_pernr2
AND status IN s_stat
AND spljob IN s_spjob
AND shtyp IN s_shtyp .
IF sy-subrc <> 0 .
MESSAGE e999 WITH 'No Entries for Selected Criteria.' .
ELSE.
SELECT * FROM vbak INTO TABLE i_vbak FOR ALL ENTRIES IN i_roster
WHERE aufnr = i_roster-aufnr
AND aufnr NE space.
ENDIF .
To get Duty Post Text
SELECT tplnr pltxt FROM iflo
INTO TABLE i_iflo
FOR ALL ENTRIES IN i_roster
WHERE spras = sy-langu AND
tplnr = i_roster-tplnr.
LOOP AT i_roster.
CLEAR i_vbak.
READ TABLE i_vbak WITH KEY aufnr = i_roster-aufnr.
IF sy-subrc EQ 0.
i_roster-vbeln1 = i_vbak-vbeln.
ENDIF.
Duty Post Text
CLEAR i_iflo.
READ TABLE i_iflo WITH KEY tplnr = i_roster-tplnr.
IF sy-subrc = 0.
i_roster-dutypost = i_iflo-pltxt. " Duty Post Name
TRANSLATE i_roster-dutypost TO UPPER CASE.
ENDIF.
Get rank.
CLEAR i0001.
REFRESH i0001.
CALL FUNCTION 'HR_READ_INFOTYPE'
EXPORTING
pernr = i_roster-pernr
infty = '0001'
begda = i_roster-jdate
endda = i_roster-jdate
IMPORTING
subrc = subrc
TABLES
infty_tab = i0001
EXCEPTIONS
infty_not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
RAISE person_not_found.
ELSE.
SORT i0001 DESCENDING BY begda endda .
READ TABLE i0001 INDEX 1.
IF sy-subrc EQ 0.
IF i0001-werks = '1600' AND " Ciscopol
i0001-btrtl = '1630' AND " Jurong division
i0001-persk = '21'. " Non-Management Uniform
ELSE.
i_roster-del_stat = 'D'.
ENDIF.
i_roster-ename = i0001-ename.
CALL FUNCTION 'RH_READ_OBJECT'
EXPORTING
begda = i_roster-jdate
endda = i_roster-jdate
istat = '1'
langu = sy-langu
objid = i0001-stell
ointerval = 'X'
otype = 'C'
plvar = '01'
IMPORTING
short = short
stext = stext
EXCEPTIONS
not_found = 01.
IF sy-subrc = 0.
IF stext <> space.
i_roster-stell_txt = stext.
ELSE.
i_roster-stell_txt = short.
ENDIF.
ELSE.
CLEAR i_roster-stell_txt.
ENDIF.
ENDIF.
ENDIF.
Reporting Time
CLEAR : ZR_IDATE, ZR_ITIME,ZR_STDAZ ,ZR_EDATE,ZR_ETIME.
zr_idate = i_roster-jdate.
zr_itime = i_roster-pbegtm.
zr_stdaz = '- 0.50'.
CALL FUNCTION 'CATT_ADD_TO_TIME'
EXPORTING
IDATE = zr_idate
ITIME = zr_itime
STDAZ = zr_stdaz
IMPORTING
EDATE = zr_edate
ETIME = zr_etime.
i_roster-report = zr_etime.
MODIFY i_roster.
ENDLOOP.
DELETE i_roster WHERE del_stat = 'D'.
ENDFORM. " f_get_data
*----
SUBROUTINE NAME : f_get_f4_help
AUTHOR : SAIRAM DATE : 18th Mar.2003
DESCRIPTION : To set the starting and end financial periods
for the entered month and year ranges.
*----
FORM f_get_f4_help.
f_var-report = sy-repid.
f_var-variant = p_var.
APPEND f_var.
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
is_variant = f_var
IMPORTING
es_variant = f_var
EXCEPTIONS
not_found = 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.
p_var = f_var-variant.
ENDFORM. " f_get_f4_help
&----
*& Form f_display_alv
&----
Display the Roster Entries
----
FORM f_display_alv.
DATA: ls_fieldcat TYPE slis_fieldcat_alv .
DATA: alv_fieldcat TYPE slis_t_fieldcat_alv,
GT_SORT TYPE SLIS_T_SORTINFO_ALV.
DATA wa_ficat TYPE slis_fieldcat_alv.
DATA l_tabix LIKE sy-tabix.
Top-of-Page Event
i_events-name = slis_ev_top_of_page.
i_events-form = 'F_ALV_TOP_OF_PAGE'.
APPEND i_events.
g_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = g_repid
i_structure_name = 'ZROSTER'
i_inclname = g_repid
CHANGING
ct_fieldcat = alv_fieldcat[]
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.
DESCRIBE TABLE alv_fieldcat LINES l_tabix.
READ TABLE alv_fieldcat INTO wa_ficat WITH KEY fieldname = 'VBELN'.
wa_ficat-fieldname = 'VBELN1'.
wa_ficat-col_pos = l_tabix + 1.
wa_ficat-seltext_l = 'Service Order Bill Request'.
wa_ficat-seltext_m = 'Sr.Ord. Bill Req.'.
wa_ficat-seltext_s = 'Sr.Ord. Bill Req.'.
wa_ficat-reptext_ddic = 'Sr.Ord. Bill Req.'.
APPEND wa_ficat TO alv_fieldcat.
Duty Post
CLEAR wa_ficat.
wa_ficat-fieldname = 'DUTYPOST'.
wa_ficat-col_pos = l_tabix + 2.
wa_ficat-seltext_l = 'Duty Post '.
wa_ficat-seltext_m = 'Duty Post '.
wa_ficat-seltext_s = 'Duty Post '.
wa_ficat-reptext_ddic = 'Duty Post '.
wa_ficat-KEY = 'X'.
wa_ficat-KEY_SEL = 'X'.
APPEND wa_ficat TO alv_fieldcat.
Rank
CLEAR wa_ficat.
wa_ficat-fieldname = 'STELL_TXT'.
wa_ficat-col_pos = l_tabix + 3.
wa_ficat-seltext_l = 'Rank'.
wa_ficat-seltext_m = 'Rank'.
wa_ficat-seltext_s = 'Rank'.
wa_ficat-reptext_ddic = 'Rank'.
APPEND wa_ficat TO alv_fieldcat.
Report
CLEAR wa_ficat.
wa_ficat-fieldname = 'REPORT'.
wa_ficat-col_pos = l_tabix + 4.
wa_ficat-seltext_l = 'Reporting Time'.
wa_ficat-seltext_m = 'Reporting Time'.
wa_ficat-seltext_s = 'Reporting Time'.
wa_ficat-reptext_ddic = 'Reporting Time'.
APPEND wa_ficat TO alv_fieldcat.
Remarks
CLEAR wa_ficat.
wa_ficat-fieldname = 'REMARKS'.
wa_ficat-col_pos = l_tabix + 5.
wa_ficat-seltext_l = 'Remarks'.
wa_ficat-seltext_m = 'Remarks'.
wa_ficat-seltext_s = 'Remarks'.
wa_ficat-reptext_ddic = 'Remarks'.
APPEND wa_ficat TO alv_fieldcat.
Signature
CLEAR wa_ficat.
wa_ficat-fieldname = 'SIGNATURE'.
wa_ficat-col_pos = l_tabix + 6.
wa_ficat-seltext_l = 'Signature'.
wa_ficat-seltext_m = 'Signature'.
wa_ficat-seltext_s = 'Signature'.
wa_ficat-reptext_ddic = 'Signature'.
APPEND wa_ficat TO alv_fieldcat.
Name
CLEAR wa_ficat.
wa_ficat-fieldname = 'ENAME'.
wa_ficat-col_pos = l_tabix + 7.
wa_ficat-seltext_l = 'Emp.Name'.
wa_ficat-seltext_m = 'Emp.Name'.
wa_ficat-seltext_s = 'Emp.Name'.
wa_ficat-reptext_ddic = 'Emp.Name'.
APPEND wa_ficat TO alv_fieldcat.
Display the List now.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = w-repid
i_default = 'X'
i_save = 'X'
is_variant = f_var
it_fieldcat = alv_fieldcat[]
it_events = i_events[]
IT_SORT = GT_SORT[]
TABLES
t_outtab = i_roster[].
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " f_display_alv
&----
*& Form f_alv_top_of_page
&----
Top-of-Page Event of ALV
----
FORM f_alv_top_of_page.
DATA: header TYPE slis_listheader OCCURS 0 WITH HEADER LINE.
REFRESH header.
bhdgd-repid = sy-repid. "Rep Prog Name
bhdgd-uname = sy-uname. "USERID
bhdgd-zeit = sy-uzeit. "Time of report
bhdgd-datum = sy-datum. "Date of report
bhdgd-line1 = text-002. "Header line 1
bhdgd-mandt = sy-mandt.
header-typ = 'S'.
header-info = bhdgd-line1.
header-key = 'Report Title:'.
APPEND header.
header-typ = 'S'.
IF NOT w-variant-variant IS INITIAL .
header-info = w-variant-variant .
ELSE .
header-info = 'None'.
ENDIF .
header-key = 'Layout Selected'.
APPEND header.
*
header-info = l_endda.
header-key = 'Period To:'.
APPEND header.
*
header-info = l_rundt.
header-key = 'Run date:'.
APPEND header.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = header[].
ENDFORM. " alv_top_of_page
&----
*& Form f_authority_check
&----
Authority Check
----
FORM f_authority_check .
AUTHORITY-CHECK OBJECT 'ZDEPLOY'
ID 'VKORG' DUMMY
ID 'WERKS' FIELD p_werks
ID 'INGRP' DUMMY .
IF sy-subrc <> 0 .
MESSAGE e999 WITH text-e01 .
ENDIF .
ENDFORM. " f_authority_check
Regards,
Karthik
‎2006 Jul 26 8:03 AM
Hi,
check this code to change header text in alv.
<b>
DATA: wa type line of slis_t_fieldcat_alv.
LOOP AT it_fieldcat INTO wa WHERE fieldname = 'BUKRS'.
wa-seltext_l = 'ab'.
wa-seltext_m = 'ab'.
wa-seltext_s = 'ab'.
wa-REPTEXT_DDIC = 'ab'.
MODIFY it_fieldcat from wa index sy-tabix.
ENDLOOP.</b>
REgards,
Wasim Ahmed