‎2008 Aug 21 7:57 AM
hello
experts
i have a requirement to change fixed assets. if i want 2 do it with bapi
how shall i proceed?
i have got the bapi name bapi_fixed asset change
but as i am new 2 bapi i don know the respective steps
plz guide me
thanx in advance
‎2008 Aug 21 8:00 AM
Hi Friend,
Check this link for detailed information on BAPI_FIXEDASSET_CHANGE:
http://abap.wikiprog.com/wiki/BAPI_FIXEDASSET_CHANGE
Regards,
Chandra Sekhar
‎2008 Aug 22 7:13 AM
BAPI's are nothing but same as the function module so if you know how to paas import export and table parameter then you can use the BAPI.
‎2008 Aug 22 11:19 AM
Hi ,
Try this code
*&---------------------------------------------------------------------*
*& Report ZMILA_OSS_0000170346_2007
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zmila_oss_0000170346_2007.
PARAMETERS:
* Daten sind ausgelegt für Mdt 004
p_bukrs TYPE bukrs DEFAULT '1000',
p_anln1 TYPE anln1 DEFAULT '3474',
p_c1 TYPE xfeld RADIOBUTTON GROUP comm ,
p_c2 TYPE xfeld RADIOBUTTON GROUP comm DEFAULT 'X',
p_012 TYPE xfeld RADIOBUTTON GROUP ordr DEFAULT 'X',
p_120 TYPE xfeld RADIOBUTTON GROUP ordr,
p_201 TYPE xfeld RADIOBUTTON GROUP ordr.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK ovw WITH FRAME TITLE ovw.
SELECTION-SCREEN COMMENT /1(75) comm0.
SELECTION-SCREEN COMMENT /1(75) comm1.
SELECTION-SCREEN COMMENT /1(75) comm2.
SELECTION-SCREEN END OF BLOCK ovw.
INITIALIZATION.
ovw = 'TEST-DATEN (Mdt 004)'.
comm0 = 'Bukrs ist immer 1000'.
comm1 = 'Anlage ohne Equi.: 3474'.
comm2 = 'Anlage mit Equi. : 3475'.
DATA:
lt_anlz TYPE TABLE OF anlz,
ls_anlz TYPE anlz,
lv_anln2 TYPE anln2,
ls_tdd TYPE bapi1022_feglg003,
ls_tddx TYPE bapi1022_feglg003x,
ls_return TYPE bapiret2.
SELECT * FROM anlz INTO TABLE lt_anlz
WHERE bukrs EQ p_bukrs
AND anln1 EQ p_anln1.
LOOP AT lt_anlz INTO ls_anlz.
* todo: nur aktuelles intervall ziehen
ENDLOOP.
DO 3 TIMES.
IF sy-index = 1.
IF p_012 = 'X'. lv_anln2 = '0000'. ENDIF.
IF p_120 = 'X'. lv_anln2 = '0001'. ENDIF.
IF p_201 = 'X'. lv_anln2 = '0002'. ENDIF.
ENDIF.
IF sy-index = 2.
IF p_012 = 'X'. lv_anln2 = '0001'. ENDIF.
IF p_120 = 'X'. lv_anln2 = '0002'. ENDIF.
IF p_201 = 'X'. lv_anln2 = '0000'. ENDIF.
ENDIF.
IF sy-index = 3.
IF p_012 = 'X'. lv_anln2 = '0002'. ENDIF.
IF p_120 = 'X'. lv_anln2 = '0000'. ENDIF.
IF p_201 = 'X'. lv_anln2 = '0001'. ENDIF.
ENDIF.
LOOP AT lt_anlz INTO ls_anlz WHERE anln2 EQ lv_anln2.
EXIT.
ENDLOOP.
CHECK sy-subrc EQ 0.
CASE ls_anlz-kostl.
WHEN '0000001000'. ls_tdd-costcenter = '0000001010'.
WHEN '0000001010'. ls_tdd-costcenter = '0000001000'.
WHEN OTHERS. ls_tdd-costcenter = '0000001000'.
ENDCASE.
ls_tddx-costcenter = 'X'.
CALL FUNCTION 'BAPI_FIXEDASSET_CHANGE'
EXPORTING
companycode = p_bukrs
asset = p_anln1
subnumber = lv_anln2
* GROUPASSET =
* GENERALDATA =
* GENERALDATAX =
* INVENTORY =
* INVENTORYX =
* POSTINGINFORMATION =
* POSTINGINFORMATIONX =
timedependentdata = ls_tdd
timedependentdatax = ls_tddx
* ALLOCATIONS =
* ALLOCATIONSX =
* ORIGIN =
* ORIGINX =
* INVESTACCTASSIGNMNT =
* INVESTACCTASSIGNMNTX =
* NETWORTHVALUATION =
* NETWORTHVALUATIONX =
* REALESTATE =
* REALESTATEX =
* INSURANCE =
* INSURANCEX =
* LEASING =
* LEASINGX =
IMPORTING
return = ls_return.
* TABLES
* DEPRECIATIONAREAS =
* DEPRECIATIONAREASX =
* INVESTMENT_SUPPORT =
* EXTENSIONIN =
WRITE: ls_return-id, ls_return-number, ls_return-message(50).
IF p_c1 = 'X'.
COMMIT WORK AND WAIT.
ENDIF.
ENDDO.
IF p_c2 = 'X'.
COMMIT WORK AND WAIT.
ENDIF.