‎2007 Jun 07 7:48 AM
Hi Experts
I was using this TDS RETURN report which worked fine for fiscal year 2006 but now its not giving accurate output if I run it for quarters of 2007
REPORT ZTDS_RETURN no standard page heading line-size 100 line-count 10.
tables : J_1IEWTCHLN,WITH_ITEM,T059Z,BSEG,LFA1,T247,J_1IMOVEND,bkpf.
type-pools: slis, abap.
SELECT-OPTIONS : DATE FOR J_1IEWTCHLN-J_1IEXTCHDT.
DATA: V_REPID LIKE SY-REPID .
DATA : TAX1 LIKE WITH_ITEM OCCURS 0 WITH HEADER LINE,
post_date LIKE BKPF OCCURS 0 WITH HEADER LINE,
I_LFA1 LIKE LFA1 OCCURS 0 WITH HEADER LINE.
DATA : D LIKE J_1IEWTCHLN-J_1IEXTCHDT.
DATA : DT(2),DT1(2),FISCAL(4),MONTH1(10),MONTH2(10).
*DATA : MONTH LIKE T247 OCCURS 0 WITH HEADER LINE.
DATA : M(60).
DATA : PAN LIKE J_1IMOVEND OCCURS 0 WITH HEADER LINE.
DATA : begin of month occurs 1,
ltx like T247-ltx,
end of month.
DATA : BEGIN OF I_ITAB OCCURS 0,
BELNR LIKE WITH_ITEM-BELNR,
POST_DATE LIKE BKPF-BUDAT,
CH_EX_NO LIKE J_1IEWTCHLN-J_1IEXTCHLN,
CH_EX_DATE LIKE J_1IEWTCHLN-J_1IEXTCHDT,
CH_NO LIKE J_1IEWTCHLN-J_1IEXTCHLN,
CH_DATE LIKE J_1IEWTCHLN-J_1IEXTCHDT,
SECTION LIKE T059Z-QSCOD,
BASE_AMOUNT LIKE WITH_ITEM-WT_QSSHH,
TAX_AMOUNT LIKE WITH_ITEM-WT_QBSHH,
NAME2 LIKE LFA1-NAME2,
NAME1(70),
PAN LIKE J_1IMOVEND-J_1IPANNO,
END OF I_ITAB.
TYPES: BEGIN OF ITAB_LINE,
CLUSTR TYPE INT2,
CLUSTD(1000) TYPE X,
END OF ITAB_LINE.
DATA: E_ITAB TYPE TABLE OF ITAB_LINE.
DATA : CHALLAN LIKE J_1IEWTCHLN OCCURS 0 WITH HEADER LINE,
TAX LIKE WITH_ITEM OCCURS 0 WITH HEADER LINE.
DATA SECTION LIKE T059Z OCCURS 0 WITH HEADER LINE.
DATA I_BSEG LIKE BSEG OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF ITAB OCCURS 0 ,
DOC1 LIKE J_1IEWTCHLN-BELNR,
FISCAL1 LIKE J_1IEWTCHLN-GJAHR,
CH_NO1 LIKE J_1IEWTCHLN-J_1IINTCHLN,
CH_DATE1 LIKE J_1IEWTCHLN-J_1IINTCHDT,
CH_EX_DATE1 LIKE J_1IEWTCHLN-J_1IEXTCHDT,
CH_EX_NO1 LIKE J_1IEWTCHLN-J_1IEXTCHLN,
BSR1(10),
TAX_CODE LIKE with_item-wt_withcd,
SECTION LIKE T059Z-QSCOD,
ASS LIKE BSEG-ZUONR,
AMOUNT LIKE BSEG-DMBTR,
END OF ITAB.
DATA : BEGIN OF FINAL_ITAB OCCURS 0,
DOC LIKE J_1IEWTCHLN-BELNR,
FISCAL LIKE J_1IEWTCHLN-GJAHR,
TDS(10),
SURCHARGE(10),
ED_CESS(10),
CH_NO LIKE J_1IEWTCHLN-J_1IINTCHLN,
CH_DATE LIKE J_1IEWTCHLN-J_1IINTCHDT,
CH_EX_DATE LIKE J_1IEWTCHLN-J_1IEXTCHDT,
CH_EX_NO LIKE J_1IEWTCHLN-J_1IEXTCHLN,
BSR(10),
TAX_CODE LIKE with_item-wt_withcd,
SECTION LIKE T059Z-QSCOD,
ASS LIKE BSEG-ZUONR,
AMOUNT LIKE BSEG-DMBTR,
END OF FINAL_ITAB.
data: fieldcat type slis_fieldcat_alv,
fieldcat1 type slis_fieldcat_alv ,
sort type slis_sortinfo_alv,
G_STATUS TYPE SLIS_FORMNAME VALUE 'STANDARD_02'.
DATA: LIST_HEADER TYPE SLIS_T_LISTHEADER.
DATA: LIST_HEADER1 TYPE SLIS_T_LISTHEADER.
data :wa_feildcat type slis_t_fieldcat_alv.
data :wa_feildcat1 type slis_t_fieldcat_alv.
DATA: I_TITLE_EKKO TYPE LVC_TITLE VALUE 'FIRST LIST DISPLAYED'.
DATA: I_TITLE_EKPO TYPE LVC_TITLE VALUE 'SECONDRY LIST DISPLAYED'.
DATA: V_EVENTS TYPE SLIS_T_EVENT,
WA_EVENT TYPE SLIS_ALV_EVENT.
DATA: V_EVENT TYPE SLIS_T_EVENT,
WA_EVENT1 TYPE SLIS_ALV_EVENT.
INITIALIZATION.
V_REPID = SY-REPID.
PERFORM BUILD_FIELDCATLOG.
PERFORM EVENT_CALL.
PERFORM POPULATE_EVENT.
START-OF-SELECTION.
PERFORM DATA_RETRIEVAL.
PERFORM BUILD_LISTHEADER .
PERFORM DISPLAY_ALV_REPORT.
&----
*& Form BUILD_FIELDCATLOG
&----
Fieldcatalog has all the field details from ekko
----
FORM BUILD_FIELDCATLOG.
clear fieldcat.
fieldcat-fieldname = 'ASS'.
fieldcat-tabname = 'FINAL_ITAB'.
FIELDCAT-seltext_m = 'Cheque Number'.
fieldcat-key = 'X'.
fieldcat-emphasize = 'X'.
fieldcat-fix_column = 'X'.
FIELDCAT-NO_OUT = '0'.
append fieldcat to wa_feildcat.
clear fieldcat.
fieldcat-fieldname = 'AMOUNT'.
fieldcat-tabname = 'FINAL_ITAB'.
FIELDCAT-seltext_m = 'Total Tax Deposited'.
fieldcat-key = 'X'.
fieldcat-emphasize = 'X'.
fieldcat-fix_column = 'X'.
FIELDCAT-NO_OUT = '0'.
fieldcat-do_sum = 'X'.
append fieldcat to wa_feildcat.
clear fieldcat.
fieldcat-fieldname = 'CH_EX_NO'.
fieldcat-tabname = 'FINAL_ITAB'.
FIELDCAT-seltext_m = 'Challan Number'.
fieldcat-key = 'X'.
fieldcat-emphasize = 'X'.
fieldcat-hotspot = 'X'.
fieldcat-fix_column = 'X'.
FIELDCAT-NO_OUT = '0'.
append fieldcat to wa_feildcat.
clear fieldcat.
fieldcat-fieldname = 'CH_EX_DATE'.
fieldcat-tabname = 'FINAL_ITAB'.
FIELDCAT-seltext_m = 'Date on wich Tax Deposited'.
fieldcat-key = 'X'.
fieldcat-emphasize = ''.
fieldcat-fix_column = 'X'.
FIELDCAT-NO_OUT = '0'.
append fieldcat to wa_feildcat.
clear fieldcat.
fieldcat-fieldname = 'BSR'.
fieldcat-tabname = 'FINAL_ITAB'.
FIELDCAT-seltext_m = 'BSR Code'.
fieldcat-key = 'X'.
fieldcat-emphasize = ''.
fieldcat-fix_column = ''.
FIELDCAT-NO_OUT = 'O'.
append fieldcat to wa_feildcat.
clear fieldcat.
fieldcat-fieldname = 'SECTION'.
fieldcat-tabname = 'FINAL_ITAB'.
FIELDCAT-seltext_m = 'Section Code'.
fieldcat-key = '4'.
fieldcat-emphasize = ''.
fieldcat-fix_column = ''.
FIELDCAT-JUST = 'R'.
append fieldcat to wa_feildcat.
ENDFORM. "BUILD_FIELDCATLOG
&----
*& Form EVENT_CALL
&----
we get all events - TOP OF PAGE or USER COMMAND in table v_events
----
FORM EVENT_CALL.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = V_EVENTS
.
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. "EVENT_CALL
&----
*& Form POPULATE_EVENT
&----
Events populated for TOP OF PAGE & USER COMAND
----
FORM POPULATE_EVENT.
READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.
IF SY-SUBRC EQ 0.
WA_EVENT-FORM = 'TOP_OF_PAGE'.
MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =
WA_EVENT-FORM.
ENDIF.
READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'USER_COMMAND'.
IF SY-SUBRC EQ 0.
WA_EVENT-FORM = 'USER_COMMAND'.
MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =
WA_EVENT-NAME.
ENDIF.
ENDFORM. "POPULATE_EVENT
&----
*& Form data_retrieval
&----
retreiving values from the database table ekko
----
FORM DATA_RETRIEVAL.
SELECT * FROM J_1IEWTCHLN INTO TABLE CHALLAN WHERE J_1IEXTCHDT IN DATE.
SORT CHALLAN BY J_1IINTCHLN.
CLEAR CHALLAN.
IF NOT CHALLAN[] IS INITIAL.
SELECT * FROM WITH_ITEM INTO TABLE tax FOR ALL ENTRIES IN CHALLAN WHERE J_1IINTCHLN = CHALLAN-J_1IINTCHLN AND GJAHR = CHALLAN-GJAHR.
SORT TAX BY WT_WITHCD.
CLEAR TAX.
SELECT * FROM BSEG INTO TABLE I_BSEG FOR ALL ENTRIES IN CHALLAN WHERE BELNR = CHALLAN-BELNR AND BSCHL = '50'.
SORT I_BSEG BY BELNR.
CLEAR I_BSEG.
ENDIF.
IF NOT TAX[] IS INITIAL.
SELECT * FROM T059Z INTO TABLE SECTION FOR ALL ENTRIES IN TAX WHERE WT_WITHCD = TAX-WT_WITHCD AND LAND1 = 'IN'.
SORT SECTION BY WT_WITHCD.
ENDIF.
LOOP AT CHALLAN.
ITAB-DOC1 = CHALLAN-BELNR.
ITAB-FISCAL1 = CHALLAN-GJAHR.
ITAB-CH_NO1 = CHALLAN-J_1IINTCHLN.
ITAB-CH_DATE1 = CHALLAN-J_1IINTCHDT.
ITAB-CH_EX_NO1 = CHALLAN-J_1IEXTCHLN.
ITAB-CH_EX_DATE1 = CHALLAN-J_1IEXTCHDT.
ITAB-BSR1 = challan-bankl.
IF ITAB-BSR1 = 'ICICI'.
ITAB-BSR1 = '6390070'.
ENDIF.
READ TABLE TAX WITH KEY J_1IINTCHLN = CHALLAN-J_1IINTCHLN.
IF SY-SUBRC EQ 0.
ITAB-TAX_CODE = TAX-WT_WITHCD.
ENDIF.
READ TABLE I_BSEG WITH KEY BELNR = CHALLAN-BELNR.
IF SY-SUBRC EQ 0 .
ITAB-ASS = I_BSEG-ZUONR.
itab-amount = I_BSEG-DMBTR.
ENDIF.
APPEND ITAB.
CLEAR ITAB.
ENDLOOP.
LOOP AT ITAB.
FINAL_ITAB-DOC = ITAB-DOC1.
FINAL_ITAB-FISCAL = ITAB-FISCAL1 .
FINAL_ITAB-CH_NO = ITAB-CH_NO1 .
FINAL_ITAB-CH_DATE = ITAB-CH_DATE1.
FINAL_ITAB-CH_EX_NO = ITAB-CH_EX_NO1.
FINAL_ITAB-CH_EX_DATE = ITAB-CH_EX_DATE1.
FINAL_ITAB-BSR = ITAB-BSR1.
FINAL_ITAB-TAX_CODE = ITAB-TAX_CODE.
FINAL_ITAB-ASS = ITAB-ASS .
FINAL_ITAB-AMOUNT = itab-amount.
READ TABLE SECTION WITH KEY WT_WITHCD = ITAB-TAX_CODE.
IF SY-SUBRC EQ 0.
FINAL_ITAB-SECTION = SECTION-QSCOD.
ENDIF.
APPEND FINAL_ITAB.
CLEAR FINAL_ITAB.
ENDLOOP.
*D = DATE.
SHIFT DATE BY 3 PLACES .
FISCAL = DATE.
SHIFT DATE BY 4 PLACES .
DT = DATE.
SHIFT DATE BY 8 PLACES .
DT1 = DATE.
select
lTX
from T247 into table month where MNR = DT AND spras = sy-langu.
LOOP AT MONTH.
MONTH1 = MONTH-LTX.
ENDLOOP.
select
lTX
from T247 into table month where MNR = DT1 AND spras = sy-langu.
LOOP AT MONTH.
MONTH2 = MONTH-LTX.
CONCATENATE 'From : ' MONTH1 '-' MONTH2 '' FISCAL INTO M.
ENDLOOP.
ENDFORM. "data_retrieval
&----
*& Form bUild_listheader
&----
text
----
-->I_LISTHEADEtext
----
FORM BUILD_LISTHEADER .
DATA L_HEADER TYPE SLIS_LISTHEADER.
l_header-typ = 'H'.
l_header-info = 'TDS Deposit Report'.
APPEND L_HEADER TO LIST_HEADER.
l_header-typ = 'S'.
l_header-info = M.
APPEND L_HEADER TO LIST_HEADER.
l_header-typ = 'S'.
l_header-info = 'SMS India Pvt. Ltd.'.
APPEND L_HEADER TO LIST_HEADER.
l_header-typ = 'S'.
l_header-info = 'Udyog Vihar, Phase II'.
APPEND L_HEADER TO LIST_HEADER.
l_header-typ = 'S'.
l_header-info = 'Gurgaon'.
APPEND L_HEADER TO LIST_HEADER.
ENDFORM. "build_listheader
&----
*& Form display_alv_report
&----
text
----
FORM DISPLAY_ALV_REPORT.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = V_repid
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
I_BACKGROUND_ID = 'ALV_BACKGROUND'
IT_FIELDCAT = wa_feildcat
IT_EVENTS = v_events
IT_EVENT_EXIT =
IS_PRINT =
TABLES
T_OUTTAB = FINAL_ITAB
.
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. "display_alv_report
&----
*& Form top_of_page
&----
text
----
form top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = list_header
I_LOGO = 'SMSLOGO'.
endform. "top_of_page
&----
*& Form USER_COMMAND
&----
text
----
-->R_UCOMM text
-->, text
-->RS_SLEFIELDtext
----
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM RS_SELFIELD TYPE SLIS_SELFIELD.
*REFRESH FINAL_ITAB.
CASE R_UCOMM.
WHEN '&IC1'.
READ TABLE FINAL_ITAB INDEX RS_SELFIELD-TABINDEX.
IF RS_SELFIELD-TABINDEX = '0'.
EXIT.
ELSE.
EXPORT FINAL_ITAB-CH_EX_NO FINAL_ITAB-CH_NO FINAL_ITAB-CH_EX_DATE FINAL_ITAB-SECTION M TO MEMORY ID 'ABCD'.
PERFORM BUILD_FIELDCATLOG_DETAIL.
PERFORM EVENT_CALL_DETAIL.
PERFORM POPULATE_EVENT_DETAIL.
PERFORM DATA_RETRIEVAL_DETAIL.
PERFORM BUILD_LISTHEADER_DETAIL .
PERFORM display_alv_report_detail.
ENDIF.
ENDCASE.
ENDFORM. "user_command
&--
----
FORM BUILD_FIELDCATLOG_DETAIL.
REFRESH wa_feildcat1.
clear fieldcat1.
fieldcat1-fieldname = 'BELNR'.
fieldcat1-tabname = 'I_ITAB'.
FIELDCAT1-seltext_m = 'Document Number'.
fieldcat1-key = 'X'.
fieldcat1-emphasize = 'X'.
fieldcat1-fix_column = 'X'.
FIELDCAT1-NO_OUT = '0'.
append fieldcat1 to wa_feildcat1.
clear fieldcat1.
fieldcat1-fieldname = 'POST_DATE'.
fieldcat1-tabname = 'I_ITAB'.
FIELDCAT1-seltext_m = 'Doc. Posting Date'.
fieldcat1-key = 'X'.
fieldcat1-emphasize = 'X'.
fieldcat1-fix_column = 'X'.
FIELDCAT1-NO_OUT = '0'.
append fieldcat1 to wa_feildcat1.
clear fieldcat1.
fieldcat1-fieldname = 'BASE_AMOUNT'.
fieldcat1-tabname = 'I_ITAB'.
FIELDCAT1-seltext_m = 'Total Amount'.
fieldcat1-key = 'X'.
fieldcat1-emphasize = 'X'.
fieldcat1-fix_column = 'X'.
FIELDCAT1-NO_OUT = '0'.
fieldcat1-do_sum = 'X'.
append fieldcat1 to wa_feildcat1.
clear fieldcat1.
fieldcat1-fieldname = 'TAX_AMOUNT'.
fieldcat1-tabname = 'I_ITAB'.
FIELDCAT1-seltext_m = 'Tax Amount'.
fieldcat1-key = 'X'.
fieldcat1-emphasize = 'X'.
fieldcat1-fix_column = 'X'.
FIELDCAT1-NO_OUT = '0'.
fieldcat1-do_sum = 'X'.
append fieldcat1 to wa_feildcat1.
clear fieldcat1.
fieldcat1-fieldname = 'CH_EX_NO'.
fieldcat1-tabname = 'I_ITAB'.
FIELDCAT1-seltext_m = 'Challan Number'.
fieldcat1-key = 'X'.
fieldcat1-emphasize = 'X'.
fieldcat1-hotspot = 'X'.
fieldcat1-fix_column = 'X'.
FIELDCAT1-NO_OUT = '0'.
append fieldcat1 to wa_feildcat1.
clear fieldcat1.
fieldcat1-fieldname = 'CH_EX_DATE'.
fieldcat1-tabname = 'I_ITAB'.
FIELDCAT1-seltext_m = 'Date on wich Tax Deposited'.
fieldcat1-key = 'X'.
fieldcat1-emphasize = ''.
fieldcat1-fix_column = 'X'.
FIELDCAT1-NO_OUT = '0'.
append fieldcat1 to wa_feildcat1.
clear fieldcat1.
fieldcat1-fieldname = 'NAME1'.
fieldcat1-tabname = 'I_ITAB'.
FIELDCAT1-seltext_m = 'Vendor Name'.
fieldcat1-key = 'X'.
fieldcat1-emphasize = ''.
fieldcat1-fix_column = ''.
FIELDCAT1-NO_OUT = 'O'.
append fieldcat1 to wa_feildcat1.
clear fieldcat1.
fieldcat1-fieldname = 'PAN'.
fieldcat1-tabname = 'I_ITAB'.
FIELDCAT1-seltext_m = 'Permanent Account Number'.
fieldcat1-key = 'X'.
fieldcat1-emphasize = ''.
fieldcat1-fix_column = ''.
FIELDCAT1-NO_OUT = 'O'.
append fieldcat1 to wa_feildcat1.
clear fieldcat1.
fieldcat1-fieldname = 'SECTION '.
fieldcat1-tabname = 'I_ITAB'.
FIELDCAT1-seltext_m = 'Section Code'.
fieldcat1-key = '4'.
fieldcat1-emphasize = ''.
fieldcat1-fix_column = ''.
FIELDCAT1-JUST = 'R'.
append fieldcat1 to wa_feildcat1.
ENDFORM.
&--
&----
*& Form EVENT_CALL
&----
we get all events - TOP OF PAGE or USER COMMAND in table v_events
----
FORM EVENT_CALL_DETAIL.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = V_EVENT
.
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. "EVENT_CALL
&----
*& Form POPULATE_EVENT
&----
Events populated for TOP OF PAGE & USER COMAND
----
FORM POPULATE_EVENT_DETAIL.
READ TABLE V_EVENT INTO WA_EVENT1 WITH KEY NAME = 'TOP_OF_PAGE'.
IF SY-SUBRC EQ 0.
WA_EVENT1-FORM = 'TOP_OF_PAGE1'.
MODIFY V_EVENT FROM WA_EVENT1 TRANSPORTING FORM WHERE NAME =
WA_EVENT1-FORM.
ENDIF.
READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'USER_COMMAND'.
IF SY-SUBRC EQ 0.
WA_EVENT-FORM = 'USER_COMMAND'.
MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =
*WA_EVENT-NAME.
ENDIF.
ENDFORM. "POPULATE_EVENT
FORM DATA_RETRIEVAL_DETAIL.
IMPORT FINAL_ITAB-CH_EX_NO FINAL_ITAB-CH_NO FINAL_ITAB-CH_EX_DATE FINAL_ITAB-SECTION M FROM MEMORY ID 'ABCD'.
SELECT * FROM WITH_ITEM INTO TABLE TAX1 WHERE J_1IINTCHLN = FINAL_ITAB-CH_NO .
IF SY-SUBRC EQ 0.
ENDIF.
SORT TAX1 BY BELNR.
CLEAR TAX1.
SELECT * FROM LFA1 INTO TABLE I_LFA1 FOR ALL ENTRIES IN TAX1 WHERE LIFNR = TAX1-WT_ACCO.
IF SY-SUBRC EQ 0.
ENDIF.
SORT I_LFA1 BY LIFNR.
CLEAR I_LFA1.
SELECT * FROM J_1IMOVEND INTO TABLE PAN FOR ALL ENTRIES IN TAX1 WHERE LIFNR = TAX1-WT_ACCO.
IF SY-SUBRC EQ 0.
ENDIF.
SORT PAN BY LIFNR.
CLEAR PAN.
SELECT * FROM BKPF INTO TABLE POST_DATE FOR ALL ENTRIES IN TAX1 WHERE BELNR = TAX1-BELNR AND GJAHR = FISCAL.
IF SY-SUBRC EQ 0.
ENDIF.
SORT POST_DATE BY BELNR.
CLEAR POST_DATE.
DATA : TAX_AMOUNT(15),BASE_AMOUNT(15).
LOOP AT TAX1 .
I_ITAB-BELNR = TAX1-BELNR.
BASE_AMOUNT = TAX1-WT_QSSHH.
REPLACE '-' LENGTH 1 WITH '' INTO BASE_AMOUNT.
I_ITAB-BASE_AMOUNT = BASE_AMOUNT.
TAX_AMOUNT = TAX1-WT_QBSHH.
REPLACE '-' LENGTH 1 WITH '' INTO TAX_AMOUNT.
I_ITAB-TAX_AMOUNT = TAX_AMOUNT.
READ TABLE FINAL_ITAB WITH KEY CH_NO = TAX1-J_1IINTCHLN .
I_ITAB-CH_EX_NO = FINAL_ITAB-CH_EX_NO.
I_ITAB-CH_EX_DATE = FINAL_ITAB-CH_EX_DATE.
I_ITAB-SECTION = FINAL_ITAB-SECTION.
READ TABLE I_LFA1 WITH KEY LIFNR = TAX1-WT_ACCO.
IF SY-SUBRC EQ 0.
I_ITAB-NAME2 = I_LFA1-NAME2.
I_ITAB-NAME1 = I_LFA1-NAME1.
CONCATENATE I_ITAB-NAME1 I_ITAB-NAME2 INTO I_ITAB-NAME1 separated BY ' '.
ENDIF.
READ TABLE PAN WITH KEY LIFNR = TAX1-WT_ACCO.
IF SY-SUBRC EQ 0.
I_ITAB-PAN = PAN-J_1IPANNO.
ENDIF.
READ TABLE POST_DATE WITH KEY BELNR = TAX1-BELNR.
IF SY-SUBRC EQ 0.
I_ITAB-POST_DATE = POST_DATE-BUDAT.
ENDIF.
APPEND I_ITAB.
CLEAR I_ITAB.
CLEAR TAX_AMOUNT.
CLEAR BASE_AMOUNT.
ENDLOOP.
ENDFORM.
&----
*& Form bUild_listheader
&----
text
----
-->I_LISTHEADEtext
----
FORM BUILD_LISTHEADER_DETAIL .
REFRESH LIST_HEADER1.
DATA L_HEADER1 TYPE SLIS_LISTHEADER.
l_header1-typ = 'H'.
l_header1-info = 'Annexure per challan'.
APPEND L_HEADER1 TO LIST_HEADER1.
l_header1-typ = 'S'.
l_header1-info = M.
APPEND L_HEADER1 TO list_header1.
l_header1-typ = 'S'.
l_header1-info = 'SMS India Pvt. Ltd.'.
APPEND L_HEADER1 TO list_header1.
l_header1-typ = 'S'.
l_header1-info = 'Udyog Vihar, Phase II'.
APPEND L_HEADER1 TO LIST_HEADER1.
l_header1-typ = 'S'.
l_header1-info = 'Gurgaon'.
APPEND L_HEADER1 TO LIST_HEADER1.
ENDFORM. "build_listheader
&----
*& Form display_alv_report
&----
text
----
FORM DISPLAY_ALV_REPORT_DETAIL.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = V_repid
I_CALLBACK_USER_COMMAND = 'F_USER_COMMAND'
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE1'
I_BACKGROUND_ID = 'ALV_BACKGROUND'
IT_FIELDCAT = wa_feildcat1
IT_EVENTS = v_event
IT_EVENT_EXIT =
IS_PRINT =
TABLES
T_OUTTAB = I_ITAB
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
REFRESH I_ITAB.
ENDFORM. "display_alv_report
&----
*& Form top_of_page
&----
text
----
form top_of_page1.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = list_header1
I_LOGO = 'SMSLOGO'.
endform. "top_of_page1
The problem is somewhere in dates but i couldnt get where it is ...kindly help me in sorting it out its urgent.
Points will be awarded definately
Thanks in advance
Abaper
Message was edited by:
ABAPer
‎2007 Jun 08 6:15 AM
hi abaper,
just try ur report once after defining your date with type of sy-datum,
or
otherwise let us know wat is the exact problem of your report.
regards,
seshu.
‎2007 Jun 08 7:24 AM
Hi Maddipatla
The problem is if i run this report for any quarter of 2006 like from march to may or ny one its giving correct data. But when I run it for 2007 Total amount nd total tax amount is showing wrong figures ...and the posting date which should be less than tax deposit date is coming more than tax deposit date.
Thanks
Abaper
‎2007 Jun 08 7:30 AM
hi abaper,
that best way is to find the problem is debugging,
then you'll come to know where exact promblem is and u can solve that.
regards,
seshu.
‎2007 Jun 08 7:35 AM
Hi
Are you running this report in development or any other application server
here the point is if u r running in development then there may be a chance of data unavailble for the values which you had given. If it is not the problem let me know again
Reward all helpfull answers
Regards
Pavan
‎2007 Jun 08 7:46 AM
Hi
this code is working properly i'm getting data exactly for the year 2007 from january to till date
any way check this program again
i think it may be problem with in sufficient data in development
ok what is the SAP version you are using???
Ok try with this code again
*&---------------------------------------------------------------------*
*& Report ZTDS *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT ZTDS .
tables : J_1IEWTCHLN,WITH_ITEM,T059Z,BSEG,LFA1,T247,J_1IMOVEND,bkpf.
type-pools: slis, abap.
SELECT-OPTIONS : DATE FOR J_1IEWTCHLN-J_1IEXTCHDT.
DATA: V_REPID LIKE SY-REPID .
DATA : TAX1 LIKE WITH_ITEM OCCURS 0 WITH HEADER LINE,
post_date LIKE BKPF OCCURS 0 WITH HEADER LINE,
I_LFA1 LIKE LFA1 OCCURS 0 WITH HEADER LINE.
DATA : D LIKE J_1IEWTCHLN-J_1IEXTCHDT.
DATA : DT(2),DT1(2),FISCAL(4),MONTH1(10),MONTH2(10).
*DATA : MONTH LIKE T247 OCCURS 0 WITH HEADER LINE.
DATA : M(60).
DATA : PAN LIKE J_1IMOVEND OCCURS 0 WITH HEADER LINE.
DATA : begin of month occurs 1,
ltx like T247-ltx,
end of month.
DATA : BEGIN OF I_ITAB OCCURS 0,
BELNR LIKE WITH_ITEM-BELNR,
POST_DATE LIKE BKPF-BUDAT,
CH_EX_NO LIKE J_1IEWTCHLN-J_1IEXTCHLN,
CH_EX_DATE LIKE J_1IEWTCHLN-J_1IEXTCHDT,
CH_NO LIKE J_1IEWTCHLN-J_1IEXTCHLN,
CH_DATE LIKE J_1IEWTCHLN-J_1IEXTCHDT,
SECTION LIKE T059Z-QSCOD,
BASE_AMOUNT LIKE WITH_ITEM-WT_QSSHH,
TAX_AMOUNT LIKE WITH_ITEM-WT_QBSHH,
NAME2 LIKE LFA1-NAME2,
NAME1(70),
PAN LIKE J_1IMOVEND-J_1IPANNO,
END OF I_ITAB.
TYPES: BEGIN OF ITAB_LINE,
CLUSTR TYPE INT2,
CLUSTD(1000) TYPE X,
END OF ITAB_LINE.
DATA: E_ITAB TYPE TABLE OF ITAB_LINE.
DATA : CHALLAN LIKE J_1IEWTCHLN OCCURS 0 WITH HEADER LINE,
TAX LIKE WITH_ITEM OCCURS 0 WITH HEADER LINE.
DATA SECTION LIKE T059Z OCCURS 0 WITH HEADER LINE.
DATA I_BSEG LIKE BSEG OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF ITAB OCCURS 0 ,
DOC1 LIKE J_1IEWTCHLN-BELNR,
FISCAL1 LIKE J_1IEWTCHLN-GJAHR,
CH_NO1 LIKE J_1IEWTCHLN-J_1IINTCHLN,
CH_DATE1 LIKE J_1IEWTCHLN-J_1IINTCHDT,
CH_EX_DATE1 LIKE J_1IEWTCHLN-J_1IEXTCHDT,
CH_EX_NO1 LIKE J_1IEWTCHLN-J_1IEXTCHLN,
BSR1(10),
TAX_CODE LIKE with_item-wt_withcd,
SECTION LIKE T059Z-QSCOD,
ASS LIKE BSEG-ZUONR,
AMOUNT LIKE BSEG-DMBTR,
END OF ITAB.
DATA : BEGIN OF FINAL_ITAB OCCURS 0,
DOC LIKE J_1IEWTCHLN-BELNR,
FISCAL LIKE J_1IEWTCHLN-GJAHR,
TDS(10),
SURCHARGE(10),
ED_CESS(10),
CH_NO LIKE J_1IEWTCHLN-J_1IINTCHLN,
CH_DATE LIKE J_1IEWTCHLN-J_1IINTCHDT,
CH_EX_DATE LIKE J_1IEWTCHLN-J_1IEXTCHDT,
CH_EX_NO LIKE J_1IEWTCHLN-J_1IEXTCHLN,
BSR(10),
TAX_CODE LIKE with_item-wt_withcd,
SECTION LIKE T059Z-QSCOD,
ASS LIKE BSEG-ZUONR,
AMOUNT LIKE BSEG-DMBTR,
END OF FINAL_ITAB.
data: fieldcat type slis_fieldcat_alv,
fieldcat1 type slis_fieldcat_alv ,
sort type slis_sortinfo_alv,
G_STATUS TYPE SLIS_FORMNAME VALUE 'STANDARD_02'.
DATA: LIST_HEADER TYPE SLIS_T_LISTHEADER.
DATA: LIST_HEADER1 TYPE SLIS_T_LISTHEADER.
data :wa_feildcat type slis_t_fieldcat_alv.
data :wa_feildcat1 type slis_t_fieldcat_alv.
DATA: I_TITLE_EKKO TYPE LVC_TITLE VALUE 'FIRST LIST DISPLAYED'.
DATA: I_TITLE_EKPO TYPE LVC_TITLE VALUE 'SECONDRY LIST DISPLAYED'.
DATA: V_EVENTS TYPE SLIS_T_EVENT,
WA_EVENT TYPE SLIS_ALV_EVENT.
DATA: V_EVENT TYPE SLIS_T_EVENT,
WA_EVENT1 TYPE SLIS_ALV_EVENT.
INITIALIZATION.
V_REPID = SY-REPID.
PERFORM BUILD_FIELDCATLOG.
PERFORM EVENT_CALL.
PERFORM POPULATE_EVENT.
START-OF-SELECTION.
PERFORM DATA_RETRIEVAL.
PERFORM BUILD_LISTHEADER .
PERFORM DISPLAY_ALV_REPORT.
*&--------------------------------------------------------------------*
*& Form BUILD_FIELDCATLOG
*&--------------------------------------------------------------------*
* Fieldcatalog has all the field details from ekko
*---------------------------------------------------------------------*
FORM BUILD_FIELDCATLOG.
clear fieldcat.
fieldcat-fieldname = 'ASS'.
fieldcat-tabname = 'FINAL_ITAB'.
FIELDCAT-seltext_m = 'Cheque Number'.
fieldcat-key = 'X'.
fieldcat-emphasize = 'X'.
fieldcat-fix_column = 'X'.
FIELDCAT-NO_OUT = '0'.
append fieldcat to wa_feildcat.
clear fieldcat.
fieldcat-fieldname = 'AMOUNT'.
fieldcat-tabname = 'FINAL_ITAB'.
FIELDCAT-seltext_m = 'Total Tax Deposited'.
fieldcat-key = 'X'.
fieldcat-emphasize = 'X'.
fieldcat-fix_column = 'X'.
FIELDCAT-NO_OUT = '0'.
fieldcat-do_sum = 'X'.
append fieldcat to wa_feildcat.
clear fieldcat.
fieldcat-fieldname = 'CH_EX_NO'.
fieldcat-tabname = 'FINAL_ITAB'.
FIELDCAT-seltext_m = 'Challan Number'.
fieldcat-key = 'X'.
fieldcat-emphasize = 'X'.
fieldcat-hotspot = 'X'.
fieldcat-fix_column = 'X'.
FIELDCAT-NO_OUT = '0'.
append fieldcat to wa_feildcat.
clear fieldcat.
fieldcat-fieldname = 'CH_EX_DATE'.
fieldcat-tabname = 'FINAL_ITAB'.
FIELDCAT-seltext_m = 'Date on wich Tax Deposited'.
fieldcat-key = 'X'.
fieldcat-emphasize = ''.
fieldcat-fix_column = 'X'.
FIELDCAT-NO_OUT = '0'.
append fieldcat to wa_feildcat.
clear fieldcat.
fieldcat-fieldname = 'BSR'.
fieldcat-tabname = 'FINAL_ITAB'.
FIELDCAT-seltext_m = 'BSR Code'.
fieldcat-key = 'X'.
fieldcat-emphasize = ''.
fieldcat-fix_column = ''.
FIELDCAT-NO_OUT = 'O'.
append fieldcat to wa_feildcat.
clear fieldcat.
fieldcat-fieldname = 'SECTION'.
fieldcat-tabname = 'FINAL_ITAB'.
FIELDCAT-seltext_m = 'Section Code'.
fieldcat-key = '4'.
fieldcat-emphasize = ''.
fieldcat-fix_column = ''.
FIELDCAT-JUST = 'R'.
append fieldcat to wa_feildcat.
ENDFORM. "BUILD_FIELDCATLOG
*&--------------------------------------------------------------------*
*& Form EVENT_CALL
*&--------------------------------------------------------------------*
* we get all events - TOP OF PAGE or USER COMMAND in table v_events
*---------------------------------------------------------------------*
FORM EVENT_CALL.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = V_EVENTS
.
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. "EVENT_CALL
*&--------------------------------------------------------------------*
*& Form POPULATE_EVENT
*&--------------------------------------------------------------------*
* Events populated for TOP OF PAGE & USER COMAND
*---------------------------------------------------------------------*
FORM POPULATE_EVENT.
READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.
IF SY-SUBRC EQ 0.
WA_EVENT-FORM = 'TOP_OF_PAGE'.
MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =
WA_EVENT-FORM.
ENDIF.
READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'USER_COMMAND'.
IF SY-SUBRC EQ 0.
WA_EVENT-FORM = 'USER_COMMAND'.
MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =
WA_EVENT-NAME.
ENDIF.
ENDFORM. "POPULATE_EVENT
*&--------------------------------------------------------------------*
*& Form data_retrieval
*&--------------------------------------------------------------------*
* retreiving values from the database table ekko
*---------------------------------------------------------------------*
FORM DATA_RETRIEVAL.
SELECT * FROM J_1IEWTCHLN INTO TABLE CHALLAN WHERE J_1IEXTCHDT IN DATE.
SORT CHALLAN BY J_1IINTCHLN.
CLEAR CHALLAN.
IF NOT CHALLAN[] IS INITIAL.
SELECT * FROM WITH_ITEM INTO TABLE tax FOR ALL ENTRIES IN CHALLAN WHERE
J_1IINTCHLN = CHALLAN-J_1IINTCHLN AND GJAHR = CHALLAN-GJAHR.
SORT TAX BY WT_WITHCD.
CLEAR TAX.
SELECT * FROM BSEG INTO TABLE I_BSEG FOR ALL ENTRIES IN CHALLAN WHERE
BELNR = CHALLAN-BELNR AND BSCHL = '50'.
SORT I_BSEG BY BELNR.
CLEAR I_BSEG.
ENDIF.
IF NOT TAX[] IS INITIAL.
SELECT * FROM T059Z INTO TABLE SECTION FOR ALL ENTRIES IN TAX WHERE
WT_WITHCD = TAX-WT_WITHCD AND LAND1 = 'IN'.
SORT SECTION BY WT_WITHCD.
ENDIF.
LOOP AT CHALLAN.
ITAB-DOC1 = CHALLAN-BELNR.
ITAB-FISCAL1 = CHALLAN-GJAHR.
ITAB-CH_NO1 = CHALLAN-J_1IINTCHLN.
ITAB-CH_DATE1 = CHALLAN-J_1IINTCHDT.
ITAB-CH_EX_NO1 = CHALLAN-J_1IEXTCHLN.
ITAB-CH_EX_DATE1 = CHALLAN-J_1IEXTCHDT.
ITAB-BSR1 = challan-bankl.
IF ITAB-BSR1 = 'ICICI'.
ITAB-BSR1 = '6390070'.
ENDIF.
READ TABLE TAX WITH KEY J_1IINTCHLN = CHALLAN-J_1IINTCHLN.
IF SY-SUBRC EQ 0.
ITAB-TAX_CODE = TAX-WT_WITHCD.
ENDIF.
READ TABLE I_BSEG WITH KEY BELNR = CHALLAN-BELNR.
IF SY-SUBRC EQ 0 .
ITAB-ASS = I_BSEG-ZUONR.
itab-amount = I_BSEG-DMBTR.
ENDIF.
APPEND ITAB.
CLEAR ITAB.
ENDLOOP.
LOOP AT ITAB.
FINAL_ITAB-DOC = ITAB-DOC1.
FINAL_ITAB-FISCAL = ITAB-FISCAL1 .
FINAL_ITAB-CH_NO = ITAB-CH_NO1 .
FINAL_ITAB-CH_DATE = ITAB-CH_DATE1.
FINAL_ITAB-CH_EX_NO = ITAB-CH_EX_NO1.
FINAL_ITAB-CH_EX_DATE = ITAB-CH_EX_DATE1.
FINAL_ITAB-BSR = ITAB-BSR1.
FINAL_ITAB-TAX_CODE = ITAB-TAX_CODE.
FINAL_ITAB-ASS = ITAB-ASS .
FINAL_ITAB-AMOUNT = itab-amount.
READ TABLE SECTION WITH KEY WT_WITHCD = ITAB-TAX_CODE.
IF SY-SUBRC EQ 0.
FINAL_ITAB-SECTION = SECTION-QSCOD.
ENDIF.
APPEND FINAL_ITAB.
CLEAR FINAL_ITAB.
ENDLOOP.
*D = DATE.
SHIFT DATE BY 3 PLACES .
FISCAL = DATE.
SHIFT DATE BY 4 PLACES .
DT = DATE.
SHIFT DATE BY 8 PLACES .
DT1 = DATE.
select
lTX
from T247 into table month where MNR = DT AND spras = sy-langu.
LOOP AT MONTH.
MONTH1 = MONTH-LTX.
ENDLOOP.
select
lTX
from T247 into table month where MNR = DT1 AND spras = sy-langu.
LOOP AT MONTH.
MONTH2 = MONTH-LTX.
CONCATENATE 'From : ' MONTH1 '-' MONTH2 '' FISCAL INTO M.
ENDLOOP.
ENDFORM. "data_retrieval
*&--------------------------------------------------------------------*
*& Form bUild_listheader
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->I_LISTHEADEtext
*---------------------------------------------------------------------*
FORM BUILD_LISTHEADER .
DATA L_HEADER TYPE SLIS_LISTHEADER.
l_header-typ = 'H'.
l_header-info = 'TDS Deposit Report'.
APPEND L_HEADER TO LIST_HEADER.
l_header-typ = 'S'.
l_header-info = M.
APPEND L_HEADER TO LIST_HEADER.
l_header-typ = 'S'.
l_header-info = 'SMS India Pvt. Ltd.'.
APPEND L_HEADER TO LIST_HEADER.
l_header-typ = 'S'.
l_header-info = 'Udyog Vihar, Phase II'.
APPEND L_HEADER TO LIST_HEADER.
l_header-typ = 'S'.
l_header-info = 'Gurgaon'.
APPEND L_HEADER TO LIST_HEADER.
ENDFORM. "build_listheader
*&--------------------------------------------------------------------*
*& Form display_alv_report
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM DISPLAY_ALV_REPORT.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = V_repid
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
I_BACKGROUND_ID = 'ALV_BACKGROUND'
IT_FIELDCAT = wa_feildcat
IT_EVENTS = v_events
* IT_EVENT_EXIT =
* IS_PRINT =
TABLES
T_OUTTAB = FINAL_ITAB
.
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. "display_alv_report
*&--------------------------------------------------------------------*
*& Form top_of_page
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
form top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = list_header
I_LOGO = 'SMSLOGO'.
endform. "top_of_page
*&--------------------------------------------------------------------*
*& Form USER_COMMAND
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->R_UCOMM text
* -->, text
* -->RS_SLEFIELDtext
*---------------------------------------------------------------------*
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM RS_SELFIELD TYPE
SLIS_SELFIELD.
*REFRESH FINAL_ITAB.
CASE R_UCOMM.
WHEN '&IC1'.
READ TABLE FINAL_ITAB INDEX RS_SELFIELD-TABINDEX.
IF RS_SELFIELD-TABINDEX = '0'.
EXIT.
ELSE.
EXPORT FINAL_ITAB-CH_EX_NO FINAL_ITAB-CH_NO FINAL_ITAB-CH_EX_DATE
FINAL_ITAB-SECTION M TO MEMORY ID 'ABCD'.
PERFORM BUILD_FIELDCATLOG_DETAIL.
PERFORM EVENT_CALL_DETAIL.
PERFORM POPULATE_EVENT_DETAIL.
PERFORM DATA_RETRIEVAL_DETAIL.
PERFORM BUILD_LISTHEADER_DETAIL .
PERFORM display_alv_report_detail.
ENDIF.
ENDCASE.
ENDFORM. "user_command
*&--------------------------BUILD_FIELDCATLOG_DETAIL--------------------
*--------*
*-----------------------------------------------------------------------
*--------*
FORM BUILD_FIELDCATLOG_DETAIL.
REFRESH wa_feildcat1.
clear fieldcat1.
fieldcat1-fieldname = 'BELNR'.
fieldcat1-tabname = 'I_ITAB'.
FIELDCAT1-seltext_m = 'Document Number'.
fieldcat1-key = 'X'.
fieldcat1-emphasize = 'X'.
fieldcat1-fix_column = 'X'.
FIELDCAT1-NO_OUT = '0'.
append fieldcat1 to wa_feildcat1.
clear fieldcat1.
fieldcat1-fieldname = 'POST_DATE'.
fieldcat1-tabname = 'I_ITAB'.
FIELDCAT1-seltext_m = 'Doc. Posting Date'.
fieldcat1-key = 'X'.
fieldcat1-emphasize = 'X'.
fieldcat1-fix_column = 'X'.
FIELDCAT1-NO_OUT = '0'.
append fieldcat1 to wa_feildcat1.
clear fieldcat1.
fieldcat1-fieldname = 'BASE_AMOUNT'.
fieldcat1-tabname = 'I_ITAB'.
FIELDCAT1-seltext_m = 'Total Amount'.
fieldcat1-key = 'X'.
fieldcat1-emphasize = 'X'.
fieldcat1-fix_column = 'X'.
FIELDCAT1-NO_OUT = '0'.
fieldcat1-do_sum = 'X'.
append fieldcat1 to wa_feildcat1.
clear fieldcat1.
fieldcat1-fieldname = 'TAX_AMOUNT'.
fieldcat1-tabname = 'I_ITAB'.
FIELDCAT1-seltext_m = 'Tax Amount'.
fieldcat1-key = 'X'.
fieldcat1-emphasize = 'X'.
fieldcat1-fix_column = 'X'.
FIELDCAT1-NO_OUT = '0'.
fieldcat1-do_sum = 'X'.
append fieldcat1 to wa_feildcat1.
clear fieldcat1.
fieldcat1-fieldname = 'CH_EX_NO'.
fieldcat1-tabname = 'I_ITAB'.
FIELDCAT1-seltext_m = 'Challan Number'.
fieldcat1-key = 'X'.
fieldcat1-emphasize = 'X'.
fieldcat1-hotspot = 'X'.
fieldcat1-fix_column = 'X'.
FIELDCAT1-NO_OUT = '0'.
append fieldcat1 to wa_feildcat1.
clear fieldcat1.
fieldcat1-fieldname = 'CH_EX_DATE'.
fieldcat1-tabname = 'I_ITAB'.
FIELDCAT1-seltext_m = 'Date on wich Tax Deposited'.
fieldcat1-key = 'X'.
fieldcat1-emphasize = ''.
fieldcat1-fix_column = 'X'.
FIELDCAT1-NO_OUT = '0'.
append fieldcat1 to wa_feildcat1.
clear fieldcat1.
fieldcat1-fieldname = 'NAME1'.
fieldcat1-tabname = 'I_ITAB'.
FIELDCAT1-seltext_m = 'Vendor Name'.
fieldcat1-key = 'X'.
fieldcat1-emphasize = ''.
fieldcat1-fix_column = ''.
FIELDCAT1-NO_OUT = 'O'.
append fieldcat1 to wa_feildcat1.
clear fieldcat1.
fieldcat1-fieldname = 'PAN'.
fieldcat1-tabname = 'I_ITAB'.
FIELDCAT1-seltext_m = 'Permanent Account Number'.
fieldcat1-key = 'X'.
fieldcat1-emphasize = ''.
fieldcat1-fix_column = ''.
FIELDCAT1-NO_OUT = 'O'.
append fieldcat1 to wa_feildcat1.
clear fieldcat1.
fieldcat1-fieldname = 'SECTION '.
fieldcat1-tabname = 'I_ITAB'.
FIELDCAT1-seltext_m = 'Section Code'.
fieldcat1-key = '4'.
fieldcat1-emphasize = ''.
fieldcat1-fix_column = ''.
FIELDCAT1-JUST = 'R'.
append fieldcat1 to wa_feildcat1.
ENDFORM.
*&----------------------------END BUILD_FIELDCATLOG_DETAIL-------------*
*&--------------------------------------------------------------------*
*& Form EVENT_CALL
*&--------------------------------------------------------------------*
* we get all events - TOP OF PAGE or USER COMMAND in table v_events
*---------------------------------------------------------------------*
FORM EVENT_CALL_DETAIL.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = V_EVENT
.
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. "EVENT_CALL
*&--------------------------------------------------------------------*
*& Form POPULATE_EVENT
*&--------------------------------------------------------------------*
* Events populated for TOP OF PAGE & USER COMAND
*---------------------------------------------------------------------*
FORM POPULATE_EVENT_DETAIL.
READ TABLE V_EVENT INTO WA_EVENT1 WITH KEY NAME = 'TOP_OF_PAGE'.
IF SY-SUBRC EQ 0.
WA_EVENT1-FORM = 'TOP_OF_PAGE1'.
MODIFY V_EVENT FROM WA_EVENT1 TRANSPORTING FORM WHERE NAME =
WA_EVENT1-FORM.
ENDIF.
* READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'USER_COMMAND'.
* IF SY-SUBRC EQ 0.
* WA_EVENT-FORM = 'USER_COMMAND'.
* MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =
*WA_EVENT-NAME.
* ENDIF.
ENDFORM. "POPULATE_EVENT
FORM DATA_RETRIEVAL_DETAIL.
IMPORT FINAL_ITAB-CH_EX_NO FINAL_ITAB-CH_NO FINAL_ITAB-CH_EX_DATE
FINAL_ITAB-SECTION M FROM MEMORY ID 'ABCD'.
SELECT * FROM WITH_ITEM INTO TABLE TAX1 WHERE J_1IINTCHLN =
FINAL_ITAB-CH_NO .
IF SY-SUBRC EQ 0.
ENDIF.
SORT TAX1 BY BELNR.
CLEAR TAX1.
SELECT * FROM LFA1 INTO TABLE I_LFA1 FOR ALL ENTRIES IN TAX1 WHERE LIFNR
= TAX1-WT_ACCO.
IF SY-SUBRC EQ 0.
ENDIF.
SORT I_LFA1 BY LIFNR.
CLEAR I_LFA1.
SELECT * FROM J_1IMOVEND INTO TABLE PAN FOR ALL ENTRIES IN TAX1 WHERE
LIFNR = TAX1-WT_ACCO.
IF SY-SUBRC EQ 0.
ENDIF.
SORT PAN BY LIFNR.
CLEAR PAN.
SELECT * FROM BKPF INTO TABLE POST_DATE FOR ALL ENTRIES IN TAX1 WHERE
BELNR = TAX1-BELNR AND GJAHR = FISCAL.
IF SY-SUBRC EQ 0.
ENDIF.
SORT POST_DATE BY BELNR.
CLEAR POST_DATE.
DATA : TAX_AMOUNT(15),BASE_AMOUNT(15).
LOOP AT TAX1 .
I_ITAB-BELNR = TAX1-BELNR.
BASE_AMOUNT = TAX1-WT_QSSHH.
REPLACE '-' LENGTH 1 WITH '' INTO BASE_AMOUNT.
I_ITAB-BASE_AMOUNT = BASE_AMOUNT.
TAX_AMOUNT = TAX1-WT_QBSHH.
REPLACE '-' LENGTH 1 WITH '' INTO TAX_AMOUNT.
I_ITAB-TAX_AMOUNT = TAX_AMOUNT.
READ TABLE FINAL_ITAB WITH KEY CH_NO = TAX1-J_1IINTCHLN .
I_ITAB-CH_EX_NO = FINAL_ITAB-CH_EX_NO.
I_ITAB-CH_EX_DATE = FINAL_ITAB-CH_EX_DATE.
I_ITAB-SECTION = FINAL_ITAB-SECTION.
READ TABLE I_LFA1 WITH KEY LIFNR = TAX1-WT_ACCO.
IF SY-SUBRC EQ 0.
I_ITAB-NAME2 = I_LFA1-NAME2.
I_ITAB-NAME1 = I_LFA1-NAME1.
CONCATENATE I_ITAB-NAME1 I_ITAB-NAME2 INTO I_ITAB-NAME1 separated BY ' '
.
ENDIF.
READ TABLE PAN WITH KEY LIFNR = TAX1-WT_ACCO.
IF SY-SUBRC EQ 0.
I_ITAB-PAN = PAN-J_1IPANNO.
ENDIF.
READ TABLE POST_DATE WITH KEY BELNR = TAX1-BELNR.
IF SY-SUBRC EQ 0.
I_ITAB-POST_DATE = POST_DATE-BUDAT.
ENDIF.
APPEND I_ITAB.
CLEAR I_ITAB.
CLEAR TAX_AMOUNT.
CLEAR BASE_AMOUNT.
ENDLOOP.
ENDFORM.
*&--------------------------------------------------------------------*
*& Form bUild_listheader
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->I_LISTHEADEtext
*---------------------------------------------------------------------*
FORM BUILD_LISTHEADER_DETAIL .
REFRESH LIST_HEADER1.
DATA L_HEADER1 TYPE SLIS_LISTHEADER.
l_header1-typ = 'H'.
l_header1-info = 'Annexure per challan'.
APPEND L_HEADER1 TO LIST_HEADER1.
l_header1-typ = 'S'.
l_header1-info = M.
APPEND L_HEADER1 TO list_header1.
l_header1-typ = 'S'.
l_header1-info = 'SMS India Pvt. Ltd.'.
APPEND L_HEADER1 TO list_header1.
l_header1-typ = 'S'.
l_header1-info = 'Udyog Vihar, Phase II'.
APPEND L_HEADER1 TO LIST_HEADER1.
l_header1-typ = 'S'.
l_header1-info = 'Gurgaon'.
APPEND L_HEADER1 TO LIST_HEADER1.
ENDFORM. "build_listheader
*&--------------------------------------------------------------------*
*& Form display_alv_report
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM DISPLAY_ALV_REPORT_DETAIL.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = V_repid
* I_CALLBACK_USER_COMMAND = 'F_USER_COMMAND'
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE1'
I_BACKGROUND_ID = 'ALV_BACKGROUND'
IT_FIELDCAT = wa_feildcat1
IT_EVENTS = v_event
* IT_EVENT_EXIT =
* IS_PRINT =
TABLES
T_OUTTAB = I_ITAB
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
REFRESH I_ITAB.
ENDFORM. "display_alv_report
*&--------------------------------------------------------------------*
*& Form top_of_page
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
form top_of_page1.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = list_header1
I_LOGO = 'SMSLOGO'.
endform. "top_of_page1Reward all helpfull answers
Regards
Pavan
‎2007 Jun 08 9:50 AM
Hi praveen
I am using this report in production having sufficient data.
The report that u r giving me have you made ny changes in it?
Thanks
Abaper
‎2007 Jun 08 9:53 AM
Hi
1st execute this report in Development and check whether it is working or not after it is working properly then check it out in quality
Regards
Pavan
‎2007 Jun 08 10:28 AM
Hi Praveen
Your report is also giving same output as mine was doing...its not showing document date ..1)document date column is coming blank...2)Its showing few cheque numbers which should not be there 3) Total amount and tax amount figures are not correct
‎2007 Jun 08 11:35 AM
Hi
here is the output i'm getting using this code
check this screen shot do u want this type of output
http://img264.imageshack.us/my.php?image=screenlm7.jpg
Regards
Pavan
‎2007 Jun 08 12:25 PM
Hi Praveen
Give me ur mail-id i will send u wat i am getting and wat I want
Thanks
Abaper
‎2007 Jun 08 12:29 PM
1st confirm me whether u require the output as i had given to you or not??
My mail id is praveen.srrec@gmail.com
Regards
Pavan