Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Finding Headers

Former Member
0 Likes
426

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

1 REPLY 1
Read only

dani_mn
Active Contributor
0 Likes
387

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