• ABAP函数篇2 测试DATE_CONVERT_TO_FACTORYDATE


    DATE_CONVERT_TO_FACTORYDATE   根据日期返回工厂日历日期

    函数功能说明:

    标出工作日的计算方法

     

     

    输入传输 CORRECT_OPTION = '+'
    如果指定的日期不是工作日,返回日期后的第一个工作日。

    CORRECT_OPTION = '-“

    如指定日期并非工作天,返回日期前的第一个工作日。

    测试效果:

    Case1.  工厂日历标识          CN, 20191207 是周六

    结果是 2019.12.07,  则周六是个工作日

    函数测试参数为-

    得到结果也是 2019.12.07

    但是

    咱把工厂日历值改为HK 试一下,  结果是 2019.12.09  周一

    函数测试 - 的情况

    CN是所有日都认为是工作日了,997 , 666  ???

     

    贴个测试程序代码 ,收工

    *&---------------------------------------------------------------------*
    *& Report YCX_025
    *&---------------------------------------------------------------------*
    *&
    *&---------------------------------------------------------------------*
    REPORT ycx_025 MESSAGE-ID m7.

    PARAMETERS: p_ctid LIKE scal-fcalid,
                p_date LIKE bseg-h_budat.

    DATA: lv_date       LIKE scal-date,
          lv_facdate    LIKE scal-facdate,
          lv_workingday LIKE scal-indicator.
    CALL FUNCTION 'DATE_CONVERT_TO_FACTORYDATE'
      EXPORTING
    *   correct_option               = plus
        factory_calendar_id          = p_ctid
        date                         = p_date
      IMPORTING
        date                         = lv_date
        factorydate                  = lv_facdate
        workingday_indicator         = lv_workingday
      EXCEPTIONS
        date_after_range             01
        date_before_range            02
        date_invalid                 03
        factory_calendar_not_found   04
        correct_option_invalid       05
        calendar_buffer_not_loadable 06.
    CASE sy-subrc.
      WHEN 1.
        MESSAGE s523 WITH p_date INTO DATA(lv_msg).
      WHEN 2.
        MESSAGE s524 WITH p_date INTO lv_msg.
      WHEN 3.
        MESSAGE s525 WITH p_date INTO lv_msg.
      WHEN 4.
        MESSAGE s526 WITH p_date INTO lv_msg.
      WHEN 5.
        MESSAGE s526 WITH p_date INTO lv_msg.
      WHEN 6.
        MESSAGE s526 WITH p_date INTO lv_msg.
      WHEN OTHERS .
        WRITE: /'必须转化为工厂日历日期的日期:', lv_date,
               /'指定日历中的工作日数:', lv_facdate,
               /'表示某日期是否为工作日的标志:', lv_workingday.

    ENDCASE.

    WRITE: lv_msg

    本人常年接收SAP运维和远程项目,ECC,S/4HANA,CRM,WDA. 

    人天可谈,终身售后 有活请联系V信:18925782767(问问题免费,欢迎交流!)

    本人常年接收SAP运维和远程项目,ECC,S/4HANA,CRM,WDA. 

    人天可谈,终身售后 有活请联系V信:18925782767(问问题免费,欢迎交流!)

    你盯着我

     不关注

     不点赞

     不评论

    难道是想暗算我 ???

    卡忙on,用丘比特的箭暗算我吧!

    笔芯准备  I'm ready!!
    来不及解释了,快上车!!!

  • 相关阅读:
    luoguP3181 [HAOI2016]找相同字符
    luoguP4248 [AHOI2013]差异
    luoguP2852 [USACO06DEC]Milk Patterns
    后缀自动机
    luoguP3975 [TJOI2015]弦论
    luoguP2824 [HEOI2016/TJOI2016]排序(线段树分裂做法)
    组合数学学习笔记
    「题解」:[BZOJ2938]病毒 (AC自动机+dfs)
    Linux新人报到
    指针学习笔记
  • 原文地址:https://www.cnblogs.com/rainysblog/p/11986383.html
Copyright © 2020-2023  润新知