03-28-2010 2:18 PM
Hi, I have the following code, when i run the program am getting correct result but 3 times
can you help me? it is problem with the Join or ,,,?
TABLES: ekko,ekpo,ekbe,rbkp.
data: BEGIN OF itab OCCURS 0, "
bukrs like ekko-bukrs,
ebeln like ekko-ebeln,
aedat like ekko-aedat,
bsart like ekko-bsart,
ekgrp like ekko-ekgrp,
inco1 like ekko-inco1,
inco2 like ekko-inco2,
lifnr like ekko-lifnr,
waers like ekko-waers,
wkurs like ekko-wkurs,
ernam like ekko-ernam,
BRTWR LIKE ekpo-brtwr,
belnr like EKBE-belnr,
BEWTP LIKE EKBE-BEWTP,
"EKPO TABLE
end of itab.
AT SELECTION-SCREEN on s_bukrs.
if s_bukrs = '1000' or '2000' .
START-OF-SELECTION.
SELECT ekkobukrs ekkoebeln ekkoaedat ekkobsart ekkoekgrp ekkolifnr ekkowaers ekkowkurs ekkoernam ekpobrtwr EKBEbelnr EKBEbewtp
into CORRESPONDING FIELDS OF TABLE itab from ekko
inner join EKPO on ekPOEBELN = ekkoebeln
Inner Join EKBE on EKBEEBELN = ekPOEBELN
WHERE ekkobukrs IN S_bukrs AND ekkobsart IN s_bsart AND ekkoebeln IN s_ebeln AND EKBEbewtp EQ 'E'.
END-OF-SELECTION.
"SORT ITAB BY EBELN ascending.
LOOP AT ITAB .
"move-corresponding line to line1.
write:/
ITAB-bukrs under 'Company Code',
ITAB-ebeln UNDER 'PO-Number',
ITAB-aedat UNDER 'Date' ,
ITAB-bsart UNDER 'Doc-Type' ,
ITAB-ekgrp UNDER 'Purchase-Grp' ,
ITAB-lifnr UNDER 'Vendor' ,
ITAB-waers UNDER 'Currency',
ITAB-wkurs UNDER 'Rate' ,
ITAB-brtwr under 'Gross Value',
ITAB-ernam UNDER 'Created By',
ITAB-belnr UNDER 'Material Doc NO',
ITAB-bewtp Under 'HCT'.
EndLoop .
*write:/5 'Purchase-Order',25 'Date',40 'Material Document',60 'Hct'.
*uline.
*skip.
write:/5 'Company Code',25 'PO-Number',40 'Date',55 'Doc-Type',70 'Purchase-Grp',85 'Vendor',100 'Currency',115 'Rate',125 'Created By',
140 'Gross Value', 160 'Material Doc NO' , 175 'HCT'.
ULINE.
SKIP.
03-28-2010 3:34 PM
Hi,
Problem is with INNER JOIN Condition, Please use following Select Query :
SELECT ekko~bukrs ekko~ebeln ekko~aedat ekko~bsart ekko~ekgrp ekko~lifnr ekko~waers ekko~wkurs ekko~ernam ekpo~brtwr EKBE~belnr EKBE~bewtp
into CORRESPONDING FIELDS OF TABLE itab from ekko
INNER JOIN ekpo
ON ekko~ebeln = ekpo~ebeln
INNER JOIN ekbe
ON ekpo~ebeln = ekbe~ebeln
AND ekpo~ebelp = ekbe~ebelp
WHERE ekko~bukrs IN S_bukrs AND ekko~bsart IN s_bsart AND ekko~ebeln IN s_ebeln AND EKBE~bewtp EQ 'E'.
Hope this helps.
Regards,
Chandravadan
03-28-2010 3:34 PM
Hi,
Problem is with INNER JOIN Condition, Please use following Select Query :
SELECT ekko~bukrs ekko~ebeln ekko~aedat ekko~bsart ekko~ekgrp ekko~lifnr ekko~waers ekko~wkurs ekko~ernam ekpo~brtwr EKBE~belnr EKBE~bewtp
into CORRESPONDING FIELDS OF TABLE itab from ekko
INNER JOIN ekpo
ON ekko~ebeln = ekpo~ebeln
INNER JOIN ekbe
ON ekpo~ebeln = ekbe~ebeln
AND ekpo~ebelp = ekbe~ebelp
WHERE ekko~bukrs IN S_bukrs AND ekko~bsart IN s_bsart AND ekko~ebeln IN s_ebeln AND EKBE~bewtp EQ 'E'.
Hope this helps.
Regards,
Chandravadan
03-28-2010 8:13 PM
Problem is with INNER JOIN Condition, Please use following Select Query :
SELECT ekkobukrs ekkoebeln ekkoaedat ekkobsart ekkoekgrp ekkolifnr ekkowaers ekkowkurs ekkoernam ekpobrtwr EKBEbelnr EKBEbewtp
into CORRESPONDING FIELDS OF TABLE itab from ekko
INNER JOIN ekpo
ON ekkoebeln = ekpoebeln
INNER JOIN ekbe
ON ekpoebeln = ekbeebeln
AND ekpoebelp = ekbeebelp
WHERE ekkobukrs IN S_bukrs AND ekkobsart IN s_bsart AND ekkoebeln IN s_ebeln AND EKBEbewtp EQ 'E'.
Hope this helps.
Regards,
Chandravadan
It is working fine, Thanks Chandravadan and thanks for everybody
03-28-2010 3:39 PM
Result seems to be right because it is displaying line item.
Regards
Ashok Advani
03-28-2010 3:41 PM
Result seems to be right because it is displaying line item.
Regards
Ashok Advani