资产及价值导入

news2025/2/24 12:58:25

文章目录

      • 1 Introduction
      • 2 Code
      • 3 Summary

1 Introduction

We will implement the following fuction for importing asset value .
In the code we introduce that how to transfer value for BAPI.
在这里插入图片描述

2 Code

  DATA: key                 TYPE bapi1022_key,
        generaldata         TYPE bapi1022_feglg001,
        generaldatax        TYPE bapi1022_feglg001x,
        postinginformation  TYPE bapi1022_feglg002,
        postinginformationx TYPE bapi1022_feglg002x,
        allocations         TYPE bapi1022_feglg004,
        allocationsx        TYPE bapi1022_feglg004x,
        timedependentdata   TYPE bapi1022_feglg003,
        timedependentdatax  TYPE bapi1022_feglg003x,
        origin              TYPE bapi1022_feglg009,
        originx             TYPE bapi1022_feglg009x,
        transactions        TYPE STANDARD TABLE OF bapi1022_trtype     WITH HEADER LINE,
        depreciationareas   TYPE STANDARD TABLE OF bapi1022_dep_areas  WITH HEADER LINE,
        depreciationareasx  TYPE STANDARD TABLE OF bapi1022_dep_areasx WITH HEADER LINE,
        lt_postval        TYPE STANDARD TABLE OF bapi1022_postval    WITH HEADER LINE,
        cumulatedvalues     TYPE STANDARD TABLE OF bapi1022_cumval     WITH HEADER LINE,
        return              TYPE STANDARD TABLE OF bapiret2            WITH HEADER LINE,
        lt_cumval           TYPE STANDARD TABLE OF bapi1022_cumval WITH HEADER LINE,
        lt_trtype           TYPE STANDARD TABLE OF bapi1022_trtype WITH HEADER LINE.

  DATA:companycode LIKE  bapi1022_1-comp_code,
       asset       LIKE  bapi1022_1-assetmaino,
       subnumber   LIKE  bapi1022_1-assetsubno.


