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 ...
随机推荐
- Atitit. c# 语法新特性 c#2.0 3.0 4.0 4.5 5.0 6.0 attilax总结
Atitit. c# 语法新特性 c#2.0 3.0 4.0 4.5 5.0 6.0 attilax总结 1.1. C# 1.0-纯粹的面向对象 1.2. C# 2.0-泛型编程新概念 1.3. ...
- Atitit.导出excel报表的设计与实现java .net php 总
Atitit.导出excel报表的设计与实现java .net php 总结 1. 导出报表 表格的设计要素1 1.1. 支持通用list<Map>转换1 1.2. 对于空列是否输出1 1 ...
- Django中API分析
下面,我将仔细分析一次请求的旅程: web端发出一个请求报文,到获得服务器的响应报文结束. 1.打开浏览器,输入URL,进入API页面: http://127.0.0.1:8000/api/salt ...
- qsort的陷阱
问:求大神解释这个C程序,为什么在compare_strings中使用return strcmp(p, q);就无法正确排序 #include <string.h> #include &l ...
- webdriver下拉框中选择option的方法提醒
select这个标签比较特殊 下面的option不能用点击下拉框,再点击选中这种方法 前端代码: <html> <body> <select id="Shipp ...
- 配置AutoMapper映射规则《转》
配置AutoMapper映射规则 AutoMapper是基于约定的,因此在实用映射之前,我们需要先进行映射规则的配置. public class Source { public int SomeVal ...
- 修改PHP session 默认时间方法
修改三行如下: 1.session.use_cookies把这个的值设置为1,利用cookie来传递sessionid 2.session.cookie_lifetime这个代表SessionID在客 ...
- int abs(int number)函数有感: 求补码和通过补码求对应的整数 C++(增加:数字的二进制表示中1的个数)
#include "limits.h" #include "math.h" int abs(int number) { int const mask = num ...
- Fantasy of a Summation n个数,k层重复遍历相加。求它的和%mod的值;推导公式+快速幂
/** 题目:Fantasy of a Summation 链接:https://vjudge.net/contest/154246#problem/L 题意:n个数,k层重复遍历相加.求它的和%mo ...
- RL for Robots
1.Robot gains Social Intelligence through Multimodal Deep Reinforcement Learning 这篇文章使用DQN去训练一个机器人,使 ...