2007 Dec 22 7:54 AM
Hi all,
In a report program i have used a inner join. I am getting error in the where condition. Here I have furnished part of my code for ur reference.
Tables : mara, makt, mard.
data : begin of itab occurs 0,
matnr like mara-matnr,
maktx like makt-maktx,
lgort like mard-lgort,
labst like mard-labst,
end of itab.
parameters : matnr like mara-matnr.
start-of-selection.
select maramatnr maktmaktx mardlgort mardlabst into corresponding fields of iab from mara inner join maktx on maramatnr = maktmatnr inner join mard on maktmatnr = mardmatnr where matnr eq matnr.
in the where condition I am getting the following error message.
matnr has two meanings in data dictionary.
Please help me in sort out this problem and also tell me more abt inner joins.
2007 Dec 22 1:11 PM
Hi,
No expert on inner joins, but this is how I do it...
select amatnr bmaktx clgort clabst into corresponding fields of iab from
( ( mara as a
inner join makt as b on amatnr = bmatnr )
inner join mard as c on amatnr = cmatnr )
where a~matnr = {where condition}.
The where condition is usually something outside the select statement, i.e. a passed variable, etc.
Regards,
Satish.
Hi all,
In a report program i have used a inner join. I am getting error in the where condition. Here I have furnished part of my code for ur reference.
Tables : mara, makt, mard.
data : begin of itab occurs 0,
matnr like mara-matnr,
maktx like makt-maktx,
lgort like mard-lgort,
labst like mard-labst,
end of itab.
parameters : matnr like mara-matnr.
start-of-selection.
select maramatnr maktmaktx mardlgort mardlabst into corresponding fields of iab from mara inner join maktx on maramatnr = maktmatnr inner join mard on maktmatnr = mardmatnr where matnr eq matnr.
in the where condition I am getting the following error message.
matnr has two meanings in data dictionary.
Please help me in sort out this problem and also tell me more abt inner joins.
2007 Dec 22 8:48 AM
Hi,
Try this
Tables : mara, makt, mard.
data : begin of itab occurs 0,
matnr like mara-matnr,
maktx like makt-maktx,
lgort like mard-lgort,
labst like mard-labst,
end of itab.
parameters : s_matnr like mara-matnr.
start-of-selection.
select maramatnr maktmaktx mardlgort mardlabst into corresponding fields of itab from ((mara inner join makt on maramatnr = maktmatnr) inner join mard on maktmatnr = mardmatnr )where matnr eq s_matnr.
2007 Dec 22 9:12 AM
HI Sashi,
Select AMATNR BMAKTX CLGORT CLABST INTO CORRESPONDING FIELDS OF TABLE ITAB FROM (MARA AS A INNER JOIN MAKT AS B ON AMATNR = BMATNR) INNER JOIN MARD AS C ON AMATNR = CMATNR WHERE MATNR = P_MATNR.
Reward if useful
Regards
ANUPAM
2007 Dec 22 9:21 AM
hi
here iam giving example program
REPORT ZINNERJOINS no standard page heading line-count 60(4).
TABLES : LFA1,EKKO,EKPO.
SELECT-OPTIONS : S_LIFNR FOR LFA1-LIFNR.
DATA : BEGIN OF ITAB OCCURS 0,
LIFNR LIKE LFA1-LIFNR,
NAME1 LIKE LFA1-NAME1,
EBELN LIKE EKKO-EBELN,
AEDAT LIKE EKKO-AEDAT,
EBELP LIKE EKPO-EBELP,
MENGE LIKE EKPO-MENGE,
END OF ITAB.
SELECT LFA1LIFNR LFA1NAME1 EKKOEBELN EKKOAEDAT EKPOEBELP EKPOMENGE INTO TABLE ITAB FROM LFA1 INNER JOIN EKKO ON LFA1LIFNR = EKKOLIFNR
INNER JOIN EKPO ON EKKOEBELN = EKPOEBELN WHERE LFA1~LIFNR IN S_LIFNR.
LOOP AT ITAB.
WRITE:/ ITAB-LIFNR,ITAB-NAME1,ITAB-EBELN,ITAB-AEDAT,ITAB-EBELP,ITAB-MENGE.
ENDLOOP.
top-of-page.
write : / 'this is vendors report'.
i think u have to write where mara~matnr eq matnr
Reward if u find useful
Regards
Ngesh.Paruchuri
2007 Dec 22 1:11 PM
Hi,
No expert on inner joins, but this is how I do it...
select amatnr bmaktx clgort clabst into corresponding fields of iab from
( ( mara as a
inner join makt as b on amatnr = bmatnr )
inner join mard as c on amatnr = cmatnr )
where a~matnr = {where condition}.
The where condition is usually something outside the select statement, i.e. a passed variable, etc.
Regards,
Satish.
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |