‎2006 Jul 19 7:15 AM
Dear Friends,
I am using Block ALV. I need diffrent labels (headings) before each block of alv. Is there any way?
Regards,
Bhavin
‎2006 Jul 19 7:22 AM
Hi,
Did you Check the samples..<b>BALVBT01 , BALVBT02</b>, if not check it.
Regards
vijay
‎2006 Jul 19 7:19 AM
Hi bhavin,
1. EVENTS
2. For that, just like normal ALV,
u will have to use EVENT concepts
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = alvly
it_fieldcat = alvfc
i_tabname = 'PTAB'
<b>it_events = alvev</b>
3. eg. TOP_OF_PAGE
regards,
amit m.
‎2006 Jul 19 7:19 AM
Hi,
Check the following standard programs, this might give a clue,
BALVBT01
BALVBT02
Rgds,
‎2006 Jul 19 7:22 AM
Hi,
Did you Check the samples..<b>BALVBT01 , BALVBT02</b>, if not check it.
Regards
vijay
‎2006 Jul 19 11:06 AM
Thanks for your reply.
I have written below code. Lists are appended properly. But still in the output only first block comes. If first block is initial then it displays second block otherwise displays only first block.
Can you suggest me what can be my mistake in the below code.
&----
*& Form APPEND_FOR_DAY
&----
text
----
--> p1 text
<-- p2 text
----
FORM APPEND_FOR_DAY .
IF NOT IT_FOR_DAY IS INITIAL.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IT_FIELDCAT = IT_FIELDCAT_FOR_DAY
IS_LAYOUT = IS_LAYOUT_FOR_DAY
I_TABNAME = 'IT_FOR_DAY'
IT_EVENTS = IT_EVENT_FOR_DAY[]
TABLES
T_OUTTAB = IT_FOR_DAY[].
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
ENDFORM. " APPEND_FOR_DAY
&----
*& Form APPEND_FOR_MONTH
&----
text
----
--> p1 text
<-- p2 text
----
FORM APPEND_FOR_MONTH .
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IT_FIELDCAT = IT_FIELDCAT_FOR_MONTH
IS_LAYOUT = IS_LAYOUT_FOR_MONTH
I_TABNAME = 'IT_FOR_MONTH'
IT_EVENTS = IT_EVENT_FOR_MONTH[]
TABLES
T_OUTTAB = IT_FOR_MONTH[].
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. " APPEND_FOR_MONTH
&----
*& Form LIST_DISPLAY
&----
text
----
--> p1 text
<-- p2 text
----
FORM LIST_DISPLAY .
DATA: GT_PRINT TYPE SLIS_PRINT_ALV.
GT_PRINT-RESERVE_LINES = 2.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
EXPORTING
IS_PRINT = GT_PRINT.
.
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. " LIST_DISPLAY
‎2006 Jul 19 11:10 AM
Hi,
can you give your complete coding.so that i will run and see what is wrong with it.
Regards
vijay
‎2006 Jul 19 11:16 AM
&----
*& Report ZSD_DESPATCH
*&
&----
*&
*&
&----
REPORT ZSD_DESPATCH NO STANDARD PAGE HEADING.
&----
*& Type Pool Declaration
*&
&----
TYPE-POOLS: SLIS.
&----
*& External Table Declaration
*&
&----
TABLES: VBRK, VBRP.
&----
*& Types Declaration
*&
&----
TYPES: BEGIN OF ST_VBRKVBRP,
SORTL LIKE KNA1-SORTL, "Customer Sort Name
SALE(15),
BISMT LIKE MARA-BISMT, "Size
VBELN LIKE VBRK-VBELN, "Billing Doc Number
KUNAG LIKE VBRK-KUNAG, "Customer
VTWEG LIKE VBRK-VTWEG, "Distribution Channel
FKART LIKE VBRK-FKART, "Billing Doc Type
KNUMV LIKE VBRK-KNUMV, "Condition Record Number
VKORG LIKE VBRK-VKORG, "Sales Organization
KURRF LIKE VBRK-KURRF, "Billing Exchange Rate
WAERK LIKE VBRK-WAERK, "SD document currency
MATNR LIKE VBRP-MATNR, "Material Number
MATKL LIKE VBRP-MATKL, "Material group
FKIMG LIKE VBRP-FKIMG, "Actual billed quantity
POSNR LIKE VBRP-POSNR, "Item Position Number
PR00 LIKE KONV-KWERT, "PR00 Condition Based Value
ZDRP LIKE KONV-KWERT, "ZDRP Condition Based Value
FUNEL LIKE VBRP-FKIMG, "FUNEL Quantity
PANEL LIKE VBRP-FKIMG, "PANEL Quantity
FKDAT LIKE VBRK-FKDAT, "Billing date
END OF ST_VBRKVBRP.
TYPES: BEGIN OF ST_FOR_MONTH,
SORTL LIKE KNA1-SORTL,
SALE(15),
BISMT LIKE MARA-BISMT,
PANEL LIKE VBRP-FKIMG,
FUNEL LIKE VBRP-FKIMG,
PR00 LIKE KONV-KWERT,
ZDRP LIKE KONV-KWERT,
END OF ST_FOR_MONTH.
TYPES: BEGIN OF ST_FOR_DAY,
SORTL LIKE KNA1-SORTL,
SALE(15),
BISMT LIKE MARA-BISMT,
PANEL LIKE VBRP-FKIMG,
FUNEL LIKE VBRP-FKIMG,
PR00 LIKE KONV-KWERT,
ZDRP LIKE KONV-KWERT,
END OF ST_FOR_DAY.
&----
*& Internal Table Declaration
*&
&----
DATA: IT_VBRKVBRP TYPE STANDARD TABLE OF ST_VBRKVBRP.
DATA: IT_FOR_MONTH TYPE STANDARD TABLE OF ST_FOR_MONTH.
DATA: IT_FOR_DAY TYPE STANDARD TABLE OF ST_FOR_DAY.
&----
*& Work Areas Declaration
*&
&----
DATA: WA_VBRKVBRP LIKE LINE OF IT_VBRKVBRP.
DATA: WA_FOR_MONTH LIKE LINE OF IT_FOR_MONTH.
DATA: WA_FOR_DAY LIKE LINE OF IT_FOR_DAY.
&----
*& Variables Declaration
*&
&----
DATA : VALU TYPE D,
LOWDATE TYPE D,
HIGHDATE TYPE D,
L_LOWDT TYPE D,
L_HIGHDT TYPE D,
DAY TYPE I,
MONTH TYPE I,
LMONTH TYPE I,
MODN TYPE I,
PARTY_C(9) TYPE C,
LCMON(2) TYPE C,
YEAR(4) TYPE C,
LYEAR(4) TYPE C,
MONTH_NM(4) TYPE C,
PARTY LIKE VBRK-KUNAG,
MATR LIKE VBRP-MATNR,
MATGRP LIKE VBRP-MATKL.
DATA: COUNTER TYPE I.
&----
*& ALV Data Declaration
*&
&----
DATA: IT_FIELDCAT_FOR_DAY TYPE SLIS_T_FIELDCAT_ALV.
DATA: IT_FIELDCAT_FOR_MONTH TYPE SLIS_T_FIELDCAT_ALV.
DATA: WA_FIELDCAT_FOR_DAY LIKE LINE OF IT_FIELDCAT_FOR_DAY.
DATA: IT_EVENT_FOR_DAY TYPE SLIS_T_EVENT WITH HEADER LINE.
DATA: IT_EVENT_FOR_MONTH TYPE SLIS_T_EVENT WITH HEADER LINE.
DATA: TOP_OF_LIST_FOR_DAY TYPE SLIS_FORMNAME VALUE 'TOP_OF_LIST_FOR_DAY'.
DATA: TOP_OF_LIST_FOR_MON TYPE SLIS_FORMNAME VALUE 'TOP_OF_LIST_FOR_MONTH'.
DATA: IS_LAYOUT_FOR_DAY TYPE SLIS_LAYOUT_ALV.
DATA: IS_LAYOUT_FOR_MONTH TYPE SLIS_LAYOUT_ALV.
&----
*& Selection Screen
*&
&----
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT_001.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN: COMMENT 1(20) TEXT_003.
SELECT-OPTIONS: S_WERKS FOR VBRP-WERKS OBLIGATORY.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN: COMMENT 1(20) TEXT_004.
SELECT-OPTIONS: S_VKORG FOR VBRK-VKORG OBLIGATORY.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN: COMMENT 1(20) TEXT_005.
SELECT-OPTIONS: S_VTWEG FOR VBRK-VTWEG OBLIGATORY.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN: COMMENT 1(23) TEXT_006.
PARAMETERS : DATE LIKE VBRK-FKDAT OBLIGATORY.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN : BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT_002.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN: COMMENT 1(20) TEXT_007.
PARAMETERS : G1 RADIOBUTTON GROUP 1.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN: COMMENT 1(20) TEXT_008.
PARAMETERS : CH1 AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN: COMMENT 1(20) TEXT_009.
PARAMETERS : CH2 AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN: COMMENT 1(20) TEXT_010.
PARAMETERS : CH3 AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN: COMMENT 1(20) TEXT_011.
PARAMETERS : CH4 AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN: COMMENT 1(20) TEXT_012.
PARAMETERS : G2 RADIOBUTTON GROUP 1.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN : END OF BLOCK B2.
&----
*& Initialization Event
*&
&----
INITIALIZATION.
TEXT_001 = 'Despatch details report'.
TEXT_002 = 'Data selection criteria'.
TEXT_003 = 'Plant'.
TEXT_004 = 'Sales Organization'.
TEXT_005 = 'Distribution Channel'.
TEXT_006 = 'Date'.
TEXT_007 = 'Daily'.
TEXT_008 = 'Monthly Despatch'.
TEXT_009 = 'Plan Vs Despatch'.
TEXT_010 = 'Total Basic Value'.
TEXT_011 = 'Despatch Report'.
TEXT_012 = 'Despatch Rep with only basic'.
&----
*& Start of Selection
*&
&----
START-OF-SELECTION.
PERFORM GET_LYEAR.
PERFORM GET_DATA.
PERFORM FILL_FOR_DAY.
PERFORM FILL_FOR_MONTH.
PERFORM FIELDCAT_FOR_DAY.
PERFORM FIELDCAT_FOR_MONTH.
PERFORM EVENTS_FOR_DAY.
PERFORM EVENTS_FOR_MONTH.
PERFORM APPEND_FOR_DAY.
PERFORM APPEND_FOR_MONTH.
PERFORM LIST_DISPLAY.
&----
*& Form GET_LYEAR
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_LYEAR.
VALU = DATE.
DAY = ( VALU+6(2) ) - 1.
MONTH = VALU+4(2).
YEAR = VALU+0(4).
IF MONTH = 1.
LMONTH = 12.
LYEAR = VALU+0(4) - 1.
ELSE.
LMONTH = VALU+4(2) - 1.
LYEAR = YEAR.
ENDIF.
LCMON = LMONTH.
MODN = LYEAR MOD 4.
IF LMONTH < 10 .
CONCATENATE LYEAR '0' LCMON '01' INTO L_LOWDT.
IF LMONTH = 01 OR LMONTH = 03 OR
LMONTH = 05 OR LMONTH = 07 OR
LMONTH = 08.
CONCATENATE LYEAR '0' LCMON '31' INTO L_HIGHDT.
ELSEIF LMONTH = 2.
IF MODN = 0.
CONCATENATE LYEAR '0' LCMON '29' INTO L_HIGHDT.
ELSE.
CONCATENATE LYEAR '0' LCMON '28' INTO L_HIGHDT.
ENDIF.
ELSE.
CONCATENATE LYEAR '0' LCMON '30' INTO L_HIGHDT.
ENDIF.
ELSE.
CONCATENATE LYEAR LCMON '01' INTO L_LOWDT.
IF LMONTH = 10 OR LMONTH = 12.
CONCATENATE LYEAR LCMON '31' INTO L_HIGHDT.
ELSE.
CONCATENATE LYEAR LCMON '30' INTO L_HIGHDT.
ENDIF.
ENDIF.
LOWDATE = DATE - ( DAY ).
HIGHDATE = DATE.
&----
*& At the of this form following date we get
&----
*& L_HIGHDT - Last Month Hight Date
*& L_LOWDT - Last Month Low Date
*& LOWDATE - Current Month Low Date
*& HIGHDATE - Current Month High Date
&----
ENDFORM. " GET_LYEAR
&----
*& Form get_data
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_DATA.
SELECT VBRKVBELN VBRKKUNAG VBRK~VTWEG
VBRKFKART VBRKKNUMV VBRP~MATNR
VBRPMATKL VBRPFKIMG VBRK~VKORG
VBRKWAERK VBRKKURRF VBRP~POSNR
VBRK~FKDAT
INTO CORRESPONDING FIELDS OF WA_VBRKVBRP
FROM VBRK INNER JOIN VBRP ON
VBRKVBELN = VBRPVBELN
WHERE VBRP~WERKS IN S_WERKS AND
VBRP~VKORG_AUFT IN S_VKORG AND
VBRP~VTWEG_AUFT IN S_VTWEG AND
VBRK~FKDAT BETWEEN LOWDATE AND DATE AND
( VBRP~MATKL = 'GLASS SHE' OR
VBRP~MATKL = 'GLASS FNL' OR
VBRP~MATKL = 'GLASS PNL') AND
VBRK~RFBSK = 'C'.
ORDER BY VBRKVBELN VBRPMATNR.
*& Select PR00 based value
SELECT SINGLE KWERT INTO WA_VBRKVBRP-PR00
FROM KONV
WHERE KNUMV = WA_VBRKVBRP-KNUMV AND
KPOSN = WA_VBRKVBRP-POSNR AND
KSCHL = 'PR00'.
*& Select ZDRP based value
SELECT SINGLE KWERT INTO WA_VBRKVBRP-ZDRP
FROM KONV
WHERE KNUMV = WA_VBRKVBRP-KNUMV AND
KPOSN = WA_VBRKVBRP-POSNR AND
KSCHL = 'ZDRP'.
*& Select Sort name of the party
SELECT SINGLE SORTL INTO WA_VBRKVBRP-SORTL
FROM KNA1
WHERE KUNNR = WA_VBRKVBRP-KUNAG.
*& Select size of the product
SELECT SINGLE BISMT INTO WA_VBRKVBRP-BISMT
FROM MARA
WHERE MATNR = WA_VBRKVBRP-MATNR.
*& Multiply with exchange Rate
WA_VBRKVBRP-PR00 = WA_VBRKVBRP-PR00 * WA_VBRKVBRP-KURRF.
WA_VBRKVBRP-ZDRP = WA_VBRKVBRP-ZDRP * WA_VBRKVBRP-KURRF.
*& Deciding Return and Fresh Sale
IF WA_VBRKVBRP-VKORG = '1200' AND
WA_VBRKVBRP-VTWEG = '40'.
IF WA_VBRKVBRP-FKART = 'ZVRO' OR
WA_VBRKVBRP-FKART = 'ZVRW'.
WA_VBRKVBRP-SALE = 'Return'.
ELSE.
WA_VBRKVBRP-SALE = 'Fresh Sale'.
ENDIF.
ENDIF.
*& Deciding Export Sale
IF WA_VBRKVBRP-VKORG = '1202' AND
WA_VBRKVBRP-VTWEG = '45'.
WA_VBRKVBRP-SALE = 'Export'.
ENDIF.
*& Deciding Panel Quantity for the billing
IF WA_VBRKVBRP-MATKL = 'GLASS SHE' OR
WA_VBRKVBRP-MATKL = 'GLASS PNL'.
WA_VBRKVBRP-PANEL = WA_VBRKVBRP-FKIMG.
ENDIF.
*& Deciding Funel Quantity for the billing
IF WA_VBRKVBRP-MATKL = 'GLASS FNL'.
WA_VBRKVBRP-FUNEL = WA_VBRKVBRP-FKIMG.
ENDIF.
*& Indicating Minus Price and quantity for the Return Sale
IF WA_VBRKVBRP-FKART = 'ZVRO' OR
WA_VBRKVBRP-FKART = 'ZVRW'.
WA_VBRKVBRP-PANEL = WA_VBRKVBRP-PANEL * -1.
WA_VBRKVBRP-FUNEL = WA_VBRKVBRP-FUNEL * -1.
WA_VBRKVBRP-PR00 = WA_VBRKVBRP-PR00 * -1.
WA_VBRKVBRP-ZDRP = WA_VBRKVBRP-ZDRP * -1.
ENDIF.
APPEND WA_VBRKVBRP TO IT_VBRKVBRP.
CLEAR: WA_VBRKVBRP.
ENDSELECT.
SORT IT_VBRKVBRP BY SORTL SALE BISMT.
ENDFORM. " get_data
&----
*& Form FILL_FOR_DAY
&----
text
----
--> p1 text
<-- p2 text
----
FORM FILL_FOR_DAY.
LOOP AT IT_VBRKVBRP INTO WA_VBRKVBRP WHERE FKDAT = HIGHDATE.
AT NEW BISMT.
WA_FOR_DAY-SORTL = WA_VBRKVBRP-SORTL.
WA_FOR_DAY-SALE = WA_VBRKVBRP-SALE.
WA_FOR_DAY-BISMT = WA_VBRKVBRP-BISMT+0(3).
ENDAT.
WA_FOR_DAY-PANEL = WA_FOR_DAY-PANEL + WA_VBRKVBRP-PANEL.
WA_FOR_DAY-FUNEL = WA_FOR_DAY-FUNEL + WA_VBRKVBRP-FUNEL.
WA_FOR_DAY-PR00 = WA_FOR_DAY-PR00 + WA_VBRKVBRP-PR00.
WA_FOR_DAY-ZDRP = WA_FOR_DAY-ZDRP + WA_VBRKVBRP-ZDRP.
AT END OF BISMT.
APPEND WA_FOR_DAY TO IT_FOR_DAY.
CLEAR: WA_FOR_DAY.
ENDAT.
CLEAR: WA_VBRKVBRP.
ENDLOOP.
ENDFORM. " FILL_FOR_DAY
&----
*& Form FILL_FOR_MONTH
&----
text
----
--> p1 text
<-- p2 text
----
FORM FILL_FOR_MONTH.
LOOP AT IT_VBRKVBRP INTO WA_VBRKVBRP.
AT NEW BISMT.
WA_FOR_MONTH-SORTL = WA_VBRKVBRP-SORTL.
WA_FOR_MONTH-SALE = WA_VBRKVBRP-SALE.
WA_FOR_MONTH-BISMT = WA_VBRKVBRP-BISMT.
ENDAT.
WA_FOR_MONTH-PANEL = WA_FOR_MONTH-PANEL + WA_VBRKVBRP-PANEL.
WA_FOR_MONTH-FUNEL = WA_FOR_MONTH-FUNEL + WA_VBRKVBRP-FUNEL.
WA_FOR_MONTH-PR00 = WA_FOR_MONTH-PR00 + WA_VBRKVBRP-PR00.
WA_FOR_MONTH-ZDRP = WA_FOR_MONTH-ZDRP + WA_VBRKVBRP-ZDRP.
AT END OF BISMT.
APPEND WA_FOR_MONTH TO IT_FOR_MONTH.
CLEAR: WA_FOR_MONTH.
ENDAT.
CLEAR: WA_VBRKVBRP.
ENDLOOP.
ENDFORM. " FILL_FOR_MONTH
&----
*& Form FIELDCAT_FOR_DAY
&----
text
----
--> p1 text
<-- p2 text
----
FORM FIELDCAT_FOR_DAY .
COUNTER = COUNTER + 1.
WA_FIELDCAT_FOR_DAY-COL_POS = COUNTER.
WA_FIELDCAT_FOR_DAY-FIELDNAME = 'SORTL'.
WA_FIELDCAT_FOR_DAY-TABNAME = 'IT_FOR_DAY'.
WA_FIELDCAT_FOR_DAY-SELTEXT_L = 'Party Name'.
WA_FIELDCAT_FOR_DAY-OUTPUTLEN = 10.
APPEND WA_FIELDCAT_FOR_DAY TO IT_FIELDCAT_FOR_DAY.
CLEAR WA_FIELDCAT_FOR_DAY.
COUNTER = COUNTER + 1.
WA_FIELDCAT_FOR_DAY-COL_POS = COUNTER.
WA_FIELDCAT_FOR_DAY-FIELDNAME = 'SALE'.
WA_FIELDCAT_FOR_DAY-TABNAME = 'IT_FOR_DAY'.
WA_FIELDCAT_FOR_DAY-SELTEXT_L = 'Sale 4 day'.
WA_FIELDCAT_FOR_DAY-OUTPUTLEN = 10.
APPEND WA_FIELDCAT_FOR_DAY TO IT_FIELDCAT_FOR_DAY.
CLEAR WA_FIELDCAT_FOR_DAY.
COUNTER = COUNTER + 1.
WA_FIELDCAT_FOR_DAY-COL_POS = COUNTER.
WA_FIELDCAT_FOR_DAY-FIELDNAME = 'BISMT'.
WA_FIELDCAT_FOR_DAY-TABNAME = 'IT_FOR_DAY'.
WA_FIELDCAT_FOR_DAY-SELTEXT_L = 'Sizes'.
WA_FIELDCAT_FOR_DAY-OUTPUTLEN = 5.
APPEND WA_FIELDCAT_FOR_DAY TO IT_FIELDCAT_FOR_DAY.
CLEAR WA_FIELDCAT_FOR_DAY.
COUNTER = COUNTER + 1.
WA_FIELDCAT_FOR_DAY-COL_POS = COUNTER.
WA_FIELDCAT_FOR_DAY-FIELDNAME = 'PANEL'.
WA_FIELDCAT_FOR_DAY-TABNAME = 'IT_FOR_DAY'.
WA_FIELDCAT_FOR_DAY-SELTEXT_L = 'Panel'.
WA_FIELDCAT_FOR_DAY-OUTPUTLEN = 10.
APPEND WA_FIELDCAT_FOR_DAY TO IT_FIELDCAT_FOR_DAY.
CLEAR WA_FIELDCAT_FOR_DAY.
COUNTER = COUNTER + 1.
WA_FIELDCAT_FOR_DAY-COL_POS = COUNTER.
WA_FIELDCAT_FOR_DAY-FIELDNAME = 'FUNEL'.
WA_FIELDCAT_FOR_DAY-TABNAME = 'IT_FOR_DAY'.
WA_FIELDCAT_FOR_DAY-SELTEXT_L = 'Funel'.
WA_FIELDCAT_FOR_DAY-OUTPUTLEN = 10.
APPEND WA_FIELDCAT_FOR_DAY TO IT_FIELDCAT_FOR_DAY.
CLEAR WA_FIELDCAT_FOR_DAY.
COUNTER = COUNTER + 1.
WA_FIELDCAT_FOR_DAY-COL_POS = COUNTER.
WA_FIELDCAT_FOR_DAY-FIELDNAME = 'PR00'.
WA_FIELDCAT_FOR_DAY-TABNAME = 'IT_FOR_DAY'.
WA_FIELDCAT_FOR_DAY-SELTEXT_L = 'Basic Value (Rs.)'.
WA_FIELDCAT_FOR_DAY-OUTPUTLEN = 15.
APPEND WA_FIELDCAT_FOR_DAY TO IT_FIELDCAT_FOR_DAY.
CLEAR WA_FIELDCAT_FOR_DAY.
COUNTER = COUNTER + 1.
WA_FIELDCAT_FOR_DAY-COL_POS = COUNTER.
WA_FIELDCAT_FOR_DAY-FIELDNAME = 'ZDRP'.
WA_FIELDCAT_FOR_DAY-TABNAME = 'IT_FOR_DAY'.
WA_FIELDCAT_FOR_DAY-SELTEXT_L = 'Disc Value (Lacs.)'.
WA_FIELDCAT_FOR_DAY-OUTPUTLEN = 15.
APPEND WA_FIELDCAT_FOR_DAY TO IT_FIELDCAT_FOR_DAY.
CLEAR WA_FIELDCAT_FOR_DAY.
ENDFORM. " FIELDCAT_FOR_DAY
&----
*& Form FIELDCAT_FOR_MONTH
&----
text
----
--> p1 text
<-- p2 text
----
FORM FIELDCAT_FOR_MONTH .
COUNTER = COUNTER + 1.
WA_FIELDCAT_FOR_DAY-COL_POS = COUNTER.
WA_FIELDCAT_FOR_DAY-FIELDNAME = 'SORTL'.
WA_FIELDCAT_FOR_DAY-TABNAME = 'IT_FOR_MONTH'.
WA_FIELDCAT_FOR_DAY-SELTEXT_L = 'Party Name'.
WA_FIELDCAT_FOR_DAY-OUTPUTLEN = 10.
APPEND WA_FIELDCAT_FOR_DAY TO IT_FIELDCAT_FOR_MONTH.
CLEAR WA_FIELDCAT_FOR_DAY.
COUNTER = COUNTER + 1.
WA_FIELDCAT_FOR_DAY-COL_POS = COUNTER.
WA_FIELDCAT_FOR_DAY-FIELDNAME = 'SALE'.
WA_FIELDCAT_FOR_DAY-TABNAME = 'IT_FOR_MONTH'.
WA_FIELDCAT_FOR_DAY-SELTEXT_L = 'Sale'.
WA_FIELDCAT_FOR_DAY-OUTPUTLEN = 10.
APPEND WA_FIELDCAT_FOR_DAY TO IT_FIELDCAT_FOR_MONTH.
CLEAR WA_FIELDCAT_FOR_DAY.
COUNTER = COUNTER + 1.
WA_FIELDCAT_FOR_DAY-COL_POS = COUNTER.
WA_FIELDCAT_FOR_DAY-FIELDNAME = 'BISMT'.
WA_FIELDCAT_FOR_DAY-TABNAME = 'IT_FOR_MONTH'.
WA_FIELDCAT_FOR_DAY-SELTEXT_L = 'Sizes'.
WA_FIELDCAT_FOR_DAY-OUTPUTLEN = 5.
APPEND WA_FIELDCAT_FOR_DAY TO IT_FIELDCAT_FOR_MONTH.
CLEAR WA_FIELDCAT_FOR_DAY.
COUNTER = COUNTER + 1.
WA_FIELDCAT_FOR_DAY-COL_POS = COUNTER.
WA_FIELDCAT_FOR_DAY-FIELDNAME = 'PANEL'.
WA_FIELDCAT_FOR_DAY-TABNAME = 'IT_FOR_MONTH'.
WA_FIELDCAT_FOR_DAY-SELTEXT_L = 'Panel'.
WA_FIELDCAT_FOR_DAY-OUTPUTLEN = 10.
APPEND WA_FIELDCAT_FOR_DAY TO IT_FIELDCAT_FOR_MONTH.
CLEAR WA_FIELDCAT_FOR_DAY.
COUNTER = COUNTER + 1.
WA_FIELDCAT_FOR_DAY-COL_POS = COUNTER.
WA_FIELDCAT_FOR_DAY-FIELDNAME = 'FUNEL'.
WA_FIELDCAT_FOR_DAY-TABNAME = 'IT_FOR_MONTH'.
WA_FIELDCAT_FOR_DAY-SELTEXT_L = 'Funel'.
WA_FIELDCAT_FOR_DAY-OUTPUTLEN = 10.
APPEND WA_FIELDCAT_FOR_DAY TO IT_FIELDCAT_FOR_MONTH.
CLEAR WA_FIELDCAT_FOR_DAY.
COUNTER = COUNTER + 1.
WA_FIELDCAT_FOR_DAY-COL_POS = COUNTER.
WA_FIELDCAT_FOR_DAY-FIELDNAME = 'PR00'.
WA_FIELDCAT_FOR_DAY-TABNAME = 'IT_FOR_MONTH'.
WA_FIELDCAT_FOR_DAY-SELTEXT_L = 'Basic Value (Rs.)'.
WA_FIELDCAT_FOR_DAY-OUTPUTLEN = 15.
APPEND WA_FIELDCAT_FOR_DAY TO IT_FIELDCAT_FOR_MONTH.
CLEAR WA_FIELDCAT_FOR_DAY.
COUNTER = COUNTER + 1.
WA_FIELDCAT_FOR_DAY-COL_POS = COUNTER.
WA_FIELDCAT_FOR_DAY-FIELDNAME = 'ZDRP'.
WA_FIELDCAT_FOR_DAY-TABNAME = 'IT_FOR_MONTH'.
WA_FIELDCAT_FOR_DAY-SELTEXT_L = 'Disc Value (Lacs.)'.
WA_FIELDCAT_FOR_DAY-OUTPUTLEN = 15.
APPEND WA_FIELDCAT_FOR_DAY TO IT_FIELDCAT_FOR_MONTH.
CLEAR WA_FIELDCAT_FOR_DAY.
ENDFORM. " FIELDCAT_FOR_MONTH
&----
*& Form EVENTS_FOR_DAY
&----
text
----
--> p1 text
<-- p2 text
----
FORM EVENTS_FOR_DAY .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = IT_EVENT_FOR_DAY[]
EXCEPTIONS
LIST_TYPE_WRONG = 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.
READ TABLE IT_EVENT_FOR_DAY
WITH KEY NAME = SLIS_EV_TOP_OF_LIST
INTO IT_EVENT_FOR_DAY.
IF SY-SUBRC = 0.
MOVE TOP_OF_LIST_FOR_DAY TO IT_EVENT_FOR_DAY-FORM.
APPEND IT_EVENT_FOR_DAY.
ENDIF.
ENDFORM. " EVENTS_FOR_DAY
&----
*& Form EVENTS_FOR_MONTH
&----
text
----
--> p1 text
<-- p2 text
----
FORM EVENTS_FOR_MONTH .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = IT_EVENT_FOR_MONTH[]
EXCEPTIONS
LIST_TYPE_WRONG = 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.
READ TABLE IT_EVENT_FOR_MONTH
WITH KEY NAME = SLIS_EV_TOP_OF_LIST
INTO IT_EVENT_FOR_MONTH.
IF SY-SUBRC = 0.
MOVE TOP_OF_LIST_FOR_MON TO IT_EVENT_FOR_MONTH-FORM.
APPEND IT_EVENT_FOR_MONTH.
ENDIF.
CLEAR: IT_EVENT_FOR_MONTH.
ENDFORM. " EVENTS_FOR_MONTH
&----
*& Form TOP_OF_LIST_FOR_DAY
&----
text
----
--> p1 text
<-- p2 text
----
FORM TOP_OF_LIST_FOR_DAY.
WRITE: / 'FOR DAY'.
ENDFORM. " EVENTS_FOR_MONTH
&----
*& Form TOP_OF_LIST_FOR_MONTH
&----
text
----
--> p1 text
<-- p2 text
----
FORM TOP_OF_LIST_FOR_MONTH.
WRITE: / 'FOR MONTH'.
ENDFORM. " EVENTS_FOR_MONTH
&----
*& Form APPEND_FOR_DAY
&----
text
----
--> p1 text
<-- p2 text
----
FORM APPEND_FOR_DAY .
IF NOT IT_FOR_DAY IS INITIAL.
WA_FOR_DAY-SORTL = ''.
APPEND WA_FOR_DAY TO IT_FOR_DAY.
CLEAR: WA_FOR_DAY.
ENDIF.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IT_FIELDCAT = IT_FIELDCAT_FOR_DAY
IS_LAYOUT = IS_LAYOUT_FOR_DAY
I_TABNAME = 'IT_FOR_DAY'
IT_EVENTS = IT_EVENT_FOR_DAY[]
TABLES
T_OUTTAB = IT_FOR_DAY[].
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. " APPEND_FOR_DAY
&----
*& Form APPEND_FOR_MONTH
&----
text
----
--> p1 text
<-- p2 text
----
FORM APPEND_FOR_MONTH .
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IT_FIELDCAT = IT_FIELDCAT_FOR_MONTH
IS_LAYOUT = IS_LAYOUT_FOR_MONTH
I_TABNAME = 'IT_FOR_MONTH'
IT_EVENTS = IT_EVENT_FOR_MONTH[]
TABLES
T_OUTTAB = IT_FOR_MONTH[].
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. " APPEND_FOR_MONTH
&----
*& Form LIST_DISPLAY
&----
text
----
--> p1 text
<-- p2 text
----
FORM LIST_DISPLAY .
DATA: GT_PRINT TYPE SLIS_PRINT_ALV.
GT_PRINT-RESERVE_LINES = 2.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
EXPORTING
IS_PRINT = GT_PRINT.
.
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. " LIST_DISPLAY
‎2006 Jul 19 11:39 AM
Hi,
it is small mistake But it is Big one, you missed the heart of Block list.add the below bold code in the form APPEND_FOR_DAY. now every thing works fine .i checked it is working well.
FORM APPEND_FOR_DAY .
<b>call function 'REUSE_ALV_BLOCK_LIST_INIT'
exporting
i_callback_program = sy-repid
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* IT_EXCLUDING =
.</b>IF NOT IT_FOR_DAY IS INITIAL.
WA_FOR_DAY-SORTL = ''.
APPEND WA_FOR_DAY TO IT_FOR_DAY.
CLEAR: WA_FOR_DAY.
ENDIF.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IT_FIELDCAT = IT_FIELDCAT_FOR_DAY
IS_LAYOUT = IS_LAYOUT_FOR_DAY
I_TABNAME = 'IT_FOR_DAY'
IT_EVENTS = IT_EVENT_FOR_DAY[]
TABLES
T_OUTTAB = IT_FOR_DAY[].
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. " APPEND_FOR_DAY
Regards
vijay