PS CJ37/CJ38/CJ34 增加/返回/转借预算

2023-11-07

目录

CJ37增加预算

CJ38返回预算

CJ34转借预算


01

CJ37增加预算

1、补充预算

调用事务代码CJ37,输入要增加的WBS要素的预算,点击保存即可

bd86dfdae59541319611e3a8ba4037aa.png

2、代码示例

预算补充代码,调用函数:KBPP_EXTERN_UPDATE_CO

其中预算增加减少的参数,可参考以下介绍

"参数 I_BUDGET_ACTIVITY 是业务交易,支持以下这些业务交易。
      "原始预算
      "– KBUD 预算修改(TCODE:CJ30/CJ32)
      "– KBN0 预算补充(TCODE:CJ37)
      "– KBR0 预算返回(TCODE:CJ38)
      "
      "总体规划
      "– KSTP 总收入(TCODE:CJ40)
      "– KSTR(仅项目 TCODE:CJ42)
"--------------------@斌将军--------------------
    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.
"--------------------@斌将军--------------------

02

CJ38返回预算

1、预算返回

调用事务代码CJ38,输入要返回预算的WBS,输入要返回的金额,点击保存即可

80c9bc36b48d69179aa0fdbdc323d0fb.png

2、代码示例

预算补充代码,调用函数:KBPP_EXTERN_UPDATE_CO

"--------------------@斌将军--------------------
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.
"--------------------@斌将军--------------------

03

CJ34转借预算

1、预算转借

输入事务代码CJ34,输入发出预算和接收预算的WBS单元,输入对应的金额,点击保存即可

8071ac927e94902d11de59b373cecb5a.png

2、代码示例

预算转借代码,调用函数:KBPP_EXTERN_UPDATE

"--------------------@斌将军--------------------
    SELECT
      pspnr,
      posid,
      objnr
    FROM prps
    INTO TABLE @DATA(lt_prps)
    FOR ALL ENTRIES IN @lt_yszj
    WHERE posid = @lt_yszj-outwbs
      OR posid = @lt_yszj-inwbs.


    IF lt_prps IS NOT INITIAL.
      SORT lt_prps BY posid.
      LOOP AT lt_yszj INTO ls_yszj.
        CLEAR:ls_bpak.
        READ TABLE lt_prps INTO DATA(ls_prps) WITH KEY 
        posid = ls_yszj-outwbs BINARY SEARCH.
        IF sy-subrc EQ 0.
          ls_bpak-s_objnr = ls_prps-objnr."借出
        ENDIF.




        READ TABLE lt_prps INTO ls_prps WITH KEY posid 
                          = ls_yszj-inwbs BINARY SEARCH.
        IF sy-subrc EQ 0.
          ls_bpak-e_objnr = ls_prps-objnr."借入
        ENDIF.
        "ls_bpak-s_vorga = 'KBUS'.
        "ls_bpak-e_vorga = 'KBUE'.
        ls_bpak-bldat = ls_yszj-bldat."凭证日期
        ls_bpak-s_ges = 'X'."总价值
        ls_bpak-e_ges = 'X'."总价值
        ls_bpak-s_profil = '800001'."预算参数文件
        ls_bpak-e_profil = '800001'.
        ls_bpak-wert = ls_yszj-wtges.
        ls_bpak-twaer = 'CNY'.
        APPEND ls_bpak TO lt_bpak.


        CLEAR:ls_yszj.
      ENDLOOP.


      CALL FUNCTION 'KBPP_EXTERN_UPDATE'
        EXPORTING
*         IMP_CARRY_OVER              = ' '
*         IMP_CHECK  = ' '
          imp_commit = 'X'
          imp_fcode  = ' '
*         IMP_SUPRESS_AVA_CHECK       = ' '
          imp_tcode  = 'CJ34'
*         IMP_UNAME  = ' '
        TABLES
          imp_bpak   = lt_bpak
*         imp_bpak_per = lt_bpak_per
          return     = lt_return.


      CLEAR:lv_message.
      LOOP AT lt_return INTO ls_return WHERE type CA 'EAX'.
        lv_message = lv_message && ls_return-message.
        CLEAR:ls_return.
      ENDLOOP.


      IF lv_message IS INITIAL.
        e_return-type = 'S'.
        e_return-message = '预算转借成功'.
*        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
      ELSE.
        e_return-type = 'E'.
        e_return-message = '预算转借失败:' && lv_message.
