SAPABAP查询实时应收账款账龄分析表

合集下载

[精编]应收账款(SAP AR)操作手册

[精编]应收账款(SAP AR)操作手册

应收账款(SAP AR)操作手册FI-AR操作手册1客户主数据:21.1 创建:21.2更改:51.3显示:51.4冻结61.5删除62.客户账户查询:72.1应收账款余额查询:72.2应收账款明细查询:93.系统发票:113.1开具系统发票113.2查询处理未产生会计凭证的发票153.3冲销系统发票163.4修改、显示发票或凭证流184.应收账款收款清帐:214.1手工收款清帐214.2支票、汇票的收款清帐(F-36、F-30)274.2.1具体步骤F-36274.2.2具体步骤F-30315.应收账款手工记账:386.客户信用管理:417.应收账款报表查询:438.1客户余额查询:438.2客户明细查询:451客户主数据:1.1创建:FD01-会计->财务会计->客户->主记录->创建:双击:点击科目组的选项菜单处,选择客户类型,选择好客户类型后点击回车,看系统提示该客户类型是手工给号还是系统自动给号,假设我们选择“KUNA一般客户”。

回车后系统会提示“指明客户号码”,我们给该科目组编一个客户编号后点击执行即可,如下操作:执行后进入下一界面:维护完客户上述信息后回车或点击“公司代码数据”进入下一界面:在统驭科目栏选择输入该客户所属的统驭科目,并点击“支付交易”进行下一步设置:设置好付款条件后,基本一个简单的客户主数据就已经创建完成,点击保存。

1.2更改:FD02-会计->财务会计->客户->主记录->更改:在栏内输入客户的编码,点击进行数据的修改。

1.3显示:FD03-会计->财务会计->客户->主记录->显示:在栏内输入客户编码和公司代码,点击显示客户主数据。

1.4冻结FD05-会计->财务会计->客户->主记录->冻结/解冻:填写需要冻结的客户和公司代码,回车:勾上冻结即可。

1.5删除FD06-会计->财务会计->客户->主记录->设置删除标识符:填写需要冻结的客户和公司代码,回车:2.客户账户查询:2.1应收账款余额查询:FD10N-会计->财务会计->客户->帐户->显示余额:双击:执行结果如下:可看出客户KH001的应收账款情况:借贷方发生额都是1000,目前无余额,已清帐。

实现总账应收账款账龄分析(以用友为例)

实现总账应收账款账龄分析(以用友为例)

⼀、概述 对应收和应付项⽬进⾏账龄分析,是企业财务⼯作必须进⾏的⼀项内容。

有⼀部分⽤户的⽤友总账系统中不包括应收账款和应付账款管理模块,因此账龄分析⼯作只能依靠备查账簿进⾏⼈⼯分析。

当应收和应付项⽬业务量庞⼤时,传统⼈⼯分析⽅法的⼯作效率和准确性均会受到⼀定程度的影响。

⽤友总账系统内存储应收、应付项⽬及其明细科⽬的明细账,通过分析⽤友总账系统应收、应付管理模块的基本原理,可以开发外部辅助程序实现账龄分析,并同时实现应收、应付项⽬管理。

⼆、账龄分析功能的基本实现⽅法 由于应收项⽬的基本原理与应付项⽬相同,下⾯以应付账款为例,说明账龄分析功能的基本实现⽅法。

假设财务报表应付账款的账龄分成四个时间段,即1年以内、1⾄2年、2⾄3年和3年以上。

外部辅助程序在进⾏账龄分析按以下步骤进⾏: (⼀)⾸先按明细科⽬(包括供应商辅助核算项⽬)读取⽤友总账系统当前⽉份三年前的期初余额做为账龄3年以上的应付账款⾦额; (⼆)按时间段分别读取⽤友总账系统的贷⽅发⽣额做为对应账龄时间段的应付账款⾦额; (三)读取⽤友总账系统当前⽉份三年之间借⽅发⽣额,按由远⾄近的顺序冲销各阶段的⾦额,先冲销3年以上的⾦额,冲⾄0开始冲销2⾄3年的⾦额,以此类推⾄1年以内⾦额; (四)将各明细科⽬各时间段⾦额汇总即为应付账款在各时间段的⾦额。

例如:以某单位2008年10⽉为分析期间,按以下步骤进⾏分析: (⼀)⾸先读取应付账款明细科⽬2005年10⽉期初余额做为3年以上的⾦额;读取并汇总2005年10⽉(含10⽉)以后⾄2006年10⽉(不含10⽉)以前的贷⽅发⽣额为2⾄3年的⾦额;然后读取并汇总2006年10⽉(含10⽉)以后⾄2007年10⽉(不含10⽉)以前的贷⽅发⽣额为1⾄2年的⾦额;最后读取并汇总2007年10⽉(含10⽉)以后⾄2008年10⽉(含10⽉)以前的贷⽅发⽣额为1年以内的⾦额。

(⼆)按顺序读取2005年10⽉(含10⽉)⾄2008年10⽉(含10⽉)区间内所有某明细科⽬的借⽅发⽣额明细,从该科⽬第⼀笔借⽅开始⾄最后⼀笔借⽅结束,按由远⾄近的顺序冲销各区间⾦额,先冲销3年以上的⾦额,冲⾄0开始冲销2⾄3年的,直⾄冲销到1年以内的⾦额。

ZIJIN_财务组_SAP查询操作手册_V10_XXXX0424

ZIJIN_财务组_SAP查询操作手册_V10_XXXX0424

