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

between two date query

Former Member
0 Likes
3,115

dear all,

I am new in abap i want to use between dates option in query but i can't

SELECT-OPTIONS : lifnr FOR lfa1-lifnr ,

zaldt FOR payr-zaldt OBLIGATORY,

gjahr FOR bsak-gjahr OBLIGATORY .

previously that fiscal year ( gjahr ) is define in PARAMETERS

PARAMETERS :

gjahr LIKE bsak-gjahr OBLIGATORY ,

how can i used between date of gjahr-low and gjahr-high in following sap query

SELECT belnr FROM bsak INTO zbsad

WHERE bukrs = 'AHL' AND

lifnr = vend_itab-lifnr AND

gjahr = gjahr AND

gsber EQ gsber AND

budat IN zaldt AND

lifnr IN lifnr AND

blart IN ('KZ','ZS') .

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,293

Hi Try to use like this.

SELECT belnr FROM bsak INTO zbsad

WHERE bukrs = 'AHL' AND

lifnr = vend_itab-lifnr AND

gjahr in gjahr AND

gsber EQ gsber AND

budat IN zaldt AND

lifnr IN lifnr AND

blart IN ('KZ','ZS') .

8 REPLIES 8
Read only

faisalatsap
Active Contributor
0 Likes
1,293

Hi, Shahid

USE the following way,

write the following Lines of Code Before this Query too, it will correct when USER Enter only Date in Low not in High in Obligatory it is not necessary to enter the HIGH Date too.

IF gjahr-high = '00000000'.
  gjahr-high = gjahr-low.
ENDIF.

SELECT belnr FROM bsak INTO zbsad
WHERE bukrs = 'AHL' AND
lifnr = vend_itab-lifnr AND
gjahr BETWEEN gjahr-low and gjahr-high and " USE This way
gsber EQ gsber AND
budat IN zaldt AND
lifnr IN lifnr AND
blart IN ('KZ','ZS') .

Regards,

Faisal

Read only

Former Member
0 Likes
1,293

Write Query as below

replace gjahr = gjahr with gjahr IN gjahr

SELECT belnr FROM bsak INTO zbsad
WHERE bukrs = 'AHL' AND
lifnr = vend_itab-lifnr AND
gjahr IN gjahr AND             <<<<<<<<<<<<<<<<
gsber EQ gsber AND
budat IN zaldt AND
lifnr IN lifnr AND
blart IN ('KZ','ZS') .

Read only

Former Member
0 Likes
1,293

Hi Try to use like this.

SELECT belnr FROM bsak INTO zbsad

WHERE bukrs = 'AHL' AND

lifnr = vend_itab-lifnr AND

gjahr in gjahr AND

gsber EQ gsber AND

budat IN zaldt AND

lifnr IN lifnr AND

blart IN ('KZ','ZS') .

Read only

Former Member
0 Likes
1,294

Hi Try to use like this.

SELECT belnr FROM bsak INTO zbsad

WHERE bukrs = 'AHL' AND

lifnr = vend_itab-lifnr AND

gjahr in gjahr AND

gsber EQ gsber AND

budat IN zaldt AND

lifnr IN lifnr AND

blart IN ('KZ','ZS') .

Read only

venkat_o
Active Contributor
0 Likes
1,293

Try this way.

<li>

 
SELECT belnr FROM bsak INTO zbsad
WHERE bukrs = 'AHL' AND
 lifnr = vend_itab-lifnr AND
 gjahr  BETWEEN gjahr-low AND gjahr-high AND 
 gsber EQ gsber AND
 budat IN zaldt AND
 lifnr IN lifnr AND
 blart IN ('KZ','ZS') .

or

SELECT belnr FROM bsak INTO zbsad
WHERE bukrs = 'AHL' AND
 lifnr = vend_itab-lifnr AND
 gjahr  in gjahr AND 
 gsber EQ gsber AND
 budat IN zaldt AND
 lifnr IN lifnr AND
 blart IN ('KZ','ZS') .

Thanks

Venkat.O

Read only

Former Member
0 Likes
1,293

Hi Shahid !

As i got ur question , u can use ( between ) key words to select data between two dates.

For Example...

SELECT belnr FROM bsak INTO zbsad
WHERE bukrs = 'AHL' AND
lifnr = vend_itab-lifnr AND
gjahr between gjahr-low AND  gjahr-high  " Here use between keyword
gsber EQ gsber AND
budat IN zaldt AND
lifnr IN lifnr AND
blart IN ('KZ','ZS') .

Edited by: tahir naqqash on Aug 27, 2009 12:04 PM

Edited by: tahir naqqash on Aug 27, 2009 12:06 PM

Read only

Former Member
0 Likes
1,293

delete query

Read only

Former Member
0 Likes
1,293

closed