‎2009 Feb 11 12:07 PM
I have internal table below
TYPES : BEGIN OF st_final,
partner LIKE but000-partner,
adr_kind LIKE but021-adr_kind,
addrnumber LIKE adrc-addrnumber,
END OF st_final.
DATA : it_final TYPE TABLE OF st_final,
wa_final LIKE LINE OF it_final.
SELECT partner
adr_kind
addrnumber
FROM but021
INTO CORRESPONDING FIELDS OF TABLE it_final
FOR ALL ENTRIES IN it_but100
WHERE partner = it_but100-partner.
after above statement when i am giving below sql statement i am getting error as
"unknown column name standard, not determined until runtime, you cannot specify a field list.
SELECT partner
'STANDARD' as adr_kind
addrnumber
FROM but020
APPENDING CORRESPONDING FIELDS OF TABLE it_final
FOR ALL ENTRIES IN it_but100
WHERE partner = it_but100-partner.
actually i dont want to keep adr_kind field blank. since but020 dont have adr_kind field, i want to put there 'STANDARD' word instead of blank.
actually in oracle pl/sql alias like this is supported. but here it is not working
Pls help
Regards,
Santosh
‎2009 Feb 12 5:58 AM
Hi Santosh,
modify the internal table this way..it would work......
TYPES : BEGIN OF st_final,
partner LIKE but000-partner,
adr_kind LIKE but021-adr_kind,
addrnumber LIKE adrc-addrnumber,
END OF st_final.
DATA : it_final TYPE TABLE OF st_final,
wa_final LIKE LINE OF it_final.
SELECT partner
adr_kind
addrnumber
FROM but021
INTO CORRESPONDING FIELDS OF TABLE it_final
FOR ALL ENTRIES IN it_but100
WHERE partner = it_but100-partner.
st_final-adr_kind = 'STANDARD'.
modify it_final from st_final
transporting adr_kind
where adr_kind is initial.
Regards,
Mdi.Deeba
‎2009 Feb 11 12:09 PM
SELECT partner
addrnumber
FROM but020
APPENDING CORRESPONDING FIELDS OF TABLE it_final
FOR ALL ENTRIES IN it_but100
WHERE partner = it_but100-partner.Remove 'Standard' as ... Oracle statement doesnt work literally in SAP.
Best regards,
Prashant
‎2009 Feb 11 12:13 PM
hi,
Your purpose can be achieved in this way.
SELECT partner
adr_kind
addrnumber
FROM but021
INTO CORRESPONDING FIELDS OF TABLE it_final
FOR ALL ENTRIES IN it_but100
WHERE partner = it_but100-partner.
SELECT partner
addrnumber
FROM but020
APPENDING CORRESPONDING FIELDS OF TABLE it_final
FOR ALL ENTRIES IN it_but100
WHERE partner = it_but100-partner.
loop at it_final.
if it_final-adr_kind is initial.
it_final-adr_kind = 'STANDARD'.
MODIFY TABLE IT_FINAL FROM IT_FINAL TRANSPORTING ADR_KIND.
endif.
endloop.Thanks
Sharath
‎2009 Feb 11 12:13 PM
do:
SELECT partner
addrnumber
FROM but020
APPENDING CORRESPONDING FIELDS OF TABLE it_final
FOR ALL ENTRIES IN it_but100
WHERE partner = it_but100-partner.
loop at it_final into wa_final where adr_kind is initial.
wa_final-adr_kind = 'STANDARD'.
modify it_final from wa_final.
endloop.
‎2009 Feb 11 12:14 PM
Hi,
Dont select the adr_kind field in your select query,then it will work.
Regards,
jaya
‎2009 Feb 11 12:32 PM
hi.....
I HAVE CHECKED IT AND PROVIDING YOU WITH WORKING CODE
this statement
SELECT partner
'STANDARD' as adr_kind * is not supported as open sql in sap
addrnumber
FROM but020
APPENDING CORRESPONDING FIELDS OF TABLE it_final
FOR ALL ENTRIES IN it_but100
WHERE partner = it_but100-partner.
so you can go like
SELECT partner
adr_kind
addrnumber
FROM but020
APPENDING CORRESPONDING FIELDS OF TABLE it_final
FOR ALL ENTRIES IN it_but100
WHERE partner = it_but100-partner.
and then
loop at it_final.
if it_final-adr_kind is initial.
it_final-adr_kind = 'STANDARD'.
MODIFY TABLE IT_FINAL FROM IT_FINAL TRANSPORTING ADR_KIND.
endif.
endloop.
regards
‎2009 Feb 12 5:58 AM
Hi Santosh,
modify the internal table this way..it would work......
TYPES : BEGIN OF st_final,
partner LIKE but000-partner,
adr_kind LIKE but021-adr_kind,
addrnumber LIKE adrc-addrnumber,
END OF st_final.
DATA : it_final TYPE TABLE OF st_final,
wa_final LIKE LINE OF it_final.
SELECT partner
adr_kind
addrnumber
FROM but021
INTO CORRESPONDING FIELDS OF TABLE it_final
FOR ALL ENTRIES IN it_but100
WHERE partner = it_but100-partner.
st_final-adr_kind = 'STANDARD'.
modify it_final from st_final
transporting adr_kind
where adr_kind is initial.
Regards,
Mdi.Deeba