10-25-2009 2:40 PM
Hi all,
I'm currently writing an ABAP routine within an BW7 update rule and need a little bit of help. My current code accomplishes a lookup of 2 fields from 1 DSP in 2 different Select Single statements. I would like to be able to accomplish this lookup in one select statement.
CLASS lcl_transform IMPLEMENTATION.
METHOD compute_ZPTVAL.
* IMPORTING
* request type rsrequest
* datapackid type rsdatapid
* SOURCE_FIELDS-/BIC/ZPTSO TYPE /BIC/OIZPTSO
* SOURCE_FIELDS-/BIC/ZPTQTY TYPE /BIC/OIZPTQTY
* EXPORTING
* RESULT type _ty_s_TG_1-/BIC/ZPTVAL
DATA:
MONITOR_REC TYPE rsmonitor.
*$*$ begin of routine - insert your code only below this line *-*
DATA: so_val TYPE /BIC/OIZPTVAL.
DATA: so_qty TYPE /BIC/OIZPTQTY.
SELECT SINGLE /BIC/ZPTVAL FROM /BIC/AZPTDSSO00
INTO so_val
WHERE /BIC/ZPTSO = SOURCE_FIELDS-/BIC/ZPTSO.
SELECT SINGLE /BIC/ZPTQTY FROM /BIC/AZPTDSSO00
INTO so_qty
WHERE /BIC/ZPTSO = SOURCE_FIELDS-/BIC/ZPTSO.
RESULT = ( so_val / so_qty ) * SOURCE_FIELDS-/BIC/ZPTQTY.
I know it is possible to select into a corresponding structure like:
SELECT SINGLE
CITYFROM AIRPFROM CITYTO AIRPTO FLTIME DEPTIME ARRTIME
INTO CORRESPONDING FIELDS OF WA_SPFLI
FROM SPFLI
WHERE CARRID = WA_SPFLI-CARRID AND CONNID = WA_SPFLI-CONNID.
But what i want to do is something like:
SELECT SINGLE /BIC/ZPTVAL, /BIC/ZPTQTY
FROM /BIC/AZPTDSSO00
INTO so_val, so_qty
WHERE /BIC/ZPTSO = SOURCE_FIELDS-/BIC/ZPTSO.
MTIA
10-25-2009 2:47 PM
in the into clause youcan put multiple field... inside brackets..
example from help doc:
DATA wa TYPE spfli.
SELECT carrid connid cityfrom cityto
FROM spfli
INTO (wa-carrid, wa-connid, wa-cityfrom, wa-cityto).
WRITE: / wa-carrid, wa-connid, wa-cityfrom, wa-cityto.
ENDSELECT.
10-25-2009 2:47 PM
in the into clause youcan put multiple field... inside brackets..
example from help doc:
DATA wa TYPE spfli.
SELECT carrid connid cityfrom cityto
FROM spfli
INTO (wa-carrid, wa-connid, wa-cityfrom, wa-cityto).
WRITE: / wa-carrid, wa-connid, wa-cityfrom, wa-cityto.
ENDSELECT.
02-05-2014 1:20 PM
Correct, but note that you have to use SELECT SINGLE in this case.
07-26-2019 1:11 PM
dont forget to mention that into has to be added in the end of the statement
07-26-2019 2:08 PM