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

BI Variable dates

Former Member
0 Likes
582

Hi,

I need a variable that takes the date that the user enters in the variable and generates an interval between that date and the monday of the previous week.

Something like:

WHEN 'ZVARIABLE'.

ZMONTH = sy-datum 'last monday'.

ZMONTH1 = sy-datum.

CLEAR L_S_RANGE.

L_S_RANGE-LOW = ZMONTH.

L_S_RANGE-HIGH = ZMONTH1.

L_S_RANGE-SIGN = 'I'.

L_S_RANGE-OPT = 'BT'.

APPEND L_S_RANGE TO E_T_RANGE.

EXIT.

Br,

Sonni

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
550

DATA : ZMONTH1 type datum,

sub type i,

rem type c.

parameters : zmonth type datum default sy-datum.

start-of-selection.

CALL FUNCTION 'DATE_COMPUTE_DAY'

EXPORTING

date = zmonth

IMPORTING

DAY = rem

.

case rem.

when '1'.

sub = 7.

when '2'.

sub = 1.

when '3'.

sub = 2.

when '4'.

sub = 3.

when '5'.

sub = 4.

when '6'.

sub = 5.

when '7'.

sub = 6.

ENDCASE.

ZMONTH = ( sy-datum - sub ).

ZMONTH1 = sy-datum.

4 REPLIES 4
Read only

Former Member
0 Likes
551

DATA : ZMONTH1 type datum,

sub type i,

rem type c.

parameters : zmonth type datum default sy-datum.

start-of-selection.

CALL FUNCTION 'DATE_COMPUTE_DAY'

EXPORTING

date = zmonth

IMPORTING

DAY = rem

.

case rem.

when '1'.

sub = 7.

when '2'.

sub = 1.

when '3'.

sub = 2.

when '4'.

sub = 3.

when '5'.

sub = 4.

when '6'.

sub = 5.

when '7'.

sub = 6.

ENDCASE.

ZMONTH = ( sy-datum - sub ).

ZMONTH1 = sy-datum.

Read only

0 Likes
550

Hi again,

Thank you for your quick response!

This is not really working for me. I'm looking for something like:

LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE

WHERE VNAM = 'ZDATE'.

CLEAR L_S_RANGE.

L_S_RANGE-LOW = 'monday of last week'.

L_S_RANGE-HIGH = LOC_VAR_RANGE-HIGH.

L_S_RANGE-SIGN = 'I'.

L_S_RANGE-OPT = 'BT'.

APPEND L_S_RANGE TO E_T_RANGE.

EXIT.

ENDLOOP.

I just can't get it to compute the last monday part.

Hope, you can help.

Br,

Sonni

Read only

0 Likes
550

CALL FUNCTION 'DATE_COMPUTE_DAY'
EXPORTING
date = sy-datum
IMPORTING
DAY = rem

rem = rem + 6.
ZMONTH1 = Sy-datum.

ZMONTH1 = zmonth1 - rem

Now your ZMONTH1 is Monday from the previous week.

Read only

0 Likes
550

This is still not what I'm looking for.

I want the interval expressed as before - I cannot call function from vardef in CMOD.

Br,

Sonni