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 <> .
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的更多相关文章
- pyspider示例代码一:利用phantomjs解决js问题
本系列文章主要记录和讲解pyspider的示例代码,希望能抛砖引玉.pyspider示例代码官方网站是http://demo.pyspider.org/.上面的示例代码太多,无从下手.因此本人找出一下 ...
- c++builder 代码输入助手
c++builder 代码输入助手 指针箭头.指针符号-> 输入太麻烦 java.c#.delphi 语音,输入. 一个字符,就可以弹出代码提示窗口.很是方便. c++,输入->,需要按3 ...
- 解决Eclipse代码提示消失的方法
注意:首先要做的是windows->preferences->java->Editor->"ContentAssist", auto-activetion中 ...
- NPM 使用介绍(包管理工具,解决NodeJS代码部署上的很多问题)
引用地址:http://www.runoob.com/nodejs/nodejs-npm.html NPM 使用介绍 NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问 ...
- vscode解决java无法输入(scanner)问题
vscode解决java无法输入问题 需要先安装java环境,->windows安装java 新建Test.java 输入代码 import java.util.Scanner; public ...
- Visual studio智能感知挡住了当前代码输入行
AssistX->Listboxes->Enable Visual Assist completion, suggestion and member list in .. 如果勾选了该项就 ...
- 提升c++builder 代码输入流畅度的配置
提高c++builder 代码输入流畅度 1.输入指针的函数名后,识别函数参数移动光标到括弧内,此功能太慢,有明显延迟,建议关闭.关闭以后,输入函数名不会自动添加(),需要自己手动输入括弧了,不过速度 ...
- [视频]K8飞刀--WinRAR远程代码执行漏洞利用视频
[视频]K8飞刀--WinRAR远程代码执行漏洞利用视频 链接:https://pan.baidu.com/s/17_0kgNsDejJS0hvgLiMD7A 提取码:zkc2
- 除了信号触发线程与接收者线程相同的情况能直接调用到slot,其它情况都依赖事件机制(解决上面代码收不到信号的问题其实很简单,在线程的run();函数中添加一个事件循环就可以了,即加入一句exec();),信号槽不就是一个回调函数嘛
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { pThreadCon = new CSerialThread ...
随机推荐
- java - day06 - arraycopy
package day05; import java.util.Arrays; import java.util.Random; /* * 附:如果需要使用引用类,如Random类的方法, * 需要新 ...
- Vue 组件5 高级异步组件
自2.3.0起,异步组件的工厂函数也可以返回一个如下的对象. const AsyncComp = () => ({ // 需要加载的组件. 应当是一个 Promise component: im ...
- Step By Step(Lua调用C函数)
原文: http://www.cnblogs.com/stephen-liu74/archive/2012/07/23/2469902.html Lua可以调用C函数的能力将极大的提高Lua的可扩展性 ...
- Springboot集成权限管理框架apache shiro
一.名词解释 网上一大堆 二.pom依赖 <dependency> <groupId>org.apache.shiro</groupId> <artifact ...
- Android startActivity()和onActivityResult()使用总结(转载)
有三个Activity: A.java ,B.java ,C.java Activity之间的跳转常用方法: 1. startActivity(Intent intent); 该方法只用于启动新的Ac ...
- 离散数学及其应用(Discrete Mathematica With Application 7th)学习笔记 第一章
目前本人只进行到了第五章的章末补充练习,应该是从4月6号开始学习的,又是英文版,而且基本就下班回家抽2个小时左右去学,所以进度较慢. 由于本质是数学,除了一些程序处理和大计算量的问题,基本上一本草稿本 ...
- C++标准库之tuple
构造 构造函数 tuple的构造函数很普通,没啥说的. default (1) constexpr tuple();默认构造函数 copy / move (2) tuple (const tuple& ...
- 大量数据导入导致mysql自动重启
昨天晚上第十款做数据库迁移,数据库版本:Version: '5.1.61',数据量27G左右 message报错信息如下: Mar :: VM_163_210_tlinux kernel: [, oo ...
- java blob
package net.qysoft; import java.io.File;import java.io.FileOutputStream;import java.sql.Blob;import ...
- MFC中调用chm帮助文档(使用相对路径)
主要就一句话: ShellExecute(NULL,L"Open",path,NULL,NULL,SW_SHOWMAXIMIZED); 常用的显示方式是SW_SHOWNORMAL和 ...