固定资产折旧报表

合集下载

固定资产-折旧测算表

固定资产-折旧测算表

固定资产折旧计算表(直线法)

被审计单位:XXX公司

编制人:张三日期:2015/1/1索引号:

EQ13

固定资产折旧计算表(直线法)

被审计单位:XXX公司

编制人:张三日期:2015/1/1索引号:EQ13

固定资产折旧计算表(直线法)

被审计单位:XXX公司

编制人:张三日期:2015/1/1索引号:EQ13

固定资产折旧计算表(直线法)

被审计单位:XXX公司

编制人:张三日期:2015/1/1索引号:EQ13

固定资产折旧计算表(直线法)

被审计单位:XXX公司

编制人:张三日期:2015/1/1索引号:EQ13

固定资产折旧计算表(直线法)

被审计单位:XXX公司

编制人:张三日期:2015/1/1索引号:EQ13

固定资产折旧计算表(直线法)

被审计单位:XXX公司

编制人:张三日期:2015/1/1索引号:EQ13

审计说明:

1、经测算,差异为计算尾数差。

固定资产折旧表模板

固定资产折旧表模板

本月 折旧 额
累计折旧 净值
固定 资产 编号
类别
ห้องสมุดไป่ตู้
固定资产 名称
规格型号
记账 月份
凭证 号
入帐日期
开始折旧、 摊销日期
固定资产
及无形资
折旧摊 累计 销年限 摊销 单价 (月) 月数
数量 入帐原值
2022年3月31日
残值 预计 率 残值
月折旧 额
本月 折旧 额
累计折旧 净值
0001
机器 设备
振动压路 机
XG6184M
2018/5/18 2018/6/18 120 46 496718.98 1
496718.98 0 0.00 4139.3 4139 190408.72 306310
固定 资产 编号
类别
固定资产 名称
规格型号
记账 月份
凭证 号
入帐日期
开始折旧、 摊销日期
固定资产
及无形资
折旧摊 累计 销年限 摊销 单价 (月) 月数
数量 入帐原值
2022年3月31日
残值 预计 率 残值
月折旧 额

(实用)固定资产折旧表(实用表格模板)

(实用)固定资产折旧表(实用表格模板)
单位 名称: 日期:
序号
01
02
03
04
类别
1类 2类 3类 4类
合计Hale Waihona Puke Baidu
固定资产折旧汇总表
原值
预计净残值 本月折旧 累计折旧
净值

固定资产折旧表

固定资产折旧表

0
0 0
Page 1
固定资产折旧表
期初wk.baidu.com计折旧
期初净值
期初减值准备
期初净额
原值增加
原值减少
折旧调增
0
0
0
0
0
0
0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
Page 2
固定资产折旧表
折旧调减
减值准备调增
减值准备调减
本期折旧额
本年折旧额
本年实际计提折旧额
0
0
0
0
0
0
0 0
0 0
0 0
0 0
0 0
0 0
固定资产折旧表
类别 非生产用设备 非生产用设备 非生产用设备 非生产用设备 非生产用设备
资产编码 资产名称
规格
使用寿命
已使用寿命
月折旧率(%)
期初原值
非生产用设备 小计 生产用设备 生产用设备 生产用设备 生产用设备 生产用设备 生产用设备 生产用设备 生产用设备 生产用设备 生产用设备 生产用设备 生产用设备 合计 小计
Page 3
固定资产折旧表
期末原值
期末累计折旧
期末净值
期末减值准备
期末净额
0
0
0
0

折旧明细表格模板

折旧明细表格模板

折旧明细表格模板

一、概述

折旧明细表格是一种用于记录固定资产折旧信息的工具,它可以帮助企业管理者更好地了解固定资产的使用情况和价值变化。在企业管理中,折旧明细表格是非常重要的一部分,因为它关系到企业的资产价值和利润状况。

二、模板内容

1. 折旧明细表格模板通常包括以下几列:固定资产名称、购置日期、预计使用年限、已使用年限、折旧方法、折旧金额等。这些信息可以帮助企业管理者全面了解固定资产的价值变化情况。

标题:折旧明细表格

固定资产名称购置日期预计使用年限已使用年限折旧方法折旧金额(元)

电脑XXXX-XX-XX X年X年直线法XXXX-XX-XX至XXXX-XX-XX期间折旧金额为XXX元

打印机XXXX-XX-XX X年X年XXX方法XXXX-XX-XX至XXXX-XX-XX期间折旧金额为XXX元

手机柜XXXX-XX-XX X年X年

办公桌椅

电脑桌XXXX-XX-XX X年X年

办公椅XXXX-XX-XX X年X年

合计

2. 在制作折旧明细表格时,需要注意以下几点:

a) 准确记录固定资产的名称、购置日期、预计使用年限等信息,确保信息的准确性。

b) 根据企业的实际情况选择合适的折旧方法,并记录在表格中。不同的折旧方法会对折旧金额产生不同的影响。

c) 按照时间顺序记录固定资产的使用情况和折旧金额,确保信息的连续性和完整性。

d) 定期更新折旧明细表格,以便及时了解固定资产的价值变化情况。

三、应用场景

折旧明细表格在企业中的应用非常广泛,它可以帮助企业管理者更好地了解企业的资产状况和价值变化,为企业的决策提供数据支持。以下是一些常见的应用场景:

固定资产折旧计算表

固定资产折旧计算表
固定资产类别
固定资产折旧计算表
年月 日 固定资产项目 月初计提固定资产原பைடு நூலகம் 月折旧率 本月应计提折旧额
房屋建筑物
0.3%
生产用固定资产 机器设备
0.4%
小计
管理用房屋
0.3%
非生产用固定资 办公设备
2%

