PS CJ37/CJ38 增加和返回预算
一、预算补充CJ37/预算返回CJ38

二、补充预算CJ37,点击保存

预算返回CJ38,点击保存

三、代码示例
预算补充代码
"-----------------------------------------@斌将军--------------------------------------------
SELECT
pspnr,
posid,
objnr
FROM prps
INTO TABLE @DATA(lt_prps)
FOR ALL ENTRIES IN @lt_ysbc
WHERE posid = @lt_ysbc-posid. //WBS IF lt_prps IS NOT INITIAL.
SORT lt_prps BY posid.
"参数 I_BUDGET_ACTIVITY 是业务交易,支持以下这些业务交易。
"原始预算
"– KBUD 预算修改(TCODE:CJ30/CJ32)
"– KBN0 预算补充(TCODE:CJ37)
"– KBR0 预算返回(TCODE:CJ38)
"
"总体规划
"– KSTP 总收入(TCODE:CJ40)
"– KSTR(仅项目 TCODE:CJ42)
LOOP AT lt_ysbc INTO ls_ysbc.
READ TABLE lt_prps INTO DATA(ls_prps) WITH KEY posid = ls_ysbc-posid BINARY SEARCH.
IF sy-subrc EQ 0.
CLEAR:ls_bpak.
ls_bpak-e_objnr = ls_prps-objnr.
ls_bpak-twaer = 'CNY'.
ls_bpak-wert = ls_ysbc-wtges.
"ls_bpak-e_ges = 'X'.
"ls_bpak-e_versn = '001'.
"ls_bpak-e_wrttp = '01'.
APPEND ls_bpak TO lt_bpak.
ENDIF. CLEAR:ls_ysbc.
ENDLOOP. CALL FUNCTION 'KBPP_EXTERN_UPDATE_CO'
EXPORTING
i_budget_activity = 'KBN0'
i_budget_activ_sup_ret = ' '
i_delta_amounts = 'X'
i_rollup_data = 'X'
i_check_plan_data = 'X'
i_commit_all = 'Y'
IMPORTING
e_errors_found = lv_oax
TABLES
it_bpak = lt_bpak
it_return = lt_return
EXCEPTIONS
no_update = 1
OTHERS = 2. IF lv_oax IS INITIAL.
e_return-type = 'S'.
e_return-message = '预算维护成功'.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
ELSE.
e_return-type = 'E'.
e_return-message = '预算维护失败'.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ENDIF. ELSE.
e_return-type = 'E'.
e_return-message = '未维护对应的WBS'.
RETURN.
ENDIF.
"-----------------------------------------@斌将军--------------------------------------------
预算返回代码
"-----------------------------------------@斌将军--------------------------------------------
CALL FUNCTION 'KBPP_EXTERN_UPDATE_CO'
EXPORTING
i_budget_activity = 'KBR0'
i_budget_activ_sup_ret = ' '
i_delta_amounts = 'X'
i_rollup_data = 'X'
i_check_plan_data = 'X'
i_commit_all = 'Y'
IMPORTING
e_errors_found = lv_oax
TABLES
it_bpak = lt_bpak
it_return = lt_return
EXCEPTIONS
no_update = 1
OTHERS = 2. IF lv_oax IS INITIAL.
e_return-type = 'S'.
e_return-message = '预算减少成功'.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
ELSE.
e_return-type = 'E'.
e_return-message = '预算减少失败'.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ENDIF.
"-----------------------------------------@斌将军--------------------------------------------
定期更文,欢迎关注

