BAPI_ACC_DOCUMENT_POST 解决原因代码输入问题-利用BADI
Posted Rainystuday
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BAPI_ACC_DOCUMENT_POST 解决原因代码输入问题-利用BADI相关的知识,希望对你有一定的参考价值。
(1) 复制函数SAMPLE_INTERFACE_RWBAPI01为Z SAMPLE_INTERFACE_RWBAPI01
*"---------------------------------------------------------------------- *"*"Local interface: *" TABLES *" IT_ACCIT STRUCTURE ACCIT *" IT_ACCCR STRUCTURE ACCCR *" RETURN STRUCTURE BAPIRET2 *" EXTENSION STRUCTURE BAPIACEXTC *" IT_ACCWT STRUCTURE ACCIT_WT *" CHANGING *" VALUE(DOCUMENT_HEADER) LIKE ACCHD STRUCTURE ACCHD *"---------------------------------------------------------------------- if sy-uname = \'ZHANGDQ\'. LOOP AT EXTENSION. loop at IT_ACCIT . IT_ACCIT-RSTGR = EXTENSION-FIELD1. MODIFY IT_ACCIT . endloop. ENDLOOP. endif. ENDFUNCTION.
只是测试,所以我只针对我的用户有效。
(2) FIBF业务交易事件设置
菜单栏
设置-》处理函数模块-》SAP的一个应用程序
修改视图 每处理界面的应用函数模块:总览
处理 Ctr 应用 函数模块
CACS3003 IS-CS CACS_HR_FIND_EMPLOYEE
CACS8001 EA-ICM CACS_SAP00_PRC_8001
RWBABI01 ZSAMPLE_INTERFACE_RWBAPI01
(3) 程序调用BAPI: BAPI_ACC_DOCUMENT_POST
*&---------------------------------------------------------------------* *& Report ZFR_GL_DOCUMENT *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT zfr_gl_document. DATA: gt_docheader LIKE TABLE OF bapiache09 WITH HEADER LINE, gt_accountgl LIKE TABLE OF bapiacgl09 WITH HEADER LINE, gt_acccust LIKE TABLE OF bapiacar09 WITH HEADER LINE, gt_amount LIKE TABLE OF bapiaccr09 WITH HEADER LINE, gt_extension LIKE TABLE OF bapiacextc WITH HEADER LINE, gt_return LIKE TABLE OF bapiret2 WITH HEADER LINE. DATA: gv_post_doc LIKE bapiache09-obj_key. PERFORM fill_header. * Fill in gl PERFORM fill_gl. PERFORM fill_amount. gt_EXTENSION-FIELD1 = \'A01\'. APPEND gt_EXTENSION. CLEAR gt_EXTENSION. CALL FUNCTION \'BAPI_ACC_DOCUMENT_CHECK\' EXPORTING documentheader = gt_docheader TABLES accountgl = gt_accountgl currencyamount = gt_amount extension1 = gt_extension return = gt_return. READ TABLE gt_return WITH KEY type = \'E\'. IF sy-subrc <> 0. CALL FUNCTION \'BAPI_ACC_DOCUMENT_POST\' EXPORTING documentheader = gt_docheader IMPORTING obj_key = gv_post_doc TABLES accountgl = gt_accountgl currencyamount = gt_amount" accountpayable = gt_accpay EXTENSION1 = gt_EXTENSION return = gt_return. COMMIT WORK AND WAIT. WRITE: \'Posting Document: \', gv_post_doc. ELSE. WRITE: \'Error!\'. ENDIF. *&---------------------------------------------------------------------* *& Form fill_header *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM fill_header . CLEAR gt_docheader. gt_docheader-doc_date = sy-datum. gt_docheader-pstng_date = sy-datum. * gt_docheader-obj_type = \'IDOC\'. * gt_docheader-obj_key = \'$\'. * gt_docheader-obj_sys = \'BGS1\'. gt_docheader-bus_act = \'RFBU\'. gt_docheader-username = sy-uname. gt_docheader-header_txt = \'Header Text\'. gt_docheader-ref_doc_no = \'Reference Doc No\'. gt_docheader-comp_code = \'1100\'. gt_docheader-doc_type = \'SA\'. APPEND gt_docheader. ENDFORM. " fill_header *&---------------------------------------------------------------------* *& Form fill_amount *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM fill_amount . gt_amount-itemno_acc = \'1\'. gt_amount-currency = \'RMB\'. gt_amount-amt_doccur = 10. APPEND gt_amount. gt_amount-itemno_acc = \'2\'. gt_amount-currency = \'RMB\'. gt_amount-amt_doccur = -10. APPEND gt_amount. ENDFORM. " fill_amount *&---------------------------------------------------------------------* *& Form fill_gl *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM fill_gl . CLEAR gt_accountgl. gt_accountgl-gl_account = \'1001010000\'. gt_accountgl-itemno_acc = \'1\'. gt_accountgl-item_text = \'Item Text\'. gt_accountgl-bus_area = \'\'. gt_accountgl-profit_ctr = \'\'. gt_accountgl-costcenter = \'\'. gt_accountgl-comp_code = \'1100\'. gt_accountgl-alloc_nmbr = \'456\'. gt_accountgl-COSTCENTER = \'1020120300\'. APPEND gt_accountgl. CLEAR gt_accountgl. gt_accountgl-gl_account = \'1001010000\'. gt_accountgl-itemno_acc = \'2\'. gt_accountgl-item_text = \'Item Text\'. gt_accountgl-bus_area = \'\'. gt_accountgl-profit_ctr = \'\'. gt_accountgl-costcenter = \'\'. gt_accountgl-comp_code = \'1100\'. gt_accountgl-alloc_nmbr = \'789\'. gt_accountgl-COSTCENTER = \'1020120300\'. APPEND gt_accountgl. CLEAR gt_accountgl. ENDFORM. " fill_gl
(4) 查看运行结果
(5) 1
以上是关于BAPI_ACC_DOCUMENT_POST 解决原因代码输入问题-利用BADI的主要内容,如果未能解决你的问题,请参考以下文章