Do you know many financial reports have been written using Oracle's Financial Statement Generator in Oracle EBS since very begining. This is one of robust tool that allows us to create reports which meet user defined criteria. Lets take quick overview of FSG and its usage.
What Are Oracle FSGs?
FSG is short form of Financial Statement Generator.
In brief , is a powerful reporting engine that supports interchangeable report objects, server-based processing for high performance, and report scheduling for efficient use of system resources.
A user defined report that allows for the rollup of GL Account Balances (i.e. combinations of accounting segments â€“GL Code Combinations) into logical groupings for reporting
The FSG allows you to?
- This is End user tool , which enables end business user for financial reporting without any programming
- Most of these reports are oriented toward financial statements
- These are very very easy to use :-)
- Transfer accounting information to a popular spreadsheet if you prefer to use your personal computer for analysis and planning.
- Report on both translated and entered foreign currency amounts.
- Access a wide variety of standard management and accounting reports for the detail information you need, including chart of account listings, journals, general ledgers and trial balances.
- Define the complex financial statements you need to analyse your business,including responsibility reports for business units, profit centres and cost centers.
- The good things is that all these reports run through concurrent manager
- Most important there is no additional setup required
- We can design our reports to meet your business needs
- Design to print directly to MS Excel
- Schedule reports to run directly from the application
â€œYou canâ€™t do what with FSG?â€
- Limited flexibility in formatting
- Access GL balances only - no details
- Minimal security
What are the reports which is based out of FSG Reports
- Financials-P&L, Bal Sht, Cash Flow, Rev/Exp detail, cost center detail
- Auditor Schedules - trial balance mapped to financial stmts
- Income tax workpapers
- Partial trial balances
- Income Statement
What are the FSG Component or Structure
- Row Sets
- Column Sets
- Content Sets
- Row Orders
- Display Sets
- Report Sets
- Description to appear on left hand side
- Define accounting flexfield ranges or summary accounts here
- Define row calculation - total, etc.
What are the Column Set
Column Sets typically define the format and content of the columns in an FSG report
Oracle provides seeded column sets, or you can build your own
Column Set Attributes
-The commonly assumed attributes for a column set are:
-Time period (PTD, QTD, YTD, etc)
-Account type (Actual, Budget or Encumbrance)
-These two elements are defined by an Amount Type
What is Column Set: Proforma
Proforma is an accounting term that refers to an annual fiscal amount that is comprised of actual amounts and budget amounts together.
What is a Content Set?
Content Sets are used to override row/column account assignments and display types to create multiple variations of existing reports
You can generate many similar reports in a single run by using content sets
- Use to â€œexpandâ€ a range to give multiple values on one report OR separate reports for each value in the range
- Override applied separately to each segment in flexfield
What is a Row Order?
- Row Orders are used to control how detail rows are displayed and/or sorted on a report
- Used with Row Set expand and Content Sets
- Allow user to expand detail of a row
- Can display
- Segment value
- Segment description
- List alphabetically or numerically
Report Display Group
- Grouping of rows or columns i.e. â€œhide column 20â€
- Specify a sequence number range from your row set or column set i.e. from 20 to 20
- Used in your display set
Report Display Set
- Assign Display Group(s) to your Set i.e. â€œdisplay column 1, 3, 4â€
- Can assign multiple row and/or column groups to one set i.e. â€œhide column 20â€
- For each assignment, can specify whether to display the values on the report (Display = Yes) or (Display = No)
The Rule of Thumb for FSG
One FSG = One row set + one column set + one content set
Underline technology of FSG?? any guess , C, SQL, Java...
Important to know FSG reports are created from a program written in 'C' code, not from Oracle Reports, as is the case with standard reports. Many modules and tables are used to create reports based on the definition and component of a particular FSG.
What is FSG (Financial Statement Generator) Controller Program?
The FSG (Financial Statement Generator) Controller runs when you generate an FSG with a content set 'Type' set to Parallel. The FSG Controller kicks off the sub requests for the FSG's that are created with the content set.
What is in Backgroundâ€“The FSG Query
As these report are developed in C, it's impossible to break the code, but if you do some trace on you will find , the code is based out of GL balances table, addition to the some other tables which keeps the structure on the front end.
here is the hidden query:
decode(cc.TEMPLATE_ID, NULL, 'N', 'Y'),
nvl(bal.PERIOD_NET_DR, 0) -nvl(bal.PERIOD_NET_CR, 0),
nvl(bal.BEGIN_BALANCE_DR, 0) -nvl(bal.BEGIN_BALANCE_CR, 0),
nvl(bal.PROJECT_TO_DATE_DR, 0) -nvl(bal.PROJECT_TO_DATE_CR, 0),
nvl(bal.PROJECT_TO_DATE_CR, 0) ,
FROM GL_BALANCES bal,
WHERE bal.CODE_COMBINATION_ID= cc.CODE_COMBINATION_ID
AND cc.CHART_OF_ACCOUNTS_ID= 118
AND bal.SET_OF_BOOKS_ID= 1
AND nvl(bal.TRANSLATED_FLAG, 'x')in('Y','N','x')
AND cc.TEMPLATE_IDis NULL
AND ( (nvl(SEGMENT3,'') >= '4001'
AND nvl(SEGMENT3,'') <= '5999')OR (nvl(SEGMENT3,'') >= '6020' AND nvl(SEGMENT3,'') <= '6370') OR (nvl(SEGMENT3,'') >= '6390'
AND nvl(SEGMENT3,'') <= '7250')OR (nvl(SEGMENT3,'') >= '7510' AND nvl(SEGMENT3,'') <= '9100') OR (nvl(SEGMENT3, '') in ('9310','9320')))AND ( (nvl(SEGMENT2,'') >= '000'
AND nvl(SEGMENT2,'') <= '01'))
AND((bal.period_name in ('Jun-07','Jun-07')
AND ((nvl(bal.period_name,'') = 'Jun-07'
AND bal.BUDGET_VERSION_ID= 1111
AND(bal.PERIOD_NET_DR!= 0 or bal.PERIOD_NET_CR!= 0))OR((bal.ACTUAL_FLAG= 'B'
AND bal.BUDGET_VERSION_ID= 1111)OR((bal.ACTUAL_FLAG= 'A')) ))) OR(nvl(bal.period_name,'') = 'Jun-07'
( (bal.ACTUAL_FLAG = 'A'
AND (bal.PERIOD_NET_DR != 0 or
bal.PERIOD_NET_CR != 0))))))
) ) < /P > < /P >
The data is loaded into memory, and then sorted according to report format
How do you define a FSG Report?
Reports are created by specifying a combination of report components (ie Row Set, Column Set, etc). Typically, values specified when defining a report override values specified at the individual component level
The value entered in the Title field will appear at the top of the report
Where to run FSG Reports:
In Oracle EBS Running FSG Reports can be achieved from 3 different ways:
Few more to know
Online Report Requests
You can request FSG reports on-line using only a few keystrokes. For example, you can choose from a list of report sets or predefined reports that Oracle General Ledger displays in a pop-up window. Or, you can create an ad hoc report by selecting from a list of predefined report components.
The Financial Statement Generator Exception Reporting feature allows you to highlight information requiring special attention. You can define the exception criteria and how you want to flag the rows in your report that you want noticed. This makes it easy to choose to display only the exception rows in your reports.
It is possible to construct one report to serve the summary reporting needs of multiple managers. With Responsibility Reporting you can ensure that each level of management spends time reviewing only the necessary level of detail.