合计
小计

固定资产折旧费表格

固定资产折旧费表格

固定资产折旧费表格

1. 资产信息,包括资产名称、购入日期、购入成本、残值和预计使用年限等信息。

2. 折旧方法,表格中会列出每项固定资产采用的折旧方法,比如直线法、加速折旧法等。

3. 每期折旧费用,按照所选的折旧方法,列出每个会计期间(通常是月或年)的折旧费用金额。

4. 累计折旧,记录每个会计期间累计的折旧费用,用于计算资产净值。

5. 资产净值,根据购入成本减去累计折旧,计算出每个会计期间资产的净值。

这个表格的目的是帮助公司管理固定资产的折旧情况,确保财务记录准确无误。通过及时记录和追踪折旧费用,公司可以合理安排资产更新和更换,以及准确计提折旧费用,从而影响公司的财务

报表和税务申报。同时,这也是财务部门进行资产管理和成本控制的重要工具之一。

固定资产折旧表(实用表格模板)

固定资产折旧表(实用表格模板)
单位 名称: 日期:
序号
01Leabharlann Baidu
02
03
04
类别
1类 2类 3类 4类
合计
固定资产折旧汇总表
原值
预计净残值 本月折旧 累计折旧
净值
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

REPORT ZFIR028.
TYPE-POOLS: SLIS.
TABLES: ANLA,ANLC,ANLP,ANLZ,T087T,ANLB.

DATA: GTD_TITLE TYPE SLIS_T_LISTHEADER,
GTH_TITLE TYPE SLIS_LISTHEADER.
DATA: GTD_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
GTH_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
DATA: GTH_LAYOUT TYPE SLIS_LAYOUT_ALV.

************************************************************************
* Define TYPES
************************************************************************
*结果内表
TYPES: BEGIN OF TYP_AS,
BUKRS LIKE ANLA-BUKRS,
ANLN1 LIKE ANLA-ANLN1,
ANLKL LIKE ANLA-ANLKL ,"资产分类
AKTIV LIKE ANLA-AKTIV, "资产资本化日期
ORD41 LIKE ANLA-ORD41 , "评估组1
ORDTX LIKE T087T-ORDTX,

INVZU LIKE ANLA-INVZU, "库存地点
INVNR LIKE ANLA-INVNR, "旧物料号
TXT50 LIKE ANLA-TXT50, "资产描述
SERNR LIKE ANLA-SERNR, " 规格号
DEAKT LIKE ANLA-DEAKT,"

ZUJHR LIKE ANLA-ZUJHR, "购置年度
ZUPER LIKE ANLA-ZUPER, "购置月份

KOSTL LIKE ANLZ-KOSTL ," 成本中心

KANSW LIKE ANLC-KANSW , "往年购置价
ANSWL LIKE ANLC-ANSWL , "本年购置价
GZJG LIKE ANLC-KANSW , "购置价格




KNAFA LIKE ANLC-KNAFA , " 至上年底累计折旧

GJAHR LIKE ANLP-GJAHR , "年度
PERAF LIKE ANLP-PERAF , "折旧计算期
NAFAG LIKE ANLP-NAFAG ,"本年累计折旧
NAFAZ LIKE ANLP-NAFAZ ,"本月计提

NAFAV LIKE ANEA-NAFAV, "折旧调整 add by yexin 2011 5 .3
LJZJ LIKE ANLP-NAFAG ,"总累计折旧

NDJAR LIKE ANLB-NDJAR, "计划使用年年
NDPER LIKE ANLB-NDPER," 计划使用期间
CZJZ LIKE ANLC-KANSW, "残值价值
CZL LIKE ANLC-KANSW, "残值率
JZ LIKE ANLC-KANSW, "净值
KTZJ LIKE ANLC-KANSW, "可提折旧
COLOR(4) TYPE C,
ZBZT(20) TYPE C, "资本状态
END OF TYP_AS.

************************************************************************
* Define GLOBAL DATA
************************************************************************

DATA: GTD_AS TYPE TABLE OF TYP_AS WITH DEFAULT KEY WITH HEADER LINE.

DATA: GTD_AS01 TYPE TABLE OF TYP_AS WITH DEFAULT KEY WITH HEADER LINE.

DATA: GTD_AS02 TYPE TABLE OF TYP_AS WITH DEFAULT KEY WITH HEADER LINE.

DATA: GTD_AS03 TYPE TABLE OF TYP_AS WITH DEFAULT KEY WITH HEADER LINE.

*DATA: BEGIN OF GTD_AS04 OCCURS 0.
* INCLUDE STRUCTURE ANLP.
*DATA: END OF GTD_AS04.

*DATA: GTD_AS04 TYPE TABLE OF TYP_AS WITH DEFAULT KEY WITH HEADER LINE. " add new 2011 5.5

DATA: BEGIN OF GTD_TEMP1 OCCURS 0,
GJAHR LIKE ANLC-GJAHR,
AFABE LIKE ANLC-AFABE,
KANSW LIKE ANLC-KANSW , "往年购置价
ANSWL LIKE ANLC-ANSWL , "本年购置价
KNAFA LIKE ANLC-KNAFA , " 至上年底累计折旧
END OF GTD_TEMP1.


DATA :BEGIN OF GTD_TEMP OCCURS 0,
NAFAG LIKE ANLP-NAFAG ,
NAFAZ LIKE ANLP-NAFAZ ,
GJAHR LIKE ANLP-GJAHR ,
PERAF LIKE ANLP-PERAF,
END OF

GTD_TEMP.


DATA: P_GJAHR1 LIKE ANLP-GJAHR , "年度
P_PERAF1 LIKE ANLP-PERAF . "折旧计算期

*DATA: GDF_SPMON LIKE S031-SPMON.
DATA: GDF_DATA1 LIKE SY-DATUM.
DATA: GDF_DATA2 LIKE SY-DATUM.
************************************************************************
* Define SCREEN
************************************************************************
*----------------------------------------------------------------------

* SELECTION-SCREEN
*----------------------------------------------------------------------
SELECTION-SCREEN BEGIN OF BLOCK C1 WITH FRAME TITLE TEXT-002.
SELECTION-SCREEN SKIP 1.

PARAMETERS: P_BUKRS LIKE ANLA-BUKRS OBLIGATORY,
P_GJAHR LIKE ANLP-GJAHR OBLIGATORY , "年度
P_PERAF LIKE ANLP-PERAF OBLIGATORY . "折旧计算期
SELECT-OPTIONS:
S_ANLN1 FOR ANLA-ANLN1,
S_INVNR FOR ANLA-INVNR, "旧物料号
S_KOSTL FOR ANLZ-KOSTL , " 成本中心
S_ANLKL FOR ANLA-ANLKL ."资产分类

SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN END OF BLOCK C1.

START-OF-SELECTION.

CONCATENATE P_GJAHR P_PERAF+1(2) '01' INTO GDF_DATA1.

CALL FUNCTION 'LAST_DAY_OF_MONTHS'
EXPORTING
DAY_IN = GDF_DATA1
IMPORTING
LAST_DAY_OF_MONTH = GDF_DATA2.

PERFORM SUB_GET_DATA.
PERFORM SUB_ALV_DISPLAY.
PERFORM SUB_CLEAR.

END-OF-SELECTION.
************************************************************************
* Form sub_get_data
************************************************************************
* 屏幕选择的条件,读取汇总数据
************************************************************************
FORM SUB_GET_DATA.

* SELECT
* ANLA~BUKRS
* ANLA~ANLN1
* ANLA~ANLKL "资产分类
* ANLA~AKTIV "资产资本化日期
* ANLA~ORD41 "评估组1
* ANLA~INVZU "库存地点
* ANLA~INVNR "旧物料号
* ANLA~TXT50 "资产描述
* ANLA~SERNR " 规格号
*
* ANLZ~KOSTL " 成本中心
*
* ANLC~KANSW "往年购置价
* ANLC~ANSWL "本年购置价
* ANLC~KNAFA " 至上年底累计折旧
*
* ANLP~GJAHR "年度
* ANLP~PERAF "折旧计算期
* ANLP~NAFAG "本年累计折旧
* ANLP~NAFAZ "本月计提
* INTO CORRESPONDING FIELDS OF TABLE GTD_AS
* FROM ANLA
* JOIN ANLC ON ANLA~BUKRS = ANLC~BUKRS AND ANLA~ANLN1 = ANLC~ANLN1
* JOIN ANLP ON ANLA~BUKRS = ANLP~BUKRS AND ANLA~ANLN1 = ANLP~ANLN1
* INNER JOIN ANLZ ON ANLA~BUKRS = ANLZ~BUKRS AND ANLA~ANLN1 = ANLZ~ANLN1
* WHERE ANLP~GJAHR = P_GJAHR
* AND ANLA~BUKRS = P_BUKRS
* AND ANLP~PERAF IN S_PERAF
* AND ANLZ~KOSTL IN S_KOSTL
* AND ANLA~ANLN1 IN S_ANLN1
* AND ANLA~ANLKL IN S_ANLKL
* AND ANLA~INVNR IN S_INVNR.

DATA :L_NAFAG LIKE ANLP-NAFAG,
L_NAFAZ LIKE ANLP-NAFAZ,
L_ADD LIKE ANLP-NAFAG,
L_GJAHR LIKE ANLP-GJAHR,

L_PERAF LIKE ANLP-PERAF.

" 如果没有折旧过, alnp 表式没有东西的,必须本月有折旧,才有值

SELECT
ANLA~BUKRS
ANLA~ANLN1
ANLA~ANLKL "资产分类
ANLA~AKTIV "资产资本化日期
ANLA~ORD41 "评估组1
ANLA~INVZU "库存地点
ANLA~INVNR "旧物料号
ANLA~TXT50 "资产描述
ANLA~SERNR " 规格号
ANLA~DEAKT " 报废日期

ANLA~ZUJHR
ANLA~ZUPER
ANLB~NDJAR
ANLB~NDPER

ANLP~GJAHR "年度
ANLP~PERAF "折旧计算期
ANLP~NAFAG "本年累计折旧
ANLP~NAFAZ "本月计提
ANLP~KOSTL "成本中心
INTO CORRESPONDING FIELDS OF TABLE GTD_AS
FROM ANLA
INNER JOIN ANLB ON ANLA~BUKRS = ANLB~BUKRS AND ANLA~ANLN1 = ANLB~ANLN1
* JOIN ANLC ON ANLA~BUKRS = ANLC~BUKRS AND ANLA~ANLN1 = ANLC~ANLN1
JOIN ANLP ON ANLA~BUKRS = ANLP~BUKRS AND ANLA~ANLN1 = ANLP~ANLN1
* INNER JOIN ANLZ ON ANLA~BUKRS = ANLZ~BUKRS AND ANLA~ANLN1 = ANLZ~ANLN1
WHERE ANLA~BUKRS = P_BUKRS
AND ANLP~GJAHR = P_GJAHR
AND ANLP~PERAF = P_PERAF
AND ANLP~KOSTL IN S_KOSTL
AND ANLA~ANLN1 IN S_ANLN1
AND ANLA~ANLKL IN S_ANLKL
AND ANLA~INVNR IN S_INVNR.