*IF p_g1 IS NOT INITIAL.
  CLEAR:gv_num,gv_count.
  gv_num = lines( i_data )."上传条目数

  LOOP AT i_data INTO wa_data.
    IF wa_data-name06 IS INITIAL.
      wa_data-message = TEXT-009.
      wa_data-type = 'E'.
      APPEND wa_data TO it_data.
      CONTINUE.
    ENDIF.
    key-companycode = wa_data-name02.                  "公司代码
    key-asset       = wa_data-name34.   "资产
    key-subnumber   = '0'.           "次级编号

    generaldata-assetclass  = wa_data-name01.          "资产分类

    generaldata-quantity  = wa_data-name08.          "数量
    generaldatax-quantity = 'X'.
    generaldata-base_uom    = wa_data-name09.          "基本计量单位
    generaldatax-base_uom    = 'X'.
    generaldata-descript   = wa_data-name03.           "资产描述
    generaldatax-descript  = 'X'.
    generaldata-descript2  = wa_data-name04.           "附加资产描述
    generaldatax-descript2 = 'X'.
    generaldata-main_descript  = wa_data-name05.           "设备编码
    generaldatax-main_descript = 'X'.

    generaldata-invent_no  = wa_data-name32.           "存货号  EAS资产号
    generaldatax-invent_no = 'X'.


    postinginformation-cap_date  = wa_data-name10.
    postinginformationx-cap_date = 'X'.                "资产资本化日期

    timedependentdata-costcenter = wa_data-name11.     "成本中心
    timedependentdatax-costcenter = 'X'.


    timedependentdata-plant = wa_data-name35.     "工厂
    timedependentdatax-plant = 'X'.


    timedependentdata-bus_area = wa_data-name12.     "业务范围
    timedependentdatax-bus_area = 'X'.




    origin-vendor_no = wa_data-name17.        "供应商
    originx-vendor_no = 'X'.                  "供应商

    origin-type_name = wa_data-name28.  "类型名  原始购入日期
    originx-type_name = 'X'.

    origin-manufacturer = wa_data-name33.        "制造商   原始资产号
    originx-manufacturer = 'X'.                  "制造商   原始资产号


    allocations-evalgroup1 = wa_data-name16.           "评审小组1使用状态
    allocationsx-evalgroup1 = 'X'.

    allocations-evalgroup2 = wa_data-name06.           "评审小组2-资产来源 20200301 add by skyyan
    allocationsx-evalgroup2 = 'X'.



    "  The function is  depreciation Range1 .
    IF wa_data-name44   IS NOT INITIAL .
      CLEAR depreciationareas[].
      CLEAR depreciationareasx[].
      depreciationareas-area = '01'.
      depreciationareas-dep_key = wa_data-name19.        "折旧码
      depreciationareas-ulife_yrs = wa_data-name20.      "计划年使用期
      depreciationareas-ulife_prds = wa_data-name21.     "计划使用期间


      APPEND depreciationareas.
      depreciationareasx-area = '01'.
      depreciationareasx-dep_key = 'X'.                  "折旧码
      depreciationareasx-ulife_yrs = 'X'.                "计划年使用期
      depreciationareasx-ulife_prds = 'X'.               "计划使用期间
      APPEND depreciationareasx.

      CLEAR: lt_cumval.                                      "原值
      IF wa_data-name10+0(4) < sy-datum+0(4)."SY-DATUM+0(4).

        lt_cumval-fisc_year = sy-datum+0(4)."SY-DATUM+0(4) - 1  .
        lt_cumval-area = '01' .
        lt_cumval-acq_value = wa_data-name31.
        lt_cumval-ord_dep = 0 - wa_data-name37.
        APPEND lt_cumval .

      ELSE.

          lt_trtype-fisc_year = sy-datum+0(4)."SY-DATUM+0(4) .
          lt_trtype-current_no = sy-tabix .
          lt_trtype-area = '01' .
          lt_trtype-valuedate =  wa_data-name10.
          lt_trtype-assettrtyp = '100'.
          lt_trtype-amount =  wa_data-name31.
          APPEND lt_trtype .

      ENDIF.

      IF wa_data-name37 <> 0.
        lt_postval-fisc_year = sy-datum+0(4)."SY-DATUM+0(4)
        lt_postval-area = '01' .
        lt_postval-ord_dep =  0 - wa_data-name37 .
        APPEND lt_postval .
      ENDIF.

    ENDIF.


    " add  it by sie_jinggl start
    "  The function is  depreciation Range2 .
    IF wa_data-name45   IS NOT INITIAL .
      depreciationareas-area = '20'.
      depreciationareas-dep_key = wa_data-name36.        "折旧码
      depreciationareas-ulife_yrs = wa_data-name38.      "计划年使用期
      depreciationareas-ulife_prds = wa_data-name39.     "计划使用期间

      APPEND depreciationareas.
      depreciationareasx-area = '20'.
      depreciationareasx-dep_key = 'X'.                  "折旧码
      depreciationareasx-ulife_yrs = 'X'.                "计划年使用期
      depreciationareasx-ulife_prds = 'X'.               "计划使用期间
      APPEND depreciationareasx.


      CLEAR: lt_cumval.                                      "原值
      IF wa_data-name10+0(4) < sy-datum+0(4)."SY-DATUM+0(4).

        lt_cumval-fisc_year = sy-datum+0(4)."SY-DATUM+0(4) - 1  .
        lt_cumval-area = '20' .
        lt_cumval-acq_value = wa_data-name40.
        lt_cumval-ord_dep = 0 - wa_data-name41.
        APPEND lt_cumval .


      ENDIF.

      IF wa_data-name41 <> 0.
        lt_postval-fisc_year = sy-datum+0(4)."SY-DATUM+0(4)
        lt_postval-area = '20' .

        lt_postval-ord_dep =  0 - wa_data-name41 .
        APPEND lt_postval .
      ENDIF.


    ENDIF.


    "  The function is  depreciation Range3 .
    IF wa_data-name46  IS NOT INITIAL .

      depreciationareas-area = '06'.
      depreciationareas-dep_key = wa_data-name47.        "折旧码
      depreciationareas-ulife_yrs = wa_data-name48.      "计划年使用期
      depreciationareas-ulife_prds = wa_data-name49.     "计划使用期间
      APPEND depreciationareas.
      depreciationareasx-area = '06'.
      depreciationareasx-dep_key = 'X'.                  "折旧码
      depreciationareasx-ulife_yrs = 'X'.                "计划年使用期
      depreciationareasx-ulife_prds = 'X'.               "计划使用期间
      APPEND depreciationareasx.


      CLEAR: lt_cumval.                                      "原值
      IF wa_data-name10+0(4) < sy-datum+0(4)."SY-DATUM+0(4).

        lt_cumval-fisc_year = sy-datum+0(4)."SY-DATUM+0(4) - 1  .
        lt_cumval-area = '06' .
        lt_cumval-acq_value = wa_data-name50.
        lt_cumval-ord_dep = 0 - wa_data-name51.
        APPEND lt_cumval .

      ELSE.
        IF wa_data-name51 IS NOT INITIAL.
          lt_trtype-fisc_year = sy-datum+0(4)."SY-DATUM+0(4) .
          lt_trtype-current_no = sy-tabix .
          lt_trtype-area = '06' .
          lt_trtype-valuedate =  wa_data-name10.
          lt_trtype-assettrtyp = '100'.
          lt_trtype-amount =  wa_data-name50.
          APPEND lt_trtype .
        ENDIF.
      ENDIF.

      IF wa_data-name51 <> 0.
        lt_postval-fisc_year = sy-datum+0(4)."SY-DATUM+0(4)
        lt_postval-area = '06' .
        lt_postval-ord_dep = 0 - wa_data-name51 .
        APPEND lt_postval .
      ENDIF.
    ENDIF.

    "  The function is  depreciation Range4 .
    IF wa_data-name52  IS NOT INITIAL .

      depreciationareas-area = '30'.
      depreciationareas-dep_key = wa_data-name53.        "折旧码
      depreciationareas-ulife_yrs = wa_data-name54.      "计划年使用期
      depreciationareas-ulife_prds = wa_data-name55.     "计划使用期间


      APPEND depreciationareas.
      depreciationareasx-area = '30'.
      depreciationareasx-dep_key = 'X'.                  "折旧码
      depreciationareasx-ulife_yrs = 'X'.                "计划年使用期
      depreciationareasx-ulife_prds = 'X'.               "计划使用期间
      APPEND depreciationareasx.


      CLEAR: lt_cumval.                                      "原值
      IF wa_data-name10+0(4) < sy-datum+0(4)."SY-DATUM+0(4).

        lt_cumval-fisc_year = sy-datum+0(4)."SY-DATUM+0(4) - 1  .
        lt_cumval-area = '30' .
        lt_cumval-acq_value = wa_data-name56.
        lt_cumval-ord_dep = 0 - wa_data-name57.
        APPEND lt_cumval .

      ENDIF.
      IF wa_data-name57 <> 0.
        lt_postval-fisc_year = sy-datum+0(4)."SY-DATUM+0(4)
        lt_postval-area = '30' .
        lt_postval-ord_dep = 0 - wa_data-name57 .
        APPEND lt_postval .
      ENDIF.

    ENDIF.

    " add it by sie_jinggl 20230120 end


    gv_count = gv_count + 1.
    gv_prog = '正在处理数据...' && gv_count && '/' && gv_num.
    PERFORM frm_show_progress USING gv_prog.

    CALL FUNCTION 'BAPI_FIXEDASSET_OVRTAKE_CREATE'
      EXPORTING
        key                 = key

        generaldata         = generaldata
        generaldatax        = generaldatax

        postinginformation  = postinginformation
        postinginformationx = postinginformationx
        timedependentdata   = timedependentdata
        timedependentdatax  = timedependentdatax
        allocations         = allocations
        allocationsx        = allocationsx
        origin              = origin
        originx             = originx

      IMPORTING
        companycode         = companycode
        asset               = asset
        subnumber           = subnumber
      TABLES
        depreciationareas   = depreciationareas
        depreciationareasx  = depreciationareasx

        cumulatedvalues     = lt_cumval[]
        postedvalues        = lt_postval
        transactions        = lt_trtype
        return              = return
      .
    LOOP AT return WHERE type = 'E' OR type = 'A'.
    ENDLOOP.
    IF sy-subrc NE 0.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
        EXPORTING
          wait = 'X'.
      wa_data-message = TEXT-023.
      CONCATENATE asset wa_data-message INTO wa_data-message.
      wa_data-type = 'S'.
      APPEND wa_data TO it_data.
    ELSE.
      CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
      wa_data-message = return-message.
      wa_data-type = 'E'.
      APPEND wa_data TO it_data.
    ENDIF.
    CLEAR return[].
  ENDLOOP.

