Académique Documents
Professionnel Documents
Culture Documents
************************************************************************
* *
* Program Name: ZFI_EVALUATE_ASSET_LIFE *
* *
* Description: A Report to extract the Asset values for business *
* *
* Date/Author: 01/20/2016 *
* MXG03 / Mohammed Gouse *
* WR#29581 / D00K929191 *
* *
************************************************************************
************************************************************************
* M O D I F I C A T I O N L O G *
* *
* Date Programmer Transport WR#Description *
*----------------------------------------------------------------------*
* *
*----------------------------------------------------------------------*
************************************************************************
* T Y P E - P O O L S *
************************************************************************
TYPE-POOLS : slis.
************************************************************************
* T A B L E S *
************************************************************************
TABLES : anlb,anlc.
************************************************************************
* T Y P E S *
************************************************************************
BEGIN OF ty_anlc,
bukrs TYPE anlc-bukrs,
anln1 TYPE anlc-anln1,
anln2 TYPE anlc-anln2,
gjahr TYPE anlc-gjahr,
afabe TYPE anlc-afabe,
ndabj TYPE anlc-ndabj,
ndabp TYPE anlc-ndabp,
END OF ty_anlc,
BEGIN OF ty_final,
bukrs TYPE anlb-bukrs,
anln1 TYPE anlb-anln1,
anln2 TYPE anlb-anln2,
gjahr TYPE anlc-gjahr,
afabe TYPE anlb-afabe,
plnyrs TYPE anlb-ndjar,
plnmons TYPE anlb-ndper,
expyrs TYPE anlb-ndjar,
expmons TYPE anlb-ndper,
balyrs TYPE anlb-ndjar,
balmons TYPE anlb-ndper,
END OF ty_final.
************************************************************************
* I N T E R N A L - T A B L E S *
************************************************************************
************************************************************************
* V A R I A B L E S *
************************************************************************
************************************************************************
* S E L E C T I O N - S C R E E N *
************************************************************************
************************************************************************
* A T S E L E C T I O N - S C R E E N *
************************************************************************
AT SELECTION-SCREEN.
Perform auth_check.
************************************************************************
* S T A R T - O F - S E L E C T I O N *
************************************************************************
START-OF-SELECTION.
PERFORM get_data.
PERFORM process_data.
PERFORM display_data.
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM get_data .
SELECT bukrs
anln1
anln2
afabe
ndjar
ndper FROM anlb INTO TABLE i_anlb WHERE bukrs IN s_bukrs AND
anln1 IN s_anln1 AND
anln2 IN s_anln2 AND
afabe = p_afabe.
ENDIF.
w_final-bukrs = w_anlb-bukrs.
w_final-anln1 = w_anlb-anln1.
w_final-anln2 = w_anlb-anln2.
w_final-afabe = w_anlb-afabe.
w_final-plnyrs = w_anlb-ndjar.
w_final-plnmons = w_anlb-ndper.
CLEAR w_anlc.
READ TABLE i_anlc INTO w_anlc WITH KEY bukrs = w_final-bukrs
anln1 = w_final-anln1
anln2 = w_final-anln2
afabe = w_final-afabe
gjahr = p_gjahr BINARY SEARCH.
IF sy-subrc EQ 0.
w_final-gjahr = w_anlc-gjahr.
w_final-expyrs = w_anlc-ndabj.
w_final-expmons = w_anlc-ndabp.
ENDIF.
IF w_final-plnyrs GT w_final-expyrs.
IF w_final-plnmons IS INITIAL AND w_final-expmons IS INITIAL.
w_final-balyrs = w_final-plnyrs - w_final-expyrs.
ELSEIF w_final-plnmons IS NOT INITIAL AND w_final-expmons IS INITIAL..
w_final-balyrs = w_final-plnyrs - w_final-expyrs.
w_final-balmons = w_final-plnmons.
ELSE.
CLEAR: l_plnmons, l_expmons, l_balmons, l_balyrs.
l_plnmons = ( w_final-plnyrs * 12 ) + w_final-plnmons.
l_expmons = ( w_final-expyrs * 12 ) + w_final-expmons.
l_balmons = l_plnmons - l_expmons.
l_calcyrs = l_balmons / 12.
l_balyrs = FLOOR( l_calcyrs ).
l_balmons = l_balmons - ( l_balyrs * 12 ).
w_final-balyrs = l_balyrs.
w_final-balmons = l_balmons.
ENDIF.
ELSEIF w_final-plnyrs EQ w_final-expyrs AND w_final-plnmons GE w_final-expmons.
w_final-balmons = w_final-plnmons - w_final-expmons.
ENDIF.
APPEND w_final TO i_final.
CLEAR w_final.
ENDLOOP.
REFRESH : i_fieldcat.
CLEAR: w_layout.
w_layout-zebra = 'X'.
w_layout-colwidth_optimize = 'X'.
v_col_pos = v_col_pos + 1.
w_fieldcat-col_pos = v_col_pos.
w_fieldcat-fieldname = 'BUKRS'.
w_fieldcat-tabname = 'I_FINAL'.
w_fieldcat-seltext_m = 'Company Code'.
w_fieldcat-key = 'X'.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.
v_col_pos = v_col_pos + 1.
w_fieldcat-col_pos = v_col_pos.
w_fieldcat-fieldname = 'ANLN1'.
w_fieldcat-tabname = 'I_FINAL'.
w_fieldcat-seltext_m = 'Main Asset Number'.
w_fieldcat-key = 'X'.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.
v_col_pos = v_col_pos + 1.
w_fieldcat-col_pos = v_col_pos.
w_fieldcat-fieldname = 'ANLN2'.
w_fieldcat-tabname = 'I_FINAL'.
w_fieldcat-seltext_m = 'Asset Subnumber'.
w_fieldcat-key = 'X'.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.
v_col_pos = v_col_pos + 1.
w_fieldcat-col_pos = v_col_pos.
w_fieldcat-fieldname = 'AFABE'.
w_fieldcat-tabname = 'I_FINAL'.
w_fieldcat-seltext_m = 'Depreciation Area'.
w_fieldcat-key = 'X'.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.
v_col_pos = v_col_pos + 1.
w_fieldcat-col_pos = v_col_pos.
w_fieldcat-fieldname = 'GJAHR'.
w_fieldcat-tabname = 'I_FINAL'.
w_fieldcat-seltext_m = 'Fiscal Year'.
w_fieldcat-key = 'X'.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.
v_col_pos = v_col_pos + 1.
w_fieldcat-col_pos = v_col_pos.
w_fieldcat-fieldname = 'PLNYRS'.
w_fieldcat-tabname = 'I_FINAL'.
w_fieldcat-seltext_m = 'Useful life(Yr)'.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.
v_col_pos = v_col_pos + 1.
w_fieldcat-col_pos = v_col_pos.
w_fieldcat-fieldname = 'PLNMONS'.
w_fieldcat-tabname = 'I_FINAL'.
w_fieldcat-seltext_m = 'Useful life(Per)'.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.
v_col_pos = v_col_pos + 1.
w_fieldcat-col_pos = v_col_pos.
w_fieldcat-fieldname = 'EXPYRS'.
w_fieldcat-tabname = 'I_FINAL'.
w_fieldcat-seltext_m = 'Expired life(Yr)'.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.
v_col_pos = v_col_pos + 1.
w_fieldcat-col_pos = v_col_pos.
w_fieldcat-fieldname = 'EXPMONS'.
w_fieldcat-tabname = 'I_FINAL'.
w_fieldcat-seltext_m = 'Expired life(Per)'.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.
v_col_pos = v_col_pos + 1.
w_fieldcat-col_pos = v_col_pos.
w_fieldcat-fieldname = 'BALYRS'.
w_fieldcat-tabname = 'I_FINAL'.
w_fieldcat-seltext_m = 'Remaining life(Yr)'.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.
v_col_pos = v_col_pos + 1.
w_fieldcat-col_pos = v_col_pos.
w_fieldcat-fieldname = 'BALMONS'.
w_fieldcat-tabname = 'I_FINAL'.
w_fieldcat-seltext_m = 'Remaining life(Per)'.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.
SELECT bukrs FROM T001 INTO TABLE i_t001 WHERE bukrs in s_bukrs.