วันศุกร์ที่ 3 กันยายน พ.ศ. 2553

Program ABAP : zbot_exchangerate : check_end_of_month

<< Start-Of-Selection
 

*&---------------------------------------------------------------------*
*&      Form  CHECK_END_OF_MONTH
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
form check_end_of_month using pa_date changing p_endd .
  clear gi_holi[].
  data :
         lv_date type sy-datum,
         lv_numdy type numdy,
         lv_endd type sy-datum.


  call function 'DETERMINE_END_OF_MONTH'
    exporting
      i_datum        = pa_date
   importing
*     E_KZ_ULT       =
     e_tt           = lv_numdy
            .
  lv_endd = p_date.
  lv_endd+6(2) = lv_numdy.
  do.
    call function 'HOLIDAY_GET'
     exporting
       holiday_calendar                 = 'T1'
       factory_calendar                 = 'T1'
       date_from                        = lv_endd
       date_to                          = lv_endd
* IMPORTING
*   YEAR_OF_VALID_FROM               =
*   YEAR_OF_VALID_TO                 =
*   RETURNCODE                       =
      tables
        holidays                         = gi_holi
     exceptions
       factory_calendar_not_found       = 1
       holiday_calendar_not_found       = 2
       date_has_invalid_format          = 3
       date_inconsistency               = 4
       others                           = 5
              .
    if sy-subrc <> 0.
      message id sy-msgid type sy-msgty number sy-msgno
              with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    else.
      read table gi_holi with key date = lv_endd.
*                                  FREEDAY = 'X'
*                                  HOLIDAY = 'X'.
      if sy-subrc eq 0.
        lv_endd = lv_endd - 1.
      else.
        p_endd = lv_endd.
        exit.
      endif.
    endif.
  enddo.

endform.                    " CHECK_END_OF_MONTH


<< Start-Of-Selection 

ไม่มีความคิดเห็น:

แสดงความคิดเห็น