3 Summary

We do it in front end and implement it by bapi.

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

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

相关文章

ROS第 13 课 TF 坐标系广播与监听的编程 实现

文章目录 第 13 课 TF 坐标系广播与监听的编程 实现1.机器人的坐标变换2.创建功能包3.编程方法3.1 编写广播和监听程序3.2 运行程序 第 13 课 TF 坐标系广播与监听的编程 实现 1.机器人的坐标变换 在进行编程前&#xff0c;先需要了解机器人的坐标变换。这里以运行海龟案例来…

洛谷-P1002-[NOIP2002 普及组]-过河卒

[NOIP2002 普及组] 过河卒 题目描述 棋盘上 A A A 点有一个过河卒&#xff0c;需要走到目标 B B B 点。卒行走的规则&#xff1a;可以向下、或者向右。同时在棋盘上 C C C 点有一个对方的马&#xff0c;该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为…

代码随想录第十八天 513 找树左下角的值 112 路径之和 106 从中序与后序遍历序列构造二叉树

LeetCode 513 找树左下角的值 题目描述 给定一个二叉树的 根节点 root&#xff0c;请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root [2,1,3] 输出: 1示例 2: 输入: [1,2,3,4,null,5,6,null,null,7] 输出: 7 思路 1.确定递…

多级缓存

