固定资产创建BAPI无法自动写入增强字段处理

通过实现增强点“AIST0002”给SAP固定资产主数据屏幕添加自定义字段(增强实现这里省略)。

(下图的增强字段仅供参考)

目前需要实现的功能是通过自定义程序审核用户上传的固定资产信息,审核通过后最后一个节点自动创建固定资产编号。

创建固定资产BAPI代码如下:

*&---------------------------------------------------------------------*
*&      Form  create_asset
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->PS_LS_ASSET          text
*      <--PS_LS_ASSET_CREATED  text
*      <--PS_WS_ERROR          text
*----------------------------------------------------------------------*
FORM CREATE_ASSET USING PS_LS_ASSET TYPE ZMJMFIT033CHANGING PS_LS_ASSET_CREATED TYPE BAPI1022_REFERENCEPS_WS_ERROR TYPE STRING.DATA:LS_KEY                     TYPE BAPI1022_KEY,LS_GENERAL_DATA            TYPE BAPI1022_FEGLG001,LS_GENERAL_DATA_X          TYPE BAPI1022_FEGLG001X,LS_INVENTORY               TYPE BAPI1022_FEGLG011,LS_INVENTORY_X             TYPE BAPI1022_FEGLG011X,LS_POSTING_INFORMATION     TYPE BAPI1022_FEGLG002,LS_POSTING_INFORMATION_X   TYPE BAPI1022_FEGLG002X,LS_TIME_DEPENDENT_DATA     TYPE BAPI1022_FEGLG003,LS_TIME_DEPENDENT_DATA_X   TYPE BAPI1022_FEGLG003X,LS_ALLOCATIONS             TYPE BAPI1022_FEGLG004,LS_ALLOCATIONS_X           TYPE BAPI1022_FEGLG004X,LS_ORIGIN                  TYPE BAPI1022_FEGLG009,LS_ORIGIN_X                TYPE BAPI1022_FEGLG009X,LS_INVEST_ACCT_ASSIGNMNT   TYPE BAPI1022_FEGLG010,LS_INVEST_ACCT_ASSIGNMNT_X TYPE BAPI1022_FEGLG010X,LS_REAL_ESTATE             TYPE BAPI1022_FEGLG007,LS_REAL_ESTATE_X           TYPE BAPI1022_FEGLG007X,LS_RETURN                  TYPE BAPIRET2,LV_WBS_ELEMENT             TYPE PS_POSID."CHAR-24DATA:LS_EXTENSIONIN        TYPE BAPIPAREX,LT_EXTENSIONIN        TYPE STANDARD TABLE OF BAPIPAREX,LT_DEPRECIATIONAREAS  TYPE STANDARD TABLE OF BAPI1022_DEP_AREAS,"折旧信息填制LS_DEPRECIATIONAREAS  LIKE LINE OF LT_DEPRECIATIONAREAS,LT_DEPRECIATIONAREASX TYPE STANDARD TABLE OF BAPI1022_DEP_AREASX,"折旧信息信息更新LS_DEPRECIATIONAREASX LIKE LINE OF LT_DEPRECIATIONAREASX,LS_ANLU               TYPE BAPI_TE_ANLU."公司代码LS_KEY-COMPANYCODE = PS_LS_ASSET-BUKRS."资产分类LS_GENERAL_DATA-ASSETCLASS = PS_LS_ASSET-ANLKL.LS_GENERAL_DATA_X-ASSETCLASS = C_UPDATED."资产描述LS_GENERAL_DATA-DESCRIPT = PS_LS_ASSET-TXT50.LS_GENERAL_DATA_X-DESCRIPT = C_UPDATED."数量LS_GENERAL_DATA-QUANTITY = PS_LS_ASSET-MENGE.LS_GENERAL_DATA_X-QUANTITY = C_UPDATED."单位LS_GENERAL_DATA-BASE_UOM = PS_LS_ASSET-MEINS.LS_GENERAL_DATA_X-BASE_UOM = C_UPDATED."历史性管理LS_GENERAL_DATA-HISTORY = C_UPDATED.LS_GENERAL_DATA_X-HISTORY = C_UPDATED."成本中心LS_TIME_DEPENDENT_DATA-COSTCENTER = PS_LS_ASSET-KOSTL.LS_TIME_DEPENDENT_DATA_X-COSTCENTER = C_UPDATED."业务范围LS_TIME_DEPENDENT_DATA-BUS_AREA = PS_LS_ASSET-GSBER.LS_TIME_DEPENDENT_DATA_X-BUS_AREA = C_UPDATED."评估组1LS_ALLOCATIONS-EVALGROUP1 = PS_LS_ASSET-ORD41.LS_ALLOCATIONS_X-EVALGROUP1 = C_UPDATED."制造商LS_ORIGIN-MANUFACTURER = PS_LS_ASSET-HERST.LS_ORIGIN_X-MANUFACTURER = C_UPDATED."供应商LS_ORIGIN-VENDOR_NO = PS_LS_ASSET-LIFNR.LS_ORIGIN_X-VENDOR_NO = C_UPDATED."WBS要素CALL FUNCTION 'CONVERSION_EXIT_ABPSP_OUTPUT'EXPORTINGINPUT  = PS_LS_ASSET-POSNRIMPORTINGOUTPUT = LV_WBS_ELEMENT.LS_INVEST_ACCT_ASSIGNMNT-WBS_ELEMENT = LV_WBS_ELEMENT.LS_INVEST_ACCT_ASSIGNMNT_X-WBS_ELEMENT = C_UPDATED."折旧范围
*  CLEAR LS_DEPRECIATIONAREAS.
*  LS_DEPRECIATIONAREAS-AREA = '01'."折旧范围
*  LS_DEPRECIATIONAREAS-DEP_KEY = PS_LS_ASSET-AFASL."折旧码
*  LS_DEPRECIATIONAREAS-ULIFE_YRS = PS_LS_ASSET-NDJAR."使用年限
*  APPEND LS_DEPRECIATIONAREAS TO LT_DEPRECIATIONAREAS."增强字段传值CLEAR LS_ANLU.LS_ANLU-COMP_CODE = PS_LS_ASSET-BUKRS. "公司代码LS_ANLU-NAME2     = PS_LS_ASSET-NAME2."LS_ANLU-KTEXT     = PS_LS_ASSET-KTEXT."LS_ANLU-LTEXT     = PS_LS_ASSET-LTEXT."LS_EXTENSIONIN-STRUCTURE = 'BAPI_TE_ANLU'.LS_EXTENSIONIN-VALUEPART1 = LS_ANLU.APPEND LS_EXTENSIONIN TO LT_EXTENSIONIN."调用BAPICALL FUNCTION 'BAPI_FIXEDASSET_CREATE1'EXPORTINGKEY                  = LS_KEY
*     TESTRUN              = 'X'GENERALDATA          = LS_GENERAL_DATAGENERALDATAX         = LS_GENERAL_DATA_XINVENTORY            = LS_INVENTORYINVENTORYX           = LS_INVENTORY_XPOSTINGINFORMATION   = LS_POSTING_INFORMATIONPOSTINGINFORMATIONX  = LS_POSTING_INFORMATION_XTIMEDEPENDENTDATA    = LS_TIME_DEPENDENT_DATATIMEDEPENDENTDATAX   = LS_TIME_DEPENDENT_DATA_XALLOCATIONS          = LS_ALLOCATIONSALLOCATIONSX         = LS_ALLOCATIONS_XORIGIN               = LS_ORIGINORIGINX              = LS_ORIGIN_XINVESTACCTASSIGNMNT  = LS_INVEST_ACCT_ASSIGNMNTINVESTACCTASSIGNMNTX = LS_INVEST_ACCT_ASSIGNMNT_XREALESTATE           = LS_REAL_ESTATEREALESTATEX          = LS_REAL_ESTATE_XIMPORTINGASSETCREATED         = PS_LS_ASSET_CREATEDRETURN               = LS_RETURNTABLESDEPRECIATIONAREAS    = LT_DEPRECIATIONAREASDEPRECIATIONAREASX   = LT_DEPRECIATIONAREASXEXTENSIONIN          = LT_EXTENSIONIN.IF LS_RETURN-TYPE = 'S'.CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
*    WRITE : '资产创建成功:',PS_LS_ASSET_CREATED-COMPANYCODE,
*                            PS_LS_ASSET_CREATED-ASSET,
*                            PS_LS_ASSET_CREATED-SUBNUMBER.ELSE.CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.CLEAR: PS_LS_ASSET_CREATED.MESSAGE ID LS_RETURN-ID TYPE LS_RETURN-TYPENUMBER LS_RETURN-NUMBERWITH LS_RETURN-MESSAGE_V1LS_RETURN-MESSAGE_V2LS_RETURN-MESSAGE_V3LS_RETURN-MESSAGE_V4INTO PS_WS_ERROR.ENDIF.ENDFORM. " create_asset

