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

alv_display

Former Member
0 Likes
1,252

hi

i output display used to alv.in that top of page event not working .so in output top of page is displayed only plain .

so any body tell me

see my code

&----


*& Form DISPLAY_OUTPUT_ALV

&----


  • text

----


  • -->P_I_OUTPUT text

  • -->P_I_FIELDCAT text

----


FORM display_output_alv TABLES p_intab

USING p_fieldcat TYPE slis_t_fieldcat_alv.

*

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = wa_repname

is_layout = i_layout

it_fieldcat = p_fieldcat

I_CALLBACK_TOP_OF_PAGE = 'F_HEADER'

it_sort = i_sortinfo

TABLES

t_outtab = p_intab.

ENDFORM. " DISPLAY_OUTPUT_ALV

******************************************************************************

*----


FORM f_header .

DATA: t_header TYPE slis_t_listheader,

wa_header TYPE slis_listheader,

t_line LIKE wa_header-info,

ld_lines TYPE i,

ld_linesc(10) TYPE c.

  • Title

wa_header-typ = 'H'.

wa_header-info = 'Open Production Order report'(030).

APPEND wa_header TO t_header.

CLEAR wa_header.

  • Date

wa_header-typ = 'S'.

wa_header-info = 'Date: '.

CONCATENATE sy-datum+6(2) '.'

sy-datum+4(2) '.'

sy-datum(4) INTO wa_header-info."todays date

APPEND wa_header TO t_header.

CLEAR: wa_header.

wa_header-typ = 'S'.

wa_header-key = 'Plant:'(031).

wa_header-info = 'p_werks: '.

APPEND wa_header TO t_header.

CLEAR: wa_header.

wa_header-typ = 'S'.

wa_header-key = 'Material Group:'(032).

wa_header-info = S_MATKL-LOW.

APPEND wa_header TO t_header.

CLEAR: wa_header.

wa_header-typ = 'S'.

wa_header-key = 'Material'(033).

wa_header-info = S_MATNR-LOW.

APPEND wa_header TO t_header.

CLEAR: wa_header.

wa_header-typ = 'S'.

wa_header-key = 'Material'(033).

wa_header-info = S_MATNR-LOW.

APPEND wa_header TO t_header.

CLEAR: wa_header.

wa_header-typ = 'S'.

wa_header-key = 'Material Type'(034).

wa_header-info = S_MTART-LOW.

APPEND wa_header TO t_header.

CLEAR: wa_header.

wa_header-typ = 'S'.

wa_header-key = 'Production Order'(035).

wa_header-info = S_AUFNR-LOW.

APPEND wa_header TO t_header.

CLEAR: wa_header.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = t_header.

ENDFORM. " f_header

check this

11 REPLIES 11
Read only

dhruv_shah3
Active Contributor
0 Likes
1,172

Hi,

Use the following sample code.



FORM BUILD_COMMENTRY.

    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      IT_LIST_COMMENTARY = GT_HEADER[]
      I_LOGO             = 'ENJOYSAP_LOGO'.

ENDFORM.


CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
 EXPORTING
   I_CALLBACK_PROGRAM                = G_REPID
   I_CALLBACK_TOP_OF_PAGE          = 'BUILD_COMMENTRY'
   I_CALLBACK_USER_COMMAND           = 'USR_COMMAND'
   IT_FIELDCAT                       = GT_FIELDCAT[]
  TABLES
    T_OUTTAB                         = IT_SFLIGHT
 EXCEPTIONS
   PROGRAM_ERROR                     = 1
   OTHERS                            = 2
          .

HTH

Regards,

Dhruv Shah

Read only

0 Likes
1,172

I TRY THIS BUT ITS NOT DISPLAYED

Read only

0 Likes
1,172

Can you please paste the entire code?

Thanks,

Ahasan

Read only

0 Likes
1,172

Hi Dhruv,

you tokk the wrong parameter: It should be

I_CALLBACK_HTML_TOP_OF_PAGE

Take care about the FORM parameter:

form top_of_page using cl_dd type ref to cl_dd_document.

Regards,

Clemens

Read only

0 Likes
1,172

hi clemmens

i try this 1 also but its not working.

Read only

0 Likes
1,172

hi,

u havent give value to wa_repname , u have just declared it...

write this just befor calling function REUSE_ALV_GRID_DISPLAY or any where in report before calling this function.

wa_repname = sy-repid.

reward if usefull...

Edited by: Dhwani shah on Mar 28, 2008 12:36 PM

Read only

0 Likes
1,172

Hi,

Dhwanis idea is good.

Set breakpoint in the form you want to be called and see if you get there.

Regards,

Clemens

Read only

0 Likes
1,172

hi dhwani

thanks for reply .ur answer is correct thats why its not display the top of page.

Read only

Former Member
0 Likes
1,172

************************************************************************

  • 1/ Report Name ...: ZCSVR_CONDITION_PSA

************************************************************************

  • 2/ Description ...: This report used to display valid pricing conditions

  • for puchasing scheduling agreements for a key

  • date.

************************************************************************

  • 3/ Responsibility

