スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

汎用M カレンダ稼働日取得

DATE_CONVERT_TO_FACTORYDATE

概要

指定した日付に対して稼働日カレンダを計算して次の(または前の)稼働日を取得する汎用モジュールです。

パラメータ

主なパラメータは、稼働日計算フラグ(CORRECT_OPTION)と変換元される日付(DATE)と稼働日カレンダID(FACTORY_CALENDAR_ID)です。
パラメータ一覧
種別パラメータ説明
インポートCORRECT_OPTION稼働日をどのように計算するかを示すフラグ
DATE稼働日カレンダ日付に変換される日付
FACTORY_CALENDAR_ID稼働日カレンダID
エクスポートDATE稼働日カレンダ日付に変換される日付
FACTORYDATE指定カレンダにおける稼働日数
WORKINGDAY_INDICATOR日付が稼働日かどうかを示すフラグ
例外CALENDAR_BUFFER_NOT_LOADABLE稼働日カレンダをバッファすることができません
CORRECT_OPTION_INVALIDCORRECT_OPTIONは'+'と'-'のいずれでもありません
DATE_AFTER_RANGE稼働日カレンダ定義より遅い日付
DATE_BEFORE_RANGE稼働日カレンダ定義より早い日付
DATE_INVALID日付書式が無効です
FACTORY_CALENDAR_NOT_FOUND稼働日カレンダがバッファにありません

インポートパラメータを設定する

変換元の日付(DATE)と稼働日カレンダID(FACTORY_CALENDAR_ID)は必須パラメータです。
変換される日付が稼働日でなかった場合、CORRECT_OPTIONに「+」を設定時は次の稼働日を返し、「-」を設定時は前の稼働日を返します。
設定例:インポートパラメータ
項目項目名称設定値
CORRECT_OPTION稼働日計算フラグ+
DATE変換される日付20150101
FACTORY_CALENDAR_ID稼働日カレンダIDJP

サンプルコード

指定した日付に対して稼働日カレンダ「JP」での有効な営業日を取得する例です。指定した日付が営業日でない場合は一番近い次の営業日を取得します。
DATA: LV_DATE1                TYPE SCAL-DATE,
      LV_FACTORY_CALENDAR_ID  TYPE SCAL-FCALID,
      LV_DATE2                TYPE SCAL-DATE,
      LV_FACTORYDATE          TYPE SCAL-FACDATE,
      LV_WORKINGDAY_INDICATOR TYPE SCAL-INDICATOR.

* パラメータに値を設定する
LV_DATE                = '20150101'. " 変換される日付
LV_FACTORY_CALENDAR_ID = 'JP'.       " 稼働日カレンダID

CALL FUNCTION 'DATE_CONVERT_TO_FACTORYDATE'
  EXPORTING
    CORRECT_OPTION               = '+'
    DATE                         = LV_DATE1
    FACTORY_CALENDAR_ID          = LV_FACTORY_CALENDAR_ID
  IMPORTING
    DATE                         = LV_DATE2
    FACTORYDATE                  = LV_FACTORYDATE
    WORKINGDAY_INDICATOR         = LV_WORKINGDAY_INDICATOR
  EXCEPTIONS
    CALENDAR_BUFFER_NOT_LOADABLE = 1
    CORRECT_OPTION_INVALID       = 2
    DATE_AFTER_RANGE             = 3
    DATE_BEFORE_RANGE            = 4
    DATE_INVALID                 = 5
    FACTORY_CALENDAR_NOT_FOUND   = 6
    OTHERS                       = 7
  .

* エラーの場合
IF SY-SUBRC <> 0.
*  エラー処理
ELSE.
*  正常処理
ENDIF.

コメントの投稿

非公開コメント

プロフィール

Z*

Author:Z*

このブログではSAPの技術情報について解説をしていきます。

このブログを気に入って頂いた方は、リンクを張っていただけると嬉しいです。

カテゴリ
最新記事
最新コメント
月別アーカイブ
検索フォーム
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。