SELECT "取得下月开始折旧的资产号
ANLA~BUKRS
ANLA~ANLN1
ANLA~ANLKL "资产分类
ANLA~AKTIV "资产资本化日期
ANLA~ORD41 "评估组1
ANLA~INVZU "库存地点
ANLA~INVNR "旧物料号
ANLA~TXT50 "资产描述
ANLA~SERNR " 规格号
ANLA~DEAKT " 报废日期
ANLB~NDJAR
ANLB~NDPER
ANLC~KANSW "往年购置价
ANLC~ANSWL "本年购置价
ANLC~KNAFA
* ANLA~ZUJHR AS GJAHR
* ANLA~ZUPER AS PERAF
APPENDING CORRESPONDING FIELDS OF TABLE GTD_AS
FROM ANLA
INNER JOIN ANLB ON ANLA~BUKRS = ANLB~BUKRS AND ANLA~ANLN1 = ANLB~ANLN1
LEFT JOIN ANLC ON ANLA~BUKRS = ANLC~BUKRS AND ANLA~ANLN1 = ANLC~ANLN1
WHERE ANLA~BUKRS = P_BUKRS
AND ANLA~ANLN1 IN S_ANLN1
AND ANLA~ANLKL IN S_ANLKL
AND ANLA~INVNR IN S_INVNR
AND ANLA~AKTIV >= GDF_DATA1 "购置日期大于折旧期间的起始日期 无形资产除外,无形资产当月开始折旧
AND ANLA~ANLKL BETWEEN 'Z100' AND 'Z700'.



SELECT "未开始折旧的资产
ANLA~BUKRS
ANLA~ANLN1
ANLA~ANLKL "资产分类
ANLA~AKTIV "资产资本化日期
ANLA~ORD41 "评估组1
ANLA~INVZU "库存地点
ANLA~INVNR "旧物料号
ANLA~TXT50 "资产描述
ANLA~SERNR " 规格号
ANLA~DEAKT " 报废日期
ANLB~NDJAR
ANLB~NDPER
APPENDING CORRESPONDING FIELDS OF TABLE GTD_AS
FROM ANLA
INNER JOIN ANLB ON ANLA~BUKRS = ANLB~BUKRS AND ANLA~ANLN1 = ANLB~ANLN1
WHERE ANLA~BUKRS = P_BUKRS
AND ANLA~AKTIV = '000

00000'
AND ANLA~ANLN1 IN S_ANLN1
AND ANLA~ANLKL IN S_ANLKL
AND ANLA~INVNR IN S_INVNR
AND ANLA~ANLKL BETWEEN 'Z100' AND 'Z800'.

SORT GTD_AS BY ANLN1 .



"折旧折完的
SELECT "先找出所有的资产
ANLA~BUKRS
ANLA~ANLN1
ANLA~ANLKL "资产分类
ANLA~AKTIV "资产资本化日期
ANLA~ORD41 "评估组1
ANLA~INVZU "库存地点
ANLA~INVNR "旧物料号
ANLA~TXT50 "资产描述
ANLA~SERNR " 规格号
ANLA~DEAKT " 报废日期
ANLB~NDJAR
ANLB~NDPER
APPENDING CORRESPONDING FIELDS OF TABLE GTD_AS01
FROM ANLA
INNER JOIN ANLB ON ANLA~BUKRS = ANLB~BUKRS AND ANLA~ANLN1 = ANLB~ANLN1
WHERE ANLA~BUKRS = P_BUKRS
AND ANLA~ANLN1 IN S_ANLN1
AND ANLA~ANLKL IN S_ANLKL
AND ANLA~INVNR IN S_INVNR
AND ANLA~ANLKL BETWEEN 'Z100' AND 'Z800'.


LOOP AT GTD_AS01 . "折旧完资产
READ TABLE GTD_AS WITH KEY BUKRS = GTD_AS01-BUKRS ANLN1 = GTD_AS01-ANLN1 .
IF SY-SUBRC <> 0 .

* P_GJAHR1 = GTD_AS01-AKTIV+0(4).
* P_PERAF1 = GTD_AS01-AKTIV+4(2).
*
* IF P_PERAF1 = '12' .
* P_GJAHR1 = P_GJAHR1 + 1.
* P_PERAF1 = '01'.
* ELSE.
* P_PERAF1 = P_PERAF1 + 1 .
* ENDIF.
*
* " 这段的判断 主要是判断 资产价值日 和 折旧开始日不是隔了一个月的资产的类型判断
*
* SELECT *
* INTO CORRESPONDING FIELDS OF TABLE GTD_AS03
* FROM ANLP
* WHERE ANLP~ANLN1 = GTD_AS01-ANLN1
* AND ANLP~BUKRS = GTD_AS01-BUKRS
* AND ANLP~GJAHR >= P_GJAHR1
* AND ANLP~PERAF >= P_PERAF1 . "找下大于资产日下月 的日期是否还存在折旧,如果有存在,则说明是正常折旧的资产,

MOVE-CORRESPONDING GTD_AS01 TO GTD_AS.
GTD_AS-ZBZT = '折旧完毕资产'.

APPEND GTD_AS .
ENDIF.

CLEAR: GTD_AS01,GTD_AS02 .
CLEAR GTD_AS.
ENDLOOP.


DELETE GTD_AS WHERE ANLKL = 'Z900'.

