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

Sy-datum in Select statement

Former Member
0 Likes
5,425

how to use Sy-datum field in Select statement to get the date 3 days back.I know in this way.

data: prev_date like vbak-erdat.

prev_date = sy-datum - 3 .

But i want to write with SY-DATUM in the Select statement directly. How can we do this ?

DATA: IVBAk TYPE TABLE OF VBak WITH HEADER LINE.
SELECT  VBELN FROM VBAK INTO CORRESPONDING FIELDS OF TABLE IVBAk
  WHERE ERDAT >= ((SY-DATUM)-3). ???

6 REPLIES 6
Read only

Former Member
0 Likes
2,202

U cannot directly use this way ...

SELECT VBELN FROM VBAK INTO CORRESPONDING FIELDS OF TABLE IVBAk

WHERE ERDAT >= ((SY-DATUM)-3). ???

Read only

Former Member
0 Likes
2,202

Why do you want to do it that way?

rob

Read only

0 Likes
2,202

I am writing a program to execute Open SQL statements dynamically, So i want to get the records which were created (SY-datum) - (number of days).

Read only

0 Likes
2,202

>

> I am writing a program to execute Open SQL statements dynamically, So i want to get the records which were created (SY-datum) - (number of days).

Then you would create a dynamic WHERE with the correct date.

Rob

Read only

Former Member
0 Likes
2,202

try the below one.

DATA: prev_date type sy-datum.

prev_date = ( SY-DATUM - 3 ).

SELECT VBELN FROM VBAK INTO CORRESPONDING FIELDS OF TABLE IVBAk

WHERE ERDAT >= prev_date.

Read only

Former Member
0 Likes
2,202

Why don't you declare a parameter for number of days on selection-screen.

Declare a variable to receive the result of Sy-datum - p_days.

And use this result on select.

EX:

selection-screen .....

parameter p_day(2) type n.

DATA: IVBAk TYPE TABLE OF VBak WITH HEADER LINE,

v_diff type sy-datum.

v_diff = sy-datum - p_days.

SELECT VBELN FROM VBAK INTO CORRESPONDING FIELDS OF TABLE IVBAk

WHERE ERDAT >= v_diff. ???