2007 Jul 24 4:55 AM
Hi,
What does this select stmt mean, iam not understanding how they have related ,Plz help me
data: v_xblnr like mkpf-xblnr,
S_PGIDT FOR LIKP-WADAT_IST,
H_OBJ LIKE THEAD-TDNAME,
S_VBELN FOR LIKP-VBELN.
SELECT distinct XBLNR into v_xblnr FROM MKPF
where BLART = 'WL' AND
CPUDT IN S_PGIDT -
> but before PGI i need to insert the values in my
AND XBLNR IN S_VBELN. customised table so i have removed tht condition but still not working
SELECT single * FROM VBUK
WHERE VBELN = v_xblnr.
IF SY-SUBRC EQ 0.
SELECT single * FROM LIKP
WHERE VBELN = v_xblnr.
MOVE LIKP-VBELN TO H_OBJ.
2007 Jul 24 5:18 AM
Hi Sravanthigopal,
Pls modify ur program as follows
tables : likp.
data: v_xblnr like mkpf-xblnr.
data : ls_vbuk like vbuk,
ls_likp like likp.
data :H_OBJ LIKE THEAD-TDNAME.
select-options: S_PGIDT FOR likp-WADAT_IST,
S_VBELN FOR LIKP-VBELN.
SELECT distinct XBLNR into v_xblnr FROM MKPF
where BLART = 'WL' AND CPUDT IN S_PGIDT AND XBLNR IN S_VBELN.
endselect.
SELECT single * FROM VBUK into ls_vbuk
WHERE VBELN = v_xblnr.
IF SY-SUBRC EQ 0.
SELECT single * FROM LIKP into ls_likp
WHERE VBELN = v_xblnr.
endif.
<i>You can also use the optional additions SINGLE or DISTINCT to indicate that only certain lines in the result set should be visible to the program:
SINGLE
The result of the selection should be a single entry. If it is not possible to identify a unique entry, the system uses the first line of the selection. If you use the FOR UPDATE addition, the selected entry is protected against parallel updates from other transactions until the next database commit (see LUW and database lock mechanism). If the database system identifies a deadlock, a runtime</i>
reward pts if found usefull
Regards
Sathish
2007 Jul 24 5:22 AM
'Select distinct' means that if more than one similar entry for XBLNR exists, only one will be selected
'Select single' only select the first record that matched the condition
eg: if you have values like
0080003837
0065654685
0080003837
0080003837
then the output for select distinct will be
0080003837
0065654685
and the output for select single will be
0080003837
2007 Jul 24 5:39 AM
<i>SELECT distinct XBLNR into v_xblnr FROM MKPF
where BLART = 'WL' AND
CPUDT IN S_PGIDT -
> but before PGI i need to insert the values in my
AND XBLNR IN S_VBELN. customized table so i have removed tht condition but still not working </i>
Please note that the above select statement only moves the data into a workarea one row at a time
You need to use the append statement to append it to an internal table and then close it with an 'endselect' statement
An alternative would be to use 'into <b>table</b> itab'
this will directly select all the data into an internal table and removes the need for an 'endselect' statement