DELETE ADJACENT DUPLICATES FROM GTD_AS COMPARING ANLN1.

* SELECT
* ANLA~BUKRS
* ANLA~ANLN1
* ANLA~ANLKL "资产分类
* ANLA~AKTIV "资产资本化日期
* ANLA~ORD41 "评估组1
* ANLA~INVZU "库存地点
* ANLA~INVNR "旧物料号
* ANLA~TXT50 "资产描述
* ANLA~SERNR " 规格号
* ANLA~DEAKT " 报废日期
*
* ANLC~GJAHR AS ZUJHR
* INTO CORRESPONDING FIELDS OF TABLE GTD_AS01
* FROM ANLA
* LEFT JOIN ANLC ON ANLA~BUKRS = ANLC~BUKRS AND ANLA~ANLN1 = ANLC~ANLN1
*WHERE ANLA~BUKRS = P_BUKRS
* AND ANLA~ANLN1 IN S_ANLN1
* AND ANLA~ANLKL IN S_ANLKL
* AND ANLA~INVNR IN S_INVNR
* AND ANLA~ANLKL <> 'Z900'.
*
*
* DELETE GTD_AS01 WHERE ZUJHR <> ''. "都是一些未过账的资产
*
* LOOP AT GTD_AS01.
* GTD_AS01-ZBZT = '未过账资产' .
* APPEND GTD_AS01 TO GTD_AS .
* CLEAR GTD_AS01.
* EN

DLOOP.
*

* REFRESH GTD_AS01.

* SELECT
* ANLA~BUKRS
* ANLA~ANLN1
* ANLA~ANLKL "资产分类
* ANLA~AKTIV "资产资本化日期
* ANLA~ORD41 "评估组1
* ANLA~INVZU "库存地点
* ANLA~INVNR "旧物料号
* ANLA~TXT50 "资产描述
* ANLA~SERNR " 规格号
* ANLA~DEAKT " 报废日期
* INTO CORRESPONDING FIELDS OF TABLE GTD_AS01
* FROM ANLA
* WHERE ANLA~BUKRS = P_BUKRS
* AND ANLA~ANLN1 IN S_ANLN1
* AND ANLA~ANLKL IN S_ANLKL
* AND ANLA~INVNR IN S_INVNR
* AND ANLA~ANLKL <> 'Z900'.
*
* LOOP AT GTD_AS.
* READ TABLE GTD_AS01 WITH KEY ANLN1 = GTD_AS-ANLN1.
* IF SY-SUBRC <> 0 .
* APPEND GTD_AS01 TO GTD_AS.
* ENDIF.
* ENDLOOP.

LOOP AT GTD_AS.
CLEAR :GTD_AS-KANSW,GTD_AS-ANSWL,GTD_AS-KNAFA ,L_NAFAG, L_NAFAZ.
IF GTD_AS-ZBZT = '折旧完毕资产'.
SELECT
ANLC~KANSW "往年购置价
ANLC~ANSWL "本年购置价
ANLC~KNAFA " 至上年底累计折旧
ANLC~GJAHR " 年度
* INTO (GTD_AS-KANSW,GTD_AS-ANSWL,GTD_AS-KNAFA,GTD_AS-GJAHR)
INTO CORRESPONDING FIELDS OF TABLE GTD_TEMP1
UP TO 1 ROWS
FROM ANLC
WHERE ANLC~BUKRS = GTD_AS-BUKRS
AND ANLC~ANLN1 = GTD_AS-ANLN1
AND ANLC~GJAHR <= P_GJAHR
ORDER BY ANLC~GJAHR DESCENDING .

READ TABLE GTD_TEMP1 INDEX 1.

IF SY-SUBRC = 0.
GTD_AS-KANSW = GTD_TEMP1-KANSW .
GTD_AS-ANSWL = GTD_TEMP1-ANSWL .
GTD_AS-KNAFA = GTD_TEMP1-KNAFA .
ENDIF.


* AND ANLC~GJAHR = GTD_AS-GJAHR.
* AND ANLC~AFBLPE = GTD_AS-PERAF.

SELECT ANLP~NAFAG ANLP~NAFAZ ANLP~GJAHR ANLP~PERAF
* INTO (L_NAFAG, L_NAFAZ ,L_GJAHR,L_PERAF)
INTO CORRESPONDING FIELDS OF TABLE GTD_TEMP
FROM ANLP
WHERE ANLP~ANLN1 = GTD_AS-ANLN1
AND ANLP~BUKRS = GTD_AS-BUKRS
AND ANLP~GJAHR <= P_GJAHR
ORDER BY ANLP~GJAHR DESCENDING
ANLP~PERAF DESCENDING.

IF SY-SUBRC <> 0.

SELECT SINGLE ANLC~NAFAP
INTO GTD_AS-NAFAG
FROM ANLC
WHERE ANLC~ANLN1 = GTD_AS-ANLN1
AND ANLC~BUKRS = GTD_AS-BUKRS
AND ANLC~GJAHR = P_GJAHR.

ELSE.

READ TABLE GTD_TEMP INDEX 1.

IF GTD_TEMP-GJAHR = P_GJAHR . "如果是查询年度的值是一样的话,则需要增加
GTD_AS-NAFAG = GTD_TEMP-NAFAG + GTD_TEMP-NAFAZ.
ELSEIF GTD_TEMP-GJAHR < P_GJAHR . " 如果是以前年度的,则不增加
GTD_AS-NAFAG = 0.
ENDIF.

ENDIF.



ELSE.

IF GTD_AS-GJAHR <> '' AND GTD_AS-PERAF <> '' .