一、多级缓存 传统的缓存策略一般是请求到达Tomcat后&#xff0c;先查询Redis&#xff0c;如果未命中则查询数据库&#xff0c;如图&#xff1a; 存在下面的问题&#xff1a; •请求要经过Tomcat处理&#xff0c;Tomcat的性能成为整个系统的瓶颈 •Redis缓存失效时&#xff…

打折:阿里云国外服务器价格购买优惠活动

阿里云国外服务器优惠活动「全球云服务器精选特惠」&#xff0c;国外服务器租用价格24元一个月起&#xff0c;免备案适合搭建网站&#xff0c;部署独立站等业务场景&#xff0c;阿里云服务器网aliyunfuwuqi.com分享阿里云国外服务器优惠活动&#xff1a; 全球云服务器精选特惠…

77. 组合 - 力扣(LeetCode)

题目描述 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 输入示例 n 4, k 2输出示例 [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4], ]解题思路 我们使用回溯、深度优先遍历的思想&#xff0c;我们使用一个栈 path…

linux驱动(八):block,net

本文主要探讨210的block驱动和net驱动。 block 随机存取设备且读写是按块进行,缓冲区用于暂存数据,达条件后一次性写入设备或读到缓冲区 块设备与字符设备:同一设备支持块和字符访问策略,块设备驱动层支持缓冲区,字符设备驱动层没有缓冲 块设备单位:扇…

Leetcode的AC指南 —— 栈与队列:20. 有效的括号

摘要&#xff1a; **Leetcode的AC指南 —— 栈与队列&#xff1a;20. 有效的括号 **。题目介绍&#xff1a;给定一个只包括 ‘(’&#xff0c;‘)’&#xff0c;‘{’&#xff0c;‘}’&#xff0c;‘[’&#xff0c;‘]’ 的字符串 s &#xff0c;判断字符串是否有效。 有效字…

基于JavaWeb+SSM+Vue智能社区服务小程序系统的设计和实现