************************************************************************

  • Author............: Mayank Rajguru

  • Creation Date.....: 20-Mar-2008

  • Requested by .....: Essam Riaz / William Cruz

  • Reference document: Ticket No. 22821928

  • Rev-trac no ......: 4020541

  • Project...........: NAC Support

************************************************************************

REPORT ZCSVR_CONDITION_PSA MESSAGE-ID E0 NO STANDARD PAGE HEADING.

TYPE-POOLS: SLIS.

TABLES: EKKO,

EKPO,

A016,

KONP.

  • To collect data from ekko and ekpo table

TYPES: BEGIN OF TY_EK,

EBELN LIKE EKKO-EBELN,

KDATB LIKE EKKO-KDATB,

KDATE LIKE EKKO-KDATE,

EBELP LIKE EKPO-EBELP,

MATNR LIKE EKPO-MATNR,

TXZ01 LIKE EKPO-TXZ01,

WERKS LIKE EKPO-WERKS,

KTMNG LIKE EKPO-KTMNG,

MENGE LIKE EKPO-MENGE,

MEINS LIKE EKPO-MEINS,

END OF TY_EK.

  • Internal table to hold data

DATA: I_EK TYPE STANDARD TABLE OF TY_EK,

W_EK LIKE LINE OF I_EK.

  • Field catalog for List display

DATA: TBL_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV ,

ST_FIELDCAT TYPE SLIS_FIELDCAT_ALV,

ST_LAYOUT TYPE SLIS_LAYOUT_ALV.

DATA: I_LIST_COMMENTS TYPE SLIS_T_LISTHEADER.

  • For event

DATA: I_EVENTS TYPE SLIS_T_EVENT,

W_EVENTS LIKE LINE OF I_EVENTS.

DATA: W_LIST_COMMENTS LIKE LINE OF I_LIST_COMMENTS.

  • To hold dates from A016 table

DATA: I_A016 TYPE STANDARD TABLE OF A016 WITH HEADER LINE,

W_A016 LIKE LINE OF I_A016.

  • To hold required data from KONP table

TYPES : BEGIN OF TY_KONP,

KNUMH TYPE KONP-KNUMH,

KOPOS TYPE KONP-KOPOS,

KSCHL TYPE KONP-KSCHL,

KBETR TYPE KONP-KBETR,

KONWA TYPE KONP-KONWA,

KPEIN TYPE KONP-KPEIN,

KMEIN TYPE KONP-KMEIN,

END OF TY_KONP.

  • Internal table and work area for KONP table

DATA: I_KONP TYPE STANDARD TABLE OF TY_KONP,

W_KONP LIKE LINE OF I_KONP.

  • Final structure required

TYPES: BEGIN OF TY_DISP,

EBELN LIKE EKKO-EBELN,

EBELP LIKE EKPO-EBELP,

KDATB LIKE EKKO-KDATB,

KDATE LIKE EKKO-KDATE,

MATNR LIKE EKPO-MATNR,

TXZ01 LIKE EKPO-TXZ01,

WERKS LIKE EKPO-WERKS,

KTMNG LIKE EKPO-KTMNG,

MENGE LIKE EKPO-MENGE,

MEINS LIKE EKPO-MEINS,

KNUMH LIKE KONP-KNUMH,

DATBI LIKE A016-DATBI,

DATAB LIKE A016-DATAB,

KOPOS LIKE KONP-KOPOS,

KSCHL LIKE KONP-KSCHL,

KBETR LIKE KONP-KBETR,

KONWA LIKE KONP-KONWA,

KPEIN LIKE KONP-KPEIN,

KMEIN LIKE KONP-KMEIN,

END OF TY_DISP.

  • Internal table to hold final data

DATA : I_DISP TYPE STANDARD TABLE OF TY_DISP,

W_DISP LIKE LINE OF I_DISP.

DATA: V_EKORG TYPE EKKO-EKORG,

V_LIFNR TYPE EKKO-LIFNR,

V_WERKS TYPE EKPO-WERKS,

V_MATNR TYPE EKPO-MATNR,

V_EBELN TYPE EKKO-EBELN.

DATA: V_TEXT(60) TYPE C,

V_PERCENT(1) TYPE C VALUE '%'.

  • Selection screen

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-000.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT (20) TEXT-001.

SELECTION-SCREEN POSITION 36.

PARAMETERS: P_DATE TYPE A016-DATAB OBLIGATORY.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT (20) TEXT-002.

SELECTION-SCREEN POSITION 33.

SELECT-OPTIONS: S_EKORG FOR V_EKORG.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT (20) TEXT-003.

SELECTION-SCREEN POSITION 33.

SELECT-OPTIONS: S_LIFNR FOR V_LIFNR.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT (20) TEXT-004.

SELECTION-SCREEN POSITION 33.

SELECT-OPTIONS: S_WERKS FOR V_WERKS.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT (20) TEXT-005.

SELECTION-SCREEN POSITION 33.

SELECT-OPTIONS: S_MATNR FOR V_MATNR.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT (20) TEXT-006.

SELECTION-SCREEN POSITION 33.

