首页 > 其他分享 >ABAP:ABAW资产减值重固BAPI

ABAP:ABAW资产减值重固BAPI

时间:2024-02-18 17:33:37浏览次数:28  
标签:BAPI lt rz ABAP return2 ls post TYPE ABAW

BAPI_ASSET_REVALUATION_POST

*&---------------------------------------------------------------------*
*& Form frm_import_data
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*&      --> PV_UCOMM
*&---------------------------------------------------------------------*
FORM frm_import_data  USING pv_ucomm.
  DATA: ls_post    TYPE bapifapo_gen_info,
        ls_reval   TYPE bapifapo_revaluation,
        ls_info    TYPE bapifapo_add_info,
        ls_return  TYPE bapiret2,
        lt_return2 TYPE TABLE OF bapiret2,
        ls_rz      TYPE ztfi0025.

  CHECK gt_outtab IS NOT INITIAL.
  "全部行项目没有错误时才能正式导入
  DATA(lt_import) = gt_outtab.
  DELETE lt_import WHERE icon = icon_led_green.
  IF lt_import IS NOT INITIAL.
    MESSAGE '数据检查未通过,不可导入' TYPE 'E'.
  ENDIF.

  LOOP AT gt_outtab ASSIGNING FIELD-SYMBOL(<fs_outtab>).

    SELECT SINGLE waers
      FROM t001
      INTO ls_reval-currency
     WHERE bukrs = <fs_outtab>-bukrs.

    ls_post-comp_code = <fs_outtab>-bukrs."公司代码
    ls_post-assetmaino = <fs_outtab>-anln1."主资产号
    ls_post-assettrtyp = <fs_outtab>-bwasl."事物类型
    ls_post-acc_principle = <fs_outtab>-accounting_principle."会计准则
    ls_post-depr_area = <fs_outtab>-afabe."折旧范围
    ls_post-doc_date = <fs_outtab>-bldat."凭证日期
    ls_post-pstng_date = <fs_outtab>-budat."过账日期

    ls_reval-valuedate = <fs_outtab>-bzdat."资产起息日
    ls_reval-amount = <fs_outtab>-anbtr."减值金额

    ls_info-item_text = <fs_outtab>-sgtxt."凭证文本

    CALL FUNCTION 'BAPI_ASSET_REVALUATION_POST'
      EXPORTING
        generalpostingdata = ls_post
        revaluationdata    = ls_reval
      IMPORTING
        return             = ls_return
      TABLES
*       revalareavalues    =
        return_all         = lt_return2.

    LOOP AT lt_return2 INTO DATA(ls_return2) WHERE type CA 'AEX'.
      <fs_outtab>-msg = ls_return2-message && <fs_outtab>-msg.
      CLEAR:ls_return2.
    ENDLOOP.

    IF sy-subrc EQ 0.
      CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
      <fs_outtab>-icon  = icon_led_red.
    ELSE.
      READ TABLE lt_return2 INTO ls_return2 WITH KEY type = 'S'
                                                     id = 'FAA_POST'
                                                     number = '091'.
      IF sy-subrc EQ 0.
        <fs_outtab>-msg = ls_return2-message_v1.
      ENDIF.
      <fs_outtab>-icon  = icon_led_green.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
        EXPORTING
          wait = 'X'.
    ENDIF.

    ls_rz-uuid = cl_uuid_factory=>create_system_uuid(  )->create_uuid_x16( ).
    ls_rz-erdat = sy-datum.
    ls_rz-ernam = sy-uname.
    ls_rz-erzet = sy-uzeit.
    ls_rz-type = ls_return2-type.
    ls_rz-mseg = ls_return2-message.
    ls_rz-znumber = ls_return2-message_v1.
    MOVE-CORRESPONDING <fs_outtab> TO ls_rz.

    MODIFY ztfi0025 FROM ls_rz .
    COMMIT WORK AND WAIT.

    CLEAR:ls_rz,ls_return2.
  ENDLOOP.

