We have added search box. Key in SAP issue keyword to search
TopBottom

Announcement: wanna exchange links? contact me at sapchatroom@gmail.com.

RE:[sap-acct] Change useful life of an asset during fiscal year

Posted by Admin at
Share this post:
Ma.gnolia DiggIt! Del.icio.us Yahoo Furl Technorati Reddit

Posted by csabar (SAP Financial Systems Manager)
on Apr 8 at 10:05 PM
Mark this reply as helpfulMark as helpful
Try using "smoothing"; this is a checkbox you can select in configuration.

---------------Original Message---------------
From: RAJAN PSD
Sent: Friday, July 09, 2004 2:40 PM
Subject: Change useful life of an asset during fiscal year

> You can try a variant of this.......
> INCLUDE ZXAFAU02
> *
>
> *
> *
>
> *THIS USER EXIT WILL COMPUTE DEPRECIATION ON THE
> REMAINING LIFE
> *FROM THE VALUE DATE. THIS IS EFFECTIVE FROM
> 07/01/2002. THE
> *DEPRECIATION PRIOR TO 07/01/2002 WILL NOT BE CHANGED.
> BUT
> * DEPRECIATION FROM 07/01/2002 WILL BE COMPUTED ON
> REMAINING
> *LIFE.
> *PROGRAM WRITTEN BY PSD RAJAN. email@removed
> *DATE : 08/31/2002
> tables: ANEP.
>
> DATA:
> BEGIN OF Z_DAT,
> JAH LIKE T009B-BDATJ,
> MON LIKE T009B-BUMON,
> TAG LIKE T009B-BUTAG,
> END OF Z_DAT.
>
> DATA:
> Z_TRANTYPE LIKE ANEP-BWASL,
> Z_TAG LIKE T009B-BUTAG,
> Z_PROZ TYPE P DECIMALS 10,
> Z_RPERBEG(4) TYPE P,
> Z_RESDAU(4) TYPE P,
> Z_PERAFAGWO(4) TYPE P,
> Z_PERAFAGW(4) TYPE P,
> Z_AFABTR TYPE F,
> Z_AFABTRO TYPE F,
> Z_CUTOFFPER(4) TYPE P,
> Z_BEZWRT TYPE F.
>
> *THE REFERENCE PERIOD FOR 07/01/2002 IS 48061.
> Z_CUTOFFPER = 48061.
> E_AKTIV = 'X'.
>
> E_AFABTR = 0.
>
> Z_AFABTR = 0.
> Z_AFABTRO = 0.
>
> * THIS IS ONLY FOR CUSTOMER EXIT 1.
>
> IF I_AFAP-AFAMET = 'X'.
> read table t_anep with key afabe = i_afabe.
> * ENSURE THAT SYSTEM CALCULATES THE DEPRECIATION FOR
> PERIOD
> *PRIOR TO CUT OFF DATE OF 7/1/2002 WITH BASE METHOD
> 007 AND AFTER
> *THE CUT OFF DATE, USING THIS PROGRAM BASED ON NBV ON
> THE
> *VALUE DATE. THIS AVOIDS RECALCULATION OF
> DEPRECIATION IN MID
> *YEAR.
> IF I_AFAP-RPERBEG LT Z_CUTOFFPER AND T_ANEP-BWASL NE
> '690'.
> *Find out the transaction type. QKI is balance
> forward.
> * read table t_anep with key afabe = i_afabe.
> If t_anep-bwasl = 'QKI'.
> READ TABLE T_ANLC WITH KEY AFABE = I_AFABE.
> Z_bezwrt = t_anlc-kansw.
> ELSE.
> Z_BEZWRT = I_BEZWRT.
> Endif.
>
> Z_PERAFAGWO = I_AFAP-RPEREND - I_AFAP-RPERBEG + 1.
> Z_PERAFAGW = 0.
> IF I_AFAP-RPEREND GE Z_CUTOFFPER.
> Z_PERAFAGWO = Z_CUTOFFPER - i_afap-rperbeg.
> Z_PERAFAGW = I_AFAP-RPEREND - Z_CUTOFFPER + 1.
> ENDIF.
> IF I_AFAP-GESDAU GT 0.
> Z_PROZ = I_AFAP-PERFY * I_AFAP-DEGFAK /
> I_AFAP-GESDAU.
> IF I_AFAP-GESDAU < I_AFAP-PERFY.
> Z_PROZ = Z_PROZ * I_AFAP-GESDAU /
> I_AFAP-PERFY.
> ENDIF.
> Z_AFABTRO = z_bezwrt * Z_PROZ *
> Z_PERAFAGWO / I_AFAP-PERFY.
> ENDIF.
> Z_RESDAU = I_AFAP-RAFEND - Z_CUTOFFPER + 1.
> * FUTURE DEPRECIATION TO BE BASED ON THE NBV AS ON CUT
> OFF DATE.
> I_BEZWRT = I_BEZWRT - Z_AFABTRO.
> *we don't want to divide zero
> IF Z_PERAFAGW GT 0.
> Z_PROZ = I_AFAP-PERFY * I_AFAP-DEGFAK /
> Z_RESDAU.
> Z_AFABTR = I_BEZWRT * Z_PROZ * Z_PERAFAGW /
> I_AFAP-PERFY.
> ENDIF.
> IF I_AFAP-GESDAU < I_AFAP-PERFY.
> Z_AFABTR = 0.
> *Z_AFABTRO HAS ALREADY TAKEN CARE OF THIS.
> ENDIF.
> *ADD PRIOR CUTOFF AND POST CUTOFF DEPRECIATION
> Z_AFABTR = Z_AFABTRO + Z_AFABTR.
> *THIS WILL BE USED ONLY FOR RECALCULATION AFTER THE
> CHANGE OF
> *DEPRECIATION METHOD.
> ELSE.
>
> read table t_anep with key afabe = i_afabe.
>
> Z_TRANTYPE = T_ANEP-BWASL.
> * FOR TANSACTION TYPE 690, CURRENT YEAR ACQUISITIONS,
> SYSTEM
> *TAKES THE RESIDUAL LIFE FROM THE START DATE OF
> DEPRECIATION
> *FOR THE ASSET AND NOT THE VALUE DATE FOR THE
> TRANSACTION.
> *THIS HAS BEEN FIXED WITH THIS CODE.
> IF Z_TRANTYPE = '690'.
> MOVE T_ANEP-BZDAT TO Z_DAT.
> Z_TAG = 0.
> IF Z_DAT-TAG LE 15.
> Z_TAG = -1.
> ENDIF.
> Z_RPERBEG = ( Z_DAT-JAH * 24 ) + ( Z_DAT-MON * 2
> ) + Z_TAG.
> ELSE.
> Z_RPERBEG = I_AFAP-RPERBEG.
> ENDIF.
> * Z_RESDAU = I_AFAP-RAFEND - I_AFAP-RPERBEG + 1.
> Z_RESDAU = I_AFAP-RAFEND - Z_RPERBEG + 1.
> * Z_PERAFAGW = I_AFAP-RPEREND - I_AFAP-RPERBEG +
> 1.
> Z_PERAFAGW = I_AFAP-RPEREND - Z_RPERBEG + 1.
> E_AKTIV = 'X'.
>
> E_AFABTR = 0.
>
> IF I_AFAP-GESDAU GT 0.
> Z_PROZ = I_AFAP-PERFY * I_AFAP-DEGFAK /
> Z_RESDAU.
> IF I_AFAP-GESDAU < I_AFAP-PERFY.
> Z_PROZ = Z_PROZ * I_AFAP-GESDAU /
> I_AFAP-PERFY.
> ENDIF.
> Z_AFABTR = I_BEZWRT * Z_PROZ * Z_PERAFAGW /
>
> I_AFAP-PERFY.
> ENDIF.
> ENDIF.
> ENDIF.
> E_AFABTR = Z_AFABTR.
__.____._
Copyright © 2010 Toolbox.com and message author.

Toolbox.com 4343 N. Scottsdale Road Suite 280, Scottsdale, AZ 85251

0 comments:

Post a Comment

T r a n s l a t e to your language