SELECT SINGLE
ANLC~KANSW "往年购置价
ANLC~ANSWL "本年购置价
ANLC~KNAFA " 至上年底累计折旧
INTO (GTD_AS-KANSW,GTD_AS-ANSWL,GTD_AS-KNAFA)
F

ROM ANLC
WHERE ANLC~BUKRS = GTD_AS-BUKRS
AND ANLC~ANLN1 = GTD_AS-ANLN1
AND ANLC~GJAHR = GTD_AS-GJAHR.
* ORDER BY GJAHR DESCENDING AFABE DESCENDING..
* AND ANLC~GJAHR = GTD_AS-GJAHR
* AND ANLC~AFBLPE = GTD_AS-PERAF.


GTD_AS-ZBZT = '一般折旧资产'.
" 如果是报废的那么购置值为0
IF SY-SUBRC <> 0.
GTD_AS-KANSW = 0.
GTD_AS-ANSWL = 0.
GTD_AS-KNAFA = 0.
ENDIF.

* 如果anlp 当月折旧有两笔的情况..需要把折旧相加..
SELECT SINGLE SUM( NAFAZ )
INTO GTD_AS-NAFAZ
* INTO CORRESPONDING FIELDS OF TABLE GTD_AS04
FROM ANLP
WHERE ANLP~BUKRS = GTD_AS-BUKRS
AND ANLP~ANLN1 = GTD_AS-ANLN1
AND ANLP~GJAHR = GTD_AS-GJAHR
AND ANLP~PERAF = GTD_AS-PERAF.

ELSE.

IF GTD_AS-AKTIV = '00000000'.
GTD_AS-ZBZT = '未过账资产' .
ELSE.
GTD_AS-ZBZT = '未开始折旧资产'.

SELECT SUM( ANEP~ANBTR )
INTO GTD_AS-KANSW
FROM ANEP
WHERE ANEP~BUKRS = GTD_AS-BUKRS
AND ANEP~ANLN1 = GTD_AS-ANLN1.


ENDIF.



ENDIF.
ENDIF.

* 折旧调整
SELECT SINGLE SUM( NAFAV )
INTO GTD_AS-NAFAV
FROM ANEA
WHERE ANLN1 = GTD_AS-ANLN1
AND BUKRS = GTD_AS-BUKRS
AND GJAHR = P_GJAHR
AND NAFAV <> 0.

IF SY-SUBRC <> 0.
GTD_AS-NAFAV = 0.

ENDIF.



* IF P_GJAHR <= 2011 AND P_PERAF < 04.
* GTD_AS-NAFAV = 0.
* ENDIF.


GTD_AS-GZJG = GTD_AS-KANSW + GTD_AS-ANSWL.

" 总累计折旧 = 至上年底累计折旧 + 本年累计折旧 + 本月计提 + 折旧调整
GTD_AS-LJZJ = GTD_AS-KNAFA + GTD_AS-NAFAG + GTD_AS-NAFAZ + GTD_AS-NAFAV. "总累计折旧


IF GTD_AS-ANLKL <> 'Z800'. "如果是无形资产,没有残值率
"计算正常折旧 全部根据5%的残值进行计算
GTD_AS-CZJZ = GTD_AS-GZJG * 95 / 100.
* 计算残值率 CZL
GTD_AS-CZL = GTD_AS-GZJG * 5 / 100.
ELSE.
GTD_AS-CZJZ = GTD_AS-GZJG.
GTD_AS-CZL = 0.
ENDIF.

"净值 = 残值 -总累计折旧
* GTD_AS-JZ = GTD_AS-CZJZ + GTD_AS-LJZJ .
*增加一列:净值=原值-总累计折旧
GTD_AS-JZ = GTD_AS-GZJG + GTD_AS-LJZJ .

* 可提折旧=净值-残值率 (表中净值应改为可提折旧)
GTD_AS-KTZJ = GTD_AS-JZ - GTD_AS-CZL.

" 如果绝对值小于1..
* IF ABS( GTD_AS-KTZJ ) < 1 .
* GTD_AS-KTZJ = 0.
* ENDIF.


SELECT SINGLE ORDTX
INTO GTD_AS-ORDTX
FROM T087T
WHERE SPRAS = '1'
AND ORD4X = GTD_AS-ORD41.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = GTD_AS-ANLN1
IMPORTING
OUTPUT = GTD_AS-ANLN1.

* IF GTD_AS-ZBZT = ''.
* IF GTD_A

S-GZJG = 0 and GTD_AS-DEAKT <> '00000000' .
IF GTD_AS-DEAKT <> '00000000' .
IF GTD_AS-DEAKT > GDF_DATA2.

ELSE.
GTD_AS-COLOR = 'C600'.
GTD_AS-ZBZT = '报废资产'.
GTD_AS-LJZJ = 0.
* GTD_AS-KNAFA = 0.
* GTD_AS-NAFAG = 0.
* GTD_AS-NAFAZ = 0.
GTD_AS-JZ = 0.
GTD_AS-KTZJ = 0.
GTD_AS-GZJG = 0.
* GTD_AS-GZJG = GTD_AS-KANSW . “报废的资产价值不要
ENDIF.
ENDIF.

IF GTD_AS-ZBZT = '折旧完毕资产'.
IF GTD_AS-KTZJ <> 0 .
GTD_AS-ZBZT = '未开始折旧资产'.
GTD_AS-NAFAG = 0 .
GTD_AS-LJZJ = 0 .
GTD_AS-JZ = GTD_AS-GZJG.
GTD_AS-KTZJ = GTD_AS-GZJG - GTD_AS-CZL.
ENDIF.
ENDIF.
* ENDIF.

