资产卡片批导
BAPI:BAPI_FIXEDASSET_CREATE1
DATA: ls_key TYPE bapi1022_key,
ls_generaldata TYPE bapi1022_feglg001,
ls_generaldatax TYPE bapi1022_feglg001x,
ls_timedependentdata TYPE bapi1022_feglg003,
ls_timedependentdatax TYPE bapi1022_feglg003x,
ls_depreciationareas TYPE bapi1022_dep_areas,
lt_depreciationareas TYPE STANDARD TABLE OF bapi1022_dep_areas,
ls_depreciationareasx TYPE bapi1022_dep_areasx,
lt_depreciationareasx TYPE STANDARD TABLE OF bapi1022_dep_areasx,
origin TYPE bapi1022_feglg009,
originx TYPE bapi1022_feglg009x,
ls_return TYPE bapiret2.
* (3) TYPE c, "使用年限
* (3) TYPE c, "使用年限
"进度条变量
DATA lv_daorunum TYPE int4 VALUE 0.
DATA lv_allline TYPE int4 VALUE 0.
DESCRIBE TABLE gt_data LINES lv_allline.
* BREAK-POINT.
LOOP AT gt_data INTO gs_data WHERE status = '2' OR status = '1'. "未导入,导入错误的允许再次导入
ls_key-companycode = gs_data-bukrs. "公司代码
PERFORM frm_alpha_in USING gs_data-anln1 CHANGING ls_key-asset. "主资产编号
ls_key-subnumber = gs_data-anln2. "次资产编号
PERFORM frm_alpha_in USING gs_data-anlkl CHANGING ls_generaldata-assetclass. "资产分类
* ls_generaldata-assetclass = gs_data-anlkl. "资产分类
ls_generaldata-descript = gs_data-txt50. "资产描述
ls_generaldata-descript2 = gs_data-txa50. "资产描述2
ls_generaldata-main_descript = gs_data-anlhtxt. "资产主号文本
ls_generaldata-serial_no = gs_data-sernr. "序列号
ls_generaldata-invent_no = gs_data-invnr. "存货号
CALL FUNCTION 'CHECK_AND_CONVERT_NUMERICS' "数量
EXPORTING
dmzei = '.'
dtype = 'QUAN'
efeld = gs_data-menge
imp_decimals = '3'
IMPORTING
* ERROR =
ifeld = ls_generaldata-quantity.
ls_generaldata-base_uom = gs_data-meins. "单位
ls_generaldatax-assetclass = abap_true. "资产分类
ls_generaldatax-descript = abap_true. "资产描述
ls_generaldatax-descript2 = abap_true. "资产描述2
ls_generaldatax-main_descript = abap_true. "资产主号文本
ls_generaldatax-serial_no = abap_true. "序列号
ls_generaldatax-invent_no = abap_true. "存货号
ls_generaldatax-quantity = abap_true. "数量
ls_generaldatax-base_uom = abap_true. "单位
ls_timedependentdata-costcenter = gs_data-kostl. "成本中心
ls_timedependentdata-intern_ord = gs_data-caufn. "内部订单
ls_timedependentdata-plate_no = gs_data-plate_no. "执行牌照
ls_timedependentdata-room = gs_data-raumn. "房间
ls_timedependentdatax-costcenter = abap_true. "成本中心
ls_timedependentdatax-intern_ord = abap_true. "内部订单
ls_timedependentdatax-license_plate_no = abap_true. "执行牌照
ls_timedependentdatax-room = abap_true. "房间
*********************************************************************
IF gs_data-afasl IS NOT INITIAL.
ls_depreciationareas-area = '01'. "范围编号
* ls_depreciationareas-dep_key = 'Z01'. "折旧码
ls_depreciationareas-dep_key = gs_data-afasl. "折旧码
ls_depreciationareas-ulife_yrs = gs_data-ndjar. "使用年限
ls_depreciationareas-ulife_prds = gs_data-ndper. "使用期间
ls_depreciationareas-sdep_start_date = gs_data-safbg. "特殊折旧开始日期
ls_depreciationareas-odep_start_date = gs_data-safbg. "普通折旧开始日期
APPEND ls_depreciationareas TO lt_depreciationareas.
CLEAR ls_depreciationareas.
ls_depreciationareasx-area = '01'. "范围编号
ls_depreciationareasx-dep_key = abap_true. "折旧码
ls_depreciationareasx-ulife_yrs = abap_true. "使用年限
ls_depreciationareasx-ulife_prds = abap_true. "使用期间
ls_depreciationareasx-sdep_start_date = abap_true. "折旧开始日期
ls_depreciationareasx-odep_start_date = abap_true. "折旧开始日期
APPEND ls_depreciationareasx TO lt_depreciationareasx.
CLEAR ls_depreciationareasx.
ENDIF.
*********************************************************************
*新增写入供应商
origin-vendor_no = gs_data-lifnr.
originx-vendor_no = 'X'.
*************************************************************************
CALL FUNCTION 'BAPI_FIXEDASSET_CREATE1'
EXPORTING
key = ls_key
* REFERENCE =
* CREATESUBNUMBER =
* POSTCAP =
* CREATEGROUPASSET =
* TESTRUN =
generaldata = ls_generaldata
generaldatax = ls_generaldatax
* INVENTORY =
* INVENTORYX =
* POSTINGINFORMATION =
* POSTINGINFORMATIONX =
timedependentdata = ls_timedependentdata
timedependentdatax = ls_timedependentdatax
* ALLOCATIONS =
* ALLOCATIONSX =
origin = origin
originx = originx
* INVESTACCTASSIGNMNT =
* INVESTACCTASSIGNMNTX =
* NETWORTHVALUATION =
* NETWORTHVALUATIONX =
* REALESTATE =
* REALESTATEX =
* INSURANCE =
* INSURANCEX =
* LEASING =
* LEASINGX =
* GLO_RUS_GEN =
* GLO_RUS_GENX =
* GLO_RUS_PTX =
* GLO_RUS_PTXX =
* GLO_RUS_TTX =
* GLO_RUS_TTXX =
* GLO_IN_GEN =
* GLO_IN_GENX =
* GLO_JP_ANN16 =
* GLO_JP_ANN16X =
* GLO_JP_PTX =
* GLO_JP_PTXX =
* GLO_TIME_DEP =
* GLO_RUS_GENTD =
* GLO_RUS_GENTDX =
* GLO_RUS_PTXTD =
* GLO_RUS_PTXTDX =
* GLO_RUS_TTXTD =
* GLO_RUS_TTXTDX =
* GLO_JP_IMPTD =
* GLO_JP_IMPTDX =
IMPORTING
* COMPANYCODE =
* ASSET =
* SUBNUMBER =
* ASSETCREATED =
return = ls_return
TABLES
depreciationareas = lt_depreciationareas
depreciationareasx = lt_depreciationareasx
* INVESTMENT_SUPPORT =
* EXTENSIONIN =
.
IF ls_return-type = 'S'.
COMMIT WORK AND WAIT.
gs_data-msg01 = ls_return-message_v1.
PERFORM frm_fb01 USING gs_data.
ELSE.
ROLLBACK WORK.
gs_data-msg01 = ls_return-message.
gs_data-status = '1'.
ENDIF.
MODIFY gt_data FROM gs_data.
CLEAR gs_data.
CLEAR: ls_return,lt_depreciationareas,lt_depreciationareasx,ls_key,ls_generaldata,ls_generaldatax,
ls_timedependentdata,ls_timedependentdatax.
"进度条
lv_daorunum = lv_daorunum + 1.
PERFORM frm_set_msgbar USING lv_daorunum lv_allline '导入完成:'.
ENDLOOP.
后记:写这些东西只是为了让给自己做个记录。如果你看到了这篇博文希望能对你有那么一点帮助,关于里面的注解只是我自己的理解,不正确的地方,请指出。