SAP资产变动明细
*&---------------------------------------------------------------------*
*& Report ZFIR027
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZFIR027. type-pools: slis. tables: anla,
bkpf,
anlz. types: begin of ty_output_line,
bukrs type anla-bukrs,
anlkl type anla-anlkl,
lbtxk type ankt-txk50,
anln1 type anla-anln1,
anln2 type anla-anln2,
mctxk type anla-txt50,
aktiv type anla-aktiv,
kostl type anlz-kostl,
ltext type cskt-ltext,
bwasl type anep-bwasl,
bwatxt type tabwt-bwatxt,
belnr type anep-belnr,
budat type bkpf-budat,
anbtr type anep-anbtr,
adatu type anlz-adatu,
fbflg type c,
end of ty_output_line.
data: wa_output_line type ty_output_line,
it_output_itab type table of ty_output_line with header line.
field-symbols: <fs_output_line> type ty_output_line. types: begin of ty_anla_line,
bukrs type anla-bukrs,
anlkl type anla-anlkl,
anln1 type anla-anln1,
anln2 type anla-anln2,
mctxk type anla-txt50,
aktiv type anla-aktiv,
end of ty_anla_line.
data: wa_anla_line type ty_anla_line,
it_anla_itab type table of ty_anla_line with header line. types: begin of ty_ankt_line,
anlkl type ankt-anlkl,
txk50 type ankt-txa50,
end of ty_ankt_line.
data: wa_ankt_line type ty_ankt_line,
it_ankt_itab type table of ty_ankt_line with header line. types: begin of ty_cskt_line,
kostl type cskt-kostl,
ltext type cskt-ltext,
end of ty_cskt_line.
data: wa_cskt_line type ty_cskt_line,
it_cskt_itab type table of ty_cskt_line with header line. types: begin of ty_anlz_line,
bukrs type anlz-bukrs,
anln1 type anlz-anln1,
anln2 type anlz-anln2,
bdatu type anlz-bdatu,
adatu type anlz-adatu,
kostl type anlz-kostl,
end of ty_anlz_line.
data: wa_anlz_line type ty_anlz_line,
it_anlz_itab type table of ty_anlz_line with header line. types: begin of ty_anep_line,
bukrs type anep-bukrs,
anln1 type anep-anln1,
anln2 type anep-anln2,
gjahr type anep-gjahr,
bwasl type anep-bwasl,
belnr type anep-belnr,
anbtr type anep-anbtr,
lnsan type anep-lnsan,
end of ty_anep_line.
data: wa_anep_line type ty_anep_line,
it_anep_itab type table of ty_anep_line with header line. types: begin of ty_tabwt_line,
bwasl type tabwt-bwasl,
bwatxt type tabwt-bwatxt,
end of ty_tabwt_line.
data: wa_tabwt_line type ty_tabwt_line,
it_tabwt_itab type table of ty_tabwt_line with header line. types: begin of ty_bkpf_line,
bukrs type bkpf-bukrs,
belnr type bkpf-belnr,
gjahr type bkpf-gjahr,
awkey type bkpf-awkey,
budat type bkpf-budat,
end of ty_bkpf_line.
data: wa_bkpf_line type ty_bkpf_line,
it_bkpf_itab type table of ty_bkpf_line with header line. ranges: rs_awkey for bkpf-awkey. data: col_pos type i.
data: gt_fieldcat type slis_t_fieldcat_alv.
data: gs_layout type slis_layout_alv.
data: control_title type lvc_title.
data: gt_sort type slis_t_sortinfo_alv. selection-screen begin of block b1 with frame title text-.
select-options: s_bukrs for anla-bukrs.
parameters: p_gjahr type bkpf-gjahr obligatory.
select-options: s_monat for bkpf-monat,
s_anlkl for anla-anlkl,
s_anln1 for anla-anln1,
s_anln2 for anla-anln2,
s_kostl for anlz-kostl.
* s_ord41 for anla-ord41.
selection-screen end of block b1. start-of-selection.
perform frm_get_data. end-of-selection.
perform frm_out_data. *&---------------------------------------------------------------------*
*& Form FRM_GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form frm_get_data .
data: l_index type sy-tabix,
l_index1 type sy-tabix,
l_begin_datum type sy-datum,
l_end_datum type sy-datum. *按照查询条件读取资产主记录
select bukrs anlkl anln1 anln2 txt50 as mctxk aktiv into table it_anla_itab from anla
where bukrs in s_bukrs
and anln1 in s_anln1
and anln2 in s_anln2
and anlkl in s_anlkl. if not it_anla_itab[] is initial.
*读取资产分类描述
select anlkl txk50 into table it_ankt_itab from ankt for all entries in it_anla_itab
where spras eq sy-langu
and anlkl eq it_anla_itab-anlkl.
*读取资产分配相关信息
select bukrs anln1 anln2 bdatu adatu kostl into table it_anlz_itab from anlz for all entries in it_anla_itab
where bukrs eq it_anla_itab-bukrs
and anln1 eq it_anla_itab-anln1
and anln2 eq it_anla_itab-anln2
* and bdatu >= sy-datum
* and adatu <= sy-datum
and kostl in s_kostl.
sort it_anlz_itab by bukrs anln1 anln2.
*读取资产行项目信息
select bukrs anln1 anln2 gjahr bwasl belnr anbtr lnsan into table it_anep_itab from anep for all entries in it_anla_itab
where bukrs eq it_anla_itab-bukrs
and anln1 eq it_anla_itab-anln1
and anln2 eq it_anla_itab-anln2
and gjahr eq p_gjahr
and afabe eq ''. sort it_anep_itab by bukrs anln1 anln2.
endif. if not it_anlz_itab[] is initial.
*读取成本中心描述
select kostl ltext into table it_cskt_itab from cskt for all entries in it_anlz_itab
where spras eq sy-langu
and kostl eq it_anlz_itab-kostl.
endif. if not it_anep_itab[] is initial.
loop at it_anep_itab.
clear rs_awkey.
rs_awkey-sign = 'I'.
rs_awkey-option = 'CP'.
concatenate it_anep_itab-belnr '*' into rs_awkey-low.
append rs_awkey.
endloop.
*读取资产处理类型文本
select bwasl bwatxt into table it_tabwt_itab from tabwt for all entries in it_anep_itab
where spras eq sy-langu
and bwasl eq it_anep_itab-bwasl.
*读取会计凭证信息
select bukrs belnr gjahr awkey budat into table it_bkpf_itab from bkpf for all entries in it_anep_itab
where bukrs eq it_anep_itab-bukrs
and gjahr eq it_anep_itab-gjahr
and awkey in rs_awkey.
*读取会计凭证信息
select bukrs belnr gjahr awkey budat appending table it_bkpf_itab from bkpf for all entries in it_anep_itab
where bukrs eq it_anep_itab-bukrs
and belnr eq it_anep_itab-belnr
and gjahr eq it_anep_itab-gjahr.
endif.
*将取出的数据组合ALV数据
sort it_ankt_itab by anlkl.
sort it_anlz_itab by bukrs anln1 anln2.
sort it_cskt_itab by kostl.
sort it_tabwt_itab by bwasl.
sort it_bkpf_itab by bukrs gjahr belnr.
loop at it_anla_itab.
clear: wa_anep_line, wa_ankt_line, wa_cskt_line, l_index, wa_anlz_line, wa_tabwt_line, it_output_itab. it_output_itab-bukrs = it_anla_itab-bukrs.
it_output_itab-anlkl = it_anla_itab-anlkl. read table it_ankt_itab into wa_ankt_line with key anlkl = it_anla_itab-anlkl binary search.
it_output_itab-lbtxk = wa_ankt_line-txk50. it_output_itab-anln1 = it_anla_itab-anln1.
it_output_itab-anln2 = it_anla_itab-anln2.
it_output_itab-mctxk = it_anla_itab-mctxk.
it_output_itab-aktiv = it_anla_itab-aktiv. clear l_index1.
read table it_anlz_itab into wa_anlz_line with key bukrs = it_anla_itab-bukrs
anln1 = it_anla_itab-anln1
anln2 = it_anla_itab-anln2 binary search.
if sy-subrc eq .
l_index1 = sy-tabix.
else.
continue.
endif. loop at it_anlz_itab into wa_anlz_line from l_index1.
if wa_anlz_line-bukrs ne it_anla_itab-bukrs or
wa_anlz_line-anln1 ne it_anla_itab-anln1 or
wa_anlz_line-anln2 ne it_anla_itab-anln2.
exit.
endif. clear: it_output_itab-kostl, it_output_itab-adatu, l_index.
it_output_itab-kostl = wa_anlz_line-kostl.
it_output_itab-adatu = wa_anlz_line-adatu. read table it_cskt_itab into wa_cskt_line with key kostl = wa_anlz_line-kostl binary search.
it_output_itab-ltext = wa_cskt_line-ltext. read table it_anep_itab into wa_anep_line with key bukrs = it_anla_itab-bukrs
anln1 = it_anla_itab-anln1
anln2 = it_anla_itab-anln2.
if sy-subrc ne .
continue.
else.
l_index = sy-tabix.
loop at it_anep_itab into wa_anep_line from l_index.
if wa_anep_line-bukrs ne it_anla_itab-bukrs or
wa_anep_line-anln1 ne it_anla_itab-anln1 or
wa_anep_line-anln2 ne it_anla_itab-anln2.
exit.
endif. clear: it_output_itab-bwasl, it_output_itab-bwatxt, it_output_itab-belnr,
it_output_itab-budat, it_output_itab-anbtr, it_output_itab-fbflg. it_output_itab-bwasl = wa_anep_line-bwasl. read table it_tabwt_itab into wa_tabwt_line with key bwasl = wa_anep_line-bwasl binary search.
it_output_itab-bwatxt = wa_tabwt_line-bwatxt. read table it_bkpf_itab into wa_bkpf_line with key bukrs = wa_anep_line-bukrs
gjahr = wa_anep_line-gjahr
awkey() = wa_anep_line-belnr binary search.
if sy-subrc eq .
it_output_itab-belnr = wa_bkpf_line-belnr.
else.
it_output_itab-belnr = wa_anep_line-belnr.
read table it_bkpf_itab into wa_bkpf_line with key bukrs = wa_anep_line-bukrs
gjahr = wa_anep_line-gjahr
belnr = wa_anep_line-belnr binary search.
endif. if not s_monat is initial.
if not wa_bkpf_line-budat+() in s_monat.
continue.
endif.
endif. it_output_itab-budat = wa_bkpf_line-budat.
it_output_itab-anbtr = wa_anep_line-anbtr. if not wa_anep_line-lnsan is initial.
it_output_itab-fbflg = 'X'.
endif. append it_output_itab.
endloop.
endif.
endloop.
endloop.
endform. " FRM_GET_DATA
*&---------------------------------------------------------------------*
*& Form FRM_OUT_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form frm_out_data .
*ALV数据输出
gs_layout-colwidth_optimize = 'X'.
gs_layout-zebra = 'X'.
perform frm_e01_fieldcat_init using :
'BUKRS' '公司代码' '' '' 'X' '' '' '' '' '' '' '' '',
'ANLKL' '资产类别' '' '' 'X' '' '' '' '' '' '' '' '',
'LBTXK' '资产类别名称' '' '' 'X' '' '' '' '' '' '' '' '',
'ANLN1' '资产编号' '' '' 'X' '' '' '' '' '' '' '' '',
'ANLN2' '资产次级编号' '' '' 'X' '' '' '' '' '' '' '' '',
'MCTXK' '资产名称' '' '' '' '' '' '' '' '' '' '' '',
'AKTIV' '资本化日期' '' '' '' '' '' '' '' '' '' '' '',
'KOSTL' '成本中心' '' '' '' '' '' '' '' '' '' '' '',
'LTEXT' '成本中心描述' '' '' '' '' '' '' '' '' '' '' '',
'ADATU' '调拨日期' '' '' '' '' '' '' '' '' '' '' '',
'BWASL' '业务类型' '' '' '' '' '' '' '' '' '' '' '',
'BWATXT' '业务类型描述' '' '' '' '' '' '' '' '' '' '' '',
'BELNR' '凭证编号' '' '' '' '' '' '' '' '' '' '' '',
'BUDAT' '过账日期' '' '' '' '' '' '' '' '' '' '' '',
'ANBTR' '记账金额' '' '' '' '' '' '' '' '' '' '' '',
'FBFLG' '冲销' '' '' '' '' '' '' '' '' '' '' ''.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = sy-cprog
it_fieldcat = gt_fieldcat[]
is_layout = gs_layout
i_save = 'X'
tables
t_outtab = it_output_itab.
endform. " FRM_OUT_DATA *&--------------------------------------------------------------------*
*& Form FRM_E01_FIELDCAT_INIT
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->FIELD_NAME text
* -->FIELD_TEXT text
* -->FIELD_LENTHtext
* -->FIELD_EDIT text
* -->FIELD_TYPE text
* -->FIELD_KEY text
* -->FIELD_HOTSPtext
* -->FIELD_CHECKtext
* -->FIELD_NO_ZEtext
* -->FIELD_REF_TtextME
* -->FIELD_EMPHAtext
*---------------------------------------------------------------------*
form frm_e01_fieldcat_init using
field_name type c
field_text type c
field_lenth type i
field_edit type c
field_type type c
field_key type c
field_hotspot type c
field_checkbox type c
field_no_zero type c
field_ref_tabname type c
field_emphasize type c "change cell backgorund color
field_decimals_out type c
field_do_sum type c
field_no_out type c. data: ls_fieldcat type slis_fieldcat_alv.
clear ls_fieldcat.
col_pos = col_pos + .
* LS_FIELDCAT-COL_POS = COL_POS.
ls_fieldcat-fieldname = field_name.
ls_fieldcat-seltext_l = field_text.
ls_fieldcat-seltext_m = field_text.
ls_fieldcat-seltext_s = field_text.
ls_fieldcat-checkbox = field_checkbox.
ls_fieldcat-round = .
ls_fieldcat-edit = field_edit.
if field_type = 'Q'.
ls_fieldcat-just = 'R'.
ls_fieldcat-datatype = 'QUAN'.
else.
ls_fieldcat-just = 'L'.
endif.
ls_fieldcat-key = field_key.
ls_fieldcat-hotspot = field_hotspot .
ls_fieldcat-outputlen = field_lenth.
ls_fieldcat-no_zero = field_no_zero.
ls_fieldcat-emphasize = field_emphasize .
ls_fieldcat-ref_tabname = field_ref_tabname.
ls_fieldcat-decimals_out = field_decimals_out.
ls_fieldcat-do_sum = field_do_sum.
ls_fieldcat-no_out = field_no_out.
append ls_fieldcat to gt_fieldcat.
*COLOR
endform. " frm_e01_fieldcat_init
SAP资产变动明细的更多相关文章
- SAP资产明细报表
前两年别人写的,无自定义表字段...直接使用: *&---------------------------------------------------------------------* ...
- SAP资产折旧,消息编号AA687:在上一年结算之后您只能记帐到新的一年
问题:公司****在2015年底没有固定资产,忽略了月结的必要步骤,在2016年1-5月份一直没有计提折旧,再进行折旧时提示"在上一年结算之后您只能记帐到新的一年" 原因: sap ...
- SAP 资产相关日期
1. Capitalized Date(资本化日期) 可以手工输入资本化日期,或者如果不输入,则通常默认写入First Acquisition Date (资产第一次购置时输入资产价值日). 2.As ...
- 【FICO系列】SAP FICO-模块 关于固定资产年结和折旧的问题
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FICO系列]SAP FICO-模块 关于固定 ...
- 如何在云端部署SAP HANA实战, Azure 上的 SAP HANA(大型实例)概述和体系结构
什么是 Azure 上的 SAP HANA(大型实例)? Azure 上的 SAP HANA(大型实例)是一种针对 Azure 的独特解决方案. 除了提供 Azure 虚拟机以用于部署和运行 SAP ...
- 火币Huobi API Websocket
本文介绍火币Huobi API Websocket WebSocket API简介 WebSocket协议是基于TCP的一种新的网络协议.它实现了客户端与服务器之间在单个 tcp 连接上的全双工通信, ...
- Oracle财务系统常用标准报表
http://erpoperator.blog.163.com/blog/static/17899637220111181121616/ Oracle财务系统常用标准报表 总账系统 系统报表名 中文译 ...
- 数仓1.4 |业务数仓搭建| 拉链表| Presto
电商业务及数据结构 SKU库存量,剩余多少SPU商品聚集的最小单位,,,这类商品的抽象,提取公共的内容 订单表:周期性状态变化(order_info) id 订单编号 total_amount 订单金 ...
- Echarts中太阳图(Sunburst)的实例
Echarts中太阳图(Sunburst)的实例 目前在项目中要实现一个Echars中的太阳图,但是Echars中的太阳图的数据格式是一个树形结构,如下代码格式如下: var mapData = [ ...
随机推荐
- run a Freight robot (2)
3. Network Setup Connecting Freight to a Monitor The easiest way to configure the wireless networki ...
- Android 布局简要范例
Android的布局决定着实际的UI界面呈现情况,正是这些UI界面的组合与千变万化,才呈现出了各式各样的风格. 而这些基础的布局框架结构很重要,需要玩的很熟悉.我将以前参考的部分代码示例,所做的相关实 ...
- SG函数题目
HDU Fibonacci again and again 思路: 把整个游戏看成三个子游戏,然后求游戏的和 关键理解g(x) = mex(g(y), y€f(x)) , f(x)表示由x点可达的点, ...
- javascript中的计时器
javascript中的定时器有两种:一种是一次性定时器,一种是可以持续使用的定时器: 1:一次性定时器setTimeout(a,b):兼容ie的任何版本 该方法接受两个参数,第一个是要执行的代码,第 ...
- class&object
类(class)是构造对象的模板或蓝图. 对象的行为是用可调用的方法定义的. import java.time.*; public class EmployeeTest{ public static ...
- Linux_文档编辑器_简介
1. vi 2. vim 3. ubuntu 有一个 自己的图形化的 文档编辑器,用起来比较方便: gedit 4. 5.
- C#实现文件下载
1,Http 协议中有专门的指令来告知浏览器, 本次响应的是一个需要下载的文件. 格式如下:Content-Disposition: attachment;filename=filename.ext以 ...
- entity reference在views中的运用
一个views block可以获取从url过来的nid,某个node的有entity reference字段, 填入一点数据,然后在views里关联一下这个entity reference field ...
- SAM格式 及 比对工具之 samtools 使用方法
参考资料: SAMtools(官网) SAM Spec v1.4 (SAM格式 说明书) (重要) samtools-1.3.1 使用手册 (SAMtools软件说明书) samtools常用命令详解 ...
- 能源项目xml文件 -- springMVC-servlet.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...