资产报废 BAPI_ASSET_RETIREMENT_POST

入参
BUKRS公司代码
ANLN1主资产号
ANLN2资产子编号 
BUDAT转资日期
ANBTR已过账的金额
BLDAT凭证中的凭证日期
BZDAT资产价值日
出参
BUKRS公司代码
ANLN1主资产号
ANLN2资产子编号 
BELNR会计凭证号码
GJAHR会计年度
ZBFJZ按本位币计的金额
MSGTS消息类型
TEXT消息文本
  METHOD assets_retirement.DATA ls_generalpostingdata TYPE bapifapo_gen_info.DATA ls_retirementdata     TYPE bapifapo_ret.DATA ls_doc                TYPE bapifapo_doc_ref.DATA ls_return             TYPE bapiret2.DATA ls_furtherpostingdata TYPE bapifapo_add_info.DATA ls_result TYPE zsfi_assets_retirement_output.SELECT DISTINCT t001~bukrs,t001~waers FROM t001INNER JOIN @it_data AS dataON t001~bukrs = data~bukrsINTO TABLE @DATA(lt_t001).SORT lt_t001 BY bukrs.SELECT DISTINCT anla~bukrs,anla~anln1,anla~anln2,anla~zujhrFROM anlaINNER JOIN @it_data AS dataON anla~bukrs = data~bukrsAND anla~anln1 = data~anln1AND anla~anln2 = data~anln2INTO TABLE @DATA(lt_anla).SORT lt_anla BY bukrs anln1 anln2.LOOP AT it_data INTO DATA(ls_data).MOVE-CORRESPONDING ls_data TO ls_result.READ TABLE lt_t001 INTO DATA(ls_t001) WITH KEY bukrs = ls_data-bukrs BINARY SEARCH.READ TABLE lt_anla INTO DATA(ls_anla1) WITH KEY bukrs = ls_data-bukrsanln1 = ls_data-anln1anln2 = ls_data-anln2 BINARY SEARCH.DATA(lv_assettrtyp) = COND #( WHEN ls_anla1-zujhr EQ ls_data-budat(4) THEN '250' ELSE '200' ).ls_generalpostingdata = VALUE #( username = sy-uname doc_type = 'Z3'  doc_date = ls_data-bldatpstng_date = ls_data-budat fis_period = ls_data-budat+4(2) trans_date =  ls_data-budatcomp_code = ls_data-bukrs assetmaino = ls_data-anln1 assetsubno = ls_data-anln2assettrtyp = lv_assettrtyp ).ls_retirementdata = VALUE #( valuedate = ls_data-bzdat currency = ls_t001-waers amount = ls_data-anbtrcompl_ret = COND #( WHEN ls_data-anbtr  IS INITIAL THEN 'X' ELSE  '' ) ).ls_furtherpostingdata = VALUE #( header_txt = |{ ls_data-bukrs }{ ls_data-anln1 }{ ls_data-anln2 }{ '资产报废'(017) }| ).CALL FUNCTION 'BAPI_ASSET_RETIREMENT_POST'EXPORTINGgeneralpostingdata = ls_generalpostingdataretirementdata     = ls_retirementdatafurtherpostingdata = ls_furtherpostingdataIMPORTINGdocumentreference  = ls_docreturn             = ls_return.IF ls_return-type = 'S'.CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING  wait = 'X'.SELECT SINGLE belnr,gjahr INTO (@ls_result-belnr,@ls_result-gjahr )FROM bkpf WHERE awkey = @ls_doc-obj_key AND ldgrp EQ '0L'.SELECT SUM( dmbtr ) INTO @ls_result-zbfjz FROM bsegWHERE belnr = @ls_result-belnr AND gjahr = @ls_result-gjahrAND  hkont = '1606000000' AND bukrs = @ls_data-bukrs.ls_result-text = '资产报废成功'(015).ELSE.CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.ls_result-text = |{ '资产报废失败'(016) }:{ ls_return-message }| .ENDIF.ls_result-msgts = ls_return-type.APPEND ls_result TO et_result.CLEAR: ls_result,ls_generalpostingdata,ls_retirementdata,ls_furtherpostingdata,ls_doc,ls_return,ls_t001,ls_anla1.ENDLOOP.ENDMETHOD.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/46853.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决ESLint和Prettier冲突的问题

