zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    解决GET http://localhost:8080/js/layui/layui.js net::ERR_ABORTED 404
    按钮向右浮动
    @RequestParam、@PathVariable、 @RequestBody用法
    【报错】No converter found for return value of type: class java.util.HashMap
    Kendo UI for jQuery数据管理使用教程:PivotGrid
    界面控件DevExpress WPF——支持UI自动化和Appium测试
    Visual Studio插件CodeRush v20.2.9发布——新的单元测试体验
    DevExpress WinForms帮助文档:如何初始表单位置
    C# 8 & C# 9功能如何进行单元测试?这里有答案
    最新版Devexpress WinForm.NET开发环境配置信息
  • 原文地址:https://www.cnblogs.com/rainysblog/p/6741708.html
Copyright © 2011-2022 走看看