指定日の月の『月初日』と『月末日』を取得する汎用モジュール:HR_JP_MONTH_BEGIN_END_DATE

1ヶ月単位でデータを出力しないといけないケースや月初の日付、月末の日付を取得したいケースがABAP開発しているとよくあります。その時に使える汎用モジュールに『HR_JP_MONTH_BEGIN_END_DATE』というものがあります。

任意の日付を渡すと、その日付の属する月の初日と最終日を返してきてくれます。月初日だけなら日付(MM)部分を『01』に置き換えるだけでも良いのですが、月末日は月によって31日の時もあれば30日の時もあって判定するのが面倒です。

この汎用モジュールを使えば、閏年も含めてちゃんとその辺りの考慮をした形で月末日を取得する事ができます。汎用モジュールのステータス的には『未リリース』になってはいますが、多数の案件で使用実績もあるので、使って問題ないと思います。

使用イメージ

DATA:
  g_today       TYPE  d,              "今日
  g_begin_date  TYPE  d,              "今月初日
  g_end_date    TYPE  d.              "今月末日

g_today  =  sy-datum.

* 今月の初日と末日を取得
CALL FUNCTION 'HR_JP_MONTH_BEGIN_END_DATE'
  EXPORTING
    iv_date              =  g_today
  IMPORTING
    ev_month_begin_date  =  g_begin_date
    ev_month_end_date    =  g_end_date.

コメント

この記事へのコメントはありません。

PAGE TOP