Tuesday, February 19, 2013

Financial Statement Generator

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
What you can't do 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
  • Reports
  • Report Sets
redarrow-1Row Set
  • Description to appear on left hand side
  • Define accounting flexfield ranges or summary accounts here
  • Define row calculation - total, etc.
redarrow-1What are the Column Set
  1. Column Sets typically define the format and content of the columns in an FSG report
  2. 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.
redarrow-1What 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
redarrow-1What 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
    • Both
  • List alphabetically or numerically
redarrow-1Report 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
redarrow-1Report 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:
SELECT
nvl(bal.PERIOD_TYPE, ''),
nvl(bal.PERIOD_YEAR, -1),
bal.PERIOD_NAME,
nvl(bal.PERIOD_NUM, -1),
nvl(bal.PERIOD_NUM, -1),
bal.ACTUAL_FLAG,
decode(cc.TEMPLATE_ID, NULL, 'N', 'Y'),
nvl(bal.BUDGET_VERSION_ID, -1),
nvl(bal.ENCUMBRANCE_TYPE_ID, -1),
bal.CURRENCY_CODE,
bal.SET_OF_BOOKS_ID,
nvl(bal.TRANSLATED_FLAG, ''),
nvl(bal.PERIOD_NET_DR, 0) -nvl(bal.PERIOD_NET_CR, 0),
nvl(bal.PERIOD_NET_DR, 0),
nvl(bal.PERIOD_NET_CR, 0),
nvl(bal.QUARTER_TO_DATE_DR,0)-nvl(bal.QUARTER_TO_DATE_CR, 0),
nvl(bal.QUARTER_TO_DATE_DR, 0),
nvl(bal.QUARTER_TO_DATE_CR, 0),
nvl(bal.BEGIN_BALANCE_DR, 0) -nvl(bal.BEGIN_BALANCE_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_DR, 0),
nvl(bal.PROJECT_TO_DATE_CR, 0) ,
nvl(SEGMENT1,''),
nvl(SEGMENT2,''),
nvl(SEGMENT3,''),
nvl(SEGMENT4,''),
nvl(SEGMENT5,''),
nvl(SEGMENT6,''),nvl(SEGMENT7,'')
FROM GL_BALANCES bal,
GL_CODE_COMBINATIONS cc
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.ACTUAL_FLAG= 'B'
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'
AND((bal.ACTUAL_FLAG= 'A')
OR
( (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:
  • Run Financial Reports form
  • Concurrent Manager
    • The name of the request is "Program -Run Financial Statement Generator"
  • ADI’s Request Center
Few more to know
arrow upOnline Report RequestsYou 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.
arrow upException Reporting
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.
arrow upResponsibility Reporting
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.

Oracle EBS Report Manager

dgreybarrow-2 What is Report Manager?
In Oracle EBS "report manager" is a product that has been offered to manage your reporting needs.
Report Manager is basically a secure point-in-time report repository offering centralized management and distribution of reports.
There are different levels of access that you can assign to reports that are generated by the Report Manager.
You can tie these access rights to your department assignments, to employees, or can build your own.
The report manager reports are stored in the database and can be published to a wider audience. The good is that you can manage access/availability to multiple groups of people. This is run as a menu option from the main menu of a specific application (AP, AR, etc.).
dgreybarrow-2Report Manager benefits
  • You can access business information from a central site using a standard browser
  • You can provide that reports are with proper access
  • You can store and distribute ANY type of report or file
  • Preview reports prior to mass distribution
dgreybarrow-2 R12 Report Manager
The Report Manager seeded functions need to be assigned manually by the System administrators to appropriate responsibilities based on the types of reports a user submits and publishes in their job. For example, a system administrator might assign the Financial Report Template Editor and Financial Report Submission functions to an existing General Ledger responsibility already used for submitting Financial Reports by General Ledger users.Report Manager
The seeded Report Manager functions are:
  • Standard Report Submission
  • Security Workbench
  • Repository Management
  • Financial Report Submission
  • Upload File
  • Variable Report Submission
  • Financial Report Template Editor
  • Ad Hoc FSG Submission
  • Define Report Set Publishing Options
  • Report Set Presentation Options
  • Define Request Set Publishing Options
  • Request Set Presentation Options
dgreybarrow-2 Release 12, ADI & Report Manager
In Applications Release 12, WebADI and Report Manager must be used instead of ADI, as client/server ADI is not supported for that release. Also in Release 12 the WebADI functionality for GL is integrated into the standard GL menu structures. These functions are 'Launch Journal Wizard', 'Launch Budget Wizard', and the spreadsheet upload of Currency Rates, via 'Currency Rates Manager'.
dgreybarrow-2 When To Use Report Manager(Implementation consideration)
This is very important to understand when offering to customer for this product. Oracle Report Manager you need to:
  • Provide a centralized report distribution system for point-in-time reports.
  • Submit and publish Financial Statement Generator (FSG), Ad Hoc FSG, Variable Format, and Standard reports to a central repository.
  • Present reports in the repository to information consumers via menu items on the Oracle E-Business Suite Home page or portal.
  • Approve reports before making them available for general viewing.
  • Permit report availability in a future time frame.
  • View spreadsheets or PDF files for further analysis.
  • Secure reports by utilizing three security paradigms: User to Value, custom, and flex field segment.
  • Archive reports for future reference that no longer need to be displayed to report consumers.
  • Publish reports that have been submitted as part of request sets or report sets.
  • Upload any type of file and publish it to a central repository.
  • Reports in the repository can then distributed to the Oracle E-Business Suite home page.