Oracle Account Generator Technical Brief
Oracle Account Generator Technical Brief
Oracle Account Generator Technical Brief
Contributors Position
Andrew Senior Product
Pettinella Analyst
Eileen R. Product
Wexler Analyst
Kathryn J. Sr. Principal
White Support
Analyst
Date Author Version Change Reference
9/20/1998 Andrew Pettinella 1 Completed document, now
using template
12/1/1998 Andrew Pettinella 1.1 Added Appendix C, case study
on customization
1/13/1999 E. Wexler 1.2 Added detailed instructions
and moved Appendix C into
body of document
1/20/1999 E. Wexler 1.3 Added examples D, E and F
1/29/1999 E. Wexler, A. 1.4 Added Appendix C for log files
Pettinella and scripts
6/16/2019 K. White 1.5 Update document generally,
add comments relative to use
in later versions than 11i.
Contents
Introduction
In an R12 Install………………………………………………………………………………………………………….4
Processes
Process Definition..…………………………………………………………………………………………………….5
Process Activity…...…………………………………………………………………………………………………….5
Items…………………...…………………………………………………………………………………………………….5
Function……………...…………………………………………………………………………………………………….5
Example A: Changing the Value of a Segment for all Book Level and
Accounts………………………………………………………………………….……………………………………….17
Objective
This technical brief assists the novice Workflow user in using Account Generator for the
generation of accounting code combinations within Oracle Assets. We expect users to have
knowledge of Oracle Assets, flexfield definitions, and a working knowledge of Oracle
Workflow. Account Generator builds the general ledger account combinations used to
generate the general ledger journals by Oracle Assets. It is the default accounting engine in
version 11i and can be used, although is not recommended for use, in Release 12 versions.
It allows you to designate a specific source for each segment in the account for which Oracle
Assets creates a journal entry. The Account generator gives you the flexibility to create
journal entries according to your requirements. You can specify to what detail to create
journal entries, as well as the detail level for each book and account type.
The Account Generator in Oracle Assets utilizes Oracle Workflow. You can view and customize
Account Generator processes through the Oracle Workflow Builder.
SLA is the R12 core functionality for account generation. You should make every effort to implement it,
and only it, when possible. Here are issues you should expect to encounter if you opt to use Account
Generator as well for any period of time:
Also, you will be unable to take advantage of two of SLA's most powerful and attractive features if you
use Account Generator Workflow:
-- SLA has a user front end, no sql coding is required to use it. This makes it much easier to maintain.
-- SLA is dynamic. Any change you make to it will be picked up immediately and applied to all assets as
they generate their next accounts. This contrasts with Account Generator, which generates accounts
and then stores them, so that changes such as a new natural account on the Proceeds of Sale account
setup will only be automatically applied to new assets. Old assets would need to be forced through
Account Generator via something like a location transfer to pick up that change.
It is highly recommended that you use SLA in R12 only, and not continue to use Account Generator
Workflow. If you are upgrading you can opt to enable Workflow for a period of time, to allow you to
convert to SLA sometime after you complete the upgrade.
To enable Workflow on R12 installs, set the profile FA: Use Account Generator Workflow to Yes at the
Assets level. When you ready to move to using SLA only, change the profile value to No.
Definitions
Processes
Process Definition
Process Activity
Items
Function
The table below defines where each segment derives its account detail. For instance, the
Company segment derives its value from the Distribution CCID, which is the accounting
flexfield combination noted on the Assignments Screen. The depreciation account is derived from the
Distribution CCID entered in the Assignments form.
Note that these defaults are consistent with the defaults for SubLedger Accounting (SLA), the primary
option for creating account code combinations in R12 and later releases.
Sample segment structure, for example purposes only, which will be used as the example throughout
this paper:
The Generate Default Account process incorporates the three other processes:
The type of account you want to build determines which process you need to modify. For example, if
you want to modify an account driven by the category level (i.e., defined in the asset categories form),
you must use the Generate Category Level Account process.
There are three classes of Asset Books:
Corporate
Tax
Budget
Please reference the Assets User Guide if you are not familiar with these types; that information will not
be provided in this document. It is assumed herein that the user is familiar with basic asset functionality
including how to set up and use the various book types.
In a default scenario, all three use the same flow to build code combinations. That does not mean that
the combinations built will inevitably be the same, but that they will be as alike as possible except that
the books may have access to different information. It is worth noting that distributions (the
combination of code combination, location and – if used – employee) are shared across books, but
certain source information may not be passed. One example is source lines, that information is available
only in the Corporate book, so some clearing accounts in tax books, for example, can be different from
their related corporate book.
The following table lists all Account Generator Processes and the names of the Accounts that each
process generates:
Note that we are not discussing Intercompany Accounting in this document. As of Release 12, control of
all inter and intra company account building lies within the General Ledger and SubLedger Accounting
setups, please see the Financials Implementation Guide for details on required setups.
Viewing Assignment Information in the Application
The following screen shots show where the standard default structure information is visible to the user.
The segment in the Chart of Accounts (COA) that has Balancing Segment as its identifier defaults from
the expense code combination on the asset, as visible in the Assignments screen. Note that assets can
have multiple distributions, and thus, multiple assignments, just as they can have multiple units.
The Generate Default Account Process is among the most important processes. Using Oracle Workflow
Builder, enter the Navigator window. Navigate to FA Account Generator/ Processes/ Generate Default
Account. The Generate Default Account screen will open as shown below.
The generate default account process above is a graphical representation of the Account Generator
process. The first icon on the left, labeled “Start Generating Code Combination,” represents the start
process. It leads to the “Get Account Group” icon, which determines the type of account being
generated according to the nature of the account. You can see that three different types of accounts can
be generated in this example: Book Level Accounts, Category Level Accounts, and Asset Level Accounts.
To determine which process your account belongs to, refer to the table given previously. For example,
the Cost Account is a Category Level Account. Therefore, it adopts the “Generate Category Level
Account” path. If you double click on the Generate Category Level Account icon, you will see the process
involved in generating this type of account.
The Generate Category Account Level Process
Once you double click on the Generate Category Level Account icon, the Generate Category Level
Account screen opens as shown below:
For all default accounts that are Category Level Accounts, the following four functions appear as icons:
Balancing Segment from Distribution CCID - This icon represents the balancing segment, which is derived
from the Distribution CCID noted on the Assets Assignments form.
Cost Center from Default CCID - The cost center is derived from the default ccid noted in the Natural
Accounts alternate region of the Book Controls form. The Book Controls form is where the asset
corporate book is defined.
Account Value to Account Segment - This icon denotes the account mapping. For instance the Asset
Clearing Account comes from the Asset Categories form, while the Proceeds of Sale Clearing Account
comes from the Book Controls form.
Unqualified Segments from Default CCID - This icon is where the other segments (not including the
balancing segment, cost center and account segments) derive their values.
Defining functions as icons and item types. If you double click on the “Cost Center from Default CCID”
icon, the Oracle Workflow Navigator Control Properties screen will appear. Here you can see a variety of
things about this node. The function tab gives information about the actual function being called by this
node, the Node tab allows you to modify/control descriptions, and the Node Attributes gives specifics
about what is being done in that Node, as follows:
Each process item has a number of attributes that can be selected and altered from the Control
Properties screen. From the pulldown menu labeled “Select Attribute,” you can choose which particular
item you need to alter.
Determining How An Account Defaults. We want to understand how the Asset Cost Account defaults,
using the Generate Category Level Account process. The Chart of Accounts has five segments, three of
which are qualified segments: Company (segment 1), Cost Center (segment 2), and Account (segment 3).
The other two segments are unqualified segments. The sample asset has had its Depreciation Expense
Account provided by the user when it was created, as below:
Building the Account. The Asset Cost Account must be derived from values entered in the Book Controls
form as well as the Asset Categories form and the Assignments form. We derive the three segment
values:
This process will work this way for all Category Level accounts except the Asset Cost Clearing Account
and the CIP Cost Clearing Account. These accounts will only use the Account Generator or SubLedger
Accounting setup if:
For mass additions, the clearing account comes from your source system. When you add an asset using
mass additions, Oracle Assets clears the asset clearing or CIP clearing account to which your payables
system, or other source system, charged the asset in your corporate book, without using the Account
Generator. This applies to assets created through Web ADI’s Additions Integrator as well, since they
pass through Mass Additions.
The Segment attribute denotes which segment is being defined. In the example below, we see the value
is set to FA_COST_CTR. This means that the Cost Center segment is the one defined in this process.
Unqualified segments are those segments in addition to the mandatory Balancing Segment, Cost Center
and Account Segments. You can have any number of unqualified segments, for the purposes herein we
are using two of them as examples.
You may notice that your labels are marked with different names. For instance, the Balancing Segment
from Distribution CCID icon may be labeled “Copy Segment Value from Code Combination.” If you
screen does not appear labeled as the above example, you can change the icon labels as follows:
Right click in the white space of the Generate Category Level Account screen.
A menu will appear. Choose “SHOW LABEL” and its submenu “COMMENT.”
Your icon will now appear labeled as it does above.
To change the icon labels again, right click in the white space of the screen.
From the menu, choose “SHOW LABEL” and its submenu “DISPLAY NAME”
You will see the name of the icon appear as originally displayed.
ACCOUNT GENERATOR CUSTOMIZATION
Example A: Changing the Value of a Segment for all Book Level and Category Level Accounts.
Problem. We want to change the Cost Center detail from the Default CCID to the Distribution
CCID for all Book Level Accounts and Category Level Accounts.
Steps.
Double click on the Generate Book Level Account process. The Generate Book Level Account
screen will appear.
In the Generate Book Level Account screen, double click on the Cost Center from CCID icon. The
Control Properties screen will appear.
Select the Node Attributes tab.
Select the Value from “Default CCID” to “Distribution CCID” in the pull down menu that appears.
This step is demonstrated next.
To change the comment, move to the Node tab. In the comment field, change the description
to Cost Center from Distribution CCID.
_____________________________
Problem. We want to specify a different Cost Center segment value for the Asset Cost
Account, a specific type of Category Level Account. The Cost Center segment is derived from the default
for the Asset Cost account, but we will derive the Cost Center segment from the Distribution CCID. Asset
Level Accounts and Book Level Accounts will continue to have their Cost Center segment derived from
the Default CCID as expected, and all other Category Level Accounts (other examples are listed in Table
1.1) will also continue to have their Cost Center segment derived from the Default CCID.
Solution. For the Category Level Account called Asset Cost, we will create a new process path that
designates a different value for the Cost Center segment to derive its value. All other accounts will use
the default path to specify their Cost Center segment values.
Steps.
Double click on Generate Default Account to open the Generate Default Account screen. We
need to modify the Cost Center segment of all of the Category Level Accounts.
Double click on the Generate Category Level Account process. The Generate Category Level
Account screen will appear.
Change the function labels from “Name” to “Comment”. Right click in the white space of the
Generate Category Level Account screen, then choose Show Label/Comment from the menu.
Now, you will add two new functions to the Generate Category Level Account process. In the
Navigator window, navigate to FA Account Generator/Standard Flexfield Workflow/Functions.
Note that one function listed under this section is “Copy Segment Value from Code
Combination.”
In the Navigator window, click and hold down the mouse on the words “Copy Segment Value
from Code Combination” and drag the mouse to the Generate Category Level Account screen.
Release the mouse button, and you will see a new instance of this function. Create two
instances.
Change the function labels from “Comment” to “Name.” Right click in the white space of the
Generate Category Level Account screen, then choose Show Label/Display Name from the menu
(as shown earlier).
Reposition the two icons created in Step 7 so that one is directly above the “Balancing Segment
from Distribution CCID” icon and the other is directly above the “Cost Center from Default CCID”
icon.
Double click on the icon now located directly above the “Cost Center from Default CCID” icon.
When the pop up screen appears, select the Node tab and enter the comment “Make the Cost
Account = Distribution CCID.”
Double click on the icon now located directly above the “Balancing Segment from Distribution
CCID” icon. When the pop up screen appears, select the Node tab and enter the comment
“Balancing Segment from Distribution CCID.”
Position the mouse on the “Get Category Account Name” function icon and right click. As you
continue to hold down the right mouse button, move the mouse to the new icon which you
commented to be “Balancing Segment from Distribution CCID.” You will see a new path line
appear to connect the two icons as you drag your mouse across the screen.
When you link the two icons, you will be presented with a drop down list of category account
names. Choose Asset Cost.
Create another path to connect the two new icons: Position the mouse on the new “Balancing
Segment from Distribution CCID” icon and right click. As you continue to hold down the right
mouse button, move the mouse to the “Make the Cost Account = Distribution CCID” icon.
Create another path to connect the “Make the Cost Account = Distribution CCID” icon and the
“Account Value to Account Segment” icon.
Modify the attribute values of the two new icons. Double clicking on an icon will open the
Control Properties screen, from which you may choose the Attribute Values tab. The Attribute
Values are listed in the tables below:
Example:
You will notice that there are now three paths. If a code combination is being generated for the asset
cost, it will follow the top path. Bonus accounts still follow the upper path. All other accounts will be
generated via the lower (default) path. This is shown with Node Comments displayed, as that makes it
easier to see what the new nodes are designed to do:
Example C: Specifying a different value for a segment based on book
Problem. We want to set up our book such that the Cost Center segment is derived from the
Distribution CCID in the Corporate Book. However, the Cost Center segment is derived from the default
CCID in the Budget Book or Tax Book.
Solution.
Steps.
Download the FA Account Generator file from the Database.
From the Navigator window, navigate to FA Account Generator/Lookup Types.
Create a new Lookup Type.
o In the Navigator, place the cursor on the line labeled “Lookup Types” and select it.
o From the Edit menu, choose New/Lookup Type.
o When the Oracle Workflow Navigator Control Properties screen appears, enter:
a. Internal Name = BOOK_TYPE_CODE
b. Display Name = Books
c. Description = Book Type Code
Choose the OK button
In the Navigator, place the cursor your new Lookup Type, “Books”, and right click.
Choose New Lookup Code.
When the Oracle Workflow Navigator Control Properties screen appears, you will see that the
Lookup Type is already of type Books. Enter the following and choose OK to save:
· Internal Name = CORPORATE
· Display Name = SAMPLE BOOK
· Description = Sample Corporate Book
From the Edit menu, choose New/Lookup CODE again.
When the Control Properties screen appears, you will see that the Lookup Type is already of
type Books. Enter the following and choose OK to save:
· Internal Name = TAX
· Display Name = SAMPLE TAX BOOK
· Description = Sample Tax Book
Assign the Result Type, a predefined Lookup Type. Result Types list the possible results returned
by this activity. (Note: Your workflow diagram may sometimes branch depending on the value
returned by your completed activity.) Navigate to FA Account Generator / Functions/ Get Book
Type Code and double click on “Get Book Type Code.” When the Control Properties screen
appears, change Result Type by selecting Books from the pulldown menu.
Note: If the Result Type is grayed out and you do not have access to change it, cancel out of the Control
Properties screen, navigate to the menu bar and select Help/About Oracle Workflow Builder. Change
your access level to an integer less than 100, then press OK. You may now change the Result Type as per
the instructions.
Position the mouse on the “Cost Center from the Distribution CCID” function icon and right click.
As you continue to hold down the right mouse button, move the mouse to the new icon named
“Account Segment from the Book Control.” You will see a new path line appear to connect the
two icons as you drag your mouse across the screen.
Position the mouse on the “Book Type Code” function icon and right click. As you continue to
hold down the right mouse button, move the mouse to the new icon named “Cost Center from
Default CCID.” You will see a new path line appear to connect the two icons as you drag your
mouse across the screen. When you release, a menu will appear. Select Default. This means that
all other Book Type Codes will use this Default.
Position the mouse on the “Book Type Code” function icon and right click. As you continue to
hold down the right mouse button, move the mouse to the new icon named “Cost Center from
Distribution CCID.” You will see a new path line appear to connect the two icons as you drag
your mouse across the screen. When you release, a menu will appear. Select SAMPLE
CORPORATE BOOK.
Position the mouse on the “Cost Center from Default CCID” function icon and right click. As you
continue to hold down the right mouse button, move the mouse to the new icon named
“Account Segment from Book Control.” You will see a new path line appear to connect the two
icons as you drag your mouse across the screen. Once you reposition your icons, the end result
should appear similar to the picture show below:
Problem. We want to build accounting flex combinations where the Asset Cost segment, a Category
Level Account, is dependent on the value stored in a descriptive flexfield. For instance, we may have
three different types of Additions: New Additions, Late Additions, and Intercompany Additions. We want
to store the type of addition in the descriptive flexfield, then have Account Generator create the
corresponding accounting flex combinations based on the Addition type.
Solution. Since we are varying Asset Cost, we must be working with a Category Level Account (see Table
1.1). We will create two attributes: Distribution ID and Account Value Segment. Then, Distribution ID will
be passed into a customized PL/SQL function.
The PL/SQL function takes the Distribution ID and determines the value of the account segment that is
required to build the proper accounting flex combination based on the information in the descriptive
flexfield. For instance, if the PL/SQL function identifies that an addition of type NEW is stored in the
descriptive flexfield, it will return some value x. If a LATE addition is stored, then it will return some
value y.
This return value will be used to populate the Account Value Segment, which is the other attribute that
we specified. The Account Value Segment can then be used to create the appropriate accounting flex
combination.
Steps.
From the Navigator window, navigate to FA Account Generator/ Functions and highlight the
word “Functions.”
Create a new function. With Functions selected in the Navigator window, go to the Edit menu
and choose New/ Function. The Control Properties screen should appear.
In the Control Properties screen, enter the following:
o Internal Name = GET_DESC_ACCT
o Display Name = Get Account Information
o Description = Get Account Information
o Function = <the name of the PL/SQL function> of type PL/SQL
o Result Type = None
Press OK to create the new function “Get Account Information.”
Note: The PL/SQL function must be written such that it takes a parameter DISTRIBUTION_ID and returns
the appropriate value for the account based on what information is located in the descriptive flexfield.
From the Navigator window, notice that the new function “Get Account Information” is now
listed under FA Account Generator/ Functions. Highlight the words “Get Account Information.”
Add an attribute to the Get Account Information function. With “Get Account Information”
selected in the Navigator window, go to the Edit menu and choose New/ Attribute. The Control
Properties screen should appear.
In the Control Properties screen, enter the following:
· Internal Name = DISTRIBUTION_ID
· Display Name = DISTRIBUTION_ID
· Description = Distribution ID
· Type = Number
· Default Values = Item Attribute, Distribution ID
Press OK to create the new attribute “Distribution ID” for the “Get Account Information”
function. DISTRIBUTION_ID will then be listed as an attribute in the Navigator window, as shown
below:
Add another attribute to the Get Account Information function. With “Get Account Information”
selected in the Navigator window, go to the Edit menu and choose New / Attribute. The Control
Properties screen should appear.
In the Control Properties screen, enter the following:
· Internal Name = ACCOUNT_VALUE_SEG
· Display Name = ACCOUNT_VALUE_SEG
· Description = Account Value Segment
· Type = Text
Press OK to create the new attribute “Account Value Segment” for the “Get Account Information “
function. Account Value Segment will then be listed as an attribute in the Navigator window,
Now that the function is created and its attributes are defined, return to the Generate
Category Level screen to construct the process.
Change the function labels from “Name” to “Comment”. You can right click in the white
space of the Generate Category Level Account screen, then choose Show Label/Comment
from the menu or choose the Comment icon in the TaskBar.
Now, you will add the new function to the Generate Category Level Account process. In the
Navigator window, navigate to FA Account Generator/Functions to locate the “Get Account
Information” function.
In the Navigator window, click and hold down the mouse on the words “Get Account
Information” and drag the mouse to the Generate Category Level Account screen. Release
the mouse button, and you will see a new instance of this function. Place the new icon
directly above the path between the “Cost Center from Default CCID” icon and the “Account
Value to Segment” icon, as shown below:
Highlight the path that connects the two function icons “Cost Center from Default CCID” and
“Account Value to Account Segment.” Push the delete key to delete this path. You will insert the
new “Get Account Information” function icon in between these two icons.
Position the mouse on the “Cost Center from Default CCID” function icon and right click. As you
continue to hold down the right mouse button, move the mouse to the new icon named “Get
Account Information.” You will see a new path line appear to connect the two icons as you drag
your mouse across the screen.
Position the mouse on the “Get Account Information” function icon and right click. As you
continue to hold down the right mouse button, move the mouse to the new icon named “Assign
Value to Segment.” You will see a new path line appear to connect the two icons as you drag
your mouse across the screen.
When you have completed all of the steps, the end result should appear something like this:
Account Generator Basics
Introduction
This script assists in diagnosing problems in concurrent processes that fail due to account generation.
The output from this script gives the user two pieces of information: the code combination that was
attempted to be built and a reason why it is not able to build the code combination.
Oracle Assets is delivered with this SQL*PLUS test script. It is called faxagtst.sql.
Problem Explanation
When running depreciation in 11i, or Create Accounting in R12 if you use Account Generator, you may
find that it completes with Error.
In 11i, if the problem relates to Account Generator, you will notice the following in the Log File:
Depreciation Program Exception Report
ccid sent to fadoflx from fadosgl is: 19739
dist_ccid in fadoflx is: 19739
h_book_type_code = INSURANCE
account_type = ASSET_COST_ACCT
account = 1520
APP-48208:
Dist CCid has the value of 19739.
APP-48208:
h_rtn_ccid has the value of -1.
Concat segs =
Error: function fafbgcc returned failure (called from fadoflx)
Getting account CCID
Error: function fadoflx returned failure (called from fadosgl)
Error: function fadosgl returned failure (called from faxinaj)
Error: function faxinaj returned failure (called from fadcje)
In R12, if the problem relates to Account Generator, the Create Accounting error will be very generic:
In either case, Support may request the output of faxagtst.sql. In 11i, refer to Account Generator is
Failing, How Can the FAXAGTST.SQL Be Used to Help Find Out What Is Wrong? (Doc ID 1062849.6) for
assistance with determining the values for all 7 parameters. In R12, Support is likely to ask for a copy of
your Workflow file and for you to find a sample affected asset and provide the outputs of the concurrent
request Generate Asset Trace for that asset. After that, Support may then ask for the output of
faxagtst.sql, and can provide insight into the 7 parameters.
The following is generated when you run the script. At the bottom of the script you will notice
the following:
The script will tell you if Dynamic inserts is set to YES.
The script will note the code combination it is trying to build.
The script will also give a reason why it is unable to build the combination.
VALIDATION_TYPE = GENERATE_CCID
DYNAMIC_INSERTS_ALLOWED = TRUE
INSERT IF NEW COMBINATION = FALSE
FND_FLEX_SEGMENT1 IS 01
FND_FLEX_SEGMENT2 IS 740
FND_FLEX_SEGMENT3 IS 1520
FND_FLEX_SEGMENT4 IS 0000
FND_FLEX_SEGMENT5 IS 000
CONCATENATED SEGMENTS TO BE VALIDATED IS 01-740-1520-0000-000
VALIDATION FAILED
START FND_FLEX_WORKFLOW_APIS.END_GENERATION
PROCESS STATUS IS
PROCESS RESULT IS SUCCESS
CCID IS 0
CONCATENATED SEGMENTS IS
CONCATENATED ID IS
CONCATENATED DESCRIPTIONS IS
VALIDATION_STATUS IS INVALID
NEW COMBINATION IS FALSE
ERROR MESSAGE IS FND
FLEX-COMBINATION DISABLED
Failed to Generate CCID
Segments :