*        CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
      ENDIF.


    ELSE.
      e_return-type = 'E'.
      e_return-message = '未维护对应的WBS'.
      RETURN.
    ENDIF.
"--------------------@斌将军--------------------
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PS CJ37/CJ38/CJ34 增加/返回/转借预算 的相关文章

  • MacBook Pro(13 英寸,2011 年初)A1278安装win10无声解决

    用驱动人生 然后扫描驱动 把声卡的驱动升级下就OK了
  • python 面试题 获取当前目录下所有文件名【递归】

    递归的逻辑比较简单 如下 进入到当前路径下时 先创建一个空列表A来保存文件名 遍历当前文件夹中每一项 如果是文件 就放到列表中 如果是文件夹 那就递归进去 返回值是内层的文件列表 归并到A中 最终返回列表A 代码如下 import os d
  • # 子网掩码

    子网掩码 1 概念简介 子网掩码又叫网络掩码 地址掩码 是一个32位地址 用于屏蔽IP地址的一部分以区别网络号和主机号 并说明该IP地址是在局域网上 还是在远程网上 子网掩码不能单独存在 它必须结合IP地址一起使用 定义规则 子网掩码的设定
  • 机器学习数学基础(一):机器学习与数学分析

    机器学习数学基础 一 机器学习 概念 什么是机器学习 什么是学习 内涵与外延 流程 重点知识 Code 机器学习与数学分析 极限 导数 幂指函数 离散加和 连续积分 泰勒公式 应用 方向导数 梯度 特殊函数 函数 凸函数 一阶可微 二阶可微
  • 怎么复制Vmware虚拟机文件到其他的机器、别的硬盘目录

    Vmware虚拟机安装完之后有的时候需要挪动 备份虚拟机文件 比如 从公司电脑复制到家里电脑 或者将已安装好的虚拟机拷贝给同事使用 或者原来磁盘空间满了需要换一个磁盘等等 Vmware提供了相应的迁移和复制分发机制 避免了我们再次安装虚拟机
  • tensorRT模型性能测试

    目录 前言 1 模型训练 1 1 模型 1 2 数据集 1 3 xml2yolo 1 4 yolo2json 1 5 json2yolo 1 6 训练 2 TRT模型转换 2 1 YOLOv5 ONNX导出 2 2 YOLOv6 ONNX导
  • 榜样访谈——曾钰倬:从讲座中收获经验

    先做一个简单的自我介绍吧 大家好 我是来自湖南农业大学计算机科学与技术专业的曾钰倬 现任CSDN高校俱乐部主席 你在计算机学习方面遇到最大的问题是什么 曾钰倬 学习时缺乏概念联系 或者没有与已有知识联系 新知识难于纳入个人的认知结构 导致了
  • 【计算机毕业设计】237校园招聘系统

    一 系统截图 需要演示视频可以私聊 摘要 随着信息技术在管理上越来越深入而广泛的应用 实现基于SSM框架的校园招聘系统的设计与实现在技术上已成熟 本文介绍了基于SSM框架的校园招聘系统的设计与实现的开发全过程 通过分析企业对于基于SSM框架
  • unity编程实践-HitUFO改进

    作业要求 游戏有 n 个 round 每个 round 都包括10 次 trial 每个 trial 的飞碟的色彩 大小 发射位置 速度 角度 同时出现的个数都可能不同 它们由该 round 的 ruler 控制 每个 trial 的飞碟有
  • 0706--用replace来替换用例中的字段,如手机号码或ID

    第第第 第43个视频讲解 coding utf 8 Time 2021 6 23 11 37 AUTHOR 菜菜同学 SOFTWARE lemon1 1 在EXCEL的用例中 mark规则 值 使用这个来表示当前字段需要进行替换 2 在用例
  • CH340串口驱动(包含各系统平台)

    CH340转串口芯片支持的平台驱动齐全 支持 Windows Linux Android MacOS WinCE 等操作系统 各平台下驱动官网链接和说明如下 各平台的安装与使用问题可参见其他博文 Windows驱动 下载链接 CH340 C
  • Spring学习笔记:基于XML文件和注解两种配置方式实现spring框架的IOC和DI

    首先打开IntelliJ IDEA 创建一个Maven项目spring lesson 删除src文件夹 只保留maven依赖对应的pom文件 这个项目作为父工程 在pom文件中增加
  • filco蓝牙键盘配对流程_无线化浪潮,几款最值得推荐的无线机械键盘

    在外设中相比于游戏鼠标和耳机 键盘对于无线的需求性是最弱的 毕竟键盘放在那一般比较固定 不会像鼠标在使用时线材的拖拽影响移动 耳机的连接线会增加重量 这些增加的重量全都要头部去承担 游戏间隙的内急需要取下等干扰 这也导致在无线化的普及度上键
  • Dev-c++函数的分文件编写

    首先创建一个文件侠 到时候创建的文件地址路径能一样 方便查找 c语言和c 语言雷同 2 新建 项目 3 c项目和c 项目 你用那个语言写就选那个 4 把创建的 文件2 dev 文件 保存在刚刚创建的文件下面 5 然后选择New Fie创建文
  • Lua基础之math(数学函数库)

    Lua5 1中数学库的所有函数如下表 math pi 为圆周率常量 3 14159265358979323846 abs 取绝对值 math abs 15 15 acos 反余弦函数 math acos 0 5 1 04719755 asi
  • 企业工作效率提升系统

    企业工作效率提升系统 自动化办公系统 项目介绍 框架介绍 部署流程 项目截图 小编联系方式 备注 系统名称 自动化办公系统 办公自动化 OA 是面向组织的日常运作和管理 员工及管理者使用频率最高的应用系统 极大提高公司的办公效率 项目介绍
  • hive窗口函数最全总结

    准备工作 一 窗口函数概况 1 1 窗口函数说明 1 2 窗口范围说明 1 2 1 窗口范围取值可选项 1 2 2 默认窗口范围含义 思考一 如何理解省略order by的情况 不能指定窗口范围 二 窗口函数分类和特性 2 1 窗口函数分类
  • C++算法之深度优先搜索算法

    深度优先搜索算法是图算法的一种 即DFS Depth First Search 其过程是对每个可能的分支路径深入直到不能再深入为止 下面会介绍深度优先搜索算法 目录 1 框架 2 过程 2 1 步骤 2 2 解释 3 例题 1 框架 voi
  • ROS知识点——生成点云,发布、订阅ROS点云话题

    文章目录 1 点云基本概念 1 1 点云结构公共字段 1 2 点云类型 1 3 ROS的PCL接口 1 4 pcl ros点云格式转换 2 创建点云并发布ROS点云话题 2 1 创建功能包 2 2 发布ROS点云话题 2 3 订阅ROS点云
  • 【MySQL】12-常见数据类型

    常见类型 原则 一 整型 特点 zerofill 默认无符号 二 小数 1 浮点型 2 定点型 三 字符型 1 较短 2 enum枚举型 3 set型 四 日期型 datetime 和 datestamp 区别

