SAP 创建会计冲销凭证
“功能描述:根据传输过来数据创建会计冲销凭证,并返回消息和状态
*”----------------------------------------------------------------------
"“本地接口:
*” IMPORTING
*" VALUE(IW_ZTFKCX0010) TYPE ZTFKCX0010
*" EXPORTING
*" VALUE(E_JSON) TYPE STRING
*"----------------------------------------------------------------------
DATA : l_bkpf TYPE bkpf.
DATA : l_reversal TYPE bapiacrev,
-
l_bus_act TYPE bapiache09-bus_act,l_obj_key TYPE bapiacrev-obj_key, -
gt_return TYPE TABLE OF bapiret2 WITH HEADER LINE,lt_return TYPE TABLE OF bapiret2 WITH HEADER LINE,lw_return TYPE bapiret2. -
i_return TYPE bapiret2.DATA:BEGIN OF ls_msg,
type TYPE bapi_mtype, "
message TYPE bapi_msg, "END OF ls_msg.DATA:lt_msg LIKE TABLE OF ls_msg.
-
获取数据
*验证是否已创建过会计凭证
CLEAR: ls_msg,l_bkpf.
SELECT SINGLE * FROM bkpf INTO CORRESPONDING FIELDS OF l_bkpf WHERE bukrs = iw_ztfkcx0010-awkey+10(4)
AND belnr = iw_ztfkcx0010-awkey+0(10)
AND gjahr = iw_ztfkcx0010-awkey+14(4)
AND xreversal = ‘’.
IF sy-subrc <> 0.
ls_msg-type = ‘W’.
CONCATENATE iw_ztfkcx0010-awkey ‘之前已冲销过,请确认!’ INTO ls_msg-message.
APPEND ls_msg TO lt_msg.
e_json = /ui2/cl_json=>serialize( data = lt_msg ).RETURN.
ENDIF.
-
bapi 参数赋值
l_reversal-obj_type = l_bkpf-awtyp.
l_reversal-obj_key_r = l_bkpf-awkey.
l_reversal-pstng_date = iw_ztfkcx0010-bldat."冲销日期
l_reversal-fis_period = iw_ztfkcx0010-bldat+4(2)."冲销期间
l_reversal-comp_code = iw_ztfkcx0010-awkey+10(4)."公司代码
l_reversal-reason_rev = iw_ztfkcx0010-stgrd."冲销原因代码 03 -
取得系统 LOGICAL SYSTEM
CALL FUNCTION ‘OWN_LOGICAL_SYSTEM_GET’
IMPORTING
own_logical_system = l_reversal-obj_sys. -
调用 BAPI 函数,冲销会计凭证
CALL FUNCTION ‘BAPI_ACC_DOCUMENT_REV_POST’
EXPORTING
reversal = l_reversal
bus_act = l_bkpf-glvor
IMPORTING
obj_key = l_obj_key
TABLES
return = lt_return. -
S 成功,E 错误,W 警告,I 信息,A 中断
LOOP AT lt_return INTO lw_return WHERE type = ‘E’
OR type = ‘A’.EXIT.
ENDLOOP.
-
创建成功
IF sy-subrc <> 0.
CALL FUNCTION ‘BAPI_TRANSACTION_COMMIT’
EXPORTING
wait = ‘X’.CLEAR ls_msg.
ls_msg-type = ‘S’.
ls_msg-message = l_obj_key.
APPEND ls_msg TO lt_msg.
*存表ZTFKCX0010
iw_ztfkcx0010-bukrs = iw_ztfkcx0010-awkey+10(4)."新赋值
iw_ztfkcx0010-gjahr = iw_ztfkcx0010-awkey+14(4)."新赋值
iw_ztfkcx0010-belnr = iw_ztfkcx0010-awkey+0(10)."新赋值
iw_ztfkcx0010-awkey = l_obj_key."对此字段从新赋值冲销凭证号
iw_ztfkcx0010-createdby = sy-uname."创建人
iw_ztfkcx0010-cr_date = sy-datum."创建日期
iw_ztfkcx0010-cr_time = sy-uzeit."创建时间
iw_ztfkcx0010-mod_by = sy-uname."修改人
iw_ztfkcx0010-mod_date = sy-datum."修改日期
iw_ztfkcx0010-mod_time = sy-uzeit."修改时间
MODIFY ztfkcx0010 FROM iw_ztfkcx0010.
ELSE.
CALL FUNCTION ‘BAPI_TRANSACTION_ROLLBACK’.
LOOP AT lt_return INTO lw_return WHERE type = 'E'.CLEAR ls_msg.ls_msg-type = 'E'.ls_msg-message = lw_return-message.APPEND ls_msg TO lt_msg.ENDLOOP.
ENDIF.
- **内表->JSON
e_json = /ui2/cl_json=>serialize( data = lt_msg ).
***测试数据
*IW_ZTFKCX0010-XBLNR = ‘付款申请单号’.
*IW_BKPF-XREF1_HD = ‘付款交易流水号’.
*IW_BKPF-MTYPE = ‘1’.
*IW_BKPF-WRBTR = ‘700’.
*IW_BKPF-STGRD = ‘03’.
*IW_BKPF-BLDAT = ‘20220723’.
*IW_BKPF-RESON = ‘ceshi’.
*IW_BKPF-AWKEY = ‘150000000652002020’.
**
相关文章:
SAP 创建会计冲销凭证
“功能描述:根据传输过来数据创建会计冲销凭证,并返回消息和状态 *”---------------------------------------------------------------------- "“本地接口: *” IMPORTING *" VALUE(IW_ZTFKCX0010) TYPE ZTFKCX0010 *" EXP…...
Jetson(Ubuntu18.04)设备无法ping通百度能ping通局域网错误集合,(神奇的是这样的情况下Todesk等远程确没有问题)
一、.打开DNS,意思是取消注释添加114.114.114.114 ,文件如下 vim /etc/systemd/resolved.conf [Resolve] #DNS #FallbackDNS #Domains #LLMNRno #MulticastDNSno #DNSSECno #Cacheyes #DNSStubListeneryes然后重启服务sudo systemctl restart systemd-resolved.se…...
Spring的@Conditional注解
前言Conditional是Spring4新提供的注解,它的作用是按照一定的条件进行判断,满足条件给容器注册bean。Conditional的源码定义://此注解可以标注在类和方法上 Target({ElementType.TYPE, ElementType.METHOD}) Retention(RetentionPolicy.RUNTI…...
剑指 Offer 67 把字符串转换成整数
摘要 面试题67. 把字符串转换成整数 一、字符串解析 根据题意,有以下四种字符需要考虑: 首部空格: 删除之即可;符号位:三种情况,即 , − , 无符号";新建一个变量保存符号位࿰…...
【教学典型案例】18.开门小例子理解面向对象
目录一:背景介绍业务场景:业务分析:二:实现思路1、面向过程:2、面向对象(抽象、封装、继承、多态)3、面向对象(抽象、封装、继承、多态、反射)三:实现过程1、…...
Linux环境ENV的概念
一、基本概念 环境变量的含义:程序(操作系统命令和应用程序)的执行都需要运行环境,这个环境是由多个环境变量组成的。 按变量的周期划为永久变量和临时性变量2种: 永久变量:通过修改配置文件,…...
AcWing数据结构 - 数据结构在算法比赛中的应用(下)
目录 Trie树 Trie字符串统计 最大异或对 并查集 合并集合 连通块中点的数量 食物链 堆 堆排序 模拟堆 哈希表 模拟散列表 字符串哈希 Trie树 Trie字符串统计 思路: 设 idx索引用于构建树, 结点son[节点位置][节点分支指针],cnt[]记录单…...
基于嵌入式libxml2的ARM64平台的移植(aarch64)
由于libxml在移植过程中依赖于zlib的库文件,因此本节内容包含zlib(V1.2.13)的移植libxml2(V2.10.3)的移植两部分组成。 (一)zlib的移植(基于arm64) 1、在github上下载zlib的最新源码压缩包&am…...
8. 字符串转换整数 (atoi)
题目描述 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。 假设环境不允许存储 64 位整数(有符号或无符号)。 示例 1&#x…...
[Tomcat]解决IDEA中的Tomcat中文乱码问题
目录 1、IDEA 2、VM options 3、IDEA启动程序的存放目录 4、Tomcat 写在前面:此方法亲测有效!!! 1、IDEA 2、VM options 加上这两行: -Dfile.encodingUTF-8 -Dconsole.encodingUTF-8 3、IDEA启动程序的存放目录…...
python之dataclasses
一、场景 dataclasses模块提供了一种方便的方法来创建和管理数据对象 它可以帮助开发者更容易地创建简单的类,同时提供了一些实用的功能,例如自动实现__init__()、repr()、eq()等方法。 数据容器:如果您需要一个简单的类来存储一些数据&…...
【MapGIS精品教程】007:MapGIS投影变换案例教程
MapGIS投影变换,包括创建坐标系、定义投影、单点投影、类投影、批量投影。 文章目录 一、创建坐标系1. 创建高斯平面坐标系2. 创建阿尔伯斯投影二、定义投影三、投影变换1. 单点投影2. 类投影3. 批量投影一、创建坐标系 在MagGIS数据库中,有个空间参考系的文件夹,内置了常见…...
list数据根据属性字段去重
/*** 根据照片名称去重*/fun duplicateRemoval(list: MutableList<MediaBean>): MutableList<MediaBean>? {val mediaBeanList: MutableSet<MediaBean> if (Build.VERSION.SDK_INT > Build.VERSION_CODES.N) {TreeSet(Comparator.comparing(MediaBean::f…...
java教程(2023-3-8)
第一章:HelloWorld 1.java语言介绍 public class MainTest {public static void main(String[] args) { //软件分为系统软件和应用软件 //人机交互方式: 图形化界面 命令行方式/*常用的DOS命令:1.切换盘符:盘符 :2.创建文件夹m…...
node 配置 vue npm配置
下载node 版本16https://nodejs.org/download/release/v16.16.0/node-v16.16.0-x64.msi复制安装地址,省空间,生报错老老实实复制就好D:\Program\nodejs新建node_cache和node_globalD:\Program\nodejs\node_cacheD:\Program\nodejs\node_global运行命令np…...
特斯拉、小鹏开路,城市NOA距好用还有几年?
作者 | Marshall 编辑 | 张祥威一项新技术,狂热的技术开发者往往会高估其发展速度,认为当下偶尔发生的安全问题,会随着数据积累和功能迭代被逐渐解决。 他们往往会说,“这个问题没有包含在我们的场景库中,但现在我们知…...
Vue 3第九章:WatchEffect高级侦听器
文章目录1. WatchEffect高级侦听器1.1. 使用 watchEffect 函数1.2. 停止侦听1.3. 侦听多个状态1.4. 懒执行总结1. WatchEffect高级侦听器 在 Vue 3 中,我们可以使用 watchEffect 函数来创建高级侦听器。与 watch 和 computed 不同,watchEffect 不需要指…...
c++基础——函数
函数的声明编程中的函数(function)一般是若干语句的集合。我们也可以将其称作“子过程(subroutine)”。在编程中,如果有一些重复的过程,我们可以将其提取出来,形成一个函数。函数可以接收若干值…...
DPDK系列之七DPDK中的虚拟化支持
一、DPDK和虚拟化 DPDK中大幅优化了网络通信的效率,这里也重点对网卡的虚拟化进行分析。在前面的文章中的学习可以判定网卡基本属于IO虚拟化。但是,虚拟化又有IO全虚拟化和IO半虚拟化之分,那么在DPDK中使用的哪种呢?IO虚拟化一般…...
设计模式~桥接模式(bridge)-14
目录 (1)优点: (2)缺点: (3)使用场景: (4)注意事项: (5)应用实例: 代码 桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式&a…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
IP如何挑?2025年海外专线IP如何购买?
你花了时间和预算买了IP,结果IP质量不佳,项目效率低下不说,还可能带来莫名的网络问题,是不是太闹心了?尤其是在面对海外专线IP时,到底怎么才能买到适合自己的呢?所以,挑IP绝对是个技…...
LRU 缓存机制详解与实现(Java版) + 力扣解决
📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...
