пожалуйста
Code:
*&---------------------------------------------------------------------*
*& Form FIXEDASSET_CREATE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM asset_create.
DATA s_asset_created TYPE bapi1022_reference.
DATA:
s_key TYPE bapi1022_key,
s_general_data TYPE bapi1022_feglg001,
s_general_data_x TYPE bapi1022_feglg001x,
s_time_dependent_data TYPE bapi1022_feglg003,
s_time_dependent_data_x TYPE bapi1022_feglg003x,
s_allocations TYPE bapi1022_feglg004,
s_allocations_x TYPE bapi1022_feglg004x,
s_postinginformation TYPE bapi1022_feglg002,
s_postinginformation_x TYPE bapi1022_feglg002x,
s_origin TYPE bapi1022_feglg009,
s_originx TYPE bapi1022_feglg009x,
s_return TYPE bapiret2,
length TYPE c.
DATA: t_depreciationareas LIKE TABLE OF bapi1022_dep_areas WITH HEADER LINE. "значение по областям
DATA: t_depreciationareasx LIKE TABLE OF bapi1022_dep_areasx WITH HEADER LINE. "значение по областям
DATA: g_extensionin TYPE TABLE OF bapiparex, " для полей ANLU
g_extin TYPE bapiparex.
DATA: g_bapi_te_anlu TYPE bapi_te_anlu.
FIELD-SYMBOLS <data> TYPE zsalv_zins.
LOOP AT gt_data ASSIGNING <data> WHERE anln1 IS INITIAL.
s_key-companycode = sp_bukrs.
s_general_data-assetclass = <data>-anlkl.
s_general_data_x-assetclass = abap_true.
s_general_data-quantity = <data>-menge.
s_general_data_x-quantity = abap_true.
s_general_data-base_uom = <data>-meins.
s_general_data_x-base_uom = abap_true.
s_general_data-descript = <data>-txt50(50).
s_general_data_x-descript = abap_true.
s_general_data-descript2 = <data>-txt50+50.
s_general_data_x-descript2 = abap_true.
s_general_data-history = abap_true.
s_general_data_x-history = abap_true.
s_time_dependent_data-costcenter = <data>-kostl.
s_time_dependent_data_x-costcenter = abap_true.
s_time_dependent_data-bus_area = g_gsber.
s_time_dependent_data_x-bus_area = abap_true.
s_time_dependent_data-person_no = <data>-pernr.
s_time_dependent_data_x-person_no = abap_true.
s_origin-vendor_no = <data>-lifnr.
s_originx-vendor_no = abap_true.
"anlu
REFRESH g_extensionin.
CLEAR g_bapi_te_anlu.
g_bapi_te_anlu-comp_code = sp_bukrs.
g_bapi_te_anlu-assetmaino = ''.
g_bapi_te_anlu-assetsubno = ''.
g_bapi_te_anlu-zzdogarend = <data>-zzdogarend.
CLEAR g_extin.
PERFORM value_to_string_transform
USING
g_bapi_te_anlu
CHANGING
g_extin.
APPEND g_extin TO g_extensionin.
"anlu
t_depreciationareas-area = '01'.
t_depreciationareas-dep_key = <data>-afasl01.
t_depreciationareas-ulife_yrs = <data>-ndjar01.
t_depreciationareas-ulife_prds = <data>-ndper01.
APPEND t_depreciationareas.
t_depreciationareasx-area = '01'.
t_depreciationareasx-dep_key = abap_true.
t_depreciationareasx-ulife_yrs = abap_true.
t_depreciationareasx-ulife_prds = abap_true.
APPEND t_depreciationareasx.
t_depreciationareas-area = '09'.
t_depreciationareas-dep_key = <data>-afasl01.
t_depreciationareas-ulife_yrs = <data>-ndjar01.
t_depreciationareas-ulife_prds = <data>-ndper01.
APPEND t_depreciationareas.
t_depreciationareasx-area = '09'.
t_depreciationareasx-dep_key = abap_true.
t_depreciationareasx-ulife_yrs = abap_true.
t_depreciationareasx-ulife_prds = abap_true.
APPEND t_depreciationareasx.
t_depreciationareas-area = '10'.
t_depreciationareas-dep_key = <data>-afasl10.
t_depreciationareas-ulife_yrs = <data>-ndjar10.
t_depreciationareas-ulife_prds = <data>-ndper10.
APPEND t_depreciationareas.
t_depreciationareasx-area = '10'.
t_depreciationareasx-dep_key = abap_true.
t_depreciationareasx-ulife_yrs = abap_true.
t_depreciationareasx-ulife_prds = abap_true.
APPEND t_depreciationareasx.
* break gtflas.
CALL FUNCTION 'BAPI_FIXEDASSET_CREATE1'
EXPORTING
* testrun = abap_true
key = s_key
generaldata = s_general_data
generaldatax = s_general_data_x
timedependentdata = s_time_dependent_data
timedependentdatax = s_time_dependent_data_x
origin = s_origin
originx = s_originx
allocations = s_allocations
allocationsx = s_allocations_x
IMPORTING
assetcreated = s_asset_created
return = s_return
TABLES
depreciationareas = t_depreciationareas
depreciationareasx = t_depreciationareasx
extensionin = g_extensionin.
* break gtflas.
IF s_return-type = 'E'.
g_error = abap_true.
APPEND s_return TO gt_return.
<data>-icon = '@0A@'.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
<data>-anln1 = s_asset_created-asset.
<data>-icon = '@08@'.
ENDIF.
ENDLOOP.
ENDFORM. " FIXEDASSET_CREATE