日付関連

* [BAPI_CCODE_GET_FIRSTDAY_PERIOD] 会計期間の初日を取得

* [BAPI_COMPANYCODE_GET_PERIOD] 会計年度と会計日付を取得

* [CONVERSION_EXIT_PDATE_OUTPUT] 日付型の内部書式を外部書式(YYYY/MM/DD)に変換

* [CONVERT_DATE_TO_INTERNAL] 日付の文字列をR/3内部表現に変換する

* [DATE_CHECK_PLAUSIBILITY] 入力された日付が正しいかチェックする

    日付入力後 sy-subrc = 0 の場合 正しい日付

CALL FUNCTION 'DATE_CHECK_PLAUSIBILITY'   "入力された日付が正しいかチェックする
  EXPORTING
    date                            =
  EXCEPTIONS
    PLAUSIBILITY_CHECK_FAILED       = 1
    OTHERS  

* [DATE_CONVERT_TO_FACTORYDATE] 日付に対して稼働日カレンダを戻す

* [DATE_GET_WEEK] 日付に対して週を戻す

* [F4_DATE] 日付のF4ヘルプ

* [HR_JP_MONTH_BEGIN_END_DATE] 月の初めの日と終わりの日を取得

* [RKE_TIMESTAMP_CONVERT_INPUT] タイムスタンプ変換(Convert local time/date to GMT)

* [RKE_TIMESTAMP_CONVERT_OUTPUT] タイムスタンプ変換(Convert GMT to local time/date)

* [WEEK_GET_FIRST_DAY] 週の最初の日(月曜日)を返す

* [FACTORYDATE_CONVERT_TO_DATE] 稼働日のシリアル番号とカレンダーから日付を返す

* [DATE_CONVERT_TO_FACTORYDATE]日付入力後稼働日を返す

L_WK_LFDAT TYPE EINDT,            "納入日程
CALL FUNCTION 'DATE_CONVERT_TO_FACTORYDATE'
        EXPORTING
          DATE                         = L_WK_LFDAT
          FACTORY_CALENDAR_ID          = 'JP'
        IMPORTING
          DATE                         = L_WK_LFDAT
        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.

* [LAST_DAY_OF_MONTHS] 指定月の最終日を取得する

* [DATE_COMPUTE_DAY] 日付に対して平日を戻す

* [CONVERT_DATE_TO_EXTERNAL] 日付に対して内部書式-> 外部書式

DATA: v_external_date(12)   TYPE c.
CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL'
  EXPORTING
    date_internal = sy-datum         "今日の日付
  IMPORTING
    date_external = v_external_date. "ユーザーセッティングのフォーマット

* [CONVERT_DATE_TO_INTERNAL] 日付に対して外部書式-> 内部書式

DATA: v_internal_date       TYPE d.
v_external_date = '2017/08/18'.
CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
  EXPORTING
    date_external = v_external_date
  IMPORTING
    date_internal = v_internal_date  

* [CONVERSION_EXIT_TSTLC_OUTPUT]       将YYYYMMDDhhmmss转成YYYY-MM-DD hh:mm:ss
* [CONVERSION_EXIT_TSTPS_OUTPUT ]      将YYYYMMDDhhmmss转成YYYY-MM-DD hh:mm:ss
* [CONVERSION_EXIT_ESDAT_OUTPUT ]      根据用户数据在年月中加分隔符
* [CONVERSION_EXIT_PERKZ_OUTPUT]       根据期间标识取期间类型
* [CONVERSION_EXIT_INVDT_OUTPUT ]      逆算日期(80079398->1992-06-01)
* [INCL_DATE_CHANGE ]      指定日のn日後を求める)

L_WK_APLFZ TYPE PLIFZ,            "納入予定日数
      CALL FUNCTION 'INCL_DATE_CHANGE'
        EXPORTING
          I_DATUM   = SY-DATUM
          I_KZ_INCL = L_WK_APLFZ    "3
        IMPORTING
          E_DATUM   = L_WK_LFDAT.   "三日後の日付を返す

* [RP_CALC_DATE_IN_INTERVAL] 指定した年月日先(前)の日付を求める  

 

CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL' "Date +/- year/month/day (into the future/past)
  EXPORTING
    date =                      " p0001-begda
    days =                      " t5a4a-dlydy
    months =                    " t5a4a-dlymo
*   signum = '+'                " t5a4a-split
    years =                     " t5a4a-dlyyr
  IMPORTING
    calc_date =                 " p0001-begda
    .  "  RP_CALC_DATE_IN_INTERVAL

CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
  EXPORTING
    date =                       ld_date
    days =                       ld_days
    months =                     ld_months
*   signum =                     ld_signum
    years =                      ld_years
  IMPORTING
    calc_date =                  ld_calc_date
    .  "  RP_CALC_DATE_IN_INTERVAL

IF SY-SUBRC EQ 0.
  "All OK
ENDIF.

  

posted @ 2019-03-12 14:02  Park_SAP  阅读(384)  评论(0编辑  收藏  举报