Application Development 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: 

Column headings are missing in the output for ALV?

Former Member
0 Kudos

Hi all,

i have coded a small report in ALV mode. i am getting the data but the column headings are missing.

iam not getting the column headings in the output. it is coming as blank. Could you all please help me out in this?

below is the code of my program:

----


  • Includes *

----


*---Standard header and footer routines

INCLUDE zsrepthd.

*--- ALV Routines

INCLUDE zvsdi_alv_routines_ver3.

*--- Authorization Check

INCLUDE z_selection_auth_check.

----


  • Types Declarations *

----


tables : ekpo.

----


  • Types Declarations *

----


TYPES: BEGIN OF ty_ekpo,

EBELN(18) TYPE C,

EBELP(20) TYPE C,

MATNR(18) TYPE C,

WERKS(11) TYPE C,

END OF ty_ekpo.

*-Output field name

TYPES: BEGIN OF ty_output,

EBELN(18) TYPE C,

EBELP(20) TYPE C,

MATNR(18) TYPE C,

WERKS(11) TYPE C,

END OF ty_output.

*-Output field name

TYPES: BEGIN OF ty_fields,

fname(60) TYPE c,

END OF ty_fields.

----


  • Internal Table Declarations *

----


DATA:it_ekpo TYPE STANDARD TABLE OF ty_ekpo,

*--- Alv parameters

it_out_alvp TYPE typ_alv_form_params, "for alv parameters

*-Field catalog for ALV display

it_fcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,

*-Field names for Excel column headings

it_ekpo_fields TYPE STANDARD TABLE OF ty_fields WITH HEADER LINE.

**--To store output for Principial Pegging data

DATA: BEGIN OF it_output occurs 0,

EBELN(18) TYPE C,

EBELP(20) TYPE C,

MATNR(18) TYPE C,

WERKS(11) TYPE C,

END OF it_output.

**--To store output for 2nd

DATA: BEGIN OF it_output1 occurs 0,

text(2000),

END OF it_output1.

----


  • Data Declarations *

----


data: v_ebeln TYPE ekpo-ebeln,

v_ebelp TYPE ekpo-ebelp,

v_matnr TYPE ekpo-matnr,

v_werks TYPE ekpo-werks.

----


  • Constants Declarations *

----


CONSTANTS:

c_0 TYPE i VALUE 0,

c_x TYPE char1 VALUE 'X',

c_i TYPE char1 VALUE 'I',

c_eq TYPE char2 VALUE 'EQ',

c_ekpo TYPE char4 VALUE 'EKPO',

c_hyfn TYPE char1 VALUE '-'.

----


  • Work Area Declarations *

----


DATA: x_output_ekpo type ty_output,

x_ekpo type ty_ekpo.

----


  • Selection Screen *

----


SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-f01.

SELECT-OPTIONS:

s_ebeln FOR v_ebeln OBLIGATORY,

s_ebelp FOR v_ebelp,

s_matnr FOR v_matnr,

s_werks FOR v_werks.

SELECTION-SCREEN END OF BLOCK b1.

----


  • At Selection Screen *

----


AT SELECTION-SCREEN.

----


  • Start-of-Selection *

----


START-OF-SELECTION.

*--- Check Authorizations for Selection-screen

PERFORM z_selection_auth_check.

*--- Fetch Purchasing Document Item data

PERFORM fetch_status_pp.

----


  • End-of-Selection *

----


END-OF-SELECTION.

**-- Download data to final internal table.

PERFORM data_output.

IF NOT it_output[] IS INITIAL.

*--- Fill the structure for calling the ALV form

PERFORM initialize_alv_params.

**-- Display ALV Report

PERFORM setup_and_display_alv_ver2

USING

it_out_alvp "Parameter structure

it_output[] "Internal Data table(header table)

it_output[]. "Dummy table for Hierarchical ALV!!(item table)

ENDIF.

IF it_output[] IS INITIAL.

MESSAGE i999(zi) WITH 'No data found for selection'(i02).

ENDIF.

&----


*& Form FETCH_STATUS_PP

&----


  • Get data from ekpo table

----


FORM FETCH_STATUS_PP .

*-Fetch PP Data from ekpo table

REFRESH it_ekpo.

SELECT EBELN

EBELP

MATNR

WERKS

FROM ekpo

INTO TABLE it_ekpo

WHERE ebeln IN s_ebeln

AND ebelp IN s_ebelp.

IF sy-subrc = c_0.

SORT it_ekpo BY ebeln ebelp.

ENDIF.

ENDFORM. " FETCH_STATUS_PP

&----


*& Form f_top_of_page

&----


*This is to write the top of page

----


FORM top_of_page.

DATA: lt_list TYPE slis_t_listheader,

lx_list TYPE slis_listheader.

*--- Title name

CLEAR lx_list.

lx_list-typ = 'S'.

lx_list-key = 'Title name'(t13).

lx_list-info = sy-title.

APPEND lx_list TO lt_list.

IF NOT lt_list IS INITIAL.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = lt_list.

ENDIF.

ENDFORM. "top_of_page

&----


*& Form init_page_head

&----


  • Description : This subroutine initializes the fields in table BHDGD *

  • for printing the report heading. *

----


FORM init_page_head.

bhdgd-line1 = 'SLA Status Report'(h04).

bhdgd-line2 = sy-title.

bhdgd-lines = sy-linsz.

bhdgd-fcpyrt = sy-uline.

bhdgd-inifl = '0'.

ENDFORM. "init_page_head

&----


*& Form initialize_alv_params

&----


  • Description : Form to initialize ALV Params

----


FORM initialize_alv_params.

