‎2005 Nov 08 3:18 PM
i want to select VPOSN from VEDA
most of the field are empty,000000,12,20
how i select it
i made vposn = '000000'
or vposn = ' '.
and it's not work do you have any idea,
‎2005 Nov 08 3:20 PM
Hi yehiel,
I think VPOSN = '000000' would be working.
Are you getting any error?
I have tried this
REPORT YRT_TEST.
tables: veda.
start-of-selection.
select single *
from veda
into veda
where vposn = '000000'.
if sy-subrc = 0.
write:/ veda-posnr.
endif.
Thanks,
Ravi
‎2005 Nov 08 3:23 PM
‎2005 Nov 08 3:24 PM
vposn = '000000' did not work for those
that are initial, so i made '' with 6 spaces
and it's not work
‎2005 Nov 08 3:25 PM
‎2005 Nov 08 3:28 PM
try VPOSN EQ SPACE
Also post ur code so that we can findout wat exactly is going wrong
Message was edited by: Nandha Kumar Raju
‎2005 Nov 08 3:31 PM
REPORT YRT_TEST.
tables: veda.
start-of-selection.
select single * from veda
into veda
where vposn = '000000'
OR VPOSN IS NULL.
if sy-subrc = 0.
write:/ veda-vposn.
endif.
‎2005 Nov 08 3:37 PM
How about this, does this work?
select venddat vbegdat
from veda
into (veda-venddat , veda-vbegdat)
where vbeln = mdcw-zs_vbeln
and ( vposn = mdcw-zs_posnr
or vposn = '000000' )
and venddat = ( select max( venddat )
from veda
where vbeln = mdcw-zs_vbeln
and ( vposn = mdcw-zs_posnr
or vposn = '000000' ) ).
if sy-subrc = 0.
mdcw-zs_venddat = veda-venddat.
mdcw-zs_vbegdat = veda-vbegdat.
else.
modify mdcw.
endif.
endselect.
Regards,
Rich Heilman
‎2005 Nov 08 3:31 PM
SELECT venddat vbegdat
FROM veda
INTO (veda-venddat , veda-vbegdat)
WHERE vbeln = mdcw-zs_vbeln
AND ( vposn = mdcw-zs_posnr )
OR
( VPOSN = ' ').
AND venddat = ( SELECT MAX( venddat )
FROM veda
WHERE vbeln = mdcw-zs_vbeln
AND ( vposn = mdcw-zs_posnr )
OR
( VPOSN = ' ' ) ).
IF sy-subrc = 0.
mdcw-zs_venddat = veda-venddat.
mdcw-zs_vbegdat = veda-vbegdat.
else.
MODIFY mdcw.
ENDIF.
ENDSELECT.
i tried '000000' too
‎2005 Nov 08 3:41 PM
It has to be '000000'. I think your select statement is not working because of the positioning of the '(' and ')'. Here is the modified one.
SELECT venddat vbegdat
FROM veda
INTO (veda-venddat , veda-vbegdat)
WHERE vbeln = mdcw-zs_vbeln
AND ( vposn = mdcw-zs_posnr OR
vposn = '000000' )
AND venddat = ( SELECT MAX( venddat )
FROM veda
WHERE vbeln = mdcw-zs_vbeln
AND ( vposn = mdcw-zs_posnr OR
vposn = '000000' ) ).Please let me know if this is what you are looking for.
Srinivas
‎2005 Nov 08 3:32 PM
‎2005 Nov 08 3:36 PM
SELECT venddat vbegdat
FROM veda
INTO (veda-venddat , veda-vbegdat)
WHERE vbeln = mdcw-zs_vbeln
AND ( vposn = mdcw-zs_posnr )
OR
( VPOSN EQ SPACE )
OR
( VPOSN = '000000' )
AND venddat = ( SELECT MAX( venddat )
FROM veda
WHERE vbeln = mdcw-zs_vbeln
AND ( vposn = mdcw-zs_posnr )
OR
( VPOSN EQ SPACE )
OR
( VPOSN = '000000' ) ).
IF sy-subrc = 0.
mdcw-zs_venddat = veda-venddat.
mdcw-zs_vbegdat = veda-vbegdat.
else.
MODIFY mdcw.
ENDIF.
ENDSELECT.
i tried this too and is not giving me the right data
‎2005 Nov 08 3:38 PM
"OR VPOSN IS NULL" should detect this on an Oracle DB... not sure what DB system you are running.
‎2005 Nov 08 3:50 PM
‎2005 Nov 08 3:52 PM