- 中文(简体)
- 中文(繁体)
- 丹麦语
- 乌克兰语
- 乌尔都语
- 亚美尼亚语
- 俄语
- 保加利亚语
- 克罗地亚语
- 冰岛语
- 加泰罗尼亚语
- 匈牙利语
- 卡纳达语
- 印地语
- 印尼语
- 古吉拉特语
- 哈萨克语
- 土耳其语
- 威尔士语
- 孟加拉语
- 尼泊尔语
- 布尔语(南非荷兰语)
- 希伯来语
- 希腊语
- 库尔德语
- 德语
- 意大利语
- 拉脱维亚语
- 挪威语
- 捷克语
- 斯洛伐克语
- 斯洛文尼亚语
- 旁遮普语
- 日语
- 普什图语
- 毛利语
- 法语
- 波兰语
- 波斯语
- 泰卢固语
- 泰米尔语
- 泰语
- 海地克里奥尔语
- 爱沙尼亚语
- 瑞典语
- 立陶宛语
- 缅甸语
- 罗马尼亚语
- 老挝语
- 芬兰语
- 英语
- 荷兰语
- 萨摩亚语
- 葡萄牙语
- 西班牙语
- 越南语
- 阿塞拜疆语
- 阿姆哈拉语
- 阿尔巴尼亚语
- 阿拉伯语
- 韩语
- 马尔加什语
- 马拉地语
- 马拉雅拉姆语
- 马来语
- 马耳他语
- 高棉语
一律不翻译英语
一律不翻译i.cnblogs.com
PS CJ37/CJ38 增加和返回预算的更多相关文章
- 支持多返回值存储过程的SqlHelper
public readonly string connStr = ConfigurationManager.ConnectionStrings["sql"].ConnectionS ...
- Spring Boot 2.x(六):优雅的统一返回值
目录 为什么要统一返回值 ReturnVO ReturnCode 使用ReturnVO 使用AOP进行全局异常的处理 云撸猫 公众号 为什么要统一返回值 在我们做后端应用的时候,前后端分离的情况下,我 ...
- 深入浅出mybatis之返回主键ID
目录 添加单一记录时返回主键ID 在映射器中配置获取记录主键值 获取新添加记录主键字段值 添加批量记录时返回主键ID 获取主键ID实现原理 添加记录后获取主键ID,这是一个很常见的需求,特别是在一次前 ...
- 插入数据返回自增id及插入更新二合一
原文https://blog.csdn.net/dumzp13/article/details/50984413 JDBC: con.setAutoCommit(false); String sql ...
- Spring框架针对dao层的jdbcTemplate操作crud之query查询数据操作 —— 查询表,返回结果为对象的list集合
用JdbcTemplate的方法完成, 查询数据库表,把用户表sw_user所有数据以List<User>集合返回 在JdbcTemplateDemo类中增加查询返回所有对象集合的方法qu ...
- Photoshop CC 2020 (PS 2020)改变与新功能
Adobe Photoshop CC 2020中文版新增相机防抖动功能.CameraRAW 功能改进.图像提升采样.属性面板改进.Behance集成等功能,以及同步设置和其他更多有用的功能.ps202 ...
- 记一次netty http server给客户端返回reset包排除
类似文章:解决用netty去做web服务时,post长度过大的问题 现象:当客户端给server发送的请求体较大时,服务直接给客户端返回reset包. tcpdump: 应用还没有完全收上去,就clo ...
- MyBatis插入记录时返回主键id的方法
有时候插入记录之后需要使用到插入记录的主键,通常是再查询一次来获取主键,但是MyBatis插入记录时可以设置成返回主键id,简化操作,方法大致有两种. 对应实体类: public class User ...
- 四、postman增加断言
预期和实际结果的判断 预期==实际:用例通过,写到报告里 预期!==实际:用例失败,写到报告里 一.例子演示 相当于首页右侧的10大每天的内容 url:http://www.v2ex.com/api/ ...
- thinkphp api接口 统一结果返回处理类
20210602 修正 wqy的笔记:http://www.upwqy.com/details/216.html 返回结果处理,归根结底 主要是有两点 数据结构和返回的数据类型 1.数据类型 :一般情 ...
随机推荐
- EF Core预编译模型Compiled Model
前言 最近还在和 npgsql 与 EF Core 斗争,由于 EF Core 暂时还不支持 AOT,因此在 AOT 应用程序中使用 EF Core 时,会提示问题: 听这个意思,似乎使用 Compi ...
- 4. Shell 循环语句
重点: 条件测试. read. Shell 环境配置. case. for. find. xargs. gzip,bzip2,xz. tar. sed. 1)循环 1.1)循环执行介绍 将某代码段重复 ...
- 1. Shell 基本用法
重点: 条件测试. read. Shell 环境配置. case. for. find. xargs. gzip,bzip2,xz. tar. sed. 1)编程基础 Linus 说:Talk is ...
- 快速认识,前端必学编程语言:JavaScript
JavaScript是构建Web应用必学的一门编程语言,也是最受开发者欢迎的热门语言之一.所以,如果您还不知道JavaScript的用处.特点的话,赶紧补充一下这块基础知识. JavaScript 是 ...
- 基于WPSOffice+Pywpsrpc构建Docker镜像,实现文档转换和在线预览服务
背景 产品功能需要实现标准文档的在线预览功能,由于DOC文档没办法直接通过浏览器打开预览,需要提前转换为PDF文档或者HTML页面. 经过测试发现DOC转为HTML页面后文件提交较大,而且生成的静态资 ...
- MongoDB是一个NoSQL数据库,有着多种不同的命令和操作。以下是一些常见的MongoDB命令:
show dbs:列出所有数据库 use db_name:切换到指定的数据库 db.dropDatabase():删除当前数据库 db.createCollection("collectio ...
- teleport 服务端配置文件说明
teleport 服务端配置文件说明 teleport配置文件位于/usr/local/teleport/data/etc目录下.服务器端包含两个配置文件: core.ini 和 web.ini,其中 ...
- 异常:Caused by: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.qbb.srb.core.mapper.DictMapper.batchInsert
程序报错:Caused by: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com ...
- 【UniApp】-uni-app-动态计算字体大小(苹果计算器)
前言 本文主要介绍uni-app中动态计算字体大小的方法 原因呢就是在上一篇文章当中我发现输入的内容已经超过了展示区域 于是我就想到了动态计算字体大小的方法,这样就可以保证输入的内容不会超过展示区域 ...
- Javascript Ajax总结——其他跨域技术之服务器发送事件SSE
SSE(server-Sent Events,服务器发送事件)是围绕只读Comet交互推出的API或者模式.SSE API创建到服务器的单向连接,服务器通过这个连接可以发送任意数量的数据.服务器响应的 ...