BAPI执行后成功创建固定资产编号,但是用户自定义字段没有成功写入。

通过查看BAPI“BAPI_FIXEDASSET_CREATE1”代码发现,在Line174会调用Form方法处理增强字段信息。

这里可以清楚的看到该方法会调用用户出口进行字段检查,到这一步就可以发现具体的原因了。

完善上述FM的赋值即可。

【ABAP】固定资产创建BAPI无法自动写入增强字段处理相关推荐

  1. postgreSQL怎样创建一个序列号/自动递增的字段

    PostgreSQL 支持 SERIAL 数据类型.它在字段上自动创建一个序列和索引.例如,     CREATE TABLE person (          id SERIAL,         ...

  2. SAP-ABAP会计凭证创建BAPI

    BAPI调用的代码如下,下面分别介绍几个主要参数 CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'EXPORTINGdocumentheader = lw_document ...

  3. php写时间 自动,ThinkPHP6.0 自动写入时间戳

    系统支持自动写入创建和更新的时间戳字段(默认关闭),有两种方式配置支持. 第一种方式是全局开启,在数据库配置文件中进行设置: // 开启自动写入时间戳字段'auto_timestamp' => ...

  4. VL31N创建内向交货函数GN_DELIVERY_CREATE及增强字段

    VL31N创建内向交货函数及增强字段 LIPS字段增强 结构KOMDLGN新增字段 在下面结构中新增字段,则两个都有了. 创建BADI: LE_SHP_GN_DLV_CREATE METHOD if_ ...

  5. 关于通过使用BAPI创建销售订单(抬头信息中:含增强字段)

    通过bapi函数创建销售订单,并更新增强字段 1,为构造增强字段(BAPE_VBAK,BAPE_VBAKX,VBAK,VBAKKOM,) 2,增强标准程序:将增强的字段赋给标准程序 (FV45KFAK ...

  6. 使用ABAP代码创建S/4HANA里的Sales Order

    下图是使用ABAP代码创建的S/4HANA的Sales Order的截图: 其中红色区域的值是我代码里硬编码的,而蓝色是函数SD_SALESDOCUMENT_CREATE自己创建的. 来看下代码: D ...

  7. Unity3D操作数据之Txt文档操作(创建、读取、写入、修改)

    Unity3D操作数据之Txt文档操作(创建.读取.写入.修改) 一.前言 其实读取Txt文档非常简单.也不需要导入插件,仅需引入相应的命名空间即可. 命名空间:using System.IO 要注意 ...

  8. matlab自动写word报告,matlab自动写入word

    如何在matlab中实现数据自动写入表格 展开全部 matlab中用xlswrite写入表格时,是按照矩阵本身的格式写入的:如果写入是成行的,可以先用[']号转置一次再写入:参考实例如下:例如:有X, ...

  9. AutoAugment: Learning Augmentation Policies from Data(一种自动数据增强技术)

    谷歌大脑提出自动数据增强方法AutoAugment:可迁移至不同数据集 近日,来自谷歌大脑的研究者在 arXiv 上发表论文,提出一种自动搜索合适数据增强策略的方法 AutoAugment,该方法创建 ...

最新文章

  1. android联动动画,利用 CollapsingToolbarLayout 完成联动的动画效果
  2. 经典面试题:ES如何做到亿级数据查询毫秒级返回?
  3. BLE CC2541 串口BootLoader 即 SBL BootLoader 资料 收集
  4. c++ 线程什么时候run_阿里后端Java面试题:启动线程是start()还是run()?为什么?...
  5. 从代码里提取的测试需求
  6. 存款惊人_如何使您的图快速美丽惊人
  7. exit(0)和exit(1)区别
  8. ssh 免密登录并用脚本群起服务
  9. 无惧杀入红海市场 ZUK手机底气在哪?
  10. Kotlin学习笔记21 协程part1 基本概念
  11. MUI - 图片预览(perviewimage)的优化
  12. ##CSP 201812-2 小明放学(C语言)(100分)
  13. Unity3D吐槽2--AnimationEvent
  14. java home_JAVA_HOME配置
  15. Android Palette吸色原理及源码解析
  16. CentOS7镜像下载地址
  17. C++ deque类使用详解
  18. mysql丢失数据,mysql数据丢失问题讨论(转)
  19. IDC:未来中国MES市场仍将快速发展分化
  20. 路透社:韩国游戏巨头Nexon欲出售控股权 腾讯将扮演关键角色

热门文章

  1. POJ3155Hard Life(最大密度子图:最大权闭合图)
  2. 解密一段混淆后的javascript
  3. 大专计算机专业内容,大专计算机专业(毕业论文).doc
  4. gii无法访问 yii2_Yii 2 enablePrettyUrl后不能访问gii
  5. 5W无线充IC发光鼠标垫可以充手机过EMC认证
  6. 北平机床IPO被终止:因保荐人撤销保荐 曾拟募资4.46亿
  7. 川崎机器人here指令_川崎机器人基础程序如何编写并执行?——川崎机器人专营店...
  8. 【完结】中国12大AI研究院,高调的低调的你pick谁
  9. 2022N1叉车司机考试题模拟考试题库及答案
  10. 新装的几个软件试用体会(WPS 2005,Opera,QQ 2005 Beta3)