SAP 清账操作

前台操作截图如下:

如下是查看数据:

 

 

数据可以在BSEG表查一下

 

代码实现如下:

*--------------------------------------------------------------------*
*  INTERNAL TABLE DECLARATION
*--------------------------------------------------------------------*
DATA: it_blntab TYPE TABLE OF blntab WITH HEADER LINE,
      it_ftclear TYPE TABLE OF ftclear WITH HEADER LINE,
      it_ftpost TYPE TABLE OF ftpost WITH HEADER LINE,
      it_fttax TYPE TABLE OF fttax WITH HEADER LINE.

*--------------------------------------------------------------------*
*  START-OF-SELECTION
*--------------------------------------------------------------------*
START-OF-SELECTION.
  DEFINE populate_ftpost.
    it_ftpost-stype = &1.
    it_ftpost-count = &2.
    it_ftpost-fnam  = &3.
    it_ftpost-fval  = &4.
    append it_ftpost.
  END-OF-DEFINITION.

  DEFINE populate_ftclear.
    it_ftclear-agkoa  = 'D'.
    it_ftclear-agbuk  = '3010'. "company code
    it_ftclear-selfd  = 'BELNR'.
    it_ftclear-xnops  = 'X'.
    it_ftclear-selvon = &1.        "下限
*******it_ftclear-selbis = &2. "上限 感觉没用 append it_ftclear.
END-OF-DEFINITION. CALL FUNCTION 'POSTING_INTERFACE_START' EXPORTING i_function = 'C' i_keep = 'X' i_mode = 'A' EXCEPTIONS client_incorrect = 1 function_invalid = 2 group_name_missing = 3 mode_invalid = 4 update_invalid = 5 OTHERS = 6. populate_ftpost: 'K' 1 'BKPF-BUKRS' '3010', "Company code 'K' 1 'BKPF-BLART' 'SA', "凭证类型 'K' 1 'BKPF-BLDAT' sy-datum, "凭证日期 'K' 1 'BKPF-BUDAT' sy-datum, "过账日期 'K' 1 'BKPF-WAERS' 'CNY', "币别 'K' 1 'BKPF-XBLNR' 'Test', "参考 'K' 1 'BKPF-BKTXT' '抬头文本', "参考 'P' 1 'RF05A-NEWBS' '40', "过账码 'P' 1 'RF05A-NEWKO' '1002001001', "科目 银行科目 'P' 1 'BSEG-WRBTR' '119.25', "金额 'P' 1 'BSEG-RSTGR' 'A01', "付款原因代码 'P' 1 'BSEG-HBKID' 'A1002', "开户行短代码 'P' 1 'BSEG-HKTID' 'HQ005'. "帐户细目的代码 populate_ftclear '18000001162021001'. "concatenate doc number + fiscal year + line number "凭证号+年度+项次
 *******populate_ftclear '18000001102021001'.
*******populate_ftclear '18000001152021001'.
CALL FUNCTION 'POSTING_INTERFACE_CLEARING' EXPORTING i_auglv = 'EINGZAHL' i_tcode = 'FB05' i_sgfunct = 'C' IMPORTING e_msgid = sy-msgid e_msgno = sy-msgno e_msgty = sy-msgty e_msgv1 = sy-msgv1 e_msgv2 = sy-msgv2 e_msgv3 = sy-msgv3 e_msgv4 = sy-msgv4 * E_SUBRC = SY-SUBRC TABLES t_blntab = it_blntab t_ftclear = it_ftclear t_ftpost = it_ftpost t_fttax = it_fttax EXCEPTIONS clearing_procedure_invalid = 1 clearing_procedure_missing = 2 table_t041a_empty = 3 transaction_code_invalid = 4 amount_format_error = 5 too_many_line_items = 6 company_code_invalid = 7 screen_not_found = 8 no_authorization = 9 OTHERS = 10. IF sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. DATA:lv_str TYPE string. CALL FUNCTION 'MESSAGE_TEXT_BUILD' EXPORTING msgid = sy-msgid msgnr = sy-msgno MSGV1 = sy-msgv1 MSGV2 = sy-msgv2 MSGV3 = sy-msgv3 MSGV4 = sy-msgv4 IMPORTING MESSAGE_TEXT_OUTPUT = lv_str. . MESSAGE lv_str TYPE 'E'. CALL FUNCTION 'POSTING_INTERFACE_END' EXCEPTIONS session_not_processable = 1 OTHERS = 2. ******* 冲销清账T-CODE:FBRA ******* 冲销清账凭证用如下BAPI * J_1B_FBRA_POSTING_AUFRUFEN

 

原文地址:https://www.cnblogs.com/seven1314pp/p/15527651.html