* IF GTD_AS-ZBZT = ''.
* GTD_AS-ZBZT = '折旧完毕资产'.
* ENDIF.

MODIFY GTD_AS.
CLEAR : GTD_AS ,GTD_TEMP,GTD_TEMP1.

ENDLOOP.


ENDFORM. "sub_get_data

*&---------------------------------------------------------------------*
*& Form sub_alv_display
*&---------------------------------------------------------------------*
* ALV汇总列表
*----------------------------------------------------------------------*
FORM SUB_ALV_DISPLAY.

* PERFORM ADD_FIELDS.
PERFORM SUB_FIELD.
PERFORM SUB_SET_LAYOUT.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-CPROG
I_CALLBACK_TOP_OF_PAGE = 'ALV_TOP_OF_PAGE'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IT_FIELDCAT = GTD_FIELDCAT
IS_LAYOUT = GTH_LAYOUT
TABLES
T_OUTTAB = GTD_AS
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.

IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

ENDFORM. "sub_alv_display

*&---------------------------------------------------------------------*
*& Form USER_COMMAND
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->I_UCOMM text
* -->I_SELFIELD text
*----------------------------------------------------------------------*
FORM USER_COMMAND USING I_UCOMM LIKE SY-UCOMM
I_SELFIELD TYPE SLIS_SELFIELD.

DATA: LWK_GRID TYPE REF TO CL_GUI_ALV_GRID.

CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
E_GRID = LWK_GRID.

CALL METHOD LWK_GRID->CHECK_CHANGED_DATA.
I_SELFIELD-REFRESH = 'X'. " Cursor automatically return to the first line
I_SELFIELD-COL_STABLE = 'X'. " Fix screen col after refresh
I_SELFIELD-ROW_STABLE = 'X'. " Fix screen row after refresh

CASE I_UCOMM.
WHEN '&IC1'.
READ TABLE GTD_AS INTO GTD_AS INDEX I_SELFIELD-TABINDEX.


IF I_SELFIELD-FIELDNAME = 'ANLN1'.
SET PARAMETER ID 'AN1' FIELD GTD_AS-ANLN1.
SET PARAMETER ID 'BUK' FIELD GTD_AS-BUKRS.
CALL TRANSACTION 'AS03' AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.


ENDFORM. "USER_COMMAND

*&---------------------------------------------------------------------*
*& Form sub_field
*&---------------------------------------------------------------------*
* 调用set_field_cat,设置ALV字段的属性,减少代码量
*----------------------------------------------------------------------*

FORM SUB_FIELD.

PERFORM SUB_SET_FIELD USING 0 'ZBZT' 'GTD_AS' '' '10'
'资产状态' '' 'C310'.
PERFORM SUB_SET_FIELD USING 1 'BUKRS' 'GTD_AS' '' '10'
'公司代码' '' ''.
PERFORM SUB_SET_FIELD USING 2 'GJAHR' 'GTD_AS' 'X' '10'
'年度' '' ''.
PERFORM SUB_SET_FIELD USING 3 'PERAF' 'GTD_AS' 'X' '10'
'折旧期间' '' ''.
PERFORM SUB_SET_FIELD USING 4 'ANLN1' 'GTD_AS' '' '10'
'资产号' '' 'C410'.
PERFORM SUB_SET_FIELD USING 5 'INVNR' 'GTD_AS' '' '30'
'旧资产号' '' ''.
PERFORM SUB_SET_FIELD USING 6 'ANLKL' 'GTD_AS' '' '10'
'资产类别' '' 'C700'.
PERFORM SUB_SET_FIELD USING 7 'ORD41' 'GTD_AS' '' '30'
'资产分类' '' 'C700'.
PERFORM SUB_SET_FIELD USING 8 'ORDTX' 'GTD_AS' '' '30'
'类别描述' '' 'C700'.
PERFORM SUB_SET_FIELD USING 9 'TXT50' 'GTD_AS' '' '30'
'资产描述' '' 'C700'.
PERFORM SUB_SET_FIELD USING 10 'SERNR' 'GTD_AS' '' '30'
'规格号' '' 'C700'.
PERFORM SUB_SET_FIELD USING 11 'INVZU' 'GTD_AS' '' '10'
'放置地点' '' 'C700'.
PERFORM SUB_SET_FIELD USING 12 'KOSTL' 'GTD_AS' '' '30'
'成本中心' '' 'C700'.

PERFORM SUB_SET_FIELD USING 13 'NDJAR' 'GTD_AS' '' '30'
'折旧年限' '' 'C700'.
PERFORM SUB_SET_FIELD USING 13 'NDPER' 'GTD_AS' '' '30'
'折旧期间' '' 'C700'.

PERFORM SUB_SET_FIELD USING 13 'AKTIV' 'GTD_AS' '' '30'
'资产资本化日期' '' 'C500'.
PERFORM SUB_SET_FIELD USING 14 'DEAKT' 'GTD_AS' '' '30'
'资产报废日期' '' 'C500'.
PERFORM SUB_SET_FIELD USING 15 'GZJG' 'GTD_AS' '' '30'
'购置价格(原值)' '' 'C510'.
PERFORM SUB_SET_FIELD USING 15 'CZJZ' 'GTD_AS' '' '30'
'正常折旧' '' 'C510'.
PERFORM SUB_SET_FIELD USING 16 'KNAFA' 'GTD_AS' '' '10'
'至上