SAP查询操作手册目录1无物流集成查询 (4)1.1总账报表及查询 (4)1.1.1凭证显示FB03 (4)1.1.2显示科目余额FAGLB03 (5)1.1.3批量显示行项目FAGLL03 (7)1.1.4凭证综合查询ZP1FIRP008(“万能”查询) (9)1.1.5科目余额表ZP1FIRP021 (10)1.1.6资产负债表ZP1FIRP014 (11)1.1.7利润表ZP1FIRP015 (12)1.1.8现金流量表(直接法)ZP1FIRP016 (13)1.1.9现金流量表(间接法)ZP1FIRP028 (14)1.1.10成本中心余额显示S_ALR_87013611 (14)1.1.11成本中心行项目显示KSB1 (16)1.1.12成本指标对比分析表ZP1FIRP022 (17)1.1.13内部订单预算与实际余额查询S_ALR_87013019 (18)1.1.14内部订单行项目查询KOB1 (20)1.1.15专项应付款明细表ZP1FIRP042 (22)1.1.16月结查询报表ZP1FIRP067 (22)1.2应收报表及查询 (23)1.2.1客户余额显示FD10N (23)1.2.2客户行项目查询FBL5N (24)1.2.3客户余额明细汇总表ZP1FIRP024 (25)1.2.4客户往来账龄分析表ZP1FIRP019 (26)1.3应付报表及查询 (27)1.3.1供应商余额显示FK10N (27)1.3.2供应商行项目查询FBL1N (28)1.3.3供应商余额显示FB10N (30)1.3.4供应商余额明细汇总表ZP1FIRP025 (31)1.3.5供应商往来帐龄分析表ZP1FIRP018 (32)1.3.6未清暂估余额查询ZP1FIRP064 (32)1.3.7供应商余额查询(含暂估)ZP1FIRP069 (33)1.4资产报表及查询 (34)1.4.1资产卡片显示AS03 (34)1.4.2资产余额(可按期间查询)S_ALR_87012041 (36)1.4.3折旧运行日志(单月折旧查询)AFBP (37)1.4.4资产综合查询(实时数)ZP1FIRP009 (39)1.4.5固定资产变动结存表ZP1FIRP032 (39)1.5贷款相关报表及查询 (40)1.5.1贷款合同显示FNV3 (40)1.5.2贷款合同批量查询FNG3 (41)1.5.3长短期借款明细ZP1FIRP057 (42)1.5.4银行授信余额表ZP1FIRP012 (42)1.5.5信用证/保函显示表ZP1FIRP051 (43)2物流集成查询 (45)2.1采购订单查询 (45)2.1.1采购订单显示ME23N (45)2.1.2采购订单批量查询ME2N (49)2.2出入库查询 (50)2.2.1物料清单MM60 (50)2.2.2物料凭证显示MB03 (51)2.2.3物料凭证清单MB51 (52)2.2.4库存总览MMBE(单个物料) (54)2.2.5库存清单MB52(实时库存) (55)2.2.6收发存汇总查询MB5B (56)2.2.7库龄分析表ZP1MMRP116(实时库龄) (57)2.2.8收发存明细表ZP1MMRP120 (58)2.2.9凭证综合查询ZP1FIRP008 (59)2.2.10未清暂估余额查询ZP1FIRP064 (60)2.2.11供应商余额查询(含暂估)ZP1FIRP069 (61)2.3采购发票查询 (62)2.3.2采购发票显示MIR4 (62)2.3.3采购发票批量查询MIR6 (63)2.4销售订单查询 (64)2.4.1销售订单查询VA03 (64)2.4.2销售订单批量查询VA05N (68)2.5销售发票校验及查询 (69)2.6.2销售发票显示VF03 (69)2.6.3销售发票批量查询VF05N (72)2.7CO订单操作及查询 (73)2.7.4CO生产订单报表查询KOB1 (73)2.10库存盘点过账及查询 (75)2.10.2库存盘点清单MI20 (75)3报表操作技巧 (77)3.1ALV网格控制 (77)3.1.1常用按钮 (77)3.1.2设置格式 (78)3.1.3保存格式 (81)3.1.4表格导出 (81)3.2标准列表 (84)3.2.1常用按钮 (84)3.2.2保存格式 (85)3.2.3表格导出(与ALV网格控制相同) (86)1无物流集成查询1.1总账报表及查询1.1.1凭证显示FB03(1)业务操作说明可双击凭证抬头和各行项点击,弹出红框界面,增加筛:勾选表示仅查看抬头有的信息,都可在报表中显示。

ABAP-财务表BSEG详解及取数

ABAP-财务表BSEG详解及取数

具体说明BSAD:应收明细(已清帐)BSID:应收明细(未清帐)BSAS:总帐明细(已清帐)BSIS:总帐明细(未清帐)BSAK:应付明细(已清帐)BSIK:应付明细(未清帐)BSEG主要通过“凭证号”“会计年度”“行号”和这六张表关联,BKPF 是财务凭证抬头,BSEG 是财务凭证行项目。

在财务凭证记账的时候,数据被插入BKPF 和BSEG,如果有必要,数据同时插入以上六张表中的一个未清表。

一般情况下一笔业务产生的凭证都是未清的,那么:如果该业务行是客户相关的,则被记录到BSID;如果该业务行是供应商相关的,则被记录到BSIK;无论和客户相关还是和供应商相关,都是和总帐相关,所以也会有记录到BSIS;但是如果这笔业务被清帐了,则相应的记录会从BSI*转移到BSA*一般情况下:应收账款、预收账款、其他应收款、应收汇票等科目既和客户相关,又和未清项管理的总帐科目相关;应付账款、预付账款、其他应付款、应付汇票等科目既和供应商相关,又和未清项管理的总帐科目相关;其他总帐科目一般不启用未清项管理,所以记录一般都放在BSIS中。

5)未清项和已清项的概念清项(Open Item),表示财务凭证行项目的一种挂账的状态,这种状态,提示该行项目需要被清帐(Clearing)。

在FS00 设置科目的时候,有一个选项是'Open Item Mngment',该选项选中后,表示财务凭证行项目中记账科目为此科目时,该行项目有未清或者已清的状态。

已清项(Close Item),表示该行项目已经被清帐。