SELECT-OPTIONS: S_EBELN FOR V_EBELN.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK B1.

  • Start of program

START-OF-SELECTION.

  • To acheive data from EKKO and EKPO table

SELECT EKKO~EBELN EKKO~KDATB EKKO~KDATE EKPO~EBELP EKPO~MATNR

EKPO~TXZ01 EKPO~WERKS EKPO~KTMNG EKPO~MENGE EKPO~MEINS

INTO TABLE I_EK

FROM EKKO INNER JOIN EKPO ON

EKKO~EBELN = EKPO~EBELN

WHERE EKKO~KDATB <= P_DATE

AND EKKO~KDATE >= P_DATE

AND EKKO~EKORG IN S_EKORG

AND EKKO~LIFNR IN S_LIFNR

AND EKKO~EBELN IN S_EBELN

AND EKPO~WERKS IN S_WERKS

AND EKPO~MATNR IN S_MATNR.

  • Get dates for corresponding entries from A016 table

IF I_EK[] IS NOT INITIAL.

SELECT * FROM A016 INTO TABLE I_A016

FOR ALL ENTRIES IN I_EK

WHERE EVRTN = I_EK-EBELN

AND EVRTP = I_EK-EBELP.

ENDIF.

  • To get corresponding entries from KONP table

IF I_A016[] IS NOT INITIAL.

SELECT KNUMH KOPOS KSCHL KBETR KONWA KPEIN KMEIN

FROM KONP

INTO TABLE I_KONP

FOR ALL ENTRIES IN I_A016

WHERE KNUMH = I_A016-KNUMH

AND LOEVM_KO <> 'X'.

ENDIF.

SORT I_EK BY EBELN EBELP.

SORT I_A016 BY EVRTN EVRTP.

SORT I_KONP BY KNUMH.

LOOP AT I_EK INTO W_EK.

  • READ TABLE I_A016 INTO W_A016 WITH KEY EVRTN = W_EK-EBELN

  • EVRTP = W_EK-EBELP.

LOOP AT I_A016 INTO W_A016 WHERE EVRTN = W_EK-EBELN

AND EVRTP = W_EK-EBELP.

  • IF SY-SUBRC = 0.

LOOP AT I_KONP INTO W_KONP WHERE KNUMH = W_A016-KNUMH .

W_DISP-EBELN = W_EK-EBELN.

W_DISP-EBELP = W_EK-EBELP.

W_DISP-KDATB = W_EK-KDATB.

W_DISP-KDATE = W_EK-KDATE.

W_DISP-MATNR = W_EK-MATNR.

W_DISP-TXZ01 = W_EK-TXZ01.

W_DISP-WERKS = W_EK-WERKS.

W_DISP-KTMNG = W_EK-KTMNG.

W_DISP-MENGE = W_EK-MENGE.

W_DISP-MEINS = W_EK-MEINS.

W_DISP-KNUMH = W_A016-KNUMH.

W_DISP-DATBI = W_A016-DATBI.

W_DISP-DATAB = W_A016-DATAB.

W_DISP-KOPOS = W_KONP-KOPOS.

W_DISP-KSCHL = W_KONP-KSCHL.

W_DISP-KBETR = W_KONP-KBETR.

W_DISP-KONWA = W_KONP-KONWA.

  • Added for the problem - multiplied by 10

IF W_DISP-KONWA = V_PERCENT.

W_DISP-KBETR = W_DISP-KBETR / 10.

ENDIF.

W_DISP-KPEIN = W_KONP-KPEIN.

W_DISP-KMEIN = W_KONP-KMEIN.

APPEND W_DISP TO I_DISP.

CLEAR W_KONP.

CLEAR W_A016.

ENDLOOP.

  • ENDIF.

ENDLOOP.

ENDLOOP.

  • To display data

PERFORM FIELDCATALOG.

PERFORM LAYOUT_BUILD.

PERFORM EVENT_BUILD.

PERFORM LIST_DISPLAY.

&----


*& Form FIELDCATALOG

&----


  • This form is used to prepare field catalog for final display

----


*& Parameter / Table : None

&----


FORM FIELDCATALOG .

PERFORM WRITE_FIELDCAT USING 'EBELN' 'I_DISP' 'Purch.doc. ' ' ' 1 '10' ' '

' '.

PERFORM WRITE_FIELDCAT USING 'EBELP' 'I_DISP' 'Item ' ' ' 2 '10' ' '

' '.

PERFORM WRITE_FIELDCAT USING 'KDATB' 'I_DISP' 'Start ' ' ' 3 '10' ' '

' '.

PERFORM WRITE_FIELDCAT USING 'KDATE' 'I_DISP' 'End ' ' ' 4 '10' ' '

' '.

PERFORM WRITE_FIELDCAT USING 'MATNR' 'I_DISP' 'Material ' ' ' 5 '20' ' '

' '.

PERFORM WRITE_FIELDCAT USING 'TXZ01' 'I_DISP' 'Short Text ' ' ' 6 '42' ' '

' '.

PERFORM WRITE_FIELDCAT USING 'WERKS' 'I_DISP' 'Plnt ' ' ' 7 '6' ' '

