创建资产卡片
BAPI:BAPI_FIXEDASSET_CREATE1
以下代码供参考:
"BAPI导入参数
DATA:LS_KEY LIKE BAPI1022_KEY, "要创建的关键字字段
LS_REFERENCE LIKE BAPI1022_REFERENCE, "创建的参考资产
LV_CREATESUBNUMBER LIKE BAPI1022_MISC-XSUBNO, "检查框 - 创建子编号
LV_POSTCAP LIKE BAPI1022_MISC-POSTCAP, "标记:dynpro的资产资本化期后
LV_CREATEGROUPASSET LIKE BAPI1022_MISC-XANLGR, "标识:资产是集团公司资产
LV_TESTRUN LIKE BAPI1022_MISC-TESTRUN, "切换到编写 BAPI 的模拟会话
LS_GENERALDATA LIKE BAPI1022_FEGLG001, "逻辑字段组 001 - 通用数据
LS_GENERALDATAX LIKE BAPI1022_FEGLG001X,
LS_INVENTORY LIKE BAPI1022_FEGLG011,
LS_INVENTORYX LIKE BAPI1022_FEGLG011X,
LS_POSTINGINFORMATION LIKE BAPI1022_FEGLG002,
LS_POSTINGINFORMATIONX LIKE BAPI1022_FEGLG002X,
LS_TIMEDEPENDENTDATA LIKE BAPI1022_FEGLG003,
LS_TIMEDEPENDENTDATAX LIKE BAPI1022_FEGLG003X,
LS_ALLOCATIONS LIKE BAPI1022_FEGLG004,
LS_ALLOCATIONSX LIKE BAPI1022_FEGLG004X,
LS_ORIGIN LIKE BAPI1022_FEGLG009,
LS_ORIGINX LIKE BAPI1022_FEGLG009X,
LS_INVESTACCTASSIGNMNT LIKE BAPI1022_FEGLG010,
LS_INVESTACCTASSIGNMNTX LIKE BAPI1022_FEGLG010X,
LS_NETWORTHVALUATION LIKE BAPI1022_FEGLG006,
LS_NETWORTHVALUATIONX LIKE BAPI1022_FEGLG006X,
LS_REALESTATE LIKE BAPI1022_FEGLG007,
LS_REALESTATEX LIKE BAPI1022_FEGLG007X,
LS_INSURANCE LIKE BAPI1022_FEGLG008,
LS_INSURANCEX LIKE BAPI1022_FEGLG008X,
LS_LEASING LIKE BAPI1022_FEGLG005,
LS_LEASINGX LIKE BAPI1022_FEGLG005X,
LS_GLO_TIME_DEP LIKE BAPI1022_GLO_TIME_DEP.
"BAPI导出参数
DATA:LV_COMPANYCODE LIKE BAPI1022_1-COMP_CODE, "公司代码
LV_ASSET LIKE BAPI1022_1-ASSETMAINO, "主资产号
LV_SUBNUMBER LIKE BAPI1022_1-ASSETSUBNO, "资产次级编号
LS_ASSETCREATED LIKE BAPI1022_REFERENCE, "创建的参考资产
LS_RETURN LIKE BAPIRET2. "返回参数
"BAPI表参数
DATA: LT_DEPRECIATIONAREAS LIKE STANDARD TABLE OF BAPI1022_DEP_AREAS,
LT_DEPRECIATIONAREASX LIKE STANDARD TABLE OF BAPI1022_DEP_AREASX,
LT_INVESTMENT_SUPPORT LIKE STANDARD TABLE OF BAPI1022_INV_SUPPORT,
LT_EXTENSIONIN LIKE STANDARD TABLE OF BAPIPAREX.
DATA: LS_DEPRECIATIONAREAS LIKE BAPI1022_DEP_AREAS,
LS_DEPRECIATIONAREASX LIKE BAPI1022_DEP_AREASX,
LS_INVESTMENT_SUPPORT LIKE BAPI1022_INV_SUPPORT,
LS_EXTENSIONIN LIKE BAPIPAREX.
DATA: LS_ANLU TYPE BAPI_TE_ANLU.
DATA: LT_DATA TYPE TABLE OF TY_ALV.
DATA: LS_DATA TYPE TY_ALV.
LT_DATA[] = GT_ALV[].
DELETE LT_DATA WHERE SEL NE 'X'.
DELETE LT_DATA WHERE ICON NE ''. "状态灯不为空说明校验不通过
LOOP AT LT_DATA ASSIGNING FIELD-SYMBOL(<LW_DATA>).
"清空BAPI参数
CLEAR:LS_KEY,LS_REFERENCE,LV_CREATESUBNUMBER,LV_POSTCAP,LV_CREATEGROUPASSET,LV_TESTRUN,
LS_GENERALDATA,LS_GENERALDATAX,LS_INVENTORY,LS_INVENTORYX,LS_POSTINGINFORMATION, LS_POSTINGINFORMATIONX,
LS_TIMEDEPENDENTDATA,LS_TIMEDEPENDENTDATAX,LS_ALLOCATIONS,LS_ALLOCATIONSX,LS_ORIGIN,LS_ORIGINX,
LS_INVESTACCTASSIGNMNT,LS_INVESTACCTASSIGNMNTX,LS_NETWORTHVALUATION,LS_NETWORTHVALUATIONX,LS_REALESTATE,LS_REALESTATEX,
LS_INSURANCE,LS_INSURANCEX,LS_LEASING,LS_LEASINGX,LS_GLO_TIME_DEP.
CLEAR:LV_COMPANYCODE,LV_ASSET,LV_SUBNUMBER,LS_ASSETCREATED,LS_RETURN.
CLEAR:LS_DEPRECIATIONAREAS,LS_DEPRECIATIONAREASX,LS_INVESTMENT_SUPPORT,LS_EXTENSIONIN.
FREE:LT_DEPRECIATIONAREAS,LT_DEPRECIATIONAREASX,LT_INVESTMENT_SUPPORT,LT_EXTENSIONIN.
"BAPI资产编号赋值
* Company code
LS_KEY-COMPANYCODE = <LW_DATA>-BUKRS.
* Asset class
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = <LW_DATA>-ANLKL
IMPORTING
OUTPUT = LS_GENERALDATA-ASSETCLASS. "资产分类
* LS_GENERALDATA-ASSETCLASS = LV_ANLKL."资产分类
LS_GENERALDATAX-ASSETCLASS = 'X'.
***** Required fields - General Mills *****
* Asset Description
LS_GENERALDATA-DESCRIPT = <LW_DATA>-TXT50."资产描述
LS_GENERALDATAX-DESCRIPT = 'X'.
* Cost center
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = <LW_DATA>-KOSTL
IMPORTING
OUTPUT = LS_TIMEDEPENDENTDATA-COSTCENTER. "成本中心
* LS_TIMEDEPENDENTDATA-COSTCENTER = <LW_DATA>-KOSTL.
LS_TIMEDEPENDENTDATAX-COSTCENTER = 'X'.
* Cost center responsible for asset
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = <LW_DATA>-KOSTLV
IMPORTING
OUTPUT = LS_TIMEDEPENDENTDATA-RESP_CCTR. "责任成本中心
* LS_TIMEDEPENDENTDATA-RESP_CCTR = <LW_DATA>-KOSTLV.
LS_TIMEDEPENDENTDATAX-RESP_CCTR = 'X'.
***** Optional fields *****
* Asset Description 2
LS_GENERALDATA-DESCRIPT2 = <LW_DATA>-TXA50."附加资产描述
LS_GENERALDATAX-DESCRIPT2 = 'X'.
* Serial number
LS_GENERALDATA-SERIAL_NO = <LW_DATA>-SERNR.
LS_GENERALDATAX-SERIAL_NO = 'X'.
LS_GENERALDATA-MAIN_DESCRIPT = <LW_DATA>-ANLHTXT."资产主号说明
LS_GENERALDATAX-MAIN_DESCRIPT = 'X'.
LS_GENERALDATA-QUANTITY = <LW_DATA>-MENGE."数量
LS_GENERALDATAX-QUANTITY = 'X'.
LS_GENERALDATA-BASE_UOM = 'EA'."单位
LS_GENERALDATAX-BASE_UOM = 'X'.
"资产使用状态
* LS_ALLOCATIONS-EVALGROUP1 = '10'."资产使用状态ANLA-ORD41默认10
* LS_ALLOCATIONSX-EVALGROUP1 = 'X'.
"供应商科目编号(其他关键字)
LS_ORIGIN-VENDOR_NO = <LW_DATA>-LIFNR.
LS_ORIGINX-VENDOR_NO = 'X'.
"增强字段传值
* CLEAR LS_ANLU.
* LS_ANLU-COMP_CODE = <LW_DATA>-BUKRS. "公司
* LS_ANLU-ZSTATUS = '01'. "资产状态
* LS_EXTENSIONIN-STRUCTURE = 'BAPI_TE_ANLU'.
* LS_EXTENSIONIN-VALUEPART1 = LS_ANLU.
* APPEND LS_EXTENSIONIN TO LT_EXTENSIONIN.
CALL FUNCTION 'BAPI_FIXEDASSET_CREATE1'
EXPORTING
KEY = LS_KEY
REFERENCE = LS_REFERENCE
CREATESUBNUMBER = LV_CREATESUBNUMBER
POSTCAP = LV_POSTCAP
CREATEGROUPASSET = LV_CREATEGROUPASSET
TESTRUN = LV_TESTRUN
GENERALDATA = LS_GENERALDATA
GENERALDATAX = LS_GENERALDATAX
INVENTORY = LS_INVENTORY
INVENTORYX = LS_INVENTORYX
POSTINGINFORMATION = LS_POSTINGINFORMATION
POSTINGINFORMATIONX = LS_POSTINGINFORMATIONX
TIMEDEPENDENTDATA = LS_TIMEDEPENDENTDATA
TIMEDEPENDENTDATAX = LS_TIMEDEPENDENTDATAX
ALLOCATIONS = LS_ALLOCATIONS
ALLOCATIONSX = LS_ALLOCATIONSX
ORIGIN = LS_ORIGIN
ORIGINX = LS_ORIGINX
INVESTACCTASSIGNMNT = LS_INVESTACCTASSIGNMNT
INVESTACCTASSIGNMNTX = LS_INVESTACCTASSIGNMNTX
NETWORTHVALUATION = LS_NETWORTHVALUATION
NETWORTHVALUATIONX = LS_NETWORTHVALUATIONX
REALESTATE = LS_REALESTATE
REALESTATEX = LS_REALESTATEX
INSURANCE = LS_INSURANCE
INSURANCEX = LS_INSURANCEX
LEASING = LS_LEASING
LEASINGX = LS_LEASINGX
GLO_TIME_DEP = LS_GLO_TIME_DEP
IMPORTING
COMPANYCODE = LV_COMPANYCODE
ASSET = LV_ASSET
SUBNUMBER = LV_SUBNUMBER
ASSETCREATED = LS_ASSETCREATED
RETURN = LS_RETURN
TABLES
DEPRECIATIONAREAS = LT_DEPRECIATIONAREAS
DEPRECIATIONAREASX = LT_DEPRECIATIONAREASX
INVESTMENT_SUPPORT = LT_INVESTMENT_SUPPORT
EXTENSIONIN = LT_EXTENSIONIN.
IF LS_RETURN-TYPE = 'S'.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ENDIF.
ENDLOOP.
OVER…