EBS中二次开发FSG报表2(SQL)
环境: EBS R12, jasperreport, iReport
以资产负债表为例描述下EBS中二次开发FSG报表。
1,定义FSG报表(网上资料很多)
Responsibility: GL
定义Row Set -> 定义Column Set -> 定义FSG Report
Row Set:按顺序定义好各个Row Name(Line Items),可以使用Account Assignments或者Caculations;一般Account Assignment在Account段变化,其最小值和最大值的变化会关联到GL_COMBINATIONS_CODE和GL_BALANCES表中;Caculation会引用序号比自己小的Row,当Low和High相同时指定为当Row。
Column Set:一般可以不定义Caculations和Account Assignments,这些在Row Set中已经定义好;选择合适的Amount Type,比如:年初数(BAL-Actual (FY Start)),期末数(YTD-Actual)。
2,定义一个Package,将report中需要的数据保存到一个临时表里,这里的关键是FSG报表计算的结果数据如何使用SQL实现,这里参考了xiedongwen的帖子,并在R12上通过。
下面给出CURSOR定义,指定了四个参数:ledger, legal entity, period, row set。SQL中使用动态取得的ledger对应的COAt的每个段的最小和最大值,当Row Set中的某个段为空的时候,动态设置为最小和最大值。
ROW_NAME1LINE_NO1FY_START_ACTUAL1YTD_ACTUAL1ROW_NAME2LINE_NO2FY_START_ACTUAL2YTD_ACTUAL2CORPARATIONROW_SEQREPORT_DATEREQUEST_IDCREATED_BYCREATION_DATE流动资产:1 流动负债:36 有限公司12012年12月31日60804719311/28/2013 12:15货币资金2100000021010000短期借款37 -210000有限公司22012年12月31日60804719311/28/2013 12:15 3 38 有限公司32012年12月31日60804719311/28/2013 12:15应收票据4 10000000应付票据39 30000有限公司42012年12月31日60804719311/28/2013 12:15 这样表中已经将数据保存好,iReport中的工作就非常简单了,下面就不介绍了。
资产负债表:
http://baike.baidu.com/view/16173.htm
http://www.dongao.com/zjzcgl/fdzl/201210/86836.shtml
http://www.itpub.net/thread-1163664-1-1.html