‎2007 Oct 29 4:09 AM
sir
i m create a zreport and fetch the data in database but when we executed the report every line in report repeated in 2 times plz check my coding
REPORT ZXP2.
Tables : bkpf, bseg,bkpf_alv.
DATA: BEGIN OF ITAB OCCURS 0,
BUDAT LIKE BKPF-BUDAT,
BLART LIKE BKPF-BLART,
BELNR LIKE BKPF-BELNR,
BSCHL LIKE BSEG-BSCHL,
HKONT LIKE BSEG-HKONT,
wrbtr like bseg-wrbtr,
sgtxt like bseg-sgtxt,
filkd like bseg-filkd,
END OF ITAB.
SELECT-OPTIONS : s_budat for bkpf-budat.
SELECT BUDAT FROM BKPF INTO CORRESPONDING FIELDS OF ITAB WHERE BUDAT IN S_BUDAT.
APPEND ITAB.
ENDSELECT.
SELECT BSCHL sgtxt belnr wrbtr FROM BSEG INTO CORRESPONDING FIELDS OF ITAB.
APPEND ITAB.
ENDSELECT.
write:/ sy-uline.
write:/,40'NTF INDIA PVT LTD'.
write:/,45 'LEDGER'.
write :/, 35 'From:', s_budat-low , 'TO' , s_budat-high.
write:/, sy-uline.
write:/, 'Date', 10 'Voucher NO', 30 'Particulars', 50 'Debit/Credit', 75 'balance'.
write:/, sy-uline.
loop at itab.
WRITE:/, ITAB-BUDAT, 15 itab-belnr, 30 itab-sgtxt , 60 ITAB-BSCHL, 70 itab-wrbtr.
endloop.
ritu
‎2007 Oct 29 4:12 AM
SELECT BUDAT FROM BKPF INTO CORRESPONDING FIELDS OF ITAB WHERE BUDAT IN S_BUDAT.
<b>APPEND ITAB.</b>
ENDSELECT.
SELECT BSCHL sgtxt belnr wrbtr FROM BSEG INTO CORRESPONDING FIELDS OF ITAB.
<b>APPEND ITAB.</b>
ENDSELECT.
<b>do not write append remove it</b> ,it will fetch data into table only once
Rewards if useful.....
Minal Nampalliwar
‎2007 Oct 29 4:17 AM
HI,
here u are using two select statements and in both of them u r using append statements.append will add new row each time.instead of writing lke this use join condition.for using join condition u should have a common field in both the tables u r using.see the syntax for join statement.
<b>example:</b>
DATA: BEGIN OF wa,
carrid TYPE spfli-carrid,
connid TYPE spfli-connid,
fldate TYPE sflight-fldate,
bookid TYPE sbook-bookid,
END OF wa,
itab LIKE SORTED TABLE OF wa
WITH UNIQUE KEY carrid connid fldate bookid.
SELECT pcarrid pconnid ffldate bbookid
INTO CORRESPONDING FIELDS OF TABLE itab
FROM ( ( spfli AS p
INNER JOIN sflight AS f ON pcarrid = fcarrid AND
pconnid = fconnid )
INNER JOIN sbook AS b ON bcarrid = fcarrid AND
bconnid = fconnid AND
bfldate = ffldate )
WHERE p~cityfrom = 'FRANKFURT' AND
p~cityto = 'NEW YORK' AND
fseatsmax > fseatsocc.
LOOP AT itab INTO wa.
AT NEW fldate.
WRITE: / wa-carrid, wa-connid, wa-fldate.
ENDAT.
WRITE / wa-bookid.
ENDLOOP.
rgds,
bharat.