CONSTANTS: lc_alv_grid TYPE char1 VALUE 'G', "Grid

lc_u TYPE char1 VALUE 'U'.

MOVE 'IT_OUTPUT' TO it_out_alvp-tablname. "final table

MOVE sy-repid TO it_out_alvp-repid.

MOVE lc_alv_grid TO it_out_alvp-alvtype.

MOVE c_x TO it_out_alvp-bringdefaultvar.

MOVE lc_u TO it_out_alvp-variantsavetype.

ENDFORM. " initialize_alv_params

----


  • FORM it_out_init_events *

----


  • -->this is form is to modify the events

----


FORM it_out_init_events

CHANGING

alevnts TYPE slis_t_event.

FIELD-SYMBOLS <alevnt> TYPE slis_alv_event.

LOOP AT alevnts ASSIGNING <alevnt>.

CASE <alevnt>-name.

WHEN slis_ev_top_of_page.

MOVE 'TOP_OF_PAGE' TO <alevnt>-form.

ENDCASE.

ENDLOOP.

ENDFORM. "it_out_init_events

&----


*& Form DATA_OUTPUT

&----


  • Download data to final internal table

----


FORM DATA_OUTPUT .

loop at it_ekpo into x_ekpo.

x_output_ekpo-ebeln = x_ekpo-ebeln.

x_output_ekpo-ebelp = x_ekpo-ebelp.

x_output_ekpo-matnr = x_ekpo-matnr.

x_output_ekpo-werks = x_ekpo-werks.

append x_output_ekpo to it_output.

endloop.

ENDFORM. " DATA_OUTPUT

----


  • FORM it_out_alv_fieldcat_before *

----


  • --> PT_FCAT *

  • --> ALVP *

----


FORM it_out_alv_fieldcat_before CHANGING

pt_fcat TYPE slis_t_fieldcat_alv

alvp TYPE typ_alv_form_params.

DATA: lx_fcat TYPE slis_fieldcat_alv.

CLEAR lx_fcat.

lx_fcat-tabname = 'IT_OUTPUT'.

lx_fcat-fieldname = 'EBELN'.

lx_fcat-col_pos = '1'.

lx_fcat-ddictxt = 'M'.

lx_fcat-seltext_l = 'Purchasing Doc No'(018).

lx_fcat-seltext_m = 'Purchasing Doc No'(018).

lx_fcat-seltext_s = 'Purchasing Doc No'(018).

lx_fcat-reptext_ddic = 'Purchasing Doc No'(018).

APPEND lx_fcat TO pt_fcat.

CLEAR lx_fcat.

lx_fcat-tabname = 'IT_OUTPUT'.

lx_fcat-fieldname = 'EBELP'.

lx_fcat-col_pos = '1'.

lx_fcat-ddictxt = 'M'.

lx_fcat-seltext_l = 'Item No Purchasing Doc'(020).

lx_fcat-seltext_m = 'Item No Purchasing Doc'(020).

lx_fcat-seltext_s = 'Item No Purchasing Doc'(020).

lx_fcat-reptext_ddic = 'Item No Purchasing Doc'(020).

APPEND lx_fcat TO pt_fcat.

CLEAR lx_fcat.

lx_fcat-tabname = 'IT_OUTPUT'.

lx_fcat-fieldname = 'MATNR'.

lx_fcat-col_pos = '1'.

lx_fcat-ddictxt = 'M'.

lx_fcat-seltext_l = 'Material'(010).

lx_fcat-seltext_m = 'Material'(010).

lx_fcat-seltext_s = 'Material'(010).

lx_fcat-reptext_ddic = 'Material'(010).

APPEND lx_fcat TO pt_fcat.

CLEAR lx_fcat.

lx_fcat-tabname = 'IT_OUTPUT'.

lx_fcat-fieldname = 'WERKS'.

lx_fcat-col_pos = '1'.

lx_fcat-ddictxt = 'M'.

lx_fcat-seltext_l = 'Supply plant'(013).

lx_fcat-seltext_m = 'Supply plant'(013).

lx_fcat-seltext_s = 'Supply plant'(013).

lx_fcat-reptext_ddic = 'Supply plant'(013).

APPEND lx_fcat TO pt_fcat.

ENDFORM. " it_out_alv_fieldcat_before.

Regards,

Shalini

Edited by: shalini reddy on Oct 7, 2008 5:08 PM

6 REPLIES 6

Former Member
0 Kudos

I don't see any PERFORM it_out_alv_fieldcat_before CHANGING....

or i'm plain blind.

Former Member
0 Kudos

Hi,

The heading are in the table pt_fcat - you don't seem to be passing that in form....

PERFORM setup_and_display_alv_ver2

USING

it_out_alvp "Parameter structure

it_output[] "Internal Data table(header table)

it_output[]. "Dummy table for Hierarchical ALV!!(item table)

which I guessing in in one of the includes?

Saying that the extract pof code does not show where you are calling form it_out_alv_fieldcat_before ...which populates the headings...

Regards

Stu

former_member188685
Active Contributor
0 Kudos
lx_fcat-seltext_l = 'Purchasing Doc No'(018).
lx_fcat-seltext_m = 'Purchasing Doc No'(018).
lx_fcat-seltext_s = 'Purchasing Doc No'(018).
lx_fcat-reptext_ddic = 'Purchasing Doc No'(018).

did you maintain the text elements ..?

Former Member
0 Kudos

Solved it !!!!

0 Kudos

Congrats!

Was it a bug in SAP? Did you need to apply an OSS note?

0 Kudos

Hi,

I have taken the form name incorrectly it is it_output_alv_fieldcat_before NOT it_out_alv_fieldcat_before.

Regards,

Shalini