在配置了ESLint的项目中使用Prettier进行格式化可能会出现冲突,不如Prettier配置了使用双引号,ESLint配置了单引号,当然可以一个一个改成一样的配置,但是比较麻烦。我发现可以直接使用ESLint的规则进行格式化。在VSCode配置过程如…

xss复习总结及ctfshow做题总结xss

xss复习总结 知识点 1.XSS 漏洞简介 ​ XSS又叫CSS(Cross Site Script)跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的…

软考从报考到拿到证书的过程

一、报考阶段及参加考试阶段 这个阶段可以留意软考官网的的信息,一般上半年是3月份报名、5月份考试;下半年是8月份报名、11月份考试。以下是这个阶段会用到的链接,保持关注就好。 软考官网:中国计算机技术职业资格网 (ruankao.o…

六、 SpringBoot 配置⽂件 ★ ✔【value的引号注意事项、@ConfigurationProperties 、】

六、 SpringBoot 配置⽂件 本节⽬标1. 配置⽂件作⽤2. 配置⽂件快速⼊⼿3. 配置⽂件的格式4. properties 配置⽂件说明4.1 properties 基本语法4.2 读取配置⽂件4.3 properties 缺点分析 5. yml 配置⽂件说明5.1 yml 基本语法5.2 yml 使⽤进阶5.2.1 yml 配置不同数据类型及 nul…

Git简要笔记

Git是一个分布式版本控制系统,用于跟踪文件的变化并协调多人协作开发。它提供了一种管理和追踪代码变化的方式,以便团队成员可以同时进行工作,轻松地合并和管理他们的代码。 Git的基本概念包括: 仓库(Repository&…

【GD32】从零开始学GD32单片机 | WDGT看门狗定时器+独立看门狗和窗口看门狗例程(GD32F470ZGT6)

1. 简介 看门狗从本质上来说也是一个定时器,它是用来监测硬件或软件的故障的;它的工作原理大概就是开启后内部定时器会按照设置的频率更新,在程序运行过程中我们需不断地重装载看门狗,以使它不溢出;如果硬件或软件发生…

Vue实现滚动元素始终固定在最底部

1. 应用场景——聊天 在聊天的时候,展示聊天内容的元素是可以滚动的,通过上下滚动来查看过往消息。不过在首次打开聊天页面以及发送新消息时需要固定在滚动的最底部以及时展示最新的消息,这样才能获得比较好的用户体验。 效果: …

C++——类和对象(下)

文章目录 一、再探构造函数——初始化列表二、 类型转换三、static成员静态成员变量静态成员函数 四、 友元友元函数友元类 五、内部类六、匿名对象 一、再探构造函数——初始化列表 之前我们实现构造函数时,初始化成员变量主要使⽤函数体内赋值,构造函…

【C语言】移位操作详解 - 《凌波微步 ! 》

目录 C语言移位操作 (Bitwise Shift Operators) 详解1. 移位操作符概述1.1 左移操作符 (<<)1.2 右移操作符 (>>) 2. 使用示例2.1 左移操作符示例2.2 右移操作符示例2.3 有符号和无符号右移 3. 注意事项3.1 超出位数范围的移位3.2 移位操作的性能 4. 移位操作的应用…

PostgreSQL使用(二)

说明&#xff1a;本文介绍PostgreSQL的DML语言&#xff1b; 插入数据 -- 1.全字段插入&#xff0c;字段名可以省略 insert into tb_student values (1, 张三, 1990-01-01, 88.88);-- 2.部分字段插入&#xff0c;字段名必须写全 insert into tb_student (id, name) values (2,…

【后端开发实习】用Redis实现消息队列邮件发送

简介 用Resi本身封装的方法相比于调redis-smq库&#xff0c;实现方式就要简单朴素很多&#xff1a; 调用redis本身的List数据结构的Lpush实现消息的进队。用Redis的List数据结构的brpop方法实现消息的出队。将出队消息通过邮件方法发送给指定的用户。 生动形象理解就是用redi…

《javeEE篇》--多线程(1)

进程 在讲线程之前我们先来简单了解一下进程 什么是进程 进程是操作系统对一个正在运行的程序的一种抽象&#xff0c;又或者说&#xff0c;可以把进程看作程序的一次运行过程(通俗的讲就是跑起来的程序)。 而且在操作系统内部&#xff0c;进程是资源分配的基本单位 PCB P…

python实例练习00001:使用正则表达式获取文件内容

print(Hello World!) import re try:file = input(enter the file :)with open(file, r) as f:data = f.read() except FileNotFoundError:print(fthe file {file} does not exists:)# 定义正则表达式 pattern = r"num (\d+) name (\w+) class (\d+) age (\d+)" # 使…

Python 是一种用途广泛的编程语言,应用于各个领域

1. 网络和互联网开发: Python 拥有丰富的框架和库&#xff0c;使其成为 Web 开发的理想选择。 框架: Django 和 Pyramid 用于构建复杂的 Web 应用。Flask 和 Bottle 则适合轻量级应用和 API。 库: Python 标准库支持处理 HTML、XML、JSON 和电子邮件。此外&#xff0c;还有强大…

内容长度不同的div如何自动对齐展示

平时我们经常会遇到页面内容div结构相同页&#xff0c;这时为了美观我们会希望div会对齐展示&#xff0c;但当div里的文字长度不一时又不想写固定高度&#xff0c;就会出现div长度长长短短&#xff0c;此时实现样式可以这样写&#xff1a; .e-commerce-Wrap {display: flex;fle…

轻量级自适用商城卡密发卡源码(可运营)

一款全开源非常好看的发卡源码。轻量级自适应个人自助发卡简介&#xff0c;这是一款二次开发的发卡平台源码修复原版bug,删除无用的代码。所有文件全部解密&#xff0c;只保留后台版权信息内容。大家放心使用&#xff0c;可以用于商业运营。轻量级自适应个人自助发卡。 源码下…

R语言学习笔记7-列表

R语言学习笔记7-列表 列表(list)介绍空列表包含元素的列表嵌套列表访问列表元素添加新元素删除元素修改元素使用for循环遍历列表使用lapply遍历和操作列表使用sapply简化列表操作合并列表检查元素是否存在列表长度和名称操作将列表转换为其他数据类型列表与环境的交互列表在函数…

写python代码,怎么用工厂模式思维设计接口?

接口的好处 接口就是抽象方法&#xff0c;用来设计后架构&#xff0c;后端开发者和客户端调用者都可以使用这个接口规则同步写代码&#xff0c;客户端调用者&#xff08;app、网页甚至时自动化接口测试&#xff09;不用担心后端对接口的实现细节具体是什么样子的。直接去调用就…

QTimer::singleShot()

QTimer::singleShot() 是 Qt 框架中的一个静态函数&#xff0c;用于创建一个单次定时器事件。它的作用是在指定的时间间隔之后触发一个单次的定时器事件&#xff0c;然后停止定时器。 其函数原型为&#xff1a; static void QTimer::singleShot(int msec, const QObject *rec…

获取欧洲时报中国板块前新闻数据(多线程版)

这里写目录标题 一.数据获取流程二.获取主页面数据并提取出文章url三.获取文章详情页的数据并提取整体代码展示 一.数据获取流程 我们首先通过抓包就能够找到我们所需数据的api 这里一共有五个参数其中只有第一个和第五个参数是变化的第一个参数就是第几页第五个是一个由时…