资产及价值导入

文章目录

      • 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.

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【MYSQL】存储引擎MyISAM和InnoDB

MYSQL 存储引擎 查看MySQL提供所有的存储引擎 mysql> show engines; mysql常用引擎包括&#xff1a;MYISAM、Innodb、Memory、MERGE 1、MYISAM&#xff1a;全表锁&#xff0c;拥有较高的执行速度&#xff0c;不支持事务&#xff0c;不支持外键&#xff0c;并发性能差&#x…

二层交换机和三层交换机

二层交换机&#xff1a;将源mac和端口进行转发&#xff0c;是同一个网段进行通信的&#xff0c;不能实现路由转发&#xff0c;若想跨网段则需要接入一个路由器 如&#xff1a;pc1 192.168.1.1 与 pc2 192.168.1.2通信需要经过二层交换机&#xff0c;二层交换机不能配置ip的&am…

Linux ---- 小玩具

目录 一、安装&#xff1a; 1、佛祖保佑&#xff0c;永不宕机&#xff0c;永无bug 2、小火车 3、艺术字和其它 天气预报 艺术字 4、会说话的小牦牛 5、其他趣味图片 我爱你 腻害 英雄联盟 帅 忍 龙 你是猪 福 好运连连 欢迎 加油 想你 忘不了你 我错了 你…

【差分数组】【图论】【分类讨论】【整除以2】100213按距离统计房屋对数目

作者推荐 【动态规划】【数学】【C算法】18赛车 本文涉及知识点 差分数组 图论 分类讨论 整除以2 LeetCode100213按距离统计房屋对数目 给你三个 正整数 n 、x 和 y 。 在城市中&#xff0c;存在编号从 1 到 n 的房屋&#xff0c;由 n 条街道相连。对所有 1 < i < n…

华为机考入门python3--(0)模拟题2-vowel元音字母翻译

分类&#xff1a;字符串 知识点&#xff1a; 字符串转list&#xff0c;每个字符成为list中的一个元素 list(string) 字符串变大小写 str.upper(), str.lower() 题目来自【华为招聘模拟考试】 # If you need to import additional packages or classes, please import …

C语言实现简单的扫雷游戏

目录 1 -> test.c 2 -> game.c 3 -> game.h 1 -> test.c #define _CRT_SECURE_NO_WARNINGS 1#include "game.h"void menu() {printf("************************************\n");printf("********* 1.play ********\n&quo…

多线程编程1

一、线程的引入 上节&#xff0c;我们介绍了进程的概念&#xff0c;以及操作系统内核是如何管理进程的&#xff08;描述组织&#xff09;&#xff0c;PCB中的核心属性有哪些&#xff0c; 引入进程这个概念&#xff0c;最主要的目的&#xff0c;就是为了解决“并发编程”这样的…

Redis常见缓存问题

目录 缓存穿透 造成缓存穿透的原因 缓存穿透问题解决方案 1、缓存空对象返回 2、布隆过滤器 缓存失效(击穿) 缓存雪崩 热点缓存key重建优化 缓存与数据库双写不一致 1、双写不一致情况 2、读写并发不一致 解决方案 缓存穿透 缓存穿透是指查询一个根本不存在的数据&…

通过代理如何调通openai的api

调通openai的api 一、前提二、通过curl调通openai的api三、通过python调通openai的api 一、前提 会魔法上网本地运行代理软件&#xff0c;知道端口号&#xff08;如1081&#xff09;。 127.0.0.1:1081二、通过curl调通openai的api 如果在国外&#xff0c;没有qiang&#xff…

AI大模型开发架构设计(3)——如何打造自己的大模型

文章目录 如何打造自己的大模型1 新时代职场人应用AIGC的5重境界2 人人需要掌握的大模型原理职场人都能听懂的大语音模型的训练过程职场人都能听得懂的大语言模型的Transformer推理过程 3 如何构建自己的大模型需要具备三个方面的能力LangChain是什么&#xff1f;LangChain主要…

【音视频】基于ffmpeg对视频的切割/合成/推流

背景 基于FFmpeg对视频进行切割、合成和推流的价值和意义在于它提供了一种高效、灵活且免费的方式来实现视频内容的定制、管理和分发。通过FFmpeg&#xff0c;用户可以轻松地剪辑视频片段&#xff0c;根据需要去除不必要的部分或提取特定时间段的内容&#xff0c;从而优化观看…

【数据库原理】(37)Web与数据库

随着网络的高速发展和网络服务的日趋完善&#xff0c;网络上的信息量呈几何级数增长。为了有效地组织、存储、管理和使用网上的信息&#xff0c;数据库技术被广泛地应用于网络领域。特别是在Internet上&#xff0c;已建立了数以万计的网站&#xff0c;其中大中型网站的后台大多…

链表中倒数第k个结点(附带源码)

目录 代码部分&#xff1a; 核心&#xff1a;看图 代码部分&#xff1a; struct ListNode* FindKthToTail(struct ListNode* pListHead, int k ) {// write code here// write code hereif (k 0){return NULL;}else{struct ListNode* slow pListHead, * fast pListHead;//…

一个非常流行的R语言调色板:RColorBrewer

R 语言有许多非常优秀的调色板&#xff0c;本文就介绍一个非常流行的&#xff0c;我也经常在用的调色板 R 包&#xff1a;RColorBrewer。 安装 install.packages("RColorBrewer") 加载 library(RColorBrewer) library(knitr) 初探 ?RColorBrewer 在帮助页面可以看到…

雨云VPS使用我的世界整合包开服教程,Pokehaan Craft 2整合包服务器搭建教程

Minecraft整合包服务器搭建教程&#xff0c;宝可梦/神奇宝贝整合包&#xff08;Pokehaan Craft 2&#xff09;开服教程。 其他整合包也可以参考此教程。要看这个整合包的游戏截图可以翻到文章最底下。 5分钟免费开一个MC服&#xff01;雨云免费服务器领取教程&我的世界开…

开源项目盘点-学习类

1&#xff0c;freeCodeCamp 地址&#xff1a;https://github.com/freeCodeCamp/freeCodeCamp 描述&#xff1a;一个程序员学习网站&#xff0c;里面有全栈开发、机器学习的相关知识&#xff0c;是完全免费的&#xff0c;该网站有上千道编码挑战题来帮助你来练习你的技能。 提…

springboot集成easypoi

easypoi,主打的功能就是容易,通过简单的配置&#xff0c;就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出 pom导入依赖 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-star…

9.4 Lambda表达式

9.4 Lambda表达式 1 Lambda语法2. 基于Lambda实现函数式编程3. Stream流式处理 1 Lambda语法 2. 基于Lambda实现函数式编程 3. Stream流式处理

各分地域如果流量大的情况下 使用什么组网方式最好?V批N还是SDWAN或者其他?

环境&#xff1a; V批N SDWAN MPLS 问题描述&#xff1a; 各分地域如果流量大的情况下 使用什么组网方式最好&#xff1f;V批N还是sdwan或者其他&#xff1f; 解决方案&#xff1a; 当各地域之间的流量较大时&#xff0c;选择合适的组网方式可以提供更好的网络性能和可靠…

快速玩转 Mixtral 8x7B MOE大模型!阿里云机器学习 PAI 推出最佳实践

作者&#xff1a;熊兮、贺弘、临在 Mixtral 8x7B大模型是Mixtral AI推出的基于decoder-only架构的稀疏专家混合网络&#xff08;Mixture-Of-Experts&#xff0c;MOE&#xff09;开源大语言模型。这一模型具有46.7B的总参数量&#xff0c;对于每个token&#xff0c;路由器网络选…