(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 <> .
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 = ''.
gt_docheader-doc_type = 'SA'.
APPEND gt_docheader.
ENDFORM. " fill_header *&---------------------------------------------------------------------*
*& Form fill_amount
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM fill_amount .
gt_amount-itemno_acc = ''.
gt_amount-currency = 'RMB'.
gt_amount-amt_doccur = .
APPEND gt_amount. gt_amount-itemno_acc = ''.
gt_amount-currency = 'RMB'.
gt_amount-amt_doccur = -.
APPEND gt_amount.
ENDFORM. " fill_amount *&---------------------------------------------------------------------*
*& Form fill_gl
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM fill_gl .
CLEAR gt_accountgl.
gt_accountgl-gl_account = ''.
gt_accountgl-itemno_acc = ''.
gt_accountgl-item_text = 'Item Text'.
gt_accountgl-bus_area = ''.
gt_accountgl-profit_ctr = ''.
gt_accountgl-costcenter = ''.
gt_accountgl-comp_code = ''.
gt_accountgl-alloc_nmbr = ''.
gt_accountgl-COSTCENTER = ''.
APPEND gt_accountgl.
CLEAR gt_accountgl. gt_accountgl-gl_account = ''.
gt_accountgl-itemno_acc = ''.
gt_accountgl-item_text = 'Item Text'.
gt_accountgl-bus_area = ''.
gt_accountgl-profit_ctr = ''.
gt_accountgl-costcenter = ''.
gt_accountgl-comp_code = ''.
gt_accountgl-alloc_nmbr = ''.
gt_accountgl-COSTCENTER = ''.
APPEND gt_accountgl.
CLEAR gt_accountgl. ENDFORM. " fill_gl

(4)    查看运行结果

(5)    1

BAPI_ACC_DOCUMENT_POST 解决原因代码输入问题-利用BADI的更多相关文章

  1. pyspider示例代码一:利用phantomjs解决js问题

    本系列文章主要记录和讲解pyspider的示例代码,希望能抛砖引玉.pyspider示例代码官方网站是http://demo.pyspider.org/.上面的示例代码太多,无从下手.因此本人找出一下 ...

  2. c++builder 代码输入助手

    c++builder 代码输入助手 指针箭头.指针符号-> 输入太麻烦 java.c#.delphi 语音,输入. 一个字符,就可以弹出代码提示窗口.很是方便. c++,输入->,需要按3 ...

  3. 解决Eclipse代码提示消失的方法

    注意:首先要做的是windows->preferences->java->Editor->"ContentAssist", auto-activetion中 ...

  4. NPM 使用介绍(包管理工具,解决NodeJS代码部署上的很多问题)

    引用地址:http://www.runoob.com/nodejs/nodejs-npm.html NPM 使用介绍 NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问 ...

  5. vscode解决java无法输入(scanner)问题

    vscode解决java无法输入问题 需要先安装java环境,->windows安装java 新建Test.java 输入代码 import java.util.Scanner; public ...

  6. Visual studio智能感知挡住了当前代码输入行

    AssistX->Listboxes->Enable Visual Assist completion, suggestion and member list in .. 如果勾选了该项就 ...

  7. 提升c++builder 代码输入流畅度的配置

    提高c++builder 代码输入流畅度 1.输入指针的函数名后,识别函数参数移动光标到括弧内,此功能太慢,有明显延迟,建议关闭.关闭以后,输入函数名不会自动添加(),需要自己手动输入括弧了,不过速度 ...

  8. [视频]K8飞刀--WinRAR远程代码执行漏洞利用视频

    [视频]K8飞刀--WinRAR远程代码执行漏洞利用视频 链接:https://pan.baidu.com/s/17_0kgNsDejJS0hvgLiMD7A 提取码:zkc2

  9. 除了信号触发线程与接收者线程相同的情况能直接调用到slot,其它情况都依赖事件机制(解决上面代码收不到信号的问题其实很简单,在线程的run();函数中添加一个事件循环就可以了,即加入一句exec();),信号槽不就是一个回调函数嘛

    MainWindow::MainWindow(QWidget *parent) :   QMainWindow(parent)   {   pThreadCon = new CSerialThread ...

随机推荐

  1. cURL命令行工具请求网页

    http://curl.haxx.se/download.html curl非常博大,用户要想使用好这个工具,除了详细学习参数之外,还需要深刻理解http的各种协议与URL的各个语法. 这里推荐几个读 ...

  2. C# AppDomain 类

    /*** AppDomain 表示应用程序域,它是一个应用程序在其中执行的独立环境.无法继承此类. 应用程序域(由 AppDomain 对象表示)为执行托管代码提供隔离.卸载和安全边界. 使用应用程序 ...

  3. 活动招募 HUAWEI HiAI公开课·北京站-如何在4小时把你的APP变身AI应用

    人工智能和机器学习是全球关注的新趋势,也是当前最火爆.最流行的话题.当你拿手机用语音助手帮你点外卖,智能推荐帮你把周边美食一网打尽:当你拿起P20拍照时,它将自动识别场景进行最美优化,让你成为摄影大师 ...

  4. 华为终端开放实验室Android P Beta 4测试能力上线

    7月26日,Android P Beta 4发布(即Android P DP5),此版本为开发者最后一个预览版本,也预示着Android P正式版即将与大家见面. 为保证开发者在正式版本来临前做好充分 ...

  5. python笔记1,语法,函数,类和实例,异常

    >>> int(12.34) 12 >>> float('12.34') 12.34 >>> str(1.23) '1.23' >>& ...

  6. 复制代码后调试程序,报错:在当前上下文中不存在名称“InitializeComponent”

    今天在看微软的Silverlight Toolkit Samples,并对其中的项目进行MSBuild, 编译器总是报这个错误“在当前上下文中不存在名称“InitializeComponent”” 找 ...

  7. 浅谈IM软件怎样建立安全socket连接、登录

    ----------------------------------------------------欢迎查看IM软件业务知识<专栏>-------------------------- ...

  8. ChemDraw 15支持哪些输入格式

    当我们想让我们的化学图形应用在试卷编辑.论文撰写.刊物出版等各个方面,这个时候往往都得使用ChemDraw 15.它可以与很多第三方应用灵活.本ChemDraw教程介绍新版ChemDraw Profe ...

  9. 【matlab】绘制双三次插值函数曲线

    想要的效果: 编程时要用到分段函数曲线的绘制方法:..+.*(分段条件). 需要注意的是:函数表达式中的乘除和乘方都要加“.”.因为一般的函数都是数在乘变量运算. x=-:; a=-0.5; w=ab ...

  10. mac - MAC电脑安装Mysql服务器和Navicat for mysql客户端

        1.下载链接 Navicat for mysql客户端 链接: https://pan.baidu.com/s/1dGbzgbR 密码: i43g Mysql服务器 链接: https://p ...