常用的跟HR有关的function

 
 

1. 获取每个月的最后一天

   CALL FUNCTION 'LAST_DAY_OF_MONTHS'
       EXPORTING
            day_in            = date
       IMPORTING
            last_day_of_month = date1.

2. 字符串前面去掉0

    call function 'CONVERSION_EXIT_ALPHA_OUTPUT'
       exporting
            input  = &1
        importing
            utput = &1.

3. 字符串前面自动补0

     call function 'CONVERSION_EXIT_ALPHA_INPUT'
        exporting
             input  = &1
        importing
            output = &1.

4.  获取生产定单状态

     call function 'STATUS_TEXT_EDIT'
         EXPORTING
              flg_user_stat    = 'X'
              objnr            = LO_OBJNR
              only_active      = 'X'
              spras            = sy-langu
         IMPORTING
              line             = ls_statu
         EXCEPTIONS
              object_not_found = 01.

5. 金额转换成大写

   CALL FUNCTION 'SPELL_AMOUNT'
       EXPORTING
            AMOUNT    = T_AMOUNT10
            CURRENCY  = 'RMB'
            LANGUAGE  = '1'
       IMPORTING
            IN_WORDS  = S_AMWORD2
       EXCEPTIONS
            NOT_FOUND = 1
            TOO_LARGE = 2
            OTHERS    = 3.

6. SAP里的负号放到前面来的函数

   DATA : t(10) TYPE c VALUE '65465-' .

   CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
      CHANGING
       value = t.
   
write : t .   

7. 通过这个日期得出那天是星期几

    DAY_IN_WEEK

8.  一组有用的用户交互窗口函数

   POPUP_TO_CONFIRM_LOSS_OF_DATA 显示有YES/NO的弹出窗口,提示用户未保存的数据将丢失 
   POPUP_TO_CONFIRM_STEP 提示是否确认操作的弹出窗口 
   POPUP_TO_CONFIRM_WITH_MESSAGE 可以显示定制的提示信息的确认窗口 
   POPUP_TO_CONFIRM_WITH_VALUE 显示确认用户对某个特定对象的操作的弹出窗口 
   POPUP_TO_DECIDE 将待确认选项以单选按钮的方式显示的弹出窗口 
   POPUP_TO_DECIDE_WITH_MESSAGE 带消息的确认窗口 
   POPUP_TO_DISPLAY_TEXT 显示多行信息的窗口 
   POPUP_TO_SELECT_MONTH 月份选择窗口 
   POPUP_WITH_TABLE_DISPLAY 有表格对象的确认窗口

9. 判断某天是否是假日

  HOLIDAY_CHECK_AND_GET_INFO

10.  在SE38环境下的程序名输入栏输入'DEMO*'后按F4,你可以查到SAP所有的DEMO示例程序

       运行“ABAPDOCU”T-cdoe,你可以看到ABAP DOCUMENT及示例程序

      在SE38环境下的程序名输入栏输入'BCALV*'后按F4,你可以查到很多ALV示例程序
11.读取工作日程表

      CALL FUNCTION 'HR_PERSON_READ_WORK_SCHEDULE'
                EXPORTING
                  BEGIN_DATE         = ITAB3_PA2001-BEGDA
                  END_DATE           = P_G_DAT_TO
                  READ_FROM_DATABASE = 'X'
                TABLES
                  PERNR_TAB          = IG_PERNR_TAB
                  PSP                = IG_PSP
                  DAY_PSP            = IG_PDSPPSP
                EXCEPTIONS
                  ERROR_IN_BUILD_PSP = 1
                  OTHERS             = 2.

              DATA :TOTAL_DAY TYPE I.
              LOOP AT IG_PSP.
                TOTAL_DAY =  TOTAL_DAY + 1.
                IF IG_PSP-TPROG <> '休息'
                  OR  IG_PSP-TPROG <> ''."要考虑新员工当月头没有班次的情况
                  TOTAL_DAY =  TOTAL_DAY + 1.
                ENDIF.
              ENDLOOP.

12.给出两个日期之间的天数,周数,月数,年数的
CALL FUNCTION 'HR_99S_INTERVAL_BETWEEN_DATES'"               EXPORTING
               BEGDA = ITAB_PA2003-BEGDA
               ENDDA = ITAB_PA2003-ENDDA
*    TAB_MODE  DEFAULT ' '
                IMPORTING
               DAYS =  I_COUNT
*    C_WEEKS I
*     C_MONTHS  I
*     C_YEARS  I
*     WEEKS
*     MONTHS
*     YEARS
*     D_MONTHS   I
*     MONTH_TAB  P99SG_MONTH_TAB

13.计算前一天、后一天日期

*************************************************************************
*&      Form  frm_cal_last_next_date
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&gtP_P_P_BEGDA  text
*      *      *----------------------------------------------------------------------*
FORM. FRM_CAL_LAST_NEXT_DATE  USING    P_DATE
                             CHANGING LAST_DATE
                                      NEXT_DATE.
  DATA:DATE TYPE BEGDA.
  DATA:ITAB LIKE TABLE OF PSEN_DURATION_DEC WITH HEADER LINE.
  ITAB-CALDD = 2.
  DATE = P_DATE.
  CALL FUNCTION 'HR_SEN_CALE_DAYS_DATE'
    EXPORTING
      ID_DATE                  = DATE
      ID_OPERATOR              = '-'
      IS_DURATION              = ITAB
    IMPORTING
      ED_DATE                  = LAST_DATE
    EXCEPTIONS
      CONVERSION_NOT_SPECIFIED = 1
      CONVERSION_NOT_POSSIBLE  = 2
      OTHERS                   = 3.
  CALL FUNCTION 'HR_SEN_CALE_DAYS_DATE'
    EXPORTING
      ID_DATE                  = DATE
      ID_OPERATOR              = '+'
      IS_DURATION              = ITAB
    IMPORTING
      ED_DATE                  = NEXT_DATE
    EXCEPTIONS
      CONVERSION_NOT_SPECIFIED = 1
      CONVERSION_NOT_POSSIBLE  = 2
      OTHERS                   = 3.
ENDFORM.                    " frm_cal_last_next_date

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7762936/viewspace-611651/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7762936/viewspace-611651/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值