基于JavaWebSSMVue智能社区服务小程序系统的设计和实现 滑到文末获取源码Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 滑到文末获取源码 Lun文目录 目录 1系统概述 1 1.1 研究背景 1 1.2研究目的 1 1.3系统设计思想 1 2相…

【计算机硬件】4、练习题

根据冯诺依曼原理&#xff0c;计算机硬件的基本组成是&#xff08;&#xff09; A.输入、输出设备、运算器、控制器、存储器 B.磁盘、软盘、内存、CPU、显示 C.打印机、触摸屏、键盘、软盘 D.鼠标、打印机、主机、显示器、存储器 CPU执行算术运算或者逻辑运算时&#xff0c;常…

class_14:继承

C继承有点类似于c语言 结构体套用 #include <iostream> #include <string> using namespace std;//基类,父类 class Vehicle{ public:string type;string contry;string color;double price;int numOfWheel;void run();void stop(); };//派生类&#xff0c…

Python基础第五篇(Python数据容器)

文章目录 一、数据容器入门二、数据容器 list 列表(1),list 列表定义(2),list列表的索引(3),list列表的常见操作(4),list列表的遍历 三、数据容器&#xff1a;tuple&#xff08;元组&#xff09;(1),tuple元组定义(2),tuple元组的索引(3),tuple元组的常见操作(4),tuple元组的遍…

力扣【四数之和】

一、题目描述 18. 四数之和 给你一个由 n 个整数组成的数组 nums &#xff0c;和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] &#xff08;若两个四元组元素一一对应&#xff0c;则认为两个四元组重复&#x…

PyQt5 快速入门(一)

第一节按钮控件,文本控件,输入框,app图标 文章目录 一.GUI按钮控件 二.文本控件 三.输入框 四.让窗口显示在屏幕中央 五.让窗口显示在屏幕中央 总结 一.GUI按钮控件 import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButtonif __name__ __main__:app …

python爬虫知识点:5种线程锁

嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 线程安全 线程安全是多线程或多进程编程中的一个概念&#xff0c;在拥有共享数据的多条线程并行执行的程序中&#xff0c;线程安全的代码会通过同步机制保证各个…

Python使用graphviz绘制模块间数据流

graphviz官方参考链接&#xff1a; http://www.graphviz.org/documentation/ https://graphviz.readthedocs.io/en/stable/index.html 文章目录 需求描述环境配置实现思路代码实现 需求描述 根据各模块之间的传参关系绘制出数据流&#xff0c;如下图所示&#xff1a; 并且生成…

Redis(01)——常用指令

基础指令 select 数字&#xff1a;切换到其他数据库flushdb&#xff1a;清空当前数据库flushall&#xff1a;清空所有数据库dbsize&#xff1a;查看数据库大小exists key1[key2 …]&#xff1a;判断当前的key是否存在keys *&#xff1a;查看所有的keyexpire key 时间&#xff…

深入Matplotlib:画布分区与高级图形展示【第33篇—python:Matplotlib】

文章目录 Matplotlib画布分区技术详解引言方法一&#xff1a;plt.subplot()方法二&#xff1a;简略写法方法三&#xff1a;plt.subplots()实例展示添加更多元素 进一步探索Matplotlib画布分区自定义子图布局3D子图结语 Matplotlib画布分区技术详解 引言 Matplotlib是一个强大…

第13节-简历中的开放性问题

(点击即可收听) 不少公司的开放式题目每年不会有太大的变化&#xff0c;所以在答题前可先去相关求职论坛看看这些公司往年的问题&#xff0c;分析和思考自己应当怎么回答 开放式问题回答技巧 开放式问题主要考察的是求职者的求职动机、解决问题的能力、创造力等软实力&#xff…

C++入门之基础语法

目录 一.关键字 二.命名空间 2.1命名空间域 2.2展开命名空间域 using namespace bit 使用using将命名空间中的某个成员引入 2.3 头文件#include 2.3.1 头文件的展开和命名空间的展开区别 2.4 C的标准的库命名空间std 2.5 命名空间的套娃 三. C输入输出 3.1 流插入co…