*&---------------------------------------------------------------------*
*& 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资产变动明细的更多相关文章

  1. SAP资产明细报表

    前两年别人写的,无自定义表字段...直接使用: *&---------------------------------------------------------------------* ...

  2. SAP资产折旧,消息编号AA687:在上一年结算之后您只能记帐到新的一年

    问题:公司****在2015年底没有固定资产,忽略了月结的必要步骤,在2016年1-5月份一直没有计提折旧,再进行折旧时提示"在上一年结算之后您只能记帐到新的一年" 原因: sap ...

  3. SAP 资产相关日期

    1. Capitalized Date(资本化日期) 可以手工输入资本化日期,或者如果不输入,则通常默认写入First Acquisition Date (资产第一次购置时输入资产价值日). 2.As ...

  4. 【FICO系列】SAP FICO-模块 关于固定资产年结和折旧的问题

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FICO系列]SAP FICO-模块 关于固定 ...

  5. 如何在云端部署SAP HANA实战, Azure 上的 SAP HANA(大型实例)概述和体系结构

    什么是 Azure 上的 SAP HANA(大型实例)? Azure 上的 SAP HANA(大型实例)是一种针对 Azure 的独特解决方案. 除了提供 Azure 虚拟机以用于部署和运行 SAP ...

  6. 火币Huobi API Websocket

    本文介绍火币Huobi API Websocket WebSocket API简介 WebSocket协议是基于TCP的一种新的网络协议.它实现了客户端与服务器之间在单个 tcp 连接上的全双工通信, ...

  7. Oracle财务系统常用标准报表

    http://erpoperator.blog.163.com/blog/static/17899637220111181121616/ Oracle财务系统常用标准报表 总账系统 系统报表名 中文译 ...

  8. 数仓1.4 |业务数仓搭建| 拉链表| Presto

    电商业务及数据结构 SKU库存量,剩余多少SPU商品聚集的最小单位,,,这类商品的抽象,提取公共的内容 订单表:周期性状态变化(order_info) id 订单编号 total_amount 订单金 ...

  9. Echarts中太阳图(Sunburst)的实例

    Echarts中太阳图(Sunburst)的实例 目前在项目中要实现一个Echars中的太阳图,但是Echars中的太阳图的数据格式是一个树形结构,如下代码格式如下: var mapData = [ ...

随机推荐

  1. run a Freight robot (2)

    3.  Network Setup Connecting Freight to a Monitor The easiest way to configure the wireless networki ...

  2. Android 布局简要范例

    Android的布局决定着实际的UI界面呈现情况,正是这些UI界面的组合与千变万化,才呈现出了各式各样的风格. 而这些基础的布局框架结构很重要,需要玩的很熟悉.我将以前参考的部分代码示例,所做的相关实 ...

  3. SG函数题目

    HDU Fibonacci again and again 思路: 把整个游戏看成三个子游戏,然后求游戏的和 关键理解g(x) = mex(g(y), y€f(x)) , f(x)表示由x点可达的点, ...

  4. javascript中的计时器

    javascript中的定时器有两种:一种是一次性定时器,一种是可以持续使用的定时器: 1:一次性定时器setTimeout(a,b):兼容ie的任何版本 该方法接受两个参数,第一个是要执行的代码,第 ...

  5. class&object

    类(class)是构造对象的模板或蓝图. 对象的行为是用可调用的方法定义的. import java.time.*; public class EmployeeTest{ public static ...

  6. Linux_文档编辑器_简介

    1. vi 2. vim 3. ubuntu 有一个 自己的图形化的 文档编辑器,用起来比较方便: gedit 4. 5.

  7. C#实现文件下载

    1,Http 协议中有专门的指令来告知浏览器, 本次响应的是一个需要下载的文件. 格式如下:Content-Disposition: attachment;filename=filename.ext以 ...

  8. entity reference在views中的运用

    一个views block可以获取从url过来的nid,某个node的有entity reference字段, 填入一点数据,然后在views里关联一下这个entity reference field ...

  9. SAM格式 及 比对工具之 samtools 使用方法

    参考资料: SAMtools(官网) SAM Spec v1.4 (SAM格式 说明书) (重要) samtools-1.3.1 使用手册 (SAMtools软件说明书) samtools常用命令详解 ...

  10. 能源项目xml文件 -- springMVC-servlet.xml

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...