' '.

PERFORM WRITE_FIELDCAT USING 'KTMNG' 'I_DISP' 'Target Qty ' ' ' 8 '15' ' '

' '.

PERFORM WRITE_FIELDCAT USING 'MENGE' 'I_DISP' 'Order Qty. ' ' ' 9 '15' ' '

' '.

PERFORM WRITE_FIELDCAT USING 'MEINS' 'I_DISP' 'Order Unit ' ' ' 10 '10' ' '

' '.

PERFORM WRITE_FIELDCAT USING 'KNUMH' 'I_DISP' 'CondRecNo ' ' ' 11 '12' ' '

' '.

PERFORM WRITE_FIELDCAT USING 'DATAB' 'I_DISP' 'Validity start ' ' ' 12 '15' ' '

' '.

PERFORM WRITE_FIELDCAT USING 'DATBI' 'I_DISP' 'Validaity End ' ' ' 13 '13' ' '

' '.

PERFORM WRITE_FIELDCAT USING 'KOPOS' 'I_DISP' 'SequNo. ' ' ' 14 '10' ' '

' '.

PERFORM WRITE_FIELDCAT USING 'KSCHL' 'I_DISP' 'CnType ' ' ' 15 '8' ' '

' '.

PERFORM WRITE_FIELDCAT USING 'KBETR' 'I_DISP' 'Amount ' ' ' 16 '13' ' '

' '.

PERFORM WRITE_FIELDCAT USING 'KONWA' 'I_DISP' 'Unit ' ' ' 17 '10' ' '

' '.

PERFORM WRITE_FIELDCAT USING 'KPEIN' 'I_DISP' 'Per ' ' ' 18 '10' ' '

' '.

PERFORM WRITE_FIELDCAT USING 'KMEIN' 'I_DISP' 'UoM ' ' ' 19 '10' ' '

' '.

ENDFORM. " FIELDCATALOG

&----


*& Form write_fieldcat

&----


*& This form is used to add fields to fieldcatalog table

&----


*& Parameter :

*& NAME : Name of the field

*& TAB : Name of internal table

*& POS : Position of the field on display

*& LENGH: Length of the field

*& Table :

*& TBL_FEILDCAT : Internal table to hold fieldcatalog data

&----


FORM WRITE_FIELDCAT USING NAME TAB ST KEY POS LENGTH ICON HOT.

ST_FIELDCAT-FIELDNAME = NAME.

ST_FIELDCAT-TABNAME = TAB.

ST_FIELDCAT-SELTEXT_M = ST.

ST_FIELDCAT-KEY = KEY.

ST_FIELDCAT-COL_POS = POS.

ST_FIELDCAT-OUTPUTLEN = LENGTH.

ST_FIELDCAT-ICON = ICON.

ST_FIELDCAT-HOTSPOT = HOT.

APPEND ST_FIELDCAT TO TBL_FIELDCAT.

CLEAR ST_FIELDCAT.

ENDFORM. " write_fieldcat

&----


*& Form LAYOUT_BUILD

&----


*& This form is used built layout

&----


FORM LAYOUT_BUILD .

ST_LAYOUT-ZEBRA = 'X'.

ST_LAYOUT-NO_VLINE = ''.

ST_LAYOUT-COLWIDTH_OPTIMIZE = ' '.

ST_LAYOUT-DETAIL_POPUP = 'X'.

ST_LAYOUT-DETAIL_INITIAL_LINES = 'X'.

ST_LAYOUT-DETAIL_TITLEBAR = 'Detail Title Bar'.

ST_LAYOUT-INFO_FIELDNAME = 'COLOR'.

" layout_build

ENDFORM. " LAYOUT_BUILD

&----


*& Form LIST_DISPLAY

&----


*& This form is call function to display data

&----


*& Table :

*& TBL_FEILDCAT : To provide field catalog information

*& ST_LAYOUT : To provide layout information

*& I_DISP : To provide display data

&----


FORM LIST_DISPLAY .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

IT_FIELDCAT = TBL_FIELDCAT[]

IT_EVENTS = I_EVENTS[]

IS_LAYOUT = ST_LAYOUT

TABLES

T_OUTTAB = I_DISP

EXCEPTIONS

OTHERS = 1.

CASE SY-SUBRC.

WHEN 1.

MESSAGE A534(0K) RAISING PROGRAM_ERROR.

ENDCASE.

ENDFORM. " LIST_DISPLAY

&----


*& Form EVENT_BUILD

&----


*& This form is used to trigger event top of page

&----


FORM EVENT_BUILD .

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = I_EVENTS.

READ TABLE I_EVENTS

WITH KEY NAME = SLIS_EV_TOP_OF_PAGE

INTO W_EVENTS.

IF SY-SUBRC = 0.

MOVE 'ALV_TOP_OF_PAGE' TO W_EVENTS-FORM.

MODIFY I_EVENTS FROM W_EVENTS INDEX SY-TABIX.

ENDIF.

READ TABLE I_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_LIST

INTO W_EVENTS.

IF SY-SUBRC = 0.