年底累计折旧' '' 'C400'.
PERFORM SUB_SET_FIELD USING 17 'NAFAG' 'GTD_AS' '' '30'
'本年累计折旧' '' 'C400'.
PERFORM SUB_SET_FIELD USING 18 'NAFAZ' 'GTD_AS' '' '30'
'本月计提' '' 'C400'.
PERFORM SUB_SET_FIELD USING 18 'NAFAV' 'GTD_AS' '' '30'
'调整折旧' '' 'C400'.
PERFORM SUB_SET_FIELD USING 19 'LJZJ' 'GTD_AS' '' '30'
'总累计折旧' '' 'C410'.
PERFORM SUB_SET_FIELD USING 20 'JZ' 'GTD_AS' '' '30'
'净值' '' 'C410'.
PERFORM SUB_SET_FIELD USING 21 'CZL' 'GTD_AS' '' '30'
'残值率' '' 'C410'.
PERFORM SUB_SET_FIELD USING 22 'KTZJ' 'GTD_AS' '' '30'
'可提折旧' '' 'C410'.

*

*
* PERFORM SUB_SET_FIELD USING 18 'WQSS' 'GTD_AS' '' '30'
* '未清数量' '' 'C310'.

ENDFORM. "sub_field

************************************************************************
*& Form sub_set_field
************************************************************************
* 设置ALV字段的属性
************************************************************************
* -->i_pos "显示列的位置
* -->i_fieldname "内表的字段名
* -->i_tabname "内表名
* -->i_check "显示复选框
* -->i_edit "是否为可输入
* -->i_key "设置主键
* -->i_hotspot "单击控制
* -->i_outputlen "控制输出列的宽度
* -->i_seltext "设置列的名称
* -->i_edit "可编辑
************************************************************************
FORM SUB_SET_FIELD USING I_POS TYPE ANY
I_FIELDNAME TYPE ANY
I_TABNAME TYPE ANY
I_KEY TYPE ANY
I_OUTPUTLEN TYPE ANY
I_SELTEXT TYPE ANY
I_EDIT TYPE ANY
I_EMPHASIZE TYPE ANY
.
GTH_FIELDCAT-COL_POS = I_POS. "显示列的位置
GTH_FIELDCAT-FIELDNAME = I_FIELDNAME. "内表的字段名
GTH_FIELDCAT-TABNAME = I_TABNAME. "内表名
GTH_FIELDCAT-KEY = I_KEY. "设置主键
GTH_FIELDCAT-OUTPUTLEN = I_OUTPUTLEN. "控制输出列的宽度
GTH_FIELDCAT-SELTEXT_M = I_SELTEXT. "设置列的名称
GTH_FIELDCAT-EDIT = I_EDIT.
GTH_FIELDCAT-EMPHASIZE = I_EMPHASIZE. "修改颜色
APPEND GTH_FIELDCAT TO GTD_FIELDCAT.
CLEAR GTH_FIELDCAT.

ENDFORM. "sub_set_field

************************************************************************
*& Form alv_top_of_page
************************************************************************
*

ALV列表抬头的设定
************************************************************************
FORM ALV_TOP_OF_PAGE.

DATA: T_HEADER TYPE SLIS_T_LISTHEADER,
WA_HEADER TYPE SLIS_LISTHEADER,
T_LINE LIKE WA_HEADER-INFO,
LD_LINES TYPE I,
LD_LINESC(10) TYPE C,
LD_TITLE(50) TYPE C.

* Title
WA_HEADER-TYP = 'H'.
WA_HEADER-INFO = '博威-固定资产查询表'.
APPEND WA_HEADER TO T_HEADER.
CLEAR WA_HEADER.


CONCATENATE SY-UNAME ' 查询日期:' SY-DATUM INTO LD_TITLE.

WA_HEADER-TYP = 'S'.
WA_HEADER-KEY = '用户:'.
WA_HEADER-INFO = LD_TITLE .
APPEND WA_HEADER TO T_HEADER.
CLEAR WA_HEADER.

CLEAR LD_TITLE.
LD_TITLE = '净值=原值-总累计折旧, 可提折旧=净值-残值率 '.
WA_HEADER-TYP = 'S'.
WA_HEADER-KEY = '备注:'.
WA_HEADER-INFO = LD_TITLE .
APPEND WA_HEADER TO T_HEADER.
CLEAR WA_HEADER.

* * Total No. of Records Selected
DESCRIBE TABLE GTD_AS LINES LD_LINES.

LD_LINESC = LD_LINES.

CONCATENATE 'Total No. of Records Selected: ' LD_LINESC
INTO T_LINE SEPARATED BY SPACE.
WA_HEADER-TYP = 'A'.
WA_HEADER-INFO = T_LINE.
APPEND WA_HEADER TO T_HEADER.
CLEAR WA_HEADER.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
I_LOGO = 'PW01'
IT_LIST_COMMENTARY = T_HEADER."GTD_TITLE.

ENDFORM. "alv_top_of_page
************************************************************************
*& Form sub_set_layout
************************************************************************
* 设置ALV列表显示的布局
************************************************************************
FORM SUB_SET_LAYOUT.
GTH_LAYOUT-COLWIDTH_OPTIMIZE = 'X'. "设置为最适合的布局
GTH_LAYOUT-INFO_FIELDNAME = 'COLOR'. "增加行颜色
ENDFORM. " sub_set_layout


************************************************************************
*& Form sub_clear
************************************************************************
* clear data
************************************************************************
FORM SUB_CLEAR .
CLEAR:
GTH_TITLE,
GTH_FIELDCAT,
GTH_LAYOUT.
FREE: GTD_AS,
GTD_TITLE,
GTD_FIELDCAT.
ENDFORM. " sub_clear

相关文档
最新文档