‎2007 Apr 17 5:05 AM
hi all
i need to know how to use the following bapi: BAPI_FIXEDASSET_CREATE
can anybody help me!!
‎2007 Apr 17 5:12 AM
Hi Jose,
Plz provide the parameters what u required for ur requirement.
Go through this program then u can know how to use the bapi.
FUNCTION zbapi_plm.
*"----
""Local Interface:
*" IMPORTING
*" VALUE(I_EMP) TYPE ZPLM
*" EXPORTING
*" VALUE(E_FLAG) TYPE ZFLAG
*" TABLES
*" RETURN STRUCTURE BAPIRET2 OPTIONAL
*"----
************
*zplm_data-matnr = i_emp-matnr.
*zplm_data-rev = i_emp-revno.
*zplm_data-type = i_emp-prtcat.
*zplm_data-zdesc = i_emp-descr.
*zplm_data-state = i_emp-stat.
*insert zplm_data.
***************
it_plm-matnr = i_emp-matnr.
it_plm-rev = i_emp-revno.
it_plm-type = i_emp-prtcat.
it_plm-desc = i_emp-descr.
it_plm-stat = i_emp-stat.
APPEND it_plm.
LOOP AT it_plm.
SELECT SINGLE * FROM mara WHERE matnr EQ it_plm-matnr.
IF sy-subrc NE 0.
it_plm1-matnr = it_plm-matnr.
it_plm1-rev = i_emp-revno.
it_plm1-type = it_plm-type.
it_plm1-desc = it_plm-desc.
it_plm1-stat = it_plm-stat.
APPEND it_plm1.
ENDIF.
ENDLOOP.
LOOP AT it_plm1.
SELECT SINGLE * FROM t023t WHERE spras = 'EN' AND wgbez EQ it_plm1-type.
IF sy-subrc EQ 0.
it_plm1-matkl = t023t-matkl.
MODIFY it_plm1.
ENDIF.
imat = it_plm1-matnr.
SPLIT imat AT '-' INTO par1 par2 par3.
IF par1 EQ '115'.
it_plm1-mtart = 'HALB'.
MODIFY it_plm1.
ELSEIF par1 EQ '998' OR par1 = '999'.
it_plm1-mtart = 'ROH'.
MODIFY it_plm1.
ENDIF.
ENDLOOP.
LOOP AT it_plm1.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0060'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RMMG1-MTART'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=AUSW'.
PERFORM bdc_field USING 'RMMG1-MATNR'
it_plm1-matnr.
PERFORM bdc_field USING 'RMMG1-MBRSH'
'M'.
PERFORM bdc_field USING 'RMMG1-MTART'
it_plm1-mtart.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(01)'
'X'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4004'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=PB26'.
PERFORM bdc_field USING 'MAKT-MAKTX'
it_plm1-type.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARA-MEINS'.
PERFORM bdc_field USING 'MARA-MEINS'
it_plm1-rev.
PERFORM bdc_field USING 'MARA-MATKL'
it_plm1-matkl.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4300'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=LTEX'.
PERFORM bdc_field USING 'MAKT-MAKTX'
it_plm1-desc.
PERFORM bdc_dynpro USING 'SAPLSTXX' '1100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSTXT-TXLINE(05)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=TXVB'.
PERFORM bdc_field USING 'RSTXT-TXLINE(02)'
it_plm1-desc.
*perform bdc_field using 'RSTXT-TXLINE(03)'
record-TXLINE_03_009.
*perform bdc_field using 'RSTXT-TXLINE(04)'
record-TXLINE_04_010.
*perform bdc_field using 'RSTXT-TXLINE(05)'
record-TXLINE_05_011.
*perform bdc_field using 'RSTXT-TXLINE(06)'
record-TXLINE_06_012.
PERFORM bdc_dynpro USING 'SAPLSTXX' '1100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSTXT-TXLINE(02)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=TXBA'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4300'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BU'.
CALL TRANSACTION 'MM01' USING bdcdata
MODE 'A'
UPDATE 'S'.
CLEAR it_plm1.
CALL FUNCTION 'BALW_BAPIRETURN_GET2'
EXPORTING
type = sy-msgty
cl = sy-msgid
number = sy-msgno
par1 = sy-msgv1
par2 = sy-msgv2
par3 = sy-msgv3
par4 = sy-msgv4
IMPORTING
return = return.
APPEND return.
CLEAR bdcdata[].
ENDLOOP.
ENDFUNCTION.
&----
*& Form bdc_dynpro
&----
text
----
-->PROGRAM text
-->DYNPRO text
----
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM. "BDC_DYNPRO
----
Insert field *
----
FORM bdc_field USING fnam fval.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
ENDFORM. "BDC_Field
Rewards points for helpful answers.
Rgds,
P.Nag
‎2007 Apr 17 5:12 AM
Hi Jose,
Plz provide the parameters what u required for ur requirement.
Go through this program then u can know how to use the bapi.
FUNCTION zbapi_plm.
*"----
""Local Interface:
*" IMPORTING
*" VALUE(I_EMP) TYPE ZPLM
*" EXPORTING
*" VALUE(E_FLAG) TYPE ZFLAG
*" TABLES
*" RETURN STRUCTURE BAPIRET2 OPTIONAL
*"----
************
*zplm_data-matnr = i_emp-matnr.
*zplm_data-rev = i_emp-revno.
*zplm_data-type = i_emp-prtcat.
*zplm_data-zdesc = i_emp-descr.
*zplm_data-state = i_emp-stat.
*insert zplm_data.
***************
it_plm-matnr = i_emp-matnr.
it_plm-rev = i_emp-revno.
it_plm-type = i_emp-prtcat.
it_plm-desc = i_emp-descr.
it_plm-stat = i_emp-stat.
APPEND it_plm.
LOOP AT it_plm.
SELECT SINGLE * FROM mara WHERE matnr EQ it_plm-matnr.
IF sy-subrc NE 0.
it_plm1-matnr = it_plm-matnr.
it_plm1-rev = i_emp-revno.
it_plm1-type = it_plm-type.
it_plm1-desc = it_plm-desc.
it_plm1-stat = it_plm-stat.
APPEND it_plm1.
ENDIF.
ENDLOOP.
LOOP AT it_plm1.
SELECT SINGLE * FROM t023t WHERE spras = 'EN' AND wgbez EQ it_plm1-type.
IF sy-subrc EQ 0.
it_plm1-matkl = t023t-matkl.
MODIFY it_plm1.
ENDIF.
imat = it_plm1-matnr.
SPLIT imat AT '-' INTO par1 par2 par3.
IF par1 EQ '115'.
it_plm1-mtart = 'HALB'.
MODIFY it_plm1.
ELSEIF par1 EQ '998' OR par1 = '999'.
it_plm1-mtart = 'ROH'.
MODIFY it_plm1.
ENDIF.
ENDLOOP.
LOOP AT it_plm1.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0060'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RMMG1-MTART'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=AUSW'.
PERFORM bdc_field USING 'RMMG1-MATNR'
it_plm1-matnr.
PERFORM bdc_field USING 'RMMG1-MBRSH'
'M'.
PERFORM bdc_field USING 'RMMG1-MTART'
it_plm1-mtart.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(01)'
'X'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4004'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=PB26'.
PERFORM bdc_field USING 'MAKT-MAKTX'
it_plm1-type.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARA-MEINS'.
PERFORM bdc_field USING 'MARA-MEINS'
it_plm1-rev.
PERFORM bdc_field USING 'MARA-MATKL'
it_plm1-matkl.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4300'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=LTEX'.
PERFORM bdc_field USING 'MAKT-MAKTX'
it_plm1-desc.
PERFORM bdc_dynpro USING 'SAPLSTXX' '1100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSTXT-TXLINE(05)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=TXVB'.
PERFORM bdc_field USING 'RSTXT-TXLINE(02)'
it_plm1-desc.
*perform bdc_field using 'RSTXT-TXLINE(03)'
record-TXLINE_03_009.
*perform bdc_field using 'RSTXT-TXLINE(04)'
record-TXLINE_04_010.
*perform bdc_field using 'RSTXT-TXLINE(05)'
record-TXLINE_05_011.
*perform bdc_field using 'RSTXT-TXLINE(06)'
record-TXLINE_06_012.
PERFORM bdc_dynpro USING 'SAPLSTXX' '1100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSTXT-TXLINE(02)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=TXBA'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4300'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BU'.
CALL TRANSACTION 'MM01' USING bdcdata
MODE 'A'
UPDATE 'S'.
CLEAR it_plm1.
CALL FUNCTION 'BALW_BAPIRETURN_GET2'
EXPORTING
type = sy-msgty
cl = sy-msgid
number = sy-msgno
par1 = sy-msgv1
par2 = sy-msgv2
par3 = sy-msgv3
par4 = sy-msgv4
IMPORTING
return = return.
APPEND return.
CLEAR bdcdata[].
ENDLOOP.
ENDFUNCTION.
&----
*& Form bdc_dynpro
&----
text
----
-->PROGRAM text
-->DYNPRO text
----
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM. "BDC_DYNPRO
----
Insert field *
----
FORM bdc_field USING fnam fval.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
ENDFORM. "BDC_Field
Rewards points for helpful answers.
Rgds,
P.Nag
‎2007 Apr 17 5:13 AM
If you need to create new assets, the BAPI is :
BAPI_FIXEDASSET_CREATE
( AS01 )
‎2007 Apr 17 5:14 AM
hi,
<b>BAPI_FIXEDASSET_CREATE</b>:
1. Using the BAPI called BAPI_FIXEDASSET_CREATE you can create fixed assets in the
R/3 System.
2. After creating the asset, you can use the BAPI called
BAPI_ASSET_ACQUISITION_POST to post the asset acquisition, or
BAPI_ASSET_POSTCAP_POST to post a post-capitalization.
Regards