具体应用中,'Open Item Mngment' 用得比较普遍的是应收(客户)和应付(供应商)的科目。

此外,在总帐中,也有一些应用,比如对于银行的对账单,也一般使用,这样可以再对帐无误后再做清帐。

为什么需要使用到未清项管理?目的是为了记录完整的业务交易。

比如对客户A有两笔应收款A1 与A2,A1 因为有些商务纠纷,可能需要进一步交涉,所以客户先针对A2付款。

sap查表方法

sap查表方法

sap查表方法
在SAP系统中,可以使用多种方法来查询表中的数据。

以下是一些常用的方法:
1.ABAP查询:可以使用ABAP语言编写查询语句,通过ABAP工作台运行查询。

查询结果将返
回指定的表中的数据。

2.SQL查询:如果熟悉SQL语言,可以使用SAP的数据库系统进行查询。

在SAP系统中,可以
通过事务代码SE17来创建和维护自定义的SQL查询。

3.SAP HANA Studio:如果使用SAP HANA数据库,可以使用SAP HANA Studio来运行SQL查
询或其他查询语言,如SQL*Plus或SPARQL。

4.SAP GUI:通过SAP GUI客户端,可以连接到SAP系统并执行各种查询操作。

可以使用事务代
码SE16N来查看表中的数据,使用SE11事务代码来创建和管理表。

5.报表:SAP系统中提供了许多预定义的报表,这些报表可以显示表中的数据。

可以在报表中选
择所需的表和字段,并对其进行筛选和排序。

6.BADI(Business Add-In):BADI是SAP系统中的一种组件,可以使用ABAP语言编写,以提
供特定的业务逻辑或查询功能。

如果存在适用于您的查询需求的BADI,则可以使用它来获取所需的数据。

请注意,具体的查询方法可能因SAP系统的版本和配置而有所不同。

建议参考SAP系统的官方文档或咨询系统管理员以获取更准确的信息。

应收账款账龄动态分析图表制作

应收账款账龄动态分析图表制作

应收账款账龄动态分析图表制作下面对每项操作进行细节演示。

效果图基础表一、账龄动态变化设置到期日栏录入公式“开始日+账期”,在账龄栏录入公式“today ()-开始日”,在超期天数栏录入公式“today()-到期日”,录入完毕后下拉公式填充下面单元格。

填充完毕后,F—H列每天都会自动更新。

二、超期预警设置1、使用条件格式,超期一栏中大于0的以大红色填充显示,操作路径“条件格式——突出显示单元格规则——大于”,弹出“大于”窗口。

2、窗口上第一空格处金额改为0,后面设置为为默认显示颜色,此例中用大红色填充进行预警,点击设置为中的下拉窗口,点击“自定义格式”,弹出“设置单元格格式”窗口。

3、在“设置单元格格式”窗口填充处,选择大红色后点击确定。

回到“大于”窗口,再点击确定即可。

三、账龄汇总表制作1、按“插入——数据透视表——数据透视表”路径插入数据透视表,弹出“创建数据透视表”窗口后点击确定。

2、上步操作中选择放置数据透视表的位置默认为新工作表,因此透视表在一张新的sheet表中显示。

3、在右边窗口中,将账龄拖至行标签处,将金额拖至数值处,拖动两次(拖两次的目的是数据区域一栏显示金额,一栏显示金额占比)。

4、将鼠标放至行标签处,右键选择“创建组”,弹出组合窗口。

5、将窗口中数值分别改为1、120、30后点击确定。

6、将鼠标放至单元格“求和项:金额2”,右键选择“值字段设置”,弹出“值字段设置”窗口。

7、将自定义名称处“金额2”改为“占比”,将值显示方式改为“列汇总的百分比”,点击确定,完成设置,以后右键点击刷新即可更新。

四、分析图表制作1、插入数据透视表,操作路径“选项——数据透视图”,弹出“插入图表”窗口。

2、选择柱形图后,点击确定。

3、点击选择“占比”,然后右键选择“设置数据系列格式”,弹出“设置数据系列格式”窗口后,点击选择“次坐标轴”后点击关闭。

4、点击选择图表区域中占比图,右键选择“更改系列图表类型”,弹出“更改图表类型”窗口,选择“折线图”后点击确定,完成基本图表制作。

sap资料 财务总览之总账、应收和应付

sap资料  财务总览之总账、应收和应付

sap资料财务总览之总账、应收和应付2.2 总账、应收和应付本章我们介绍财务会计中基础的三个模块:总帐,应收帐款和应付帐款。

在介绍这三个模块之前,我们先从自动付款的情景出发,说明SAP 的另一个重要特点。

2.2.1 自动付款和内部控制点A集团企业的付款业务数量庞大,包括原料供应商,设备供应商,备品备件供应商,易耗品供应商,杂费,内部员工报销等等。

一般建议使用排队自动付款的功能,来规范付款流程和加速业务处理。

但是付款作为一个敏感的流程,应当在实施中安排哪些内部控制点。

首先我们介绍一下自动付款的流程。

自动付款是SAP 应付帐款里的一个基本功能。

整体流程如下图2所示:首先,在自动付款执行的时候,系统根据操作员(如:应付帐会计)输入的选择性条件,比如会计员,供应商种类,日期,付款方式等,从系统中采集供应商主数据中的相关信息,信息包括付款条款(如30 天到期 2%现金折扣;60 天净到期等等)、付款方式(如支票、汇票等)、开户银行(供应商和本公司的开户银行),是否冻结付款等。

另外还会采集供应商的未清项,如未清的发票,发票中也包含了付款条款、付款方式、开户银行等信息,一般发票中的付款信息优先级高于供应商主记录中的。

图2:排队自动付款然后SAP 系统会跟据供应商的主数据和未清发票生成一个付款建议。

在付款建议中包含了与付款有关的所有信息,如供应商、付款方式、开户银行、对方开户行、币别、金额等。