随机推荐

  • No suitable driver found for jdbc:mysql://localhost:3306/test?characterEncoding=UTF8连接不上MySQL解决方法

    No suitable driver found for jdbc mysql localhost 3306 test useUnicode true characterEncoding UTF 8 解决方法 困惑了两天的问题终于解决了 第
  • 还不懂mock测试?一篇文章带你熟悉mock

    每天进步一点点 关注我们哦 每天分享测试技术文章 本文章出自 码同学软件测试 码同学公众号 自动化软件测试 码同学抖音号 小码哥聊软件测试 Hello 大家好 今天小编给大家分享一个实现mock服务的工具moco 那么问题来了 什么是moc
  • 浅谈软件危机

    什么是软件危机 软件危机是计算机软件在它的开发和维护过程中所遇到的一系列严重问题 概括地说 主要包含两方面的问题 如何开发软件 怎样满足对软件日益增长的需求 如何维护数量不断膨胀的已有软件 危机实例 IBM OS 360 操作系统被认为是一
  • C++与Java比较(转)

    作为一名C 程序员 我们早已掌握了面向对象程序设计的基本概念 而且Java的语法无疑是非常熟悉的 事实上 Java本来就是从C 衍生出来的 然而 C 和Java之间仍存在一些显著的差异 可以这样说 这些差异代表着技术的极大进步 一旦我们弄清
  • VS2019 windows驱动开发环境配置

    配置Windows驱动开发环境 VS2019 下载VS2019 下载链接 https visualstudio microsoft com zh hans downloads 选择你所需要的开发环境和配置 确认下载完后 在你安装的WDK 的
  • 【数据库系统概论】第三章:SQL

    B站视频 B站第一章 参考资料 图片来自视频链接和参考资料 本章目录 SQL特点 SQL基本概念 SQL的基本语法 SQL特点 SQL包括 数据查询 数据操作 数据定义 数据控制 它是一个非过程语言 什么是非过程性语言 我们在逻辑和物理模型
  • WPF依赖属性优先级

    有下面代码 属性 样式 触发器都设置了按钮的颜色 请问按钮最终是什么颜色
  • DIY个人智能家庭网关—— 路由器篇之安装python

    Python是一种解释型 面向对象 动态数据类型的高级程序设计语言 在openwrt上进行二次开发编写自己的程序 python肯定是最方便最快捷的编程语言 因为它是解释型语言 无需openwrt的编译环境 只要安装好了python就可以直接
  • vite跨域问题,你可能需要看这篇文章

    最近在学习项目的时候 使用了vite工具进行构建 然后出现了跨域的问题 中间的曲折不过多叙述 直接进入正题 前端成功启动后的界面 然后在后端进行的Controller上使用了如下的配置 然后浏览器就会出现跨域的问题 为什么会出现这个情况了
  • 学生成绩管理系统、Java

    这是一个功能比较简单的学生管理系统 特别适合初学者练练手 没有使用Java的特点 更完美的学生管理系统在我的博客寻找 import java util Scanner public class StudentManagement publi
  • JS - 4字节转单精度浮点数

    文章目录 JS 数据类型 IEEEE475 Sign 符号位 Exponent 指数位 Significand 小数位 转换公式 转换方法 在线工具 参考鸣谢 JS 数据类型 JS 是一种弱类型的语言 它的数据类型包含字符串值 数值 布尔值
  • C语言,用函数封装实现字符串逆置

    include
  • 门控时钟

    结构 1 这种系统时钟门控的机制算然简单 但是容易使门控后的时钟不完整 甚至产生毛刺 结构 2 这种门控方法避免了门控时钟的不完整性 也可以避免避免毛刺的产生 但门控后的时钟可能会产生亚稳态 结构 3 这种结构解决了结构 2的亚稳态问题 结
  • 【FreeRTOS】队列的使用

    作者主页 凉开水白菜 作者简介 共同学习 互相监督 热于分享 多加讨论 一起进步 专栏资料 https pan baidu com s 1nc1rfyLiMyw6ZhxiZ1Cumg pwd free 点赞 收藏 再看 养成习惯 订阅的粉丝
  • Mysql Partition 理论知识总结

    简述 本文内容主要 Giuseppe Maxia 曾在Mysql Conference Expo 2010发表关于
  • qt_共享库的使用

    在 Windows 中 MinGW 将输出 a 和 dll MSVC 将输出 lib 和 dll 在 Linux 中 MinGW 将输出 so so 1 so 1 0 和 so 1 0 0 lib 其中 a 和 so 是导入库 它们有助于将
  • STM32的CAN过滤

    文章目录 简介 相关寄存器 代码实例 只过滤一个CAN ID 过滤多个CAN ID 简介 STM32的CAN控制器可以对接收到的数据报文进行过滤 只接收指定CAN ID的数据 对于其他CAN ID发送过来的数据 则不再触发CAN中断 根据芯
  • 关于C语言的二分法

    1 二分法 二分法所属现代词 指的是数学领域的概念 经常用于j计算机中的查找过程中 2 基本思想 把函数f x 的零点所在的区间 a b 满足f a f b lt 0 一分为二 得到 a m 和 m b 根据 f a f m lt 0 是否
  • Harmony OS 开发指南——源码下载和编译

    本文介绍了如何下载鸿蒙系统源码 如何一次性配置可以编译三个目标平台 Hi3516 Hi3518和Hi3861 的编译环境 以及如何将源码编译为三个目标平台的二进制文件 坑点总结 下载源码基本上没有太多坑 可以很顺利的进行 编译源码主要的一个
  • PS CJ37/CJ38/CJ34 增加/返回/转借预算

    目录 CJ37增加预算 CJ38返回预算 CJ34转借预算 01 CJ37增加预算 1 补充预算 调用事务代码CJ37 输入要增加的WBS要素的预算 点击保存即可 2 代码示例 预算补充代码 调用函数 KBPP EXTERN UPDATE