‎2008 May 23 8:22 AM
sir,
i have to access dat from same field in two diffrent columns.
For eg:
SELECT aerfmg algort amatnr amblnr awerks bbudat INTO CORRESPONDING FIELDS OF
TABLE itab FROM mseg AS a INNER JOIN mkpf AS b ON
amblnr = bmblnr WHERE
a~werks = '1000' AND
a~mblnr IN ('4900000088','4900000086','4900000096','4900000104','4900000107','4900000091','4900000092','4900000093','5000000074' ) AND
a~matnr = 'DC0018' AND
a~lgort = 'FGS' AND
a~bwart = '101' AND
b~budat IN period.
SELECT algort aerfmg amatnr amblnr awerks bbudat INTO CORRESPONDING FIELDS OF
itab FROM mseg AS a INNER JOIN mkpf AS b ON
amblnr = bmblnr WHERE
a~werks = '1000' AND
a~mblnr = '4900000001' AND
a~matnr = 'DC0018' AND
a~lgort = 'EXS' AND
a~bwart = '311' AND
b~budat IN period.
ENDSELECT.
in this i want erfmg value to be in two different columns
‎2008 May 23 8:30 AM
Hi,
in your itab have an additional new field.
after your select statement, loop at itab, assign the erfmg value to the new field in your itab and modify the internal table.
‎2008 May 23 11:00 AM
Hi,
You can try like this....
create table itab with fields,
erfmg type tablename-erfmg,
erfmg1 type tablename-erfmg,lgort type tablename-lgort,
matnr type tablename-matnr and so on...
take all the fields you require in that internal table....
and change your select query like this..
******************************************
SELECT aerfmg algort amatnr amblnr awerks bbudat INTO CORRESPONDING FIELDS OF
TABLE itab FROM mseg AS a INNER JOIN mkpf AS b ON
amblnr = bmblnr WHERE
a~werks = '1000' AND
a~mblnr IN ('4900000088','4900000086','4900000096','4900000104','4900000107','4900000091','4900000092','4900000093','5000000074' ) AND
a~matnr = 'DC0018' AND
a~lgort = 'FGS' AND
a~bwart = '101' AND
b~budat IN period.
loop at itab.
itab-erfmg1 = itab-erfmg.
endloop.
SELECT algort aerfmg amatnr amblnr awerks bbudat INTO CORRESPONDING FIELDS OF
itab FROM mseg AS a INNER JOIN mkpf AS b ON
amblnr = bmblnr WHERE
a~werks = '1000' AND
a~mblnr = '4900000001' AND
a~matnr = 'DC0018' AND
a~lgort = 'EXS' AND
a~bwart = '311' AND
b~budat IN period.
ENDSELECT.
***********************************************
the changes which i have made are in bold characters check it out.
Reward if helpful.
with regards,
Syed
‎2008 May 23 11:29 AM
Try This
declare an additinal field in your internal table.
eg: erfmg1
select data into work area
SELECT algort aerfmg amatnr amblnr awerks bbudat INTO CORRESPONDING FIELDS OF itab
FROM mseg AS a INNER JOIN mkpf AS b ON
amblnr = bmblnr WHERE
a~werks = '1000' AND
a~mblnr = '4900000001' AND
a~matnr = 'DC0018' AND
a~lgort = 'EXS' AND
a~bwart = '311' AND
b~budat IN period.
itab-erfmg1 = a~erfng or itab-erfmg = mkpf-erfmg
append itab.
clear itab.
ENDSELECT.