300x250
728x90

당월 1일부터 말일까지 구하기


로직은 간단하다. ( 맨 밑에 로직 참고 )

 

1. 우선 1일 데이터를 받을 변수말일 데이터를 받을 변수를 선언하자. 

 

2. 그다음 Ranges 또는 Select-opion을 통해서 첫날부터 마지막날 데이터를 받아야 하기 때문에 선언해 보자.

# 여기서는 Select-Option을 사용하겠다.

 

3. 해당 월의 마지막 일 Function Module을 통해서 구할 것이다. ( RP_LAST_DAY_OF_MONTHS )

# 실행되는 날로 지정했으며 만약 월을 변경하고 싶으면 LV_DATUM_HIGH 변경해 주면 된다.

 

# 마지막 일함수로 사용한 이유는 시작하는 달에 첫날은 무조건 1일이기 때문에 우리는 마지막 일만 구하면 되어서 사용했다. 

 

4. 첫 날과 마지막날 Append 통해서 위에서 선언한 Select-Option에 넣어주면 된다.

# 첫 날은 위해서 설명했듯이 무조건 1일이기 때문에 이렇게 로직을 짰다.

New syntax

Append Systax 차이.

로직

DATA:
  LV_DATUM_LOW  TYPE SY-DATUM,
  LV_DATUM_HIGH TYPE SY-DATUM.

SELECT-OPTIONS
  SO_DATUM FOR SY-DATUM.


INITIALIZATION.


" 실행되는 날로 지정"
LV_DATUM_HIGH = SY-DATUM.

"달 마지막일 구하기 "
CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
  EXPORTING
    DAY_IN            = LV_DATUM_HIGH
  IMPORTING
    LAST_DAY_OF_MONTH = LV_DATUM_HIGH.

"달 첫날 일 구하기 "
LV_DATUM_LOW = LV_DATUM_HIGH+0(6) && '01'.

SO_DATUM-SIGN = 'I'.
SO_DATUM-OPTION = 'BT'.
SO_DATUM-LOW = LV_DATUM_LOW.
SO_DATUM-HIGH = LV_DATUM_HIGH.
APPEND SO_DATUM.


*APPEND VALUE #(
*SIGN = 'I'
*OPTION = 'BT'
*LOW = LV_DATUM_LOW
*HIGH = LV_DATUM_HIGH
*) TO SO_DATUM.

 

실행을 시켜보면 ( INITIALIZATION )

 

 

 

도움이 되셨으면 하단에 있는 광고 한번씩 눌러주세유!!

 

728x90