ENDFORM.

标签:BAPI,lt,rz,ABAP,return2,ls,post,TYPE,ABAW
From: https://www.cnblogs.com/ap-ad-java-abap/p/18019666

相关文章

  • ABAP:PP->MD61创建独立需求计划BAPI
    BAPI_REQUIREMENTS_CREATE*&---------------------------------------------------------------------**&Formfrm_create_pbdnr_matnr*&---------------------------------------------------------------------**&text*&----------------------......
  • ABAP:ME21N状态栏添加自定义按钮
    SE38:LMEGUICJL---->代码增强点ENHANCEMENT1Z_SEND_PO_TO_OA."activeversionIFim_fcode='OA'.DATA:ls_returnTYPEzscomm03,lv_bsartTYPEekko-bsart.DATA:lv_statusTYPEzshr0004,ls_ekkoTYPEekko.CLEARim......
  • ABAP:MM01/MM02/MM03物料主数据增强
    1.屏幕增强-在主表中附加结构(判断数据的主表,如MARA,MARC)增强字段数据元素勾选更改文档以后,会记录字段变更历史 -SPRO-->物流-常规-->物料主数据-->配置物料主记录-->创建定制子屏幕的程序 会生成对应的函数组--里面会包含两个屏幕(0001,0002)这里的0001屏幕作为......
  • 10.使用RestSharps请求WebAPI
    1.请求类publicclassBaseRequest{///<summary>///请求法式///</summary>publicRestSharp.MethodMethod{get;set;}///<summary>///路由///</summary>publicstr......
  • Asp-Net-Core学习笔记:WebApi开发实践
    前言用AspNetCore做Api开发也有一段时间了,正好年底在做总结,做一个WebApi开发实践笔记。暂时想到的一些技术关键词,同时也作为本文的大纲,现在对这套技术体系的了解还不够深入,以后会持续更新这个Api开发实践~身份认证:JwtBearer分页:X.PagedList缓存ResponseCacheRedis:St......
  • Asp .Net Core 系列:Asp .Net Core 集成 Panda.DynamicWebApi
    目录简介Asp.NetCore集成Panda.DynamicWebApi配置原理什么是POCOController?POCO控制器原理ControllerFeatureProvider实现自定义判断规则IApplicationModelConventionPanda.DynamicWebApi中的实现ConfigureApiExplorer()ConfigureSelector()ConfigureParameters()简介Panda......
  • net8 webapi
    直接用net8webapi模板,创建时不要选控制器,直接添加类文件,并调整基类等即可usingMicrosoft.AspNetCore.Mvc;usingNewtonsoft.Json.Converters;usingNewtonsoft.Json.Linq;usingSystem.Text.Unicode;namespaceWebApplication1.Controllers{[ApiController][......
  • net8 对接webapi接口通过 GetFromJsonAsAsyncEnumerable方法直接得到对象,无需进行反序
    调用API直接获取到对象现在有一个接口返回如下图中的数据:如果是在8以前的版本中获取该接口的数据,需要先获取到接口内容,然后进行反序列化,代码如下conststringRequestUri="http://localhost:5145/user";usingvarclient=newHttpClient();varstream=awaitclient......
  • 使用 Asp.net core webapi 集成配置系统,提高程序的灵活和可维护性
    前言:什么是集成配置系统?集成配置系统的主要目的是将应用程序的配置信息与代码分离,使得配置信息可以在不需要修改代码的情况下进行更改。这样可以提高应用程序的灵活性和可维护性。ASP.NETCore提供了一种灵活的配置系统,可以轻松地将配置信息从不同的来源加载到应用程序中,并且......
  • k8s .netcore webapi
    .netcorewebapi迁移到到k8s1.  kcreatedeploymentaaa--image=aaa-image:1.2 -r=2, 然后把生成的deploy,-oyaml,删除不必要信息,保存为yamlapiVersion:apps/v1kind:Deploymentmetadata: labels:  app:my-app name:my-app namespace:app-ns......