应收账款账龄分析表格式
- 格式:doc
- 大小:16.00 KB
- 文档页数:1
⼀、概述 对应收和应付项⽬进⾏账龄分析,是企业财务⼯作必须进⾏的⼀项内容。
有⼀部分⽤户的⽤友总账系统中不包括应收账款和应付账款管理模块,因此账龄分析⼯作只能依靠备查账簿进⾏⼈⼯分析。
当应收和应付项⽬业务量庞⼤时,传统⼈⼯分析⽅法的⼯作效率和准确性均会受到⼀定程度的影响。
⽤友总账系统内存储应收、应付项⽬及其明细科⽬的明细账,通过分析⽤友总账系统应收、应付管理模块的基本原理,可以开发外部辅助程序实现账龄分析,并同时实现应收、应付项⽬管理。
⼆、账龄分析功能的基本实现⽅法 由于应收项⽬的基本原理与应付项⽬相同,下⾯以应付账款为例,说明账龄分析功能的基本实现⽅法。
假设财务报表应付账款的账龄分成四个时间段,即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年以内的⾦额。
2015年全国会计专业技术中级资格考试内部资料
财务管理
第七章 营运资本管理
知识点:应收账款的监控(二)——账龄分析表● 详细描述:
优点:比应收账款周转天数更能揭示应收账款变化趋势,因为账龄分析表给出了应收账款分布的模式,而不仅仅是一个平均数。
假定信用期限为30天,表7-4的账龄分析表反映出30%的应收账款为逾期账款。
表7-4 账龄分析表
例题:
1.账龄分析表比计算应收账款周转天数更能揭示应收账款的变化趋势。
()
A.正确
B.错误
正确答案:A
解析:账龄分析表比计算应收账款周转天数更能揭示应收账款的变化趋势,因为账龄分析表给出了应收账款分布的模式,而不仅仅是一个平均数。
账龄(天)
应收账款金额(元)占应收账款总额的百分比(%)0-30
175********-60
3750001561-90
2500001091以上
1250005合计
2500000100。
应收账款账龄分析做过财务的人都清楚我们的软件里也设有对应收账款的账龄的分析,但是好多企业都没有对账龄分析的好的财务软件,就像是我们的财务软件里面没有固定资产模块,可以自动计提折旧一样,我们只好用函数和一些别的方法来实现对于应收账款账龄的分析了,下面要用到的是数据透视表来做账龄分析表。
求和项:金额列标签行标签1-3061-90>121总计李四1500015000刘明60006000马二40004000王五30003000张海7000070000张三500000500000总计5100007300015000598000看到如此规范的一个账龄分析表,你可能只在财务软件里看到过,现实工作当中我利用了三个技巧,将此表做好。
①数据自动获取(OFFSET函数)②数据自动刷新(VBA)③数据组合(将账龄分好)第一步:单击任何一个单元格,点击“公式”-“定义名称”,如下图在引用位置输入offset函数,定义名称为“动态数据”,修改引用位置=offset(Sheet1!$A$1,0,0,counta(Sheet1!$A:$A),counta(Sheet1!$1:$1))这个引用位置公式是利用了offset的一个用法,“Sheet1!$A$1”表示起点第一个单元格;第一个0表示向下0行;第二个0表示向右0列;counta(Sheet1!$A:$A)表示有几行,选中第一列就可以,但是需要注意的是第一列不能有空单元格,否则会出现错误;counta(Sheet1!$1:$1)表示有几列,选中第一行就知道有几列了,同样不能有空单元格。
(注:OFFSET函数,有如下两种用法①OFFSET(起点,向下几行,向右几列)②OFFSET(起点,向下几行,向右几列,多少行,多少列)第一个用法是获取某个动态单元格,第二个用法是获取某个动态区域)第二步:要想实现数据的自动刷新就要借助VBA了,先要根据获取的动态数据插入一个数据透视表,然后再实现VBA的使用。
应收账款账龄分析表模板应收账款是企业收入来源中最重要的部分,它包括应收账款、折扣、其他应收款项等,可以通过应收账款账龄分析表来监控企业的财务状况。
本文的目的是提供一个应收账款账龄分析表模板,方便企业对其应收账款进行分析。
首先,应收账款账龄分析表的模板可以包括如下表格:应收账款账龄分析表 (月份)根据月份划分应收账款 | < 0个月 | 0-3个月 | 4-6个月 | 7-12个月 | 12个月以上应收账款余额 | | | ||每年过期应收账款 | | | | |本表表明,应收账款按照不同的月份划分,分别有0-3个月,4-6个月,7-12个月和12个月以上,这样可以清楚的看出应收账款的情况。
其中,“应收账款余额”指的是按月累计应收账款的余额;“每年过期应收账款”指的是每年到期应收账款的余额。
其次,应收账款账龄分析表可以按照以下步骤填写:1.首先,以当月为起点,按照0-3个月、4-6个月、7-12个月和12个月以上的顺序,计算应收账款余额。
2.然后,将每个月的应收账款余额累加起来,计算每年的应收账款余额。
3.最后,将统计出的应收账款余额和过期应收账款余额填入表格,完成应收账款账龄分析表的模板填写。
通过填写应收账款账龄分析表,企业可以了解不同期限应收账款的情况,及时发现回收困难的应收账款,以及预估信用方面的损失。
此外,应收账款账龄分析表可以帮助企业约束客户付款行为,比如可以根据不同期限应收账款的余额,提前预警客户拖欠账款的情况,以及采取相应的措施,加快应收账款的收款进度。
综上所述,应收账款账龄分析表的模板填写可以帮助企业及时发现回收困难的应收账款,并采取必要的措施,加快应收账款的收款进度,确保企业财务状况稳定。
第1篇一、报告概述本报告旨在对本月公司应收款进行详细分析,通过数据挖掘和对比,揭示应收款管理的现状、存在的问题以及改进建议。
报告内容主要包括应收款总体情况、结构分析、风险分析、对比分析以及改进措施五个部分。
二、应收款总体情况1. 应收款总额本月应收款总额为人民币XX万元,较上月增长XX%,同比增长XX%。
其中,主营业务应收款为人民币XX万元,其他业务应收款为人民币XX万元。
2. 应收账款周转率本月应收账款周转率为XX次,较上月提高XX%,同比增长XX%。
周转率的提高表明公司回款速度加快,资金周转效率提升。
3. 应收账款周转天数本月应收账款周转天数为XX天,较上月减少XX天,同比下降XX%。
这说明公司在缩短应收账款回收周期,提高资金使用效率方面取得了显著成效。
三、应收款结构分析1. 行业分布本月应收款主要集中在XX行业,占比XX%,其次是XX行业,占比XX%。
不同行业的应收账款占比变化较大,需要针对不同行业制定差异化的管理策略。
2. 客户分布本月应收款客户数量为XX户,较上月增加XX户。
其中,重点客户XX户,占比XX%,一般客户XX户,占比XX%。
重点客户应收款总额为人民币XX万元,占比XX%。
3. 账龄分布本月应收账款账龄分布如下:- 1个月以内:XX万元,占比XX%- 1-3个月:XX万元,占比XX%- 3-6个月:XX万元,占比XX%- 6-12个月:XX万元,占比XX%- 12个月以上:XX万元,占比XX%账龄超过3个月的应收账款占比XX%,较上月有所下降,但仍需关注长期应收账款的风险。
四、应收款风险分析1. 信用风险本月发生信用风险事件XX起,涉及金额XX万元。
主要原因是部分客户经营状况不佳,导致应收账款无法按时回收。
2. 操作风险本月发生操作风险事件XX起,涉及金额XX万元。
主要原因是应收账款管理制度不完善,导致部分应收账款未能及时入账。
3. 市场风险本月市场风险主要体现在部分行业景气度下降,导致客户回款能力减弱,应收账款回收周期延长。
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'。