求稅率function

来源:互联网 发布:远程视频教学软件 编辑:程序博客网 时间:2024/06/03 14:47

 data: TAXID like KOMV-KBETR.

PERFORM GET_TAX USING '3331' 'J1' CHANGING TAXID.

if sy-subrc = 0.

endif.

FORM GET_TAX USING LBUKRS LMWSKZ CHANGING TAXID.
  DATA I_A053 TYPE TABLE OF A053.
  DATA W_A053 TYPE A053.
  DATA W_KONP TYPE KONP.
  DATA DECIMALS-3(5)     TYPE C VALUE '3    '.
  DATA L_KBETR       TYPE KBETR_CHAR.
  CALL FUNCTION 'FI_TAX_GET_CONDITION_TYPES'
    EXPORTING
      I_BUKRS                 = LBUKRS   "EKKO-BUKRS
      I_MWSKZ                 = LMWSKZ   "EKPO-MWSKZ
*   I_TXJCD                 =
*   I_PRSDT                 =
*   I_XDEEP                 =
    TABLES
      T_A053                  = I_A053
   EXCEPTIONS
     PARAMETER_ERROR         = 1
     BUKRS_NOT_FOUND         = 2
     COUNTRY_NOT_FOUND       = 3
     ENTRY_NOT_FOUND         = 4
     KALSM_NOT_FOUND         = 5
     TXJCD_NOT_FOUND         = 6
     INVALID_LENGTH          = 7
     UNKNOWN_ERROR           = 8
     OTHERS                  = 9.
  IF SY-SUBRC <> 0.
*   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*          WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ELSE.
    LOOP AT I_A053 INTO W_A053 .
      CALL FUNCTION 'MM_KONP_SINGLE_READ'
        EXPORTING
          I_KNUMH          = W_A053-KNUMH
        IMPORTING
          E_KONP           = W_KONP
        EXCEPTIONS
          NO_RECORDS_FOUND = 1
          OTHERS           = 2.
      IF SY-SUBRC <> 0.
*     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ELSE.
        WRITE W_KONP-KBETR CURRENCY DECIMALS-3 TO L_KBETR.        "Base on SAP standard solution(MF82TO00)
*      WRITE / L_KBETR.
        TAXID = L_KBETR.
      ENDIF.
      CLEAR W_A053.
    ENDLOOP.
  ENDIF.
ENDFORM.                    "GET_TAX

原创粉丝点击