‎2008 Mar 09 5:06 AM
i need a code example for user exit. EXIT_SAPLAFAR_002.
‎2008 Mar 10 1:01 AM
*data: con_afameth_za like t090-afamet value 'ZA',
con_afameth_zb like t090-afamet value 'ZB',
con_afameth_zc like t090-afamet value 'ZC',
con_afameth_zd like t090-afamet value 'ZD',
DATA: CON_AFAMETH_ZA(2) VALUE 'ZA',
CON_AFAMETH_ZB(2) VALUE 'ZB',
CON_AFAMETH_ZC(2) VALUE 'ZC',
CON_AFAMETH_ZD(2) VALUE 'ZD',
L_AFABTR TYPE F.
E_AKTIV = 'X'.
E_AFABTR = 0.
DATA: STRDATE(10) TYPE C ,
START_PERIOD TYPE I .
DATA: SUMDEPRE_PERIOD TYPE I ,
BALDEPRE_PERIOD TYPE I .
DATA: FYPLANDEPOD LIKE ANLC-NAFAP ,
TRUEPLANDEPOD LIKE ANLC-NAFAP ,
NETBOOKVALUE LIKE ANLC-KANSW ,
APCVALUE LIKE ANLC-KANSW ,
ACCMDEPR LIKE ANLC-KNAFA ,
DEPMONTH LIKE ANLC-PSTBEG .
TABLES: ANLC ,
ANLA ,
ANLB .
DATA: FIRSTYEAR(4) TYPE C ,
CURRENTYEAR(4) TYPE C .
DATA: ACQYEAR(4) TYPE C ,
ACQMONTH LIKE ANLA-ZUPER .
CURRENTYEAR = SY-DATUM+0(4) .
LOOP AT T_ANLC WHERE AFABE = I_AFABE .
**Deprecation amont is : apc * n / (n+1) / all period .
**At first phase of changeover .
CLEAR: STRDATE , START_PERIOD , CURRENTYEAR ,
FYPLANDEPOD , TRUEPLANDEPOD , NETBOOKVALUE .
CLEAR: ANLC , APCVALUE .
STRDATE = I_ANLB-AFABG .
START_PERIOD = STRDATE+4(2) .
FIRSTYEAR = STRDATE+0(4) .
CURRENTYEAR = SY-DATUM+0(4) .
SELECT SINGLE * FROM ANLC WHERE BUKRS = T_ANLC-BUKRS
AND ANLN1 = T_ANLC-ANLN1
AND ANLN2 = T_ANLC-ANLN2 .
IF SY-SUBRC = 0 .
APCVALUE = ANLC-KANSW + ANLC-ANSWL .
ACCMDEPR = ANLC-KNAFA + ANLC-NAFAG .
IF FIRSTYEAR = CURRENTYEAR .
DEPMONTH = ANLC-PSTEND - ANLC-PSTBEG .
ELSE .
DEPMONTH = ANLC-PSTEND - ANLC-PSTBEG + 1 .
ENDIF.
ENDIF .
IF APCVALUE GT 0 .
FYPLANDEPOD = ( APCVALUE - I_ANLB-SCHRW ) /
( I_ANLB-NDJAR * 12 + I_ANLB-NDPER ) * DEPMONTH .
E_AFABTR = FYPLANDEPOD .
ENDIF.
EXIT.
ENDLOOP.