MOVE 'TOP_OF_LIST' TO W_EVENTS-FORM.

APPEND W_EVENTS TO I_EVENTS.

ENDIF.

ENDFORM. " EVENT_BUILD

&----


*& Form top_of_page

&----


*& This form is used to display heading on the report

&----


FORM ALV_TOP_OF_PAGE.

CLEAR: I_LIST_COMMENTS[].

CONCATENATE 'PSA Valid On ' '&' P_DATE6(2) '/' P_DATE4(2) '/' P_DATE+0(4) INTO V_TEXT.

REPLACE '&' WITH ' ' INTO V_TEXT.

W_LIST_COMMENTS-TYP = 'H'.

W_LIST_COMMENTS-KEY = ' '.

W_LIST_COMMENTS-INFO = V_TEXT.

APPEND W_LIST_COMMENTS TO I_LIST_COMMENTS.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = I_LIST_COMMENTS.

ENDFORM. "top_of_page

Read only

Former Member
0 Likes
1,172

It will work.

I copied ur code, check it once with ur code. place ur complete coding.

REPORT  ztest_0001.

TYPE-POOLS: slis.
DATA: it_vbap TYPE STANDARD TABLE OF vbap.

SELECT * FROM vbap INTO TABLE it_vbap.


*
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
  EXPORTING
    i_callback_program     = sy-repid
    i_structure_name       = 'VBAP'
    i_callback_top_of_page = 'F_HEADER'
  TABLES
    t_outtab               = it_vbap.

*&---------------------------------------------------------------------*
*&      Form  f_header
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM f_header .
  DATA: t_header TYPE slis_t_listheader,
  wa_header TYPE slis_listheader,
  t_line LIKE wa_header-info,
  ld_lines TYPE i,
  ld_linesc(10) TYPE c.

*Title
  wa_header-typ = 'H'.
  wa_header-info = 'Open Production Order report'(030).
  APPEND wa_header TO t_header.
  CLEAR wa_header.

*Date
  wa_header-typ = 'S'.
  wa_header-info = 'Date: '.
  CONCATENATE sy-datum+6(2) '.'
  sy-datum+4(2) '.'
  sy-datum(4) INTO wa_header-info."todays date
  APPEND wa_header TO t_header.
  CLEAR: wa_header.
  wa_header-typ = 'S'.
  wa_header-key = 'Plant:'(031).
  wa_header-info = 'p_werks: '.
  APPEND wa_header TO t_header.
  CLEAR: wa_header.

  wa_header-typ = 'S'.
  wa_header-key = 'Material Group:'(032).
  wa_header-info = ''.
  APPEND wa_header TO t_header.
  CLEAR: wa_header.

  wa_header-typ = 'S'.
  wa_header-key = 'Material'(033).
  wa_header-info = ''.
  APPEND wa_header TO t_header.
  CLEAR: wa_header.

  wa_header-typ = 'S'.
  wa_header-key = 'Material'(033).
  wa_header-info = ''.
  APPEND wa_header TO t_header.
  CLEAR: wa_header.



  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      it_list_commentary = t_header.


ENDFORM. " f_header

Read only

0 Likes
1,172

hi yash

i past ur code here working fine but in my program not working.

check my code

&----


*& Report ZSAMP_ZM0C *

*& *

&----


*& *

*& *

&----


REPORT zsamp_zm0c LINE-SIZE 170 LINE-COUNT 50 NO STANDARD PAGE HEADING

MESSAGE-ID 00.

************************************************************************

  • S Y S T E M T A B L E S

************************************************************************

TABLES: mara, " Material Master

marc,

aufk, " Order master data

afko, " Order header data PP orders

afvc, " Operation within an order

resb, " Reservation/dependent requirements

afru, " Order completion confirmations

mbew, " Material Valuation

jest, " Object status

t001w,

usr02. " Logon data

TYPE-POOLS: slis.

TYPES : BEGIN OF t_aufk,

aufnr LIKE aufk-aufnr,

objnr LIKE aufk-objnr,

auart LIKE aufk-auart,

l_flag TYPE c,

END OF t_aufk.

TYPES : BEGIN OF t_afko,

aufnr LIKE afko-aufnr, "Order number

gstrp LIKE afko-gstrp, "Date

gamng LIKE afko-gamng, "Total quantity

plnbez LIKE afko-plnbez, "Material number

aufpl LIKE afko-aufpl, "Routing numfor oper in the order

END OF t_afko .

TYPES : BEGIN OF t_mara,

matnr LIKE mara-matnr, "Material number

matkl LIKE mara-matkl, "Material group

aufnr LIKE afko-aufnr, "Order number

gstrp LIKE afko-gstrp, "Date

plnbez LIKE afko-plnbez, "Material number

END OF t_mara .

TYPES: BEGIN OF t_afpo,

aufnr TYPE afpo-aufnr, "Order Number

strmp TYPE afpo-strmp, "date

psmng TYPE afpo-psmng, "Order item quantity

wemng TYPE afpo-wemng, "Qty of goods received for Ord Item

matnr TYPE afpo-matnr, "Material Number