操作员根据付款建议进行编辑,在编辑付款清单时,可以根据资金情况或其他特殊情况,更改某些付款条件。

编辑完成后开始运行自动付款程序。

自动付款程序一方面自动更新财务帐,生成相应的会计分录(借:应付帐款,贷:银行存款-未达)。

另一方面付款数据被送入付款媒介程序,实际付款。

传统方式是打印付款单据,比如说套打电汇通知单或支票;有些企业打印出付款清单,由出纳人员直接填写付款单据。

还可以将SAP 中的付款程序与电子银行的客户端直接相连,通过系统接口将SAP 的付款指令直接发给电子银行的客户端,客户端收到指令后连接到银行的主机进行付款。

【Sap实施】财务SAP查询攻略

【Sap实施】财务SAP查询攻略

【Sap实施】财务SAP查询攻略财务SAP查询攻略财务查询主要包括:科⽬余额、账页查询;客户/供应商余额、账页查询;库存余额查询;库存变动查询;销售查询;凭证查询;资产查询查询技巧包括:多项选择的使⽤;后台查询的使⽤此外提供MM、SD模块抽取出的财务可能⽤到的查询事务⼀、分利润中⼼科⽬余额、帐页、凭证联查 (2)(⼀)使⽤S_ALR_87013340 (2)(⼆)使⽤ZFIRAIS036“分利润中⼼科⽬余额、帐页、凭证联查” (3)⼆、分利润中⼼客户、供应商余额表查询 (6)(⼀)使⽤S_ALR_87013343、S_ALR_87013344 (6)(⼆)使⽤ZFIRAIS035 分利润中⼼客户、供应商余额表查询 (7)三、库存余额查询 (8)(⼀)使⽤MMBE (8)(⼆)使⽤MB5L (10)(三)使⽤MC.9 (12)(四)使⽤ZMMRGD005 (19)四、物料凭证清单查询、打印 (20)(⼀)使⽤MB51 (20)(⼆)使⽤ZFIRGD051“⼴东⽯油物料凭证清单” (22)五、销售凭证清单查询、打印 (23)(⼀)使⽤ZFIGD002销售单据清单 (23)(⼆)使⽤ZFIRGD052⼴东⽯油销售凭证清单 (24)六、会计凭证查询 (26)(⼀)使⽤FB03 (26)(⼆)使⽤ZFIFGD001E (27)七、资产查询 (29)⼋、其他查询 (30)(⼀)使⽤事务码MIR6查询购进发票预制情况, (30)(⼆)ZFIRGD040查询选定的采购组全⽉采购数据; (31)(三)使⽤事务码ZSDRGD021(⼴东省销售业务⽇清⽇结核查表) (32)附件⼀:MM和SD数据查询简介 (34)⼀、MM数据查询 (34)⼆、SD数据查询 (39)附件⼆:SAP查询多项选择按钮的使⽤ (42)附件三:SAP相关查询后台执⾏的操作⽅法 (43)⼀、分利润中⼼科⽬余额、帐页、凭证联查(⼀)使⽤S_ALR_870133401、执⾏事务码S_ALR_87013340,输⼊查询条件2、点击(执⾏)按钮,进⼊下⼀屏幕:3、通过点击不同的利润中⼼就可以查询到相关利润中⼼的报表情况。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SAPABAP查询实时应收账款账龄分析表查询应收帐款某天的账龄情况*&---------------------------------------------------------------------**&Report ZRP_FI_008*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*REPORT zrp_fi_008LINE-SIZE800NO STANDARD PAGE HEADING.TABLES:kna1,bsid,knb1.TYPE-POOLS:slis.TYPES:BEGIN OF ty_cust,bukrs LIKE bsid-bukrs,kunnr LIKE kna1-kunnr,name1LIKE kna1-name1,waers LIKE fdbl_header-waers,bgber LIKE fdbl_balance_line-balance,"期初余额AKONT LIKE knb1-AKONT,vkorg LIKE knvv-vkorg,END OF ty_cust.DATA:wa_cust TYPE ty_cust,gt_cust TYPE STANDARD TABLE OF ty_cust.TYPES:BEGIN OF ty_bsid.INCLUDE STRUCTURE bsid.TYPES:END OF ty_bsid.DATA:wa_bsid TYPE ty_bsid,gt_bsid TYPE STANDARD TABLE OF ty_bsid. TYPES:BEGIN OF ty_outtab,bukrs LIKE bsid-bukrs,kunnr LIKE kna1-kunnr,name1LIKE kna1-name1,gjahr LIKE bsid-gjahr,monat LIKE bsid-monat,waers LIKE fdbl_header-waers,bgber LIKE fdbl_balance_line-balance,"期初余额arber LIKE fdbl_balance_line-balance,"本期销售pyber LIKE fdbl_balance_line-balance,"本期收款blber LIKE fdbl_balance_line-balance,"本期余额bera LIKE fdbl_balance_line-balance,"未来30天以上bera0LIKE fdbl_balance_line-balance,"未来账龄30天bera1LIKE fdbl_balance_line-balance,"账龄0~30天bera2LIKE fdbl_balance_line-balance,"账龄31~60天bera3LIKE fdbl_balance_line-balance,"账龄61~90天bera4LIKE fdbl_balance_line-balance,"账龄91~120天bera5LIKE fdbl_balance_line-balance,"账龄121~180天bera6LIKE fdbl_balance_line-balance,"账龄181~360天bera7LIKE fdbl_balance_line-balance,"账龄>360天zxiao TYPE ztfi026-zxiao,pay TYPE string,vkgrp TYPE knvv-vkgrp,augo TYPE string,qy TYPE string,AKONT TYPE knb1-AKONT,ckrq LIKE sy-DATUM,END OF ty_outtab.DATA:wa_outtab TYPE ty_outtab,gt_outtab TYPE STANDARD TABLE OF ty_outtab. TYPES:BEGIN OF ty_bq,kunnr LIKE bsid-kunnr,waers LIKE bsid-waers,HKONT LIKE bsid-HKONT,jfbtr LIKE bsid-wrbtr,dfbtr LIKE bsid-wrbtr,END OF ty_bq.DATA:wa_bq TYPE ty_bq,gt_bq TYPE STANDARD TABLE OF ty_bq."取出销售组TYPES:BEGIN OF ty_tvgrt,vkgrp LIKE tvgrt-vkgrp,bezei LIKE tvgrt-bezei,END OF ty_tvgrt.DATA:itab_tvgrt TYPE STANDARD TABLE OF ty_tvgrt, wa_tvgrt TYPE ty_tvgrt."取地区TYPES:BEGIN OF TY_QY.INCLUDE STRUCTURE T171T.TYPES:END OF TY_QY.DATA:WA_QY TYPE TY_QY,GT_QY TYPE STANDARD TABLE OF TY_QY.TYPES:BEGIN OF ty_sk.INCLUDE STRUCTURE bsid.TYPES:END OF ty_sk.DATA:wa_sk TYPE ty_sk,gt_sk TYPE STANDARD TABLE OF ty_sk.DATA:G_START_DATE LIKE SY-DATUM,G_UPMON_DATE LIKE SY-datum.*Data variable for use of ALVDATA:i_gt_fieldcat TYPE slis_t_fieldcat_alv.DATA:i_gt_excluding TYPE slis_t_extab.DATA:v_gt_repid LIKE sy-repid.DATA:i_gt_events TYPE slis_t_event.DATA:v_gt_variant LIKE disvariant.DATA:i_gs_layout TYPE slis_layout_alv.*---------------------------------------------------------------------**SELECTION SCREEN**---------------------------------------------------------------------*SELECTION-SCREEN BEGIN OF BLOCK b1WITH FRAME TITLE text-001. PARAMETERS p_bukrs LIKE bsid-bukrs DEFAULT'1000'OBLIGATORY. SELECT-OPTIONS:s_kunnr FOR bsid-kunnr,s_ktokd FOR kna1-ktokd,s_akont FOR knb1-akont.PARAMETERS:p_ckrq LIKE sy-datum DEFAULT sy-datum OBLIGAT ORY.SELECTION-SCREEN SKIP.PARAMETERS:cb_YSZK AS CHECKBOX DEFAULT'X',cb_tczz AS CHECKBOX DEFAULT'X'.SELECTION-SCREEN SKIP.PARAMETERS:cb_zero AS CHECKBOX DEFAULT'X'.SELECTION-SCREEN END OF BLOCK b1.SELECTION-SCREEN BEGIN OF BLOCK b3WITH FRAME TITLE text-002. PARAMETERS:r_cny RADIOBUTTON GROUP lim DEFAULT'X',r_all RADIOBUTTON GROUP lim.SELECTION-SCREEN END OF BLOCK b3.*---------------------------------------------------------------------**INITIALIZATION**---------------------------------------------------------------------**Initialization fieldcatalogINITIALIZATION.v_gt_repid=sy-repid.AT SELECTION-SCREEN."权限判断PERFORM CHECK_AUTH.*---------------------------------------------------------------------**START-OF-SELECTION**---------------------------------------------------------------------**Start of SelectionSTART-OF-SELECTION.PERFORM GET_SALES_DATA.*"记录报表使用情况*include zic_tcode_history."应收帐款IF cb_YSZK EQ'X'.PERFORM get_base_data."取客户信息IF r_cny EQ'X'.PERFORM get_local_data."本位币ELSE.PERFORM get_original_data.ENDIF.ENDIF.IF cb_tczz eq'X'.PERFORM get_tczz_cust.ENDIF.*---------------------------------------------------------------------**END-OF-SELECTION**---------------------------------------------------------------------*END-OF-SELECTION.PERFORM fieldcat_init.PERFORM eventtab_build.PERFORM call_alv.*&---------------------------------------------------------------------**&Form GET_DATA*&---------------------------------------------------------------------**text*----------------------------------------------------------------------**-->p1text*<--p2text*----------------------------------------------------------------------*FORM get_local_data.DATA:wa_balanc LIKE bapi3007_3,gt_balanc LIKE TABLE OF bapi3007_3.DATA:lv_days LIKE sy-index.DATA:lv_budat LIKE sy-datum,l_vkgrp LIKE knvv-vkgrp,l_BZIRK LIKE knvv-BZIRK.FIELD-SYMBOLSTYPE ty_cust."处理期初余额LOOP AT gt_cust ASSIGNING.CALL FUNCTION'BAPI_AR_ACC_GETKEYDATEBALANCE'EXPORTINGcompanycode=-bukrscustomer=-kunnrkeydate=G_UPMON_DATEbalancespgli='X'"是否分开统计分类帐TABLESkeybalance=gt_balanc.DELETE gt_balanc WHERE SP_GL_IND NE''.IF gt_balanc[]IS NOT INITIAL.LOOP AT gt_balanc INTO wa_balanc.-bgber=-bgber+wa_balanc-LC_BAL. *-waers=wa_balanc-LOC_CURRCY.CLEAR:wa_balanc.ENDLOOP.ENDIF.-waers='CNY'.CLEAR:gt_balanc[].ENDLOOP."取区间发生额度CLEAR gt_sk[].SELECT*INTO CORRESPONDING FIELDS OF TABLE gt_skFROM bsidFOR ALL ENTRIES IN gt_custWHERE hkont IN s_akontAND bukrs EQ P_bukrsAND gjahr EQ p_ckrq+0(4)AND kunnr EQ gt_cust-kunnrAND budat BETWEEN G_START_DATE and p_ckrqAND umskz EQ''.SELECT*APPENDING CORRESPONDING FIELDS OF TABLE gt_skFROM bsadFOR ALL ENTRIES IN gt_custWHERE hkont IN s_akontAND bukrs EQ P_bukrsAND gjahr EQ p_ckrq+0(4)AND budat BETWEEN G_START_DATE and p_ckrqAND kunnr EQ gt_cust-kunnrAND umskz EQ''."处理本期借贷LOOP AT gt_sk INTO wa_sk.wa_bq-waers='CNY'.wa_bq-kunnr=wa_sk-kunnr.IF wa_sk-xnegp='X'AND wa_sk-shkzg EQ'H'."处理反记帐wa_sk-shkzg='S'.wa_sk-DMBTR=wa_sk-DMBTR*-1.ELSEIF wa_sk-xnegp='X'AND wa_sk-shkzg EQ'S'.wa_sk-shkzg='H'.wa_sk-DMBTR=wa_sk-DMBTR*-1.ENDIF.IF wa_sk-shkzg EQ'H'.wa_bq-dfbtr=wa_sk-DMBTR.ELSE.wa_bq-jfbtr=wa_sk-DMBTR.ENDIF.COLLECT wa_bq INTO gt_bq.CLEAR:wa_bq,wa_sk.ENDLOOP.IF NOT gt_cust[]IS INITIAL."处理帐龄数据SELECT*INTO CORRESPONDING FIELDS OF TABLE gt_bsid FROM bsidFOR ALL ENTRIES IN gt_custWHERE bukrs=gt_cust-bukrsAND kunnr=gt_cust-kunnrAND umsks=spaceAND budat<=p_ckrq."取出已清份SELECT*APPENDING CORRESPONDING FIELDS OF TABLE gt_bsid FROM bsadFOR ALL ENTRIES IN gt_custWHERE bukrs=gt_cust-bukrsAND kunnr=gt_cust-kunnrAND umsks=spaceAND budat<=p_ckrqAND AUGDT>p_ckrq.ENDIF.LOOP AT gt_cust ASSIGNING.MOVE-CORRESPONDINGTO wa_outtab."付款条件(公司级)SELECT SINGLE text1INTO(wa_outtab-pay)FROM knb1AS aJOIN t052u AS b ON a~zterm EQ b~ztermWHERE b~spras EQ sy-langu AND a~kunnr EQ-kunnr AND a~bukrs EQ-bukrs.IF sy-subrc NE0."付款条件SELECT SINGLE text1INTO wa_outtab-payFROM knvv AS aJOIN t052u AS b ON a~zterm EQ b~ztermWHERE b~spras EQ sy-langu ANDa~kunnr EQ-kunnrAND a~vkorg NE'1002'.ENDIF..SELECT SINGLE vkgrp BZIRK INTO(l_vkgrp,L_BZIRK)FROM knvvWHERE kunnr EQ-kunnrAND vkorg NE'1002'.SELECT SINGLE zxiao vkgrp INTO(wa_outtab-zxiao,wa_outtab-vkgr p)FROM ztfi026WHERE vkgrp=l_vkgrp.READ TABLE itab_tvgrt INTO wa_tvgrt WITH KEY vkgrp=l_vk grp.wa_outtab-augo=wa_tvgrt-bezei.CLEAR:l_vkgrp,wa_tvgrt.READ TABLE GT_QY INTO WA_QY WITH KEY BZIRK=L_BZIRK.wa_outtab-QY=WA_QY-BZTXT.wa_outtab-ckrq=p_ckrq."本期发生额度READ TABLE gt_bq INTO wa_bq WITH KEY kunnr=-kunnr.if sy-subrc eq0.wa_outtab-arber=wa_bq-jfbtr."期间借方发生额wa_outtab-pyber=wa_bq-dfbtr."期间贷方发生额ENDIF.wa_outtab-blber=wa_outtab-bgber+wa_outtab-arber-wa_outtab -pyber."期末LOOP AT gt_bsid INTO wa_bsid WHERE bukrs=-bukrs ANDkunnr=-kunnr.*lv_days=sy-datum-(wa_bsid-zfbdt+wa_bsid-zb d1t).lv_days=p_ckrq-(wa_bsid-zfbdt+wa_bsid-zbd1t).IF lv_days<0.if lv_days<0and lv_days>-30."未来30天IF wa_bsid-shkzg='S'.wa_outtab-bera0=wa_outtab-bera0+wa_bsid-dm btr.ELSE.wa_outtab-bera0=wa_outtab-bera0-wa_bsid-dmb tr.ENDIF.else."未来30天以上IF wa_bsid-shkzg='S'.wa_outtab-bera=wa_outtab-bera+wa_bsid-dmbt r.ELSE.wa_outtab-bera=wa_outtab-bera-wa_bsid-dmbtr.ENDIF.endif.ELSEIF lv_days>=0AND lv_days<=30.IF wa_bsid-shkzg='S'.wa_outtab-bera1=wa_outtab-bera1+wa_bsid-dmbtr.ELSE.wa_outtab-bera1=wa_outtab-bera1-wa_bsid-dmbtr.ENDIF.ELSEIF lv_days>=31AND lv_days<=60.IF wa_bsid-shkzg='S'.wa_outtab-bera2=wa_outtab-bera2+wa_bsid-dmbtr.ELSE.wa_outtab-bera2=wa_outtab-bera2-wa_bsid-dmbtr.ENDIF.ELSEIF lv_days>=61AND lv_days<=90.IF wa_bsid-shkzg='S'.wa_outtab-bera3=wa_outtab-bera3+wa_bsid-dmbtr. ELSE.wa_outtab-bera3=wa_outtab-bera3-wa_bsid-dmbtr. ENDIF.ELSEIF lv_days>=91AND lv_days<=120.IF wa_bsid-shkzg='S'.wa_outtab-bera4=wa_outtab-bera4+wa_bsid-dmbtr. ELSE.wa_outtab-bera4=wa_outtab-bera4-wa_bsid-dmbtr. ENDIF.ELSEIF lv_days>=121AND lv_days<=180.IF wa_bsid-shkzg='S'.wa_outtab-bera5=wa_outtab-bera5+wa_bsid-dmbtr. ELSE.wa_outtab-bera5=wa_outtab-bera5-wa_bsid-dmbtr. ENDIF.ELSEIF lv_days>=181AND lv_days<=360.IF wa_bsid-shkzg='S'.wa_outtab-bera6=wa_outtab-bera6+wa_bsid-dmbtr. ELSE.wa_outtab-bera6=wa_outtab-bera6-wa_bsid-dmbtr. ENDIF.ELSEIF lv_days>360.IF wa_bsid-shkzg='S'.wa_outtab-bera7=wa_outtab-bera7+wa_bsid-dmbtr. ELSE.wa_outtab-bera7=wa_outtab-bera7-wa_bsid-dmbtr. ENDIF.ENDIF.CLEAR wa_bsid.ENDLOOP.SHIFT wa_outtab-kunnr LEFT DELETING LEADING'0'."去前导空格APPEND wa_outtab to gt_outtab.CLEAR:L_BZIRK,WA_QY,wa_outtab,wa_bq.ENDLOOP.SORT gt_outtab BY bukrs kunnr.ENDFORM."GET_DATA*&---------------------------------------------------------------------**&Form FIELDCAT_INIT*&---------------------------------------------------------------------**Initialization fieldcatalog DEFINITION OF HEADING.*Fieldnames and ref_fieldnames MUST be UPPER CASE !!*----------------------------------------------------------------------**-->p1text*<--p2text*----------------------------------------------------------------------*FORM fieldcat_init.DATA:l_fieldcat TYPE slis_fieldcat_alv.*---------------------------------------------------------------------**general fields selected**---------------------------------------------------------------------*DEFINE alv_fieldcat.l_fieldcat-tabname=&1.l_fieldcat-fieldname=&2.l_fieldcat-key=&3.l_fieldcat-ref_fieldname=&4.l_fieldcat-ref_tabname=&5.l_fieldcat-reptext_ddic=&6.l_fieldcat-no_out=&7.l_fieldcat-no_zero=&8.l_fieldcat-outputlen=&9.append l_fieldcat to i_gt_fieldcat.END-OF-DEFINITION.alv_fieldcat'gt_outtab''BUKRS''''''''公司'''''4.alv_fieldcat'gt_outtab''CKRQ''''''''参考日期'''''10.alv_fieldcat'gt_outtab''KUNNR''''''''客户'''''10.alv_fieldcat'gt_outtab''NAME1''''''''客户名称'''''36.alv_fieldcat'gt_outtab''AKONT''''''''科目编号'''''12.alv_fieldcat'gt_outtab''AUGO''''''''销售组'''''8.alv_fieldcat'gt_outtab''PAY''''''''付款条件'''''25.alv_fieldcat'gt_outtab''QY''''''''区域'''''25.alv_fieldcat'gt_outtab''ZXIAO''''''''内外销'''''4.alv_fieldcat'gt_outtab''WAERS''''''''币种'''''4.alv_fieldcat'gt_outtab''BGBER''''''''期初余额''''X'15.alv_fieldcat'gt_outtab''ARBER''''''''本期借方''''X'15.alv_fieldcat'gt_outtab''PYBER''''''''本期贷方''''X'15.alv_fieldcat'gt_outtab''BLBER''''''''本期余额''''X'15.alv_fieldcat'gt_outtab''BERA''''''''未来30天以上''''X'15. alv_fieldcat'gt_outtab''BERA0''''''''未来(1~30)天''''X'15. alv_fieldcat'gt_outtab''BERA1''''''''账龄(0~30)天''''X'15.alv_fieldcat'gt_outtab''BERA2''''''''账龄(31~60)天''''X'15.alv_fieldcat'gt_outtab''BERA3''''''''账龄(61~90)天''''X'15.alv_fieldcat'gt_outtab''BERA4''''''''账龄(91~120)天''''X'15.alv_fieldcat'gt_outtab''BERA5''''''''账龄(121~180)天''''X'15.alv_fieldcat'gt_outtab''BERA6''''''''账龄(181~360)天''''X'15.alv_fieldcat'gt_outtab''BERA7''''''''账龄(>360)天''''X'15.ENDFORM."FIELDCAT_INIT*&---------------------------------------------------------------------**&Form EVENTTAB_BUILD*&---------------------------------------------------------------------**text*----------------------------------------------------------------------**-->p1text*<--p2text*----------------------------------------------------------------------*FORM eventtab_build.DATA:l_ls_event TYPE slis_alv_event.CALL FUNCTION'REUSE_ALV_EVENTS_GET'EXPORTINGi_list_type=0IMPORTINGet_events=i_gt_events.*........ADD EVENT AT-USER-COMMAND............................... ......READ TABLE i_gt_events WITH KEY name=slis_ev_user_commandINTO l_ls_event.IF sy-subrc=0.MOVE slis_ev_user_command TO l_ls_event-form.APPEND l_ls_event TO i_gt_events.ENDIF.ENDFORM."EVENTTAB_BUILD*&---------------------------------------------------------------------**&Form USER_COMMAND*&---------------------------------------------------------------------**DYNAMIC CALL FROM THE ALV*----------------------------------------------------------------------**-->p1text*<--p2text*----------------------------------------------------------------------*FORM user_command USING r_ucomm LIKE sy-ucommrs_selfield TYPE slis_selfield.DATA:l_index LIKE sy-index,l_colno TYPE slis_sel_tab_field.DATA:rspar_tab TYPE rsparams OCCURS0WITH HEADER LINE.l_index=rs_selfield-tabindex."LINE I N LISTl_colno=rs_selfield-sel_tab_field."COLUMN HEAD ER*........POSITION THE CURSOR ON A LINE IN THE LIST........... ...........IF l_index LE0.*MESSAGE.........ENDIF.READ TABLE gt_outtab INTO wa_outtab INDEX l_index. CASE l_colno.*........CUSTOMER DISPLAY........................................... ...* WHEN'wa_outtab-KUNNR'.SET PARAMETER ID'KUN'FIELD wa_outtab-kunnr. CALL TRANSACTION'XD03'AND SKIP FIRST SCREEN. WHEN'wa_outtab-BGBER'OR'wa_outtab-ARBER'OR'wa_outtab-PYBER'OR'wa_outtab-BLBER'.CLEAR rspar_tab.REFRESH rspar_tab.CALL FUNCTION'RS_REFRESH_FROM_SELECTOPTIONS' EXPORTINGcurr_report='RFARBALANCE'TABLESselection_table=rspar_tabEXCEPTIONSnot_found=01no_report=02.LOOP AT rspar_tab.CASE rspar_tab-selname.WHEN'SO_KUNNR'.rspar_tab-sign='I'.rspar_tab-option='EQ'.rspar_tab-low=wa_outtab-kunnr.rspar_tab-high=space.WHEN'SO_BUKRS'.rspar_tab-sign='I'.rspar_tab-low=wa_outtab-bukrs.rspar_tab-high=space.WHEN'GP_GJAHR'.rspar_tab-sign='I'.rspar_tab-option='EQ'.rspar_tab-low=wa_outtab-gjahr.rspar_tab-high=space.ENDCASE.MODIFY rspar_tab.ENDLOOP.IF NOT wa_outtab-kunnr IS INITIAL.SUBMIT rfarbalance USING SELECTION-SCREEN'1000' WITH SELECTION-TABLE rspar_tabAND RETURN.ENDIF.WHEN'gt_outtab-BERA0'OR'gt_outtab-BERA1'OR'gt_outtab-BERA2'OR'gt_outtab-BERA3'OR'gt_outtab-BERA4'OR'gt_outtab-BERA5'OR'gt_outtab-BERA6'OR'gt_outtab-BERA7'.CLEAR rspar_tab.REFRESH rspar_tab.CALL FUNCTION'RS_REFRESH_FROM_SELECTOPTIONS' EXPORTINGcurr_report='RFITEMAR'TABLESselection_table=rspar_tabEXCEPTIONSnot_found=01no_report=02.LOOP AT rspar_tab.CASE rspar_tab-selname.WHEN'DD_KUNNR'.rspar_tab-sign='I'.rspar_tab-option='EQ'.rspar_tab-low=wa_outtab-kunnr.rspar_tab-high=space.WHEN'DD_BUKRS'.rspar_tab-sign='I'.rspar_tab-option='EQ'.rspar_tab-low=wa_outtab-bukrs.rspar_tab-high=space.WHEN'X_OPSEL'.rspar_tab-sign='I'.rspar_tab-low='X'.rspar_tab-high=space.WHEN'X_NORM'.rspar_tab-sign='I'.rspar_tab-option='EQ'.rspar_tab-low='X'.rspar_tab-high=space.WHEN'PA_STIDA'.rspar_tab-sign='I'.rspar_tab-option='EQ'.rspar_tab-low=p_ckrq.rspar_tab-high=space.ENDCASE.MODIFY rspar_tab.ENDLOOP.IF NOT wa_outtab-kunnr IS INITIAL.SUBMIT rfitemar USING SELECTION-SCREEN'1000' WITH SELECTION-TABLE rspar_tabAND RETURN.ENDIF.ENDCASE.ENDFORM."USER_COMMAND*&---------------------------------------------------------------------**&Form CALL_ALV*&---------------------------------------------------------------------**text*----------------------------------------------------------------------**-->p1text*<--p2text*----------------------------------------------------------------------*FORM call_alv.IF cb_zero eq'X'.DELETE gt_outtab WHERE arber=0AND pyber=0AND blber=0AND bgber=0AND bera=0AND bera0=0AND bera1=0AND bera2=0AND bera3=0AND bera4=0AND bera5=0AND bera6=0AND bera7=0.ENDIF.DATA:l_excluding TYPE slis_extab.i_gs_layout-colwidth_optimize='X'.CALL FUNCTION'REUSE_ALV_GRID_DISPLAY'EXPORTINGi_callback_program=v_gt_repidis_layout=i_gs _layoutit_fieldcat=i_gt_f ieldcatit_excluding=i_gt_ex cludingi_default='X'i_save=' A'is_variant=v_gt_ variantit_events=i_gt _eventsTABLESt_outtab=gt_ outtabEXCEPTIONSprogram_error=1OTHERS=2.ENDFORM."CALL_ALV*&---------------------------------------------------------------------**&Form GET_BASE_DATA*&---------------------------------------------------------------------**text*----------------------------------------------------------------------**-->p1text*<--p2text*----------------------------------------------------------------------*FORM get_base_data."取基础数据SELECT a~bukrs a~kunnr b~name1akont vkorg waersINTO CORRESPONDING FIELDS OF TABLE gt_custFROM knb1AS aINNER JOIN kna1AS b ON b~kunnr=a~kunnrLEFT JOIN knvv AS d ON a~kunnr=d~kunnrWHERE a~kunnr IN s_kunnrAND a~bukrs eq p_bukrsAND b~ktokd IN s_ktokdAND a~akont IN s_akont.DELETE gt_cust WHERE vkorg eq'1002'."1000工厂的销售组织停用SORT gt_cust BY kunnr.DELETE ADJACENT DUPLICATES FROM gt_cust COMPARING kunnr. ENDFORM."GET_BASE_DATA*&---------------------------------------------------------------------**&Form CHECK_AUTH*&---------------------------------------------------------------------**text*----------------------------------------------------------------------**-->p1text*<--p2text*----------------------------------------------------------------------*FORM CHECK_AUTH.AUTHORITY-CHECK OBJECT'F_FAGL_LDR'。

相关文档
最新文档