(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. Angular 2 组件之间如何通信?

    组件之间的共享可以有好几种方式 http://learnangular2.com/outputs/ 实例参考https://angular.io/docs/ts/latest/cookbook/com ...

  2. View的setTag和getTag使用

    在listview 优化其中,会使用到setTag()以及getTag()方法 代码例如以下: @Override public View getView(int position, View con ...

  3. 打包Cocos2d-xproject为PC项目

    <1>第一步,得到总体的大.exe 1.复制cocos2d-x-2.2文件下的Release.win32文件侠到桌面. 2.将项目下的Resources里的资源拷贝到Release.win ...

  4. flink 问题记录

    转发请注明原创地址:http://www.cnblogs.com/dongxiao-yang/p/7652337.html 1 WindowFunction类型不匹配无法编译. flink 版本:1. ...

  5. zombie process

    僵尸进程:子进程退出后,父进程还没有回收子进程的资源,那么这个子进程就处于僵尸状态.Q1:“资源”是些什么?Q2:父进程如何回收子进程的资源? 内核为每个终止子进程保存了一定量的信息,所以当终止进程的 ...

  6. c++ telescoping constructor is NOT supported until c++11

    Telescoping constructor: see Effective Java 2nd Edition Item 2 If you want to use telescoping constr ...

  7. 设置一个label显示多种颜色,多种字体大小

    UILabel* label = [[UILabel alloc] init]; label.frame = CGRectMake(0, 100, 200, 100); label.textColor ...

  8. Mongodb 与 MySQL对比

    在数据库存放的数据中,有一种特殊的键值叫做主键,它用于惟一地标识表中的某一条记录.也就是说,一个表不能有多个主键,并且主键不能为空值. 无论是MongoDB还是MySQL,都存在着主键的定义. 对于M ...

  9. samba在linux下的配置

    Samba配置过程容易遇到的问题 samba的安装很简单,搜索一下都能找到.我主要是记录一上我碰到的问题及解决的办法 第一个问题 防火墙的问题,粗暴的办法是直接把防火墙关掉,合适的做法是把samba用 ...

  10. Tomcat (7.0)数据源配置

    在Tomcat这个Java Web容器下通过配置DataSource(数据源)对象能够解决上面所述的问题. JDBC中的javx.sql.DataSource接口负责建立于数据库的连接.程序中直接从数 ...