END OF t_afpo.

TYPES: BEGIN OF t_output,

gstrp LIKE afko-gstrp, "Date

matnr TYPE mara-matnr, "Material Number

aufnr TYPE afpo-aufnr, "Order Number

quant TYPE afpo-psmng, "Balance qauantity

stext(90) , "Order text

END OF t_output.

TYPES: BEGIN OF t_hdr,

longt1(200),

longt2(200),

longt3(200),

longt4(200),

longt5(200),

END OF t_hdr.

************************************************************************

  • INTERNAL TABLE DECLARATIONS

************************************************************************

DATA : i_aufk TYPE STANDARD TABLE OF t_aufk,

i_afko TYPE STANDARD TABLE OF t_afko,

i_afpo TYPE STANDARD TABLE OF t_afpo,

i_output TYPE STANDARD TABLE OF t_output,

i_mara TYPE STANDARD TABLE OF t_mara.

*WORK AREA DECLARATIONS

DATA : wa_aufk TYPE t_aufk,

wa_afko TYPE t_afko,

wa_afpo TYPE t_afpo,

wa_output TYPE t_output,

wa_mara TYPE t_mara.

*Variables

DATA : v_sttxt LIKE bsvx-sttxt,

wa_repname TYPE sy-repid,

i_fieldcat TYPE slis_t_fieldcat_alv,

*internal table for layout

i_layout TYPE slis_layout_alv,

*internal table for sort information

i_sortinfo TYPE slis_t_sortinfo_alv,

*work area for sort information

wa_sortinfo TYPE slis_sortinfo_alv.

*Constants

CONSTANTS : c_teco(4) TYPE c VALUE 'TECO',

c_clsd(4) TYPE c VALUE 'CLSD',

c_dlfl(4) TYPE c VALUE 'DLFL',

c_dlv(4) TYPE c VALUE 'DLV',

c_cnf(4) TYPE c VALUE 'CNF',

c_pdlv(4) TYPE c VALUE 'pdlv',

c_x(1) TYPE c VALUE 'x'.

************************************************************************

  • S E L E C T I O N S C R E E N

************************************************************************

SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE text-001."REPT FORMAT

PARAMETERS : p_werks LIKE aufk-werks OBLIGATORY.

SELECT-OPTIONS:

s_matkl FOR mara-matkl OBLIGATORY, " Mat. Gp

s_matnr FOR afko-plnbez, " Material number For FERT/HALB

s_mtart FOR mara-mtart , " Material type

s_aufnr FOR afko-aufnr . " Order Number

SELECTION-SCREEN END OF BLOCK 1.

INITIALIZATION.

MOVE: 'I' TO s_mtart-sign,

'EQ' TO s_mtart-option,

'HALB' TO s_mtart-low.

APPEND s_mtart.

MOVE: 'I' TO s_mtart-sign,

'EQ' TO s_mtart-option,

'FERT' TO s_mtart-low.

APPEND s_mtart.

************************************************************************

  • S T A R T O F S E L E C T I O N

************************************************************************

START-OF-SELECTION.

PERFORM get_data.

&----


*& Form GET_DATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM get_data .

DATA : v_qty TYPE afpo-psmng .

CLEAR i_output. REFRESH i_output.

*BEGIN OF SAMPATH

SELECT aufnr objnr auart " ProdOrd Master Data

INTO TABLE i_aufk

FROM aufk

WHERE aufnr IN s_aufnr " ProdOrd No.

AND autyp = '10'

AND werks = p_werks " Plant

AND loekz = space.

IF sy-subrc = 0 .

SORT i_aufk BY aufnr objnr.

PERFORM status.

DELETE i_aufk WHERE l_flag = c_x.

IF NOT i_aufk IS INITIAL.

SELECT mmatnr mmatkl aaufnr agstrp a~plnbez

INTO TABLE i_mara

FROM mara

AS m INNER JOIN afko AS a

ON mmatnr = aplnbez

WHERE a~plnbez IN s_matnr

AND m~matkl IN s_matkl

AND a~aufnr IN s_aufnr .

  • SELECT matnr matkl mtart

  • INTO TABLE i_mara

  • FROM mara

  • WHERE matnr IN s_matnr

  • AND mtart IN s_mtart

  • AND matkl IN s_matkl.

IF sy-subrc = 0.

SORT i_mara BY matnr.

  • SELECT aufnr gstrp gamng plnbez " Order header data PP orders

  • INTO TABLE i_afko

  • FROM afko

  • FOR ALL ENTRIES IN i_mara

  • WHERE aufnr IN s_aufnr " Production No

  • AND aufpl <> 0

  • AND plnbez = i_mara-matnr.

  • IF sy-subrc = 0.

  • SORT i_afko BY aufnr plnbez.

SELECT aufnr strmp psmng wemng matnr

FROM afpo INTO TABLE i_afpo

FOR ALL ENTRIES IN i_mara

WHERE aufnr = i_mara-aufnr

AND matnr = i_mara-plnbez

AND dwerk = p_werks.

IF sy-subrc EQ 0.

SORT i_afpo BY aufnr.

LOOP AT i_afpo INTO wa_afpo .

v_qty = wa_afpo-psmng - wa_afpo-wemng .

IF v_qty GT 0 .

MOVE v_qty TO wa_output-quant.

READ TABLE i_mara INTO wa_mara WITH KEY aufnr = wa_afpo-aufnr

plnbez = wa_afpo-matnr

TRANSPORTING gstrp.

IF sy-subrc = 0.

MOVE wa_mara-gstrp TO wa_output-gstrp.

PERFORM disp_data.

ENDIF.

ENDIF.

ENDLOOP.

ENDIF.

ENDIF.

ENDIF.

ENDIF.

PERFORM display_output .

  • WRITE 😕 sy-uline(130) .

  • WRITE: /5 'Date' , text-007, 17 sy-vline,

  • 18 'Material Number' , text-008, 42 sy-vline,

  • 43 'Order Number' , text-009, 57 sy-vline,

  • 58 'Balance qauantity' , text-010,74 sy-vline,

  • 75 'Order text', text-011, 130 sy-vline.

  • WRITE 😕 sy-uline(130) .

  • LOOP AT i_output INTO wa_output.

  • WRITE: /5 wa_output-gstrp, 17 sy-vline,

  • 18 wa_output-matnr, 42 sy-vline,

  • 43 wa_output-aufnr, 57 sy-vline,

  • 58 wa_output-quant , 74 sy-vline,

  • 75 wa_output-stext , 130 sy-vline .

  • ENDLOOP.

ENDFORM. " GET_DATA

&----


*& Form disp_data

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM disp_data .

DATA: tabhdr TYPE t_hdr OCCURS 0 WITH HEADER LINE,

tabtmp TYPE t_hdr OCCURS 0 WITH HEADER LINE,

tline TYPE tline OCCURS 0 WITH HEADER LINE,

client_aufnr LIKE thead-tdname.

CONCATENATE sy-mandt wa_afpo-aufnr INTO client_aufnr.

CALL FUNCTION 'READ_TEXT'

EXPORTING

client = sy-mandt

id = 'KOPF'

language = 'E'

name = client_aufnr

object = 'AUFK'

TABLES

lines = tline

EXCEPTIONS

id = 1

language = 2

name = 3

not_found = 4

object = 5

reference_check = 6

wrong_access_to_archive = 7

OTHERS = 8.

LOOP AT tline.

CASE sy-tabix.

WHEN 1. tabhdr-longt1 = tline-tdline.

WHEN 2. tabhdr-longt2 = tline-tdline.

WHEN 3. tabhdr-longt3 = tline-tdline.

WHEN 4. tabhdr-longt4 = tline-tdline.

WHEN 5. tabhdr-longt5 = tline-tdline.

ENDCASE.

ENDLOOP.

CONCATENATE tabhdr-longt1 tabhdr-longt2 tabhdr-longt3 tabhdr-longt4 tabhdr-longt5

INTO wa_output-stext SEPARATED BY space.

CLEAR: tline .

MOVE wa_afpo-aufnr TO wa_output-aufnr.

MOVE wa_afpo-matnr TO wa_output-matnr.

COLLECT wa_output INTO i_output.

SORT i_output BY gstrp matnr.

ENDFORM. " disp_data

&----


*& Form status

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM status .

LOOP AT i_aufk INTO wa_aufk.

CALL FUNCTION 'STATUS_TEXT_EDIT'

EXPORTING

objnr = wa_aufk-objnr

only_active = c_x

spras = sy-langu

IMPORTING

line = v_sttxt

EXCEPTIONS

object_not_found = 1

OTHERS = 2.

IF sy-subrc = 0.

IF v_sttxt CS c_teco OR

v_sttxt CS c_clsd OR

v_sttxt CS c_dlfl OR

v_sttxt CS c_dlv.

IF v_sttxt CS c_pdlv.

CONTINUE.

ENDIF.

wa_aufk-l_flag = c_x.

MODIFY i_aufk FROM wa_aufk

TRANSPORTING l_flag.

ENDIF.

ENDIF.

ENDLOOP.

ENDFORM. " status

&----


*& Form display_output

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM display_output .

**? Populate field catalog

PERFORM populate_field_catalog USING i_fieldcat.

**? Populate layout

PERFORM populate_layout USING i_layout.

***? Populate sort info

PERFORM populate_sort_info USING i_sortinfo.

**? Display output in ALV

PERFORM display_output_alv TABLES i_output USING i_fieldcat.

ENDFORM. " display_output

&----


*& Form POPULATE_FIELD_CATALOG

&----


  • text

----


  • -->P_I_FIELDCAT text

----


FORM populate_field_catalog USING p_fieldcat TYPE slis_t_fieldcat_alv.

DATA: wa_fieldcat TYPE slis_fieldcat_alv.

CLEAR : wa_fieldcat.

wa_fieldcat-col_pos = 1.

wa_fieldcat-fieldname = 'GSTRP'.

wa_fieldcat-seltext_l = 'DATE'(010).

wa_fieldcat-key = 'X'.

APPEND wa_fieldcat TO p_fieldcat.

CLEAR wa_fieldcat.

CLEAR : wa_fieldcat.

wa_fieldcat-col_pos = 2.

wa_fieldcat-fieldname = 'MATNR'.

wa_fieldcat-seltext_l = 'MATERIAL NUMBER'(011).

APPEND wa_fieldcat TO p_fieldcat.

CLEAR wa_fieldcat.

CLEAR : wa_fieldcat.

wa_fieldcat-col_pos = 3.

wa_fieldcat-fieldname = 'AUFNR'.

wa_fieldcat-seltext_l = 'PRODUCTION ORDER NUMBER'(012).

APPEND wa_fieldcat TO p_fieldcat.

CLEAR wa_fieldcat.

CLEAR : wa_fieldcat.

wa_fieldcat-col_pos = 4.

wa_fieldcat-fieldname = 'QUANT'.

wa_fieldcat-seltext_l = 'BALANCE QUANTITY'(014).

APPEND wa_fieldcat TO p_fieldcat.

CLEAR wa_fieldcat.

CLEAR : wa_fieldcat.

wa_fieldcat-col_pos = 5.

wa_fieldcat-fieldname = 'STEXT'.

wa_fieldcat-seltext_l = 'PRODUCTION ORDER TEXT'(015).

APPEND wa_fieldcat TO p_fieldcat.

CLEAR wa_fieldcat.

CLEAR : wa_fieldcat.

ENDFORM. " POPULATE_FIELD_CATALOG

&----


*& Form POPULATE_LAYOUT

&----


  • text

----


  • -->P_I_LAYOUT text

----


FORM populate_layout USING p_layout TYPE slis_layout_alv.

*

p_layout-zebra = 'X'.

p_layout-colwidth_optimize = 'X'."Automatically adjust the column pos.

*

ENDFORM. " POPULATE_LAYOUT

&----


*& Form POPULATE_SORT_INFO

&----


  • text

----


  • -->P_I_SORTINFO text

----


FORM populate_sort_info USING p_sortinfo TYPE slis_t_sortinfo_alv.

*Sort the data to display the output

wa_sortinfo-spos = 1.

wa_sortinfo-fieldname = 'GSTRP'.

wa_sortinfo-up = 'X'.

APPEND wa_sortinfo TO p_sortinfo.

wa_sortinfo-spos = 2.

wa_sortinfo-fieldname = 'MATNR'.

wa_sortinfo-up = 'X'.

APPEND wa_sortinfo TO p_sortinfo.

ENDFORM. " POPULATE_SORT_INFO

&----


*& Form DISPLAY_OUTPUT_ALV

&----


  • text

----


  • -->P_I_OUTPUT text

  • -->P_I_FIELDCAT text

----


FORM display_output_alv TABLES p_intab

USING p_fieldcat TYPE slis_t_fieldcat_alv.

*

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = wa_repname

is_layout = i_layout

it_fieldcat = p_fieldcat

I_CALLBACK_TOP_OF_PAGE = 'F_HEADER'

it_sort = i_sortinfo

TABLES

t_outtab = p_intab.

ENDFORM. " DISPLAY_OUTPUT_ALV

******************************************************************************

*----


FORM F_HEADER .

DATA: t_header TYPE slis_t_listheader,

wa_header TYPE slis_listheader,

t_line LIKE wa_header-info,

ld_lines TYPE i,

ld_linesc(10) TYPE c.

  • Title

wa_header-typ = 'H'.

wa_header-info = 'Open Production Order report'(030).

APPEND wa_header TO t_header.

CLEAR wa_header.

  • Date

wa_header-typ = 'S'.

wa_header-info = 'Date: '.

CONCATENATE sy-datum+6(2) '.'

sy-datum+4(2) '.'

sy-datum(4) INTO wa_header-info."todays date

APPEND wa_header TO t_header.

CLEAR: wa_header.

wa_header-typ = 'S'.

wa_header-key = 'Plant:'(031).

wa_header-info = 'p_werks: '.

APPEND wa_header TO t_header.

CLEAR: wa_header.

wa_header-typ = 'S'.

wa_header-key = 'Material Group:'(032).

wa_header-info = S_MATKL-LOW.

APPEND wa_header TO t_header.

CLEAR: wa_header.

wa_header-typ = 'S'.

wa_header-key = 'Material'(033).

wa_header-info = S_MATNR-LOW.

APPEND wa_header TO t_header.

CLEAR: wa_header.

wa_header-typ = 'S'.

wa_header-key = 'Material'(033).

wa_header-info = S_MATNR-LOW.

APPEND wa_header TO t_header.

CLEAR: wa_header.

wa_header-typ = 'S'.

wa_header-key = 'Material Type'(034).

wa_header-info = S_MTART-LOW.

APPEND wa_header TO t_header.

CLEAR: wa_header.

wa_header-typ = 'S'.

wa_header-key = 'Production Order'(035).

wa_header-info = S_AUFNR-LOW.

APPEND wa_header TO t_header.

CLEAR: wa_header.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = t_header[].

ENDFORM. " f_header

check this here not display the top of page