Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

select stat

Former Member
0 Likes
584

Hi,

i have writen one select like below

PARAMETERS: pa_rdate TYPE datum.

PARAMETERS: g_rdate TYPE datum.

SELECT vertrag

FROM ever

INTO TABLE li_ever_contracts_p

WHERE ( ( auszdat = pa_rdate )OR ( auszdat = g_rdate ) )

AND ( ( aedat = pa_rdate OR ( aedat = g_rdate ) ).

I don't want to use the brakets then how to write select query.

1 ACCEPTED SOLUTION
Read only

former_member404244
Active Contributor
0 Likes
559

HI,

U can try with ranges

ranges : r_auszdat for <tablename>-auszdat,

r_aedat for ekko-aedat.

r_auszdat-sign = 'I'.

r_auszdat-option = 'EQ'

r_auszdat-low = pa_rdate

APPEND r_auszdat.

r_auszdat-sign = 'I'.

r_auszdat-option = 'EQ'.

r_auszdat-low = g_rdate .

APPEND r_auszdat.

r_aedat-sign = 'I'.

r_aedat-option = 'EQ'.

r_aedat-low = pa_rdate .

APPEND r_aedat.

r_aedat-sign = 'I'.

r_aedat-option = 'EQ'.

r_aedat-low = g_rdate.

APPEND r_aedat.

Now write select query.

SELECT vertrag

FROM ever

INTO TABLE li_ever_contracts_p

WHERE auszdat in r_auszdat

AND aedat in r_aedat.

Reward if helpful.

Regards,

Nagaraj

5 REPLIES 5
Read only

Former Member
0 Likes
559

Hi,

If you want select query with the required logic you need to use brackets. No other easy way.

regards,

Atish

Read only

former_member404244
Active Contributor
0 Likes
560

HI,

U can try with ranges

ranges : r_auszdat for <tablename>-auszdat,

r_aedat for ekko-aedat.

r_auszdat-sign = 'I'.

r_auszdat-option = 'EQ'

r_auszdat-low = pa_rdate

APPEND r_auszdat.

r_auszdat-sign = 'I'.

r_auszdat-option = 'EQ'.

r_auszdat-low = g_rdate .

APPEND r_auszdat.

r_aedat-sign = 'I'.

r_aedat-option = 'EQ'.

r_aedat-low = pa_rdate .

APPEND r_aedat.

r_aedat-sign = 'I'.

r_aedat-option = 'EQ'.

r_aedat-low = g_rdate.

APPEND r_aedat.

Now write select query.

SELECT vertrag

FROM ever

INTO TABLE li_ever_contracts_p

WHERE auszdat in r_auszdat

AND aedat in r_aedat.

Reward if helpful.

Regards,

Nagaraj

Read only

Former Member
0 Likes
559

Hi,

create a ranges in the program and then add the parameters in the range..

Ex..


RANGES: R_DATE FOR SY-DATUM.

R_DATE-SIGN = 'I'.
R_DATE-OPTION = 'EQ'.
R_DATE-LOW = PA_RDATE.
APPEND R_DATE.

R_DATE-LOW = G_RDATE.
APPEND R_DATE.


SELECT vertrag 
FROM ever
INTO TABLE li_ever_contracts_p
WHERE auszdat IN r_date   " Changed here
AND aedat  IN r_date .   " Changed here


Thanks

Naren

Read only

Former Member
0 Likes
559

at max you can remove 2 brackets from the query

SELECT vertrag

FROM ever

INTO TABLE li_ever_contracts_p

WHERE ( auszdat = pa_rdate OR auszdat = g_rdate )

AND ( ( aedat = pa_rdate OR aedat = g_rdate ).

Read only

Former Member
0 Likes
559

where auszdat in (pa_rdate,g_rdate) and aedat in (pa_rdate,g_rdate)