Professional Documents
Culture Documents
What Is FND
What Is FND
com/category/11i/
What is FND_FILE
An API that contains procedures to write text to log and output files which can be viewed
once the Concurrent program get completed in output or log . These procedures can only
be used within PL/SQL Procedures which, are concurrent programs.
utl_file_dir parameter must be set to include the log and out directories for the
applications that will run concurrent requests using FND_FILE
Database owner must have write privileges on those directories
Take a note that FND_FILE supports a maximum buffer line size of 32K for both
log and output files.
FND_FILE.PUT
Useful for writing text to a file without a new line character. Multiple calls will
concatenate the text .
Does not include new line character
FND_FILE.LOG
FND_FILE.OUTPUT
Usage
FND_File.Put(FND_File.Log, ‘This text written to Log file’);
FND_FILE.PUT_LINE
This is used to write a line of text to a file followed by a new line character
Usage
FND_File.Put_Line(FND_File.Out, ‘This text written to Out file’);
FND_FILE.NEW_LINE
FND_File.PUT_NAMES
This is used to sets temporary log and out file names and directory, which normally used
during test and debug phase.
FND_FILE.PUT_NAMES(p_log in varchar2,
p_out in varchar2,
p_dir in varchar2)
Usage
FND_File.Put_Names(‘Order123.log’, ‘Order123.out’,
‘/usr/temp/outfiles’);
Example
BEGIN
fnd_file.put_names('test.log', 'test.out','‘/usr/temp/outfiles’');
fnd_file.put_line(fnd_file.output,'Called stored procedure');
/* add logic, etc... */
FND_FILE.CLOSE
This will closes open files.
Usage:
FND_File.Close;
Sometime you can't understand why user want specific things which really does not have
good cause. The one such case is turning off Horizontal menu in one of the Oracle EBS
forms.
If this is the case, there is no shortcut or profile option, rather you need to take technical
help some who can open the form in Builder.
Here to go:
In the Form Builder, open the property palette for the Form. Highlight the form name.
Right mouse click to open the property palette. There should be listed a menu - the
default menu is default & smartbar. Just Delete this.compile and restore within the
application top of form sub folder.
Once you created and done testing for personalizations in your development/test instance,
you can move them to production instances.
As discussed in last post, Personalization is per Function not per form therefore this can
extracted by the loader on a per-function basis.
You should take a note that upon uploading, all prior personalizations for that function
are first deleted, and then the contents of the loader file are inserted. So be careful..)
you can either Download for a specific form or specfic function of the form. In both the
case same affrmcus.lct is used.
Upload
FNDLOAD <userid>/<password> 0 Y UPLOAD
$FND_TOP/patch/115/import/affrmcus.lct <filename.ldt>
Uasge
Because the architecture has built-in support for all languages, you don’t translate ldt
files, but instead you enter multiple Actions for different languages.
Chapters 2 and 7 of the Oracle Alert User Guide covers Transfers Process.
1. Command to download
Usage
2. Command to upload
Usage
$FND_TOP/bin/FNDLOAD apps/apps 0 Y DOWNLOAD
$ALR_TOP/patch/115/import/alr.lct CMS.ldt
Further Reading
1. What is the difference and theory behind Oracle terminal releases and terminal
patchsets ?
2. What are Critical patch updates ?
3. What is the terminal release after 11.5.10 CU2? or Do you have 11.5.10
CU3/CU4?
Terminal release means that the version specified is the last point release of that product.
For example, the “terminal release 11.5.10” for the 11i E-Business Suite would mean that
there will not be any further releases of 11i after 11.5.10. Specifically, that would mean
there will not be a release 11.5.11 for 11i.
The terminal patchsets means that would the last patchset provide on that particular
release.
Oracle provides critical patch updates (CPUs) to its customers to fix known bugs that are
critical in nature also includes security fixes.
Critical Patch Updates are the primary means of releasing security fixes for Oracle
products:(Adpoted-otn )
Q .What is the terminal release after 11.5.10 CU2? or do you have 11.5.10 CU3/CU4?
It's just a matter of terminology.There was the original 11.5.10 install (or upgrade
maintenance pack).Then came 11.5.10.1CU (3240000), 11.5.10.2CU (upg from 1CU
3460000) and 11.5.10.2CU (upg from pre-11.5.10 3480000).
Since there was change in stretegy that why here are the details for ATG Rollup patchsets
738923.1 :Oracle E-Business Suite Releases 11i and 12 Critical Patch Update
Note (January 2009
315713.1 :Prior E-Business Suite Security Alerts
329689.1 :E-Business Suite (Oracle Applications) 11.5.1 through 11.5.6
Desupport Notice
363827.1 :Rebaselined Oracle Applications Technology Components for Releases
11.5.7, 11.5.8, 11.5.9, and 11.5.10
Refrence Link :
Some of them are purely desktop issue, still you need to do such steps if such things
being reported by remote users.
1. You should have the following Viewer Option entry: File Format Mime Type
Description Allow Native Client Encoding
-------------- -------------------------------- -------------------- -----------------------
Excel application/vnd.ms-excel Microsoft Excel Checked
2. Check out the table FND_MIME_TYPES_TL entry. A row contains an entry for
FILE_FORMAT_CODE = "EXCEL" and MIME_TYPE ="application/vnd.ms-
excel"
1. What is the windows OS on your computer (XP, W2000, etc...)? Which service
pack?
i.e.: Microsoft Windows XP - Profesionnel - Version 2002 - Service Pack 2 check
the comptability matrix.
2. Version of excel on user computer.
3. Version of Internet Explorer in user computer.
4. Deactivate any pop-up blockers in windows XP or in Internet explorer
5. You need to do a try to compare the two computers? (The computer where you
have the issue and the computer where the export is working)
6. Try the following as part of quick check:
In the Tools -> Internet options, set the following:
o Open Internet Explorer and choose Tools-->Internet Options
Click on the Security Tab
Click the Custom Level button
Scroll down to the "Downloads" options
Enable the option "Automatic prompting for file downloads"
Enable the option "File Download"
Once you done, close browser, open browser than try to export again.
99% chances that you can able to resolve 1 and 2 , else not, ask Oracle with SR and wait
for a day.
For 3,you need to check with Oracle, there might be chances the version of form is bit
lower.
Similar Post
User may request you for enabling or disabling menu for File -> Export in Oracle
Forms.
Take a note, File ->Export works itself on the basis of User Cursor Control.
1. If Cursor control is at block where we can view multiple records at a time, the Export
function is enabled.
2. If Cursor control is at block where we can view single record at a time, the Export
function is disabled.
The reason for providing this functionality is that if there are many records in a block,
then it might be difficult for the user to scroll down to view all the records in that block.
So, the user can actually export them using the Export function.
Moreover there is no profile option which gives you control for this function.
Posted in AOL | 1 Comment »
Oracle Applications allows you to export data that you see on the form to a file - like
excel - which can be then be used as a normal excel file. These are really useful when
you want a quick dump of the data for reference or are trying to trouble-shoot some issue.
The File - Export option allows you to dump the data you see on the form (or data set you
have queried).
The default is a file type called "tsv", that means tab separated values and can be opened
by default in Notepad in most cases, but can also be configured to open in Excel, which is
a choice for most of user.
Problem : How Can you do a Setup File->Export as an XLS Type File default?
Fig 1
2. Check out for TSV File format , if not exist , create a new type by Pressing NEW
button.
Fig 2
3. Now you need to setup default to excel, go to change Button in fig 2, and point to
Microsoft Excel
Fig 3
Hard Time this week for me ,struggling with Finance user from another entity to see
unexpected things reported , Out of the box File -> export function was not working
properly, some of them reported Browser crashing some of them reported data not
exported 100% from form, some of them reported longer duration to export for nearly
500 records from Invoice Inquiry or Invoice Entry form.
1. Make sure your browser will have setup completed for these 2 categories:
ActiveX controls
Downloads
2. Make sure if users desktop are using a proxy server to access the web via MSIE. If you
set "Bypass proxy server for local addresses" in Internet Options -> Connection -> LAN
Settings check if the File > Export works without error.
3. Make sure you have set System Profile Options 'Export: Mime type' to 'text/tab-
separated-values' or or 'application/vnd.ms-excel'
4.Delete Browser Cache > Tools > Internet Options > zone=temporary internet files :
delete files {checked offline content}
7. If you have still an issue , try this based out of note :338545.1
declare
db_file number;
mime_type varchar2(255) :='text/plain' ;
out_string varchar2(32767) :='Just some plain text that is stored' ;
web_server_prefix varchar2(500);
url varchar2(500);
begin
fnd_global.apps_initialize(user_id => <put your user id>,resp_id => <put your resp
id>,resp_appl_id => <put your appl id>);
DBMS_SESSION.SET_NLS('NLS_LANGUAGE','AMERICAN');
db_file :=fnd_gfm.file_create(content_type =>mime_type,program_name=> 'export');
fnd_gfm.file_write_line(db_file,out_string);
db_file :=fnd_gfm.file_close(db_file);
url:=fnd_gfm.construct_download_url(fnd_web_config.gfm_agent,db_file,TRUE);
dbms_output.put_line(url);
end;
8.If you are not able to 100% export in excel do a quick check
If counts not matches then you need to recreate the index using script
$FND_TOP/sql/aflobbld.sql. This is because the File/Export functionality of EBS uses
system LOB columns to store temp data before it is outputed to a browser. If that temp
data becomes large enough as the result of large export query set, then the max_extents
limitation of the column is reached thereby causing the export to fail.
Most of my user experinces these issues with WIN2K or XP SP1 and SP2, but not with
SP3.No clue for me with service pack.
Is there any linkage with window XP or 2000 .Net Framework installation and Service
pack in client desktop for this feature? Do share some thoughts if anyone got such kind of
issue in past.
Here is the quick note for Banking Details for Supplier in Release 12, which can be
assigned at the following four levels:
1. Supplier
2. Site
3. Address
4. Address-Operating Unit
New accounts can be created using existing bank and branch details or new
bank/branches can also be entered.
Banking Details page to define the bank accounts used for making payments to suppliers.
You can select the name and number of the bank account from the list of values that
includes all active supplier type bank accounts or you can create a new bank account. For
each supplier and supplier site that has bank account assignments, you must designate a
primary bank account. The primary bank account is used by Payables as a default when
you pay this supplier electronically.You may override the default if necessary.
You can also do setup for bank accounts for a supplier can also be setup from iSupplier
portal
Using iSupplier Portal, suppliers can access their banking information and, if given the
appropriate security privilege, make changes to the details. The buyer administrator can
either approve the account or set the status to Verify. You can use the Verify status while
you prenote the account or perform other activities for verifying an account with your
bank.
Similar Post
I have posted a number of previous notes defining and discussing Oracle diagnostics.
This tool is enhanced because of new security model.Let's take a quick look on revisiting
this utility.
Changes in R12.1
Search@Epicenter
Scenario :They have two request set name say 'X' and request set name 'Y'.
Their requirement was to make these two incompatible to each. So that when X
runs Y should wait for X to complete or vice versa?
This might be very similar requirement for other so thought to bring into post.
Lets understand ..... "INCOMPATIBLE"
INCOMPATIBLE means: Two incompatible reports or request set are not allowed to
run in parallel. Incompatible reports /program can only run sequentially, the first one
must terminate before the other is allowed to start.
So, it can happen that a report is pending for a long time, when it is waiting for the
incompatible report to finish.
In Oracle Context you have to know that INCOMPATIBLE type may be global or
domain . If you choose Domain, the incompatibility is resolved at a domain-specific
level. If you choose Global, then this concurrent program will be considered globally
incompatible with your concurrent program, regardless of which domain it is running
in.Make sense.. Lets take a look how documentation define:
You can understand like this: Oracle General Ledger's Posting program,which is used to
post journal entries.
If the Posting program's incompatibility with other concurrent programs were not
enforced, other financial reports running simultaneously with the Posting program could
contain incorrect account balance information.
You can define a concurrent program to be globally incompatible with another program
that is, the two programs cannot be run simultaneously at all; or you can define a
concurrent program to be incompatible with another program in a Conflict Domain.
Conflict domains are abstract representations of groups of data.
They can correspond to other group identifiers, such as sets of books, or they can be
arbitrary.
As per Oracle system admin user guide, If two programs are defined as incompatible with
one another, the data these programs cannot access simultaneously must also be
identified.
In other words, to prevent two programs from concurrently accessing or updating the
same data, you have to know where, in terms of data, they are incompatible. A Conflict
Domain identifies the data where two incompatible programs cannot run simultaneously.
A conflict domain is a set of related data stored in one or more ORACLE schemas and
linked by grants and synonyms. Do not confuse logical databases with your ORACLE
database. The ORACLE database contains all your Oracle Applications data, with each
application's data usually residing in one ORACLE schema. You can think of a logical
Defining database as a line drawn around a set of related data for which you wish to
define concurrent program incompatibilities. In other words, logical databases determine
which concurrent programs cannot run at the same time.Make sense:)
All programs are assigned a conflict domain when they are submitted. If a domain is
defined as part of a parameter the concurrent manager will use it to resolve
incompatibilities. If the domain is not defined by a parameter the concurrent manager
uses the value defined for the profile option Concurrent:Conflicts Domain.
All programs use the Standard conflict domain unless a value is defined for the profile
option Concurrent:Conflicts Domain or a conflict domain is defined through a program
parameter.
Each request submitted uses parameters which identify the records that it will access.
For programs that are defined with incompatibility rules an additional parameter (conflict
domain parameter) is used. The conflict domain may be set automatically based on such
variables as a login ID, set of books, or the organization the user is working in. The
conflict domain parameter may in some cases be selected in the parameters field of the
Submit Requests form. Once the parameter is determined the Conflict Resolution
Manager (CRM) uses the domain to ensure that incompatible programs do not run
simultaneously in the same domain.
Oracle Applications does not allow users to view other's output. Internally Report Review
Agent allows(RRA) only the user who submitting the report to view the report output.
For those who are very new to Oracle can understood RRA as a default text viewer that
Oracle Applications provides, which allows users to view report output and log files.
Very often report Review Agent is also referred by the executable FNDFS.
That mean the output cann't be utlized by another user unless untill you have provided the
profile option setup for another user.
Sometime business user wants to see other user report submitted by another?
Minimum you have do is you need to alter the value of seeded profile options
"Concurrent:Report Access Level".
Business case
Within Oracle installation , lets say you have four different user profiles been maintained:
Many of EBS users take advantage of the ‘File-Export’ functionality. This functionality
was specifically designed for use on ‘Folder’ forms so users could export the data
displayed on the screen to Excel.
This is one of the option that allows users to export information from a row based data set
into a desktop file so that they can utilize these data's sheet for there own reference or any
other reporting or feeding purpose .
This is yet another story of some basis functionality differences in two ERP
Products(Oracle EBS and SAP), Here are some sets of of Q & A with core user
discussion.
Can the system export all data from all modules to external applications?
o Oracle: In Oracle you can export all the data directly from form, where as
you can't export all report data into Excel.
o SAP : The SAP situation is opposite, that mean you a need interface for
exporting data from modules where as for reports you can can be
downloaded in Excel.
Is the export tool easy to use? What user skill-set is required?
o Oracle :In oracle you do it From the menu it is FILE/EXPORT
o SAP :Yes, the method for exporting reports is via menu paths from within
the report overview. This method is common throughout SAP. An
understanding of Microsoft products is required.
Can exports be set with run-time parameters?
o Oracle:Yes but only limited for Forms
o SAP : , answer is Yes,ie exports can be defined to run at specific times,
this would run the appropriate report in SAP and download to the
necessary network location or printer.
Export Functionality from Custom Form?
o Oracle:If your form is based out of Template.fmb, you can get use of
Export Functionality.
o SAP : Not sure about this
Integration with Other Non Oracle and Oracle system like Hyperion , Third Party
Tax or Other Product for Forecasting and Budgeting?
o Oracle:Depends , what format is used by these application. As per industry
practice .csv format is standard , there fore all Exported can be saved
into .CSV that will be easily recognize by other application.
There is no such seeded functionality that you can get from EBS for exporting into Excel.
There are several options available which depends upon the usage and volume of data
into Report.
1. You cannot directly see the output in Excel from view -> Request -> output.
You need to make changes to report so that the output is saved as delimited text
file and then open with excel with the delimiter. This way at least some data get
into excel, easy but ugly format, if have header and report title details.
2. Use Oracle XML Publisher.
It should give you an option for output in Excel files.But make sure, if you are
pulling Financial data, you must tell financial and Controllers that there are
certain limitation for:
o Number of rows generated exceeds the Excel maximum
o Use of formulae or macros can't done in the Excel output
o They can't get Pivot sort of report into Excel based XMLPub.
o Decimal Placement
Data loading and formatting into excel . as whenever you have lot of rows then it will
take some more time to dump into Excel , because of XHTML with the mime type set to
get Excel to open it.
4) Use concurrent program output format as XML. Change the output format to EXCEL
in this path
Submit Request--> Options-->Layout-->Format.
In summary
Any thoughts
If you want to migrate the AME setup like rules,conditions,approval groups etc. from one
instance to another instance, you can use some of them by mean of FNDLOAD utility.
The process is similar to what we are regularly using for other AOL Objects.
FNDLOAD will have such ldt file through which you can use.
You should read the lct first before using any FNDLOAD Command. In the lct, there is
an Entity section, where the Entity details are mentioned.Newcomer in OracleApps if you
are not familiar with lcts, i would suggest you to go through the DOWNLOAD section
and find the bind variables, which are mandatory.
Here are the details steps for each setup's availability till date.
Previous Post:
As per the below example the 'Define An application user' is a user table name for
FND_USER,the same steps you can follow for your own tables.
What is an AuditTrail?
When you enter or update data in your forms, you change the database tables underlying
those forms. An audit trail tracks which row in the database was updated at what time,
and which user was logged in using the associated form(s).
If you are seeking auditing ability to track changes on a particular table of Oracle this
post might helpful to you.
You can turn AuditTrail on or off (Yes or No). Normally the default setting is No (Off).
When you enter or update data in your forms, you change the database tables underlying
the forms you see and use. AuditTrail tracks which rows in a database table(s) were
updated at what time and which user was logged in using the form(s). Also..
Several updates can be tracked, establishing a trail of audit data that documents
the database table changes.
AuditTrail is a feature enabled on a form-by-form basis by a developer using
Oracle's Application Object Library.
All the forms that support AuditTrail are referred to as an audit set. You should
also note not all forms may be enabled to support AuditTrail.
To enable or disable AuditTrail for a particular form, you need access to Oracle
Application Object Library's Application Developer responsibility.
Users cannot see nor change this profile option.
This profile option is visible and updatable at the site and application levels.
Setting Up AuditTrail(>11i )
You can choose to store and retrieve a history of all changes users make on a given table.
Auditing is accomplished using audit groups, which functionally group tables to be
audited. For a table to be audited, it must be included in an enabled audit group.
This is very very important.These are groups of tables and columns, where you do not
necessarily need to include all the columns in a given table. You enable auditing for audit
groups rather than for individual tables. You would typically group together those tables
that belong to the same business process (for example, purchase order tables see at the
end).
A given table can belong to more than one audit group. If so, the table is audited
according to the highest "state" of enabling for any of its groups, where Enabled is the
highest, followed by Disable Dump Data, Disable No Growth, and Disable Purge Table,
in that order.
You choose the registered Oracle IDs at your site that you want to audit. This allows you
to audit across multiple application installations. When a table is added to an audit group,
auditing will automatically be enabled for all installations of the table for which audit is
enabled.
Your AuditTrail definitions (and auditing) do not take effect until you run the Audit Trail
Update Tables Report. If you change any of your definitions later, you must rerun this
program. You run the Audit Trail Update Tables Report from the standard submission
(Submit Reports) form.
This program creates database triggers on the tables in your audit groups for your
installations. It also creates shadow tables, one for each audited table, to contain the audit
information. If you have changed your audit definitions or disabled auditing for an audit
group, the program drops or modifies the auditing triggers and shadow tables
appropriately.
The program also builds special views you can use to retrieve your audit data for
reporting.
You can check SQL*Plus to see if the Shadow Tables have been created or not. Shadow
Table name is the same 26 Characters of the Table being audited followed by a suffix of
"_A" ,suffix of "_AI" for Insert Triggers, "_AU" for Update triggers , "_AD" for Delete
Triggers,suffix of "_AIP" for Insert Procedures "_AUP" for Update Procedures and
"_ADP" for Delete Procedures.
AuditTrail Limitations
PO_REQUISITION_HEADERS_ALL
PO_REQUISITION_LINES_ALL
PO_REQ_DISTRIBUTIONS_ALL
FND_AUDIT_COLUMNS
FND_AUDIT_GROUPS
FND_AUDIT_SCHEMAS
FND_AUDIT_TABLES
Customer has set the profile "Sign-on: Audit Level" to FORMS to collect information
about the forms sessions at a particular time .
By default the value for this profile was USER. Since he has set the value to Forms can
he collect the User related information
In Release 12, profile options can now be defined to have a hierarchy type of server-
responsibility.
1. Site
2. Server + Responsibility
3. User
...Simply you can understand like ,when you are choosing this type, the profile can be set
at Site level, User level, or a new combination Server+Responsibility. This hierarchy type
is set in the profile definition, and cannot be changed at runtime.
At the Server+Responsibility level, both the server and responsibility are considered as a
pair. Profile values can be set for combinations of a specific server with a specific
responsibility, or for only a server or responsibility with a default for the other.
Oracle documentation clearly states "at runtime, the profile value is determined by
looking for the value set at the most specific level"
You can also do this in the hierarchy type can be chosen on the Profile Definition page.
On this page, you can see that a type of “Server+Responsibility†is chosen. Once
this hierarchy type is chosen, the profile can be made visible and updatable at the Site,
Server+Responsibility, and User level. In this example, the profile could be set for Site or
Server+Responsibility, but not User.
Posted in AOL | No Comments »
I have already posted note on FNDLOAD utility for doing movement of application
setup data from one database to the other.There are instances when we need to move
some AOL and seeded data from one Environment to another Environment, thus at that
time it is necessary to understand what are different options Available within the Oracle.
Here is extensive list for some of the objects , that should be migrated by FNDLOAD.
Posted in AOL, Oracle Application | 1 Comment »
Value of "Yes" means context is always synchronized with reference field value.
Value of "No" denotes that context will be defaulted from reference field value,
the first time the record is created and the DFF is touched. Thereafter, context
would never be synchronized by the flex engine.Context prompt treated
differently by DFF view generator.
Reference:
Metalink Note:455659.1
Refer ATG Schan's Blog for more details for DFF context Synchronization
Implementing DFF in Form consist of two steps Process. The first steps consist of
designing the table structure and registration and step 2 consist of enabling in the form.
Steps 1:
Then you should specify the name of the DFF (Say BTL_AR_DFF) and specify the
associated table.
Step 2:
Copy TEMPLATE form has example descriptive flexfield which we can use
Use the TEXT_ITEM_DESC_FLEX property class
Attach ENABLE_LIST_LAMP_LOV for the field
2. Create a non-base table text item in the block with property class
TEXT_ITEM_DESC_FLEX
3. Make sure that DFF is mapped to fields (ATTRIBUTE) of the table and is enabled.
Next is to call Flexfield Routines to add DFF built-ins in the form to invoke DFF.
o This consist of these steps:
FND_DESCR_FLEX.DEFINE(
Block => 'Name of the DFF block',
Field => 'BTL_DFF',
Appl_short_name => 'AR',
Desc_flex_name => 'BTL_AR_DFF',
Title => 'BPL AR More Info' );
FND_FLEX.EVENT('PRE-QUERY');
FND_FLEX.EVENT('POST-QUERY');
FND_FLEX.EVENT('Pre-Query');
FND_FLEX.EVENT('When-Validate-Record');
FND_FLEX.EVENT('Post-Query');
FND_FLEX.EVENT('When-New-Item-Instance');
FND_FLEX.EVENT('Pre-Insert');
FND_FLEX.EVENT('When-Validate-Item');
FND_FLEX.EVENT('Pre-Update ');
Search@Epicenter
12 Steps for Enabling Flexfields in Oracle Report
Posted on August 24th, 2007 by Sanjit Anand | Print This Post | Email This Post
If any one want to use Flexfield in report, there is minimum steps you
have to follow to make things Functional. These are the standard steps as per AOL guide.
Here you suppose to call FND SRWINIT from the Before Report Trigger like :
SRW.USER_EXIT('FND SRWINIT');
This user exit sets up information for use by flexfields, user profiles, the concurrent
manager, and other Oracle Applications features as discussed in one of previous post.
Next, is you need to call FND SRWEXIT from the After Report Trigger like :
SRW.USER_EXIT('FND SRWEXIT');
In this step you need to define the parameters your report needs by using the Data Model
Painter. You use these parameters in the user exit calls and SQL statements.
Lexical Parameters
P_CONC_REQUEST_ID
P_FLEXDATA
The P_FLEXDATA parameter holds the SELECT fragment of the SQL query. The initial
value is used to check the validity of a query containing this parameter and to determine
the width of the column as specified by the column alias. Its initial value is some string
that contains columns with a cumulative width more than the expected width required to
hold the data. Make sure the width of this column is sufficient. If there are total 30
segments in the table then the safest initial value will be:
(SEGMENT1||'\n'||SEGMENT2||'\n'||SEGMENT3 ... SEGMENT30)
You determine the width by determining the length of that string. That length is roughly
the number of characters in the table alias plus the length of the column name, times the
number of segments your code combinations table contains, times the number of
structures you expect, plus more for delimiter characters as shown in the string above.
You define the rest of the parameters your report needs by using the Data Model Painter.
You use these parameters in the user exit calls and SQL statements.
Step 5 Call FND FLEXSQL from your Before Report Trigger to populate
P_FLEXDATA
Next, given that you want to display flexfield information like concatenated values and
descriptions, and arrange them in order, you make one call to FND FLEXSQL from the
Before Report Trigger specifying the lexical parameters. This call changes the value of
the lexical parameter P_FLEXDATA at runtime to the SQL fragment that selects all
flexfields value data. For example, the parameter changes to (SEGMENT1||'\n'||
SEGMENT2||'\n'||SEGMENT3||'\n'||SEGMENT4).
When you incorporate this lexical parameter into the SELECT clause of a query, it
enables the query to return the concatenated segment values that are needed as input to
other AOL user exits. These exits then retrieve the actual flexfield information for display
purposes.
Here is an example FND FLEXSQL call. Notice that the arguments are very similar to
other flexfield routine calls; CODE= and NUM= designate the key flexfield and its
structure, respectively. For a report on a different key flexfield (such as the System Items
flexfield), you would use a different CODE and NUM.
SRW.REFERENCE(:P_STRUCT_NUM);
SRW.USER_EXIT('FND FLEXSQL
CODE="GL#"
NUM=":P_STRUCT_NUM"
APPL_SHORT_NAME="SQLGL"
OUTPUT=":P_FLEXDATA"
MODE="SELECT"
DISPLAY="ALL"');
You should always reference any source column/parameter that is used as a source for
data retrieval in the user exit. This guarantees that this column/parameter will contain the
latest value and is achieved by "SRW.REFERENCE" call as shown above.
Step 6 Call FND FLEXSQL from your Before Report Trigger to populate other
parameters
What you suppose ti do here is just need to call FND FLEXSQL once for every lexical
parameter.
The query fetches the data required to be used as input for the FLEXIDVAL user exit
later.
When the report runs, the call to FND FLEXSQL fills in the lexical parameters. As a
result the second query would look something like:
SELECT (SEGMENT1||'-'||SEGMENT2||'-'||SEGMENT3||'-'||
SEGMENT4) C_FLEXDATA
FROM CODE_COMBINATIONS_TABLE
WHERE CODE_COMBINATIONS_TABLE.STRUCTURE_DEFINING_COLUMN =
101< /FONT >
Now create columns C_FLEXFIELD and C_DESC_ALL (and any others your report
uses) corresponding to the values and descriptions displayed in the report. They all are in
group G_1.
SRW.REFERENCE(:P_STRUCT_NUM);
SRW.REFERENCE(:C_FLEXDATA);
SRW.USER_EXIT('FND FLEXIDVAL
CODE="GL#"
NUM=":P_STRUCT_NUM"
APPL_SHORT_NAME="SQLGL"
DATA=":C_FLEXDATA"
VALUE=":C_FLEXFIELD"
DISPLAY="ALL"');
RETURN(:C_FLEXFIELD);
SRW.REFERENCE(:P_STRUCT_NUM);
SRW.REFERENCE(:C_FLEXDATA);
SRW.USER_EXIT('FND FLEXIDVAL
CODE="GL#"
NUM=":P_STRUCT_NUM"
APPL_SHORT_NAME="SQLGL"
DATA=":C_FLEXDATA"
DESCRIPTION=":C_DESC_ALL"
DISPLAY="ALL"');
RETURN(:C_DESC_ALL);
You have created parameters and columns that are containers of all the values to be
displayed. Now, in the following steps, you create the layout to display these values on
the report.
First choose Default Layout to generate the default layout. Deselect C_FLEXDATA.
Specify a "Label" and a reasonable "Width" for the columns you want to display.
The custom table should contain a field named as XXX_ID (where XXX means the
entity. For ex. PART_ID, CODE_COMBINATION_ID etc) to capture the selected code
combination ID.
Register the table with Oracle AOL.
Register the KFF with Oracle AOL
Logon as
2. In the block, create two non-base table text items of data type CHAR (2000). One text
item is to store the code combinations (Say BTL_KFF ) and other one is to store
description of the code (Say BTL_KFF_DESC. Make this item as non-updateable).
The custom table should contain a field named as XXX_ID (where XXX means
the entity. For ex. PART_ID, CODE_COMBINATION_ID etc) to capture the
selected code combination ID.
this is typical registration of KFF. For Customization in custom development here are the
steps:
Fnd_Key_Flex.Define(
Block => ‘block_name’,
Field => ‘concatenated_segments_field_name’,
[Description => ‘description_field_name’,]
[ID => ‘Unique_ID_field’
Appl_Short_Name => ‘application_short_name’,
Code => ‘key_flexfield_code’,
Num => ‘structure_number’,
Usage
FND_KEY_FLEX.DEFINE(
block => 'Custom block',
Field => 'BTL_KFF',
Description => 'BTL_KFF_DESC',
ID => 'XXX_ID',
Appl_short_name => 'SQLGL',
Code => 'GL#',
Num => '101',
Vrule => 'GL_GLOBAL\nDETAIL_POSTING_ALLOWED \nE\nAPPL=''SQLGL'';
name=Parent Values are not allowed\nN'
);
PRE-QUERY
POST-QUERY
PRE-INSERT
PRE-UPDATE
WHEN-VALIDATE-RECORD
WHEN-NEW-ITEM-INSTANCE
WHEN-VALIDATE-ITEM
FND_FLEX.EVENT('WHEN-NEW-ITEM-INSTANCE')
FND_FLEX.EVENT('KEY-EDIT');
FND_FLEX.EVENT('WHEN-VALIDATE-ITEM');
IF :CUSTOM_BLOCK.XXX_ID = -1 THEN
FND_MESSAGE.SET_STRING('You Have Selected An Undefined Code
Combination !');
FND_MESSAGE.SHOW;
RAISE FORM_TRIGGER_FAILURE;
END IF;
Lets take a close scan to understand some of the paramater used in Flex Field
defination.
1. [Validate=> ‘{FOR_INSERT|FULL|PARTIAL|NONE|
PARTIAL_IF_POSSIBLE}’,]
3.[Required=>’[Y|N’,]
As we have seen DFF provide customizable expansion space in the form to capture
additional information, which are not provided at present. A DFF describes an application
entity, providing form and database expansion space that can be customized.
A DFF uses columns that are added onto a database table. The table contains any
columns that its entity requires.
The DFF columns provide ‘blank’ columns that you can use to store
information which is not already stored in another column of that table.
A DFF requires one column for each possible segment and one additional column
in which to store structure information(i.e. The context value).
You can define as many segments in a single structures as you have DFF columns
in your table.
The DFF columns are usually named as ATTRIBUTEn, where n is a number.
Drawbacks of DFF
In last post he have seen most businesses use codes made up of meaningful segments
(intelligent keys) to identify accounts, part numbers and other business entities. For
example a company might have a part number 'PAD-NR-GRN' indicating a Notepad,
Narrow Ruled and Green. Another might have a different code structure for the same
Notepad, Narrow Ruled and Green as 'GRN-NR-PAD'. Hence KFF provides the
flexibility to define the code structure of any business entity in the customer-desired
format without reprogram the application.
We all know , oracle GL uses a KFF called Accounting flex field to uniquely identity a
GL account. Oracle have customized this KFF to include 6 segments like Company
Code, Cost Center, Product, Product Line and sub account. Valid values are available to
each segment and cross validation rules are provided for segment combinations. This
KFF can be customized depends upon the business needs.
Used to uniquely identify an application entity with an intelligent key, where the
key can be multipart and each part can have some meaning.
Use KFF that Oracle Applications provides to integrate your applications
seamlessly with Oracle Applications.
These are the things normally any business user want if implementation team and
management avoiding any customization.
The good things is that the above can be easily control and managed from screen, without
any extra(Ordinary) skill
Types of Key Flexfield Forms
1. Combinations Form
2. Foreign Key Form
3. Range Form
Combinations Table
Each key Flexfield has one corresponding combinations table, known as the
Combinations table, where the flexfield stores a list of the complete codes, with one
column for each segment of the code, together with the corresponding unique ID
number(a code combination id number or CCID) for the code. Then the other tables in
the application have a column that stores just the unique ID for the code
Foreign Key Form
Use the flex field code combinations from a form with a foreign key reference to
the combinations table.
Internally the underlying Table Uses a Foreign Key
The unique ID primary key column of the combinations table serves as a foreign
key column here.
Often the foreign key table contains a structure ID column as well. It can be best
represented as figure below,
Range From
Here table Contains Two Columns For Each Possible Segment
Often the table contains a structure ID column as well.
This form does not require actual combinations, and so does not need a foreign
key link to the combinations table.
Perform operation on ranges of combinations using this form.
Allow the defination of new flexfield combinations from forms with a foreign key
references, as mention in the following diagram.
Set and change this property while defining the flexfield structure on the Define
Key Flexfield Segments form.
o Sometimes this property is not technically feasible
o If the combinations table includes mandatory columns that can not be
filled by the flexfield.
o Who columns, CCID columns, and enabled/activation date information
can be filled by the flexfield.
This is all about the key flex field. Hopefully it would be good to start with , If you want
to learn more about the concept, please do refer Flexfield user guide. Next will take
another deep drive for DFF.
Some one requested last week to provide some information about flex fleld
concept. Thought its good to take all into one.Next couple of post will focus on Flex field
concept, need and design for custom requirement.
Oracle applications use key flex field to represent intelligent keys with unique ID
numbers. ID numbers require only one column while intelligent keys will require
multiple columns (one for each section or segment of the code).
Key Flexfield - A Key Flexfield represents an intelligent key that uniquely identifies an
application entity. These keys identify accounts, part numbers etc. Each key flexfield has
an assigned name and a specified set of valid values.
Examples: in G/L we have the Accounting Flexfield (Chart of Accounts); in Inventory it
is the Item Flexfield, in Projects the Job Flexfield.
Descriptive Flexfield - Allows for the capture of additional information not stored in the
default application, or strictly for reference when viewed on a screen.
You may create a Flexfield using any of “Attribute(n)†columns. Oracle reserved
“Attribute(n)†columns on most of the tables to be setup during installation. These
columns are not used by Oracle standard functionality.
You may expand the number of Flexfield values by using “context sensitiveâ€
feature.
Flexfield Types /What is the difference between a key flexfield and a descriptive
flexfield?
Key Flexfield:
An intelligent key that uniquely identifies an application entity. Each key flexfield
segment has a name you assign, and a set of valid values you specify.
Descriptive Flexfield
A field that your organization can extend to capture extra information not otherwise
tracked by Oracle Applications. A descriptive flexfield appears in your window as a
single character, unnamed field. Your organization can customize this field to capture
additional information unique to your business. (Example: capturing state codes on
selected journal lines)
Used to uniquely identify an application entity with an intelligent key, where the
key can be multipart and each part can have meaning.
Use KFF that Oracle Applications provides to integrate your applications
seamlessly with Oracle Applications.
Will take a deep drive for KFF and DFF in next post.
What is Folder..
As per documentation is say .."A folder is a special kind of window that allows users to
customize the set of fields and records displayed for a particular business entity without
programming. Using the folder customization menu or tool palette, users can specify the
records and the fields they wish to see, as well as field sequence, field prompts, and field
display widths. Users can customize folders at any time, saving them for personal use or
sharing them with others."
The most common use of folder technology is in the gateway to a key applications entity.
Users can customize the folder window to display the set of fields and records that are
most relevant to the business at hand. From the folder window, users can perform an
action involving one or more of the returned records. Or, they can select a single record,
open a detail window that shows all the fields for that record, and perform an action
involving that record.
These Changes will make sure that folder can be saved and its query criteria are also
saved.
2. Check out all the libraries get loaded successfully along with the Template.
This will copy Folder Related Blocks,Canvases and other necessary objects.
6. Let us say we have One Main block, Not concerned with Control Blocks
Main Block:
XXPH_RCPT_HIS then
Windows
Create One Window. Name it XXPH_RCPT_HIS_WIN with view name as
XXPH_RCPT_HIS_WIN
Blocks
Main Block:
XXPH_RCPT_HIS contains database columns. Items should be on Stacked canvas
(XXPH_RCPT_HIS_STACKED).
WHEN-NEW-BLOCK-INSTANCE
app_folder.event('WHEN-NEW-BLOCK-INSTANCE');
KEY-PREV-ITEM
if (:parameter.XXPH_rcpt_his_record_count = 1) then
previous_item;
else
app_folder.event('KEY-PREV-ITEM');
end if;
KEY-NEXT-ITEM
if (:parameter.xxph_rcpt_his_record_count = 1) then
next_item;
else
app_folder.event('KEY-NEXT-ITEM');
end if;
PRE-BLOCK
app_folder.event('PRE-BLOCK');
POST-BLOCK
app_folder.event('POST-BLOCK');
PRE-QUERY
app_folder.event('PRE-QUERY');
KEY-EXEQRY
app_folder.event('KEY-EXEQRY');
POST-QUERY
app_folder.event('POST-QUERY');
8. PROMPT Block:
Create new block XXPH_RCPT_HIS_PROMPT: which will contain prompts for the
column displayed in upper block.
Items which will be Prompts for above block columns (Item name should be same as
Column name in above block). Prompt Items should be on Stacked canvas
(XXPH_RCPT_HIS_STACKED).
Check out your Both Canvases for setting these new buttons,prompts.
FOLDER_ACTION
--
-- Remove the message and uncomment the line after it to activate the folder actions
--
-- message('You must modify the FOLDER_ACTION trigger in your form!');
app_folder.event(:global.folder_action);
WHEN-NEW-FORM-INSTANCE
app_folder.define_folder_block(' XXPORCHUK ', -- 'Object Name'
' XXPH_RCPT_HIS ', -- 'folder_block',
' XXPH_RCPT_HIS_PROMPT ', -- 'prompt_block',
'XXPH_RCPT_HIS_STACKED', --'stacked_canvas',
'XXPH_RCPT_HIS_WIN', --'window',
NULL); --'disabled functions');
Once Concurrent program get complete, there are two file generated as follow:
Log files are stored under $APPLCSF/$APPLLOG if $APPLCSF is set and under
$APPLLOG for each application if $APPLCSF is not set. The log file naming convention
is the letter L, followed by the concurrent request ID, followed by the extension .req .
Output files are stored under $APPLCSF/$APPLOUT if $APPLCSF is set and under
$APPLOUT for each application if $APPLCSF is not set. The output file naming
convention is Application User name.Request ID.
For the Information purpose, here are few for your interest.
Is there any naming conventions for the log file and output file?
Where: <request id> = The request id of the concurrent request And: <username> = The
id of the user that submitted the request
Similar to concurrent requset output and log, the concurrent manager does also generate
some files and typical naming convention are as below:
Here is the explanation how you can define concurrent managers and specify when a
manager is enabled.
A concurrent manager is itself a concurrent program that starts other concurrent programs
running. When an application user submits a request to run a program, the request is
entered into a database table that lists all of the requests. Concurrent managers read
requests from the table and start programs running. See: Concurrent Managers.
Next , we explain how to specify when a manager is enabled, how to use managers to
balance your applications processing workload across different time periods, and how to
associate a library of immediate concurrent programs to be called by your manager.
You can define as many concurrent managers as you want. When you define a manager,
you:
Program Libraries
A program library contains immediate concurrent programs that can be called by your
manager.
The Oracle Application Object Library FNDLIBR program library contains Oracle
Applications immediate concurrent programs, and is assigned to the Standard concurrent
manager. In most cases, you will include the FNDLIBR library with your manager's
definition.
A typical Concurrent manager is managing request in typical the flow which is described
below.
And if Concurrent manager is having work shift set up , one the top of above process, the
best can be described as:
Similar to other products in there are seeded, Transaction and Other Concurrent
Managers available. The Creation of custom manager is also possible , I am unable to
throw some light, as i hadn't exposed to setting up of these area . In a typical
implementation , it would be taken care by DBA's , and you can find some documents in
system admin user guide for further details.Here , I am going to list of the concurrent
manager which are used for some of processing within the product.Lets start to explore
options for managers in EBS Suite:
Internal Manager
The internal manager is the highest level manager that controls all the other managers
Resolves request conflicts. When programs are defined with incompatibilities with other
programs, both programs will show up in the Conflict Resolution Manager if they are
both trying to run at the same time. Programs that are submitted but have no place to run
because of incorrect setup choices for the concurrent managers will also show up under
the Conflict Resolution Manager.
Inventory Manager
o Runs Inventory Programs. As seeded, the Inventory Manager has a
number of individual programs assigned to it
MRP Manager
o Runs the Planning Manager. The MRP Manager is seeded by Oracle to
only run the Planning Manager program. You may consider assigning a
small number of other concurrent requests, including the MRP processes,
to this manager if you are a heavy manufacturing user, to pull these critical
processes out from under the Standard Manager.
PA Streamline Manager
Standard Manager
o The general queue for handling requests. The Standard Manager was set
up to run all concurrent requests.
The Flow
Typical flow of concurrent processing can be best describe in above diagram as discussed
in Developer guide
The priority of a concurrent request is determined by application user name, and is set by
the System Administrator using the Concurrent:Priority user profile option.
The first available concurrent manager compares the request's priority to other requests it
is eligible to process, and runs the request with the highest priority.
When choosing between requests of equal priority, the concurrent manager runs the
oldest request first.
Often, several programs may be grouped together, as in a request set. Submitting the
request set as a whole generates a request ID, and as each member of the set is submitted
it receives its own request ID. The set's request ID identifies the Parent request, and each
of the individual programs' request ID identifies a Child request.
Within each phase, a request's condition or status may change. Below appears a listing of
each phase and the various states that a concurrent request can go through.
Responsibilities
Menus
Profile Options
Concurrent Manager
Security Concepts
Responsibility
o What functions a user can use
o What data a user can access
o What “Set of Books†a user can access
Normally in oracle application a “Set of Books†describes as
significant piece of the enterprise that has a different currency,
calendar, or chart of accounts
Is the top level in the hierarchy that a responsibility is assigned to
o What “Organization†a user belongs to
An organization is a sub-set of the “Set of Booksâ€, which is
used to further restrict the data a user can access Multi-org ,which
allows a subsidiary ledger, such as AP, to process invoices that
will reside in multiple sets of books.
Users normally are assigned to multiple responsibilities.
o The R12 there is concept called MOAC which describe the access over
different OU level. Will discuss this in details some other day.
Menus
o A menu is a hierarchical arrangement of functions and menus of functions.
Each responsibility has a menu assig ned to it.
You should take a note functionality of a responsibility can be customized
by modifying the menu associated with the responsibility.
o The same menu can be used by many different Responsibilities.
o In oracle application,menus can not be copied. New menus have to be
built from scratch.
o While creating a new menu hierarchy, create the lowest-level menus first.
A menu must be defined before it can be selected as an entry on another
menu.
o When a menu’s name is changed, the menu entries are not affected.
Other menus calling the menu by its old name, automatically call the same
menu by its new name.
o Menu structure can be documented by printing a Menu Report.
o Use the Define Menu Form in the System Administration responsibility to
create new Menus
o You can create and define Menu Form in the System Administration
responsibility to create new Menus.
Profile Options
These are a set of changeable options that affect the way your application runs.
These can be set at different level, from 11.5.10 there are 6 different level where
you can make take the options.
Further control security by assigning a set of books to a
responsibility,Application,or Site.
Set of books is a company or group of companies that uses Oracle Applications
that share a common Chart of Accounts,Currency,and Calendar.
1. Site Site level profile values are used when the profile option can have only one
value for the entire instance of Oracle. (example- EDI Input file path lets say if
the entire server is using one directory to accept inbound files from EDI,then you
would just set the profile option at the site level, then it flows down to all levels,
and there is no need to set this at other levels).
2. Application
3. Server
4. Organization
5. Responsibility
6. User
oIf you are very new to oracle application , it should be noted that system
Profile Options are set by the System Administrator and affect the
behavior of the Application and its modules for everyone.
o Personal Profile Options are set by the individual user and cover that
individual’s interaction with the system.
Concurrent Manager
o In Oracle Applications, concurrent processing simultaneously executes
programs running in the background with online operations. with system
Administrator, you can manage when programs are run and how many
operating system processes Oracle Applications devotes to running
programs in the background.
o When a user runs a report, a request to run the report is generated. The
command to run the report is a concurrent request. The program that
generates the report is a concurrent program. Concurrent programs are
started by a concurrent manager.
o Every time your users request a concurrent program to be run, their
request is inserted into a database table, and is uniquely identified by a
request ID. Concurrent managers read requests from this table.
o Part of a manager's definition is how many operating system processes it
can devote to running requests. This number is referred to as the manager's
number of target processes.
o
When it is scheduled to start
Whether it is placed on hold,
Whether it is incompatible with other programs
Its request priority
o The priority of a concurrent request is determined by application user
name, and is set by the System Administrator using the
Concurrent:Priority user profile option.
o The first available concurrent manager compares the request's priority to
other requests it is eligible to process, and runs the request with the highest
priority.
o When choosing between requests of equal priority, the concurrent
manager runs the oldest request first.
o Often, several programs may be grouped together, as in a request set.
Submitting the request set as a whole generates a request ID, and as each
member of the set is submitted it receives its own request ID. The set's
request ID identifies the Parent request, and each of the individual
programs' request ID identifies a Child request.
Security Concept
Database Security
o Each Oracle application module database objects ( tables, views etc.,) are
owned by a different Oracle ID. For example, all General Ledger objects
are owned by the Oracle ID called GL, all Accounts Payables objects are
owned by AP and so on.
o All programs under a responsibility are executed using these Oracle IDs.
For example, the
General Ledger
responsibilities use the
GL database user-id.
o Custom tables created
to interface with
Oracle Applications
should be placed in a
separate Oracle id to
facilitate upgrading the
application when
necessary.
Function Security
o Function security is the
mechanism by which
user access to
application
functionality is
controlled. Function is
a part of an
application’s functionality that is registered under a unique name for
the purpose of assigning it to, or excluding it from, a responsibility.
o Two types of functions: Form function ( known as a form) and non-form
function ( known as a sub-function).
A form function invokes an Oracle Forms form. Forms appear in the
Navigate Window and can be navigated to. Forms can exist on their own.
o A non-form function ( sub-function) is a function executed from within a
form. These are frequently associated with buttons or other graphical
elements in the form. Sub-functions do not appear on the Navigate
window.
AOL Integration
In AOL , Forms, Menus, Responsibilities, Profiles, Users are inter related. Here are
diagram which best describe the dependency among each other.
Search@Epicenter
Know some of the concurrent managers
Posted on August 12th, 2007 by Sanjit Anand | Print This Post | Email This Post
Transaction Managers
These are the user exits available in Oracle Reports that makes AOL integration.
FND SRWINIT
o This is a User Exit which sets your profile option values and allows Oracle
AOL user exits to detect that they have been called by oracle repots.
o FND SRWINIT also allows your report to use the correct organization
automatically.
o Can be used in BEFORE-REPORT Trigger.
FND_SRWEXIT
o This user exit ensures that all the memory allocated for AOL user exits has
been freed up properly.
o Can be used in AFTER- REPORT Trigger
USER EXITS
o are used in Oracle APPS to access user profile values and perform proper
calculation.
o Ex. of Other AOL User exits available in Reports are given below.
FND FORMAT_CURRENCY
o To format the currency amount dynamically depending upon the precision
of the actual currency value, standard precision, users profile values and
location (country) of the site.
o You obtain the currency value from the database into an Oracle Reports
column. Define another Oracle Reports column, a formula column of type
CHAR, which executes the FORMAT_CURRENCY user exit to format
the currency value. A displayed field has this formula column as its source
so that the formatted value is automatically copied into the field for
display.
Syntax
FND FORMAT_CURRENCY
CODE=â€:column containing currency codeâ€
DISPLAY_WIDTH=â€field width for displayâ€
AMOUNT=â€:source column nameâ€
DISPLAY=â€:display column nameâ€
[MINIMUM_PRECISION=â€:P_MIN_PRECISIONâ€]
[PRECISION=â€{STANDARD|EXTENDED}â€]
[DISPLAY_SCALING_FACTOR=â€â€:P_SCALING_FACTORâ€]
FND FLEXSQL
o This user exits allows you to use Flex fields in Reports.
Syntax:
FND FLEXSQL
CODE="flexfield code"
APPL_SHORT_NAME="application short name"
OUTPUT=":output lexical parameter name"
MODE="{ SELECT | WHERE | HAVING | ORDER BY}"
[DISPLAY="{ALL | flexfield qualifier | segment
number}"]
[SHOWDEPSEG="{Y | N}"]
[NUM=":structure defining lexical" |
MULTINUM="{Y | N}"]
[TABLEALIAS="code combination table alias"]
[OPERATOR="{ = | < | > | <= | >= | != | "||" |
BETWEEN | QBE}"]
[OPERAND1=":input parameter or value"]
[OPERAND2=":input parameter or value"]
FND FLEXIDVAL
Syntax:
FND FLEXIDVAL
CODE="flexfield code"
APPL_SHORT_NAME="application short name"
DATA=":source column name"
[NUM=":structure defining source column/lexical"]
[DISPLAY="{ALL|flexfield qualifier|segment number}"]
[IDISPLAY="{ALL|flexfield qualifier|segment
number}"]
[SHOWDEPSEG="{Y | N}"]
[VALUE=":output column name"]
[DESCRIPTION=":output column name"]
[APROMPT=":output column name"]
[LPROMPT=":output column name"]
[PADDED_VALUE=":output column name"]
[SECURITY=":column name"]
This is an AOL user exit available to populate key flexfields for display
CODE means Key flexfield code(GL# is for Accounting Flex field, for all other
check the table FND_ID_FLEXS)
NUM is the structure of the key flex field(Chart of Accounts Number)
DATA is where you store the retrieved data (your sql output).
Example
SRW.REFERENCE(:SEC_SEG);
SRW.USER_EXIT('FND FLEXIDVAL CODE="GL#"
DATA=":SEC_SEG"
APPL_SHORT_NAME="SQLGL"
VALUE=":SEC_SEG_DISP"
DISPLAY="ALL"
NUM=":P_STRUCT_NUM" ');
return(:sec_seg_disp);
You can enter a value directly to a date field or use the calendar facility in APPS.
Calendar lets you the following needs.
Represent date and time graphically so that you can make a quick selection
without typing.
Select only those dates or date ranges that are suitable for the current field.
In oracle application there are several advanced techniques by which we can use when
defining value sets for validating input. Normally such techniques use values obtained
from a location other than a list specifically defined for the value set. These locations
may includes:
This is used to reference the current value of a profile option in a WHERE clause by
prefixing the name of the profile option with $PROFILES$.
Usage:
:$PROFILES$.profile_option_name
A typical example with the use this keyword in a WHERE clause to reference a profile
option value.
so what happen when ever the SET_OF_BOOKS_ID need to pass the $PROFILES$
options simply reference the value which is retrived at form level.
A list of available Profile options can be found in one of the last post.
This is used to references the value of an earlier appearing field on the same form
Using :block.field is different from using a descriptive flex field reference field in that the
flex field structure does not change based on the
different :block.field values.
By Using this value set only with flex fields on windows that have the same block.field
available.
• Using $FLEX$
This is used to references the value from a value set used earlier on the same form
You can refer to the current value of a previously used value set on the same form by
using $FLEX$.value_set_name.
Usage
Value set is primarily a â€container†for your values, you define your value
set such that it can control the types of values that are allowed into the value set
(either predefined or non–validated). You can specify the format of your values.
Oracle Application Object Library uses value sets as important components of
key flexfields, descriptive flexfields, and Standard Request Submission (value
sets for report parameters for your reports that use the Standard Request
Submission feature).
After you register your Flexfields & report parameters, if you are using
independent or dependent value sets, you can enter values into each
corresponding value set using the Segment Values form.
Values for the Value Sets, we are defining will be kept in the Oracle Application
Object Library’s tables.
Character
Number
Time
Standard Date, Standard Date Time
Date, Date Time
You should take a note that Date and Date Time value set formats will be obsolete now
and are provided for backward compatibility only. For new value sets, use the the format
types Standard Date and Standard Date Time.
What is Security type in value set?
By Security Rules window, we can define value security rules for ranges of
flexfield and report parameter values.
There are two levels where you must activate Security, the one at value set level and
other at individual segment or parameter level. You make Flex field Value Security
available for your value set by choosing Hierarchical Security or Non-Hierarchical
Security for the Security Type. When you make security available for a value set, all
segments and report parameters that use that value set can use security. You then enable
security for a particular segment or parameter.
There are several validation types that affect the way users enter and use segment or
parameter values:
Dependent.
o Same like Independent Value Set, except the List of Values shown to you
will depends on which the Independent value you have selected in the
Prior Segment.
o Must define your independent value set before you define the dependent
value set that depends on it.
o Advisable to create your independent values first.
o Must create at least one dependent value for each independent value, or
else it wont allow you to enter into that segment or field.
Table.
o It use your own application tables as value sets for flex field segments and
report parameters instead of the special values tables which Oracle
Applications provides.
o You can also use validation tables with other special arguments to make
your segments depend on profile options or field values.
o You can use any existing application table, view, or synonym as a
validation table.
o If we are using non–registered table for our value set, then we have to
Create the necessary grants and synonyms to APPS Schema.
o The value column and the defined ID column in the table must return a
unique row for a given value or ID.
o If the Hidden Id column is provided the value passed to the report will be
Hidden and not the Value column.
o Similarly, when you specify :$FLEX$.Value_Set_Name, your flex field
segment or report parameter defaults to always use the hidden ID column
to compare with your WHERE clause .
o We can use Special BIND variable such as :$PROFILES$.Option_name, :
$FLEX$.Value_set_name, :block.field in the WHERE clause.
o We can also display additional columns.
Ex: Column_name1 “Column Title†(Width), ……
org_id “Organization†(30)
Special.
o Special validation value sets allow you to call key flex field user exits to
validate a flex field segment or report parameter using a flex
field–within–a–flex field mechanism. You can call flex field
routines and use a complete flex field as the value passed by this value set.
Pair.
o Pair validation value
set allows user to pass
a range of
concatenated Flex field
segments as
parameters to a report.
Translatable Independent &
Translatable Dependent
o These value sets are
similar to Independent
and Dependent value
sets except that
translated values can
be displayed to the
user. Translatable Independent and Translatable Dependent value sets
allow you to use hidden values and displayed (translated) values in your
value sets. In this way your users can see a value in their preferred
languages, yet the values will be validated against a hidden value that is
not translated.
o We can convert the Independent value set to a Translatable Independent
value set, or a Dependent value set to a Translatable Dependent value set.
These are the only types of conversions allowed.
FND_FLEX_VALUE_HIERARCHIES
FND_FLEX_VALUE_SETS
FND_ID_FLEX_SEGMENTS
FND_FLEX_VALUE_NORM_HIERARCHY
FND_FLEX_HIERARCHIES
FND_FLEX_VALUE
FND_FLEX_VALIDATION_EVENTS
FND_FLEX_VALUE_RULE_LINES
FND_FLEX_VALUE_RULE
FND_FLEX_VALUE_RULE_USAGE
FND_RESPONSIBLITY
FND_TABLES
FND_FLEX_VALIDATION_TABLES
Yes, FNDLOAD is utility which can be used for moving value set across different
environment.See the FNDload post.
The various AOL tables name for value set can be referred in one of the last post.
The first steps would be , you have to create a script and save as .prog extension and put
into your application top bin folder.
If your custom application is XX then the scripts should goes to $XX_TOP/bin
For example, call the script CUSTOM.prog and place it under
Step 2
Now,you have understood , the execution of unix program is bit different in oracle
application. The only things you have to notice is you need to pass 4 mandatory
parameter to execute host program.
The other way around is ,you can use fndcpesr and link with your host program.It means
the fndcpesr will take care of your 4 mandatory parameter.
ln -s $FND_TOP/bin/fndcpesr <script>
This link should be named the same as your script without the .prog extension.
Step 3
Next you have to make into system administrator responsibly follow 3 steps from these
menu
Step 4
Yes, By default, a shell script returns success (status code 0). In case of error script traps
an error, use the UNIX exit command 'exit 1' to return
failure (status code 1) to the concurrent manager running the program."
Data Synchronization is a process in which some setup data would be synchronized, and
this would be more important when you are working in oracle application
development/implementation project? The equally important that AOL data Migration
takes place necessary to synchronize the data across databases instance during
Yes, that is one and only oracle solution. It can be defined as a concurrent program that
can move Oracle Applications data between database and text file representations. Or
this can be defined as FNDLOAD can download data from an application entity into an
editable text file, which can be uploaded to another database.
How it works
Conversion between database format and text file format is specified by a configuration
file. Oracle does provide confirmation file and it is important to just pass the
configuration file name and then just call the loader and leave everything .The schematic
visual representation of the loader is like:
These are the extensive list which can be done through FNDLOAD
The Syntax
As you can see, some info is needed.- First you will need to know the Apps password.
Modes of Operation
This is important because it would drive the whole flow, and it always be two mode ..
Upload and Download…
Example of download:
Example of Upload
By default Oracle delivers most of configuration files you can use to download certain
entities.
The data files (.ldt) have both entity definition and the data
It also shows the version and the location of the config file (.lct) that was used
Without the config file, data file is useless
Without the data file, config file is meaningless
1 - Printer Styles
2 - Lookups
5 - Concurrent Programs
6 - Value Sets
8 - Profile Options
9 - Requset Group
FNDLOAD apps/apps@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/afcpreqg.lct
file_name.ldt REQUEST_GROUP REQUEST_GROUP_NAME="request group"
APPLICATION_SHORT_NAME="prod"
10 - Request Sets
11 - Responsibilities
12 - Menus
13 – Forms/Functions
14. User/Responsibilities
Search@Epicenter
These are the question asked by someone who never exposed to OracleApps development
environment.
This was topic I discussed with client IT department folks which includes people who
recently inducted in Oracle Group from other technology area, college pass outs and
other group like Middleware who are also responsible to putting some nut and bolts in
Oracle.Thoughts to convert this in post for newbie and Inhouse IT folks who always
struggling for right information for the API Integration.So here to go:
First and foremost Important, you need to understand API Definition, which
includes purpose, input parameter, output parameter, in/out parameter as well as
default values for parameter
Next is mapping : This is where you map input data from source/staging/temp
table to input parameter
Next is development of code , you should use cursor/temporary table to load data
from user's table and use Debugging information to detect and diagnose errors.
I was recently asked by a reader if I would be willing answer his questions, which was :
"Most of us are / have had worked with API’s & Open Interfaces. Both do the similar
job, but have we ever wondered why would we use API’s when it can be done using
Open Interface or vice versa? And, which is better" ?
..My dear friend, there is hardly any difference the way both is working,do check my
previous post. Anyway here is back to basic :
Open Interfaces provide a single, simple interface for a specified business procedure.
These are called as a collection of “Black Box†interfaces that provide programatic
access into the Oracle ERP database.
The term API refers to stored procedure driven interfaces, where you call a stored
procedure to perform an action within an Oracle Module, and the data from your external
application is passed through the stored procedure’s parameters.
Remember, the APIs are also used by the front end screens, and in the same way, will
require all the appropriate prerequisites to be implemented.
Releated Post:
Private APIs : Private API's are one which Oracle normally using internal, development
purpose only. Details are not provided to anyone outside of the immediate development
environment, nor are they intended for use by anyone outside of the e-Business Suite
development environment.
Public APIs : These are designed for customers and Oracle consultants to integrate non-
Oracle systems into Oracle e-Business Suite or to extend the functionality of the base
products. Oracle does not support public APIs unless they are published in a reference
manual.
Public, published APIs : These are one which Oracle guaranteed to remain valid from
release to release, and patches will not alter the API behaviour. Public, published APIs
are supported by Oracle to the same extent as released software.
Is there any way find out whether a standard API is PUBLIC or not in Oracle
Application?
Yes, there is way, what you have do ,once you are able to find the information for API
from irep, the next you have to find the file name and then you need to pull all
information from specification header to know which one is public.
Take a simple case, you need to find API FND_USER_PKG which is defined in file
AFSCUSRB.pls
Based on the above result one can determine whether API is PUBLIC or not.
Simple example for checking AR Public APIs for finding the status
grep -i public $AR_TOP/patch/115/sql/ARXPRELB.pls
grep -i public $AR_TOP/patch/115/sql/ARXPRELS.pls
grep -i public $AR_TOP/patch/115/sql/ARXPRECS.pls
grep -i public $AR_TOP/patch/115/sql/ARXPRECB.pls
Important to Note:
For non-published APIs, Oracle expressly does not provide any guarantees regarding
consistency of naming, usage, or behaviour of any API (public or private) between
releases.
It Might be possible that a patch could alter any characteristic of any non-published e-
Business Suite API.
For Oracle release 10.7, the APIs are located in the operating system directories such as:
$APPL_TOP/patchsc/107/sql
For Oracle release 11 and release 11i, the APIs are located in the operating system
directories:
$APPL_TOP/patch/xxx/sql
As confirmed by some time back by Oracle support team , there is no such database
object in Oracle Applications that keep such kind of information.
All APIs are owned and managed by different product groups within Oracle.
Normally each release comes with either product update notes, or and "About" note. You
would need to review these documents for each E-Business Product.
The most comprehensive are the family pack "About" notes, as they in turn reference
each individual product "About" note, which lists things like "Changes".
Budget Data
Manual loading of Budget Data is achieved by the following five step process: Open the
Capital Budgets window. Choose the budget Book, asset Category, and general ledger
Expense Account for which you want to budget. Enter or update the budget amounts for
this period. The budget amount is the amount you plan to spend on new assets in this
category in this period for this expense account. Save your work. Review the capital
budget for the year using the Budget Report
Transfer of Budget information is achieved by transferring the data using a file transfer
method. The Budget information from various systems is first copied into an ASCII file
which is transferred into the Budget interface file FA_BUDGET_INTERFACE. This
file is used to load the Budget data into the Oracle Assets system.
ACE Information
Oracle Assets looks at the asset's financial information in either the Alternate Minimum
Tax(AMT) or the federal book to determine new ACE information. If an asset is
depreciating in the federal tax book using ACRS, Oracle Assets uses the federal book
information. If the asset is depreciating in the federal book using MACRS, Oracle Assets
uses the AMT book information. Oracle Assets automatically updates your assets when
you run the Update ACE Book program.
For transferring the ACE information from the legacy system, it can either be entered
manually, or it can be calculated by the Oracle Assets program. The difference is the
process of populating the ACE interface table.
Manually, create an ACE tax book with ACE depreciation rules. Using the Mass Copy
program, the assets are copied into the ACE book from the corporate book. The ACE
conversion table (FA_ACE_BOOKS) is populated using the Populate ACE Interface
Table program. The Update ACE Book program is then run to update the information in
the ACE conversion table.
Manually, create an ACE tax book with ACE depreciation rules. Using the Mass Copy
program , the assets are copied into the ACE book from the corporate book. The ACE
conversion table is populated by loading the table manually with the ACE information
from the previous system. The Update ACE Book program is then run to update the
information in the ACE conversion table.
The mass additions process lets the addition of new assets or cost adjustments from other
systems to your system automatically without reentering the data. For example, new
assets can be added from invoice lines brought over to Oracle Assets from Oracle
Payables, or from CIP asset lines sent from Oracle Projects. Oracle Assets is already
integrated with Oracle Payables; and it can easily be integrated with other payables
systems. The mass additions process can also be used to convert assets from an outside
system to Oracle Assets. Assets data can be transferred in one of the following three
methods, depending on where the source is located.
The Create Mass Additions program creates mass additions from invoice information in
Oracle Payables. The concurrent process places the new mass additions in a holding area
(the table FA_MASS_ADDITIONS) interface tables, so that the mass additions are
reviewed and approved, before they become asset additions.
Oracle Assets allows the conversion of assets data from non-Oracle asset systems by
using mass additions. Instead of loading the asset information into multiple Oracle Assets
tables, the information is loaded into the FA_MASS_ADDITIONS table and the mass
additions process is used to simplify the work.
Production Information
1. An import program or utility is used to export data from the feeder system to
populate the FA_PRODUCTION_INTERFACE table.
2. The Upload Production program is run to move the production information into
Oracle Assets.
3. The Production History report is run to review the status of all imported items.
4. The Periodic Production window can be used to review or change the production
information.
The manual entry involves the following tasks: Open the Periodic Production window;
Find assets within a corporate Book for which you the production information is being
entered; Enter the from and to date and the total Production for an asset; Optionally enter
production for multiple non-overlapping date ranges within a single period; Save your
work.
Physical Inventory
Physical inventory is the process of ensuring that the assets a company has listed in its
production system match the assets it actually has in inventory. A company takes
physical inventory by manually looking at all assets to ensure they exist as recorded, are
in the appropriate locations, and consist of the recorded number of units. The Physical
Inventory feature in Oracle Assets assists in comparing and reconciling your physical
inventory data. The physical inventory data can be loaded into Oracle Assets using one of
the following methods:
The physical inventory data is entered into an Excel spreadsheet and exported to Oracle
Assets using the Applications Desktop Integrator (ADI). ADI is a spreadsheet-based
application that allows the user to format data inside a Microsoft Excel spreadsheet and
then upload into Oracle Applications. ADI uses Wizards and Templates to simplify the
data entry.
Data for each asset is entered directly into Oracle Assets using the Physical Inventory
Entries window. The limiting factor is that data for only one asset can be entered at a time
when using this method
SQL Loader is used to import the Physical inventory data in the following way: A single
interim table it be used, if possible. Multiple tables may be used if the data exists in
multiple tables or files in the system from which data is being loaded. In either case, the
data must eventually be placed in a single table, the FA_INV_INTERFACE table. If
preferred, data can be loaded directly into the FA_INV_INTERFACE table, but it is more
difficult due to the complexity of the table SQL*Loader is used to import information
from outside the Oracle database. SQL*Loader accepts a number of input file formats
and loads the physical inventory data into the interim table. If the data already resides
within an Oracle database, there is no need to use SQL*Loader. The physical inventory
information is consolidated in the interim table using SQL*Plus or imported by any other
method.
Here is reference note for API table definitions based out of my for previous
article for Oracle API Availability -Oracle Assets (FA).
FA_ACE_BOOKS
FA_ACE_BOOKS, the ACE conversion table, is organized into the following columns
which store ACE information:
FA_BUDGET_INTERFACE
To use the Physical Inventory feature in Oracle Assets, you must load physical inventory
data that you have collected into the FA_INV_INTERFACE table in Oracle Assets.
FA_PRODUCTION_INTERFACE
Some time back in last post we have already seen the definition of interfaces and there
types.Just to summarize here are the high points for interface :
Import data from any environment , including own system or old system or from
data collection device or external system or any others in the easier way possible,
This consist of review the result of import run which as whole include verification
,validation, review, reimport and error identification
Guess the next question in your mind will be what are the options available for
interfacing with oracle ERP or any other ERP? The way integration and interfacing
works in typical commercial application have almost similar in nature. Lets emphasize
some options that technology offer in Oracle application. But the option will be drived on
the basis of nature of system and process how its works , moreover Cost is yet another
driving factors. From the integration and interfacing these important factors are :
Frequency
Mode
Volume
Technology
Security ( accessing data)
Is this really driving the integration decisions for choice.? ...The answer is YES, on the
top of other factors like cost, support etc...etc.But how...lets understand what is really
means and how they really affect in :
Under these set of schema , a developer and designer have to take a call which options
should he/she can go for interfacing?? Lets take some of the options :
Before exploring the some options, note that integration is broadly categorize into two
types:
Data Integration
Application Integration
We are not going to discuss details
her, lets take some of the options as
for integration and interfacing in
EBS.
This is the the most standard way for doing interfacing in oracle application till day.This
consist of developed interface table and programs. The underline interface table allow
you to load data and then call concurrent program if any else use the standard AOL API's
and have a custom concurrent program. The standard/custom concurrent program will
take data from the interface table validate it and the data into application base products
table.
This kind of Open Interface Table satisfy in most of time, as design and development
does not requires much efforts.In oracle each product has number of OIT available to
cater most of interfacing/integration need.
Many time we need a tighter integration to oracle application that can be provided with
interface table. In those cases, Oracle Application API's are indeed a good Options .APIs
allow for tight integration into oracle application product. There are also 3rd party
products that need to bolt-on into oracle apps with its integration capability. A typical
API's works as figure in the right.
When there is no standard Oracle process (no interface tables) as well no API's to import
data.In that case, you have to write a program that inserts data directly into the Oracle
Base Tables.Though this is not recommended by oracle as it any changes from oracle
standard functionality may malfunction during patch or upgrade version. So there is
another options where we can use some EAI or middle ware tool . EAI/Middle ware tools
typically works as adaptor or connector which then take care of any insert /update in
oracle base table without any risk.There are number of adapter available to integrate with
oracle application.
These tools normally provide robust visual development GUI as well as have strong
functionality to provide integration monitoring and alerting tools. I personally know
Taviz( How good this is..i really like this ..sorry guys i am not sells person but Still i will
recommode). Normally these tools are higher-quality than a options discussed in OIT or
API's.
There are EAI vendors which has capability with interface and integrate with oracle
application. Some of them are oracle cerified partners.
Cast Iron
WebMethods
Tibco
Informatica
Blue Wolf
Taviz(formerly SmartDB)
Crossroads
SeeBeyond (formerly STC)
Vitria
Normally most of EAI products provide a tool called "Studio" which uses a graphical
environment for you to design integration process flows called orchestrations
(integrations). Integrations are deployed to a provided ‘Application Router’, which
is an integration appliance pre-configured before it is installed at the customer’s
site.Provides native ‘Connector’ to Oracle E-Business Suite.
Options 4 : EDI
BPEL stands for Business Process Execution Language (This was developed by
IBM, BEA, and MSFT)
Development tools and server acquired with Oracle’s purchase of Collaxa Inc.
Requires extra licenses beyond Oracle application licenses
Uses industry standards, web services, and business process design to orchestrate
integration development
Marketed very heavily by Oracle as their current and future integration standard
Will take some deep drive for options 4 and options 5 in some other post.
What is FND_FILE
An API that contains procedures to write text to log and output files which can be viewed
once the Concurrent program get completed in output or log . These procedures can only
be used within PL/SQL Procedures which, are concurrent programs.
utl_file_dir parameter must be set to include the log and out directories for the
applications that will run concurrent requests using FND_FILE
Database owner must have write privileges on those directories
Take a note that FND_FILE supports a maximum buffer line size of 32K for both
log and output files.
FND_FILE.PUT
Useful for writing text to a file without a new line character. Multiple calls will
concatenate the text .
Does not include new line character
FND_FILE.LOG
FND_FILE.OUTPUT
Usage
FND_File.Put(FND_File.Log, ‘This text written to Log file’);
FND_FILE.PUT_LINE
This is used to write a line of text to a file followed by a new line character
Usage
FND_File.Put_Line(FND_File.Out, ‘This text written to Out file’);
FND_FILE.NEW_LINE
FND_File.PUT_NAMES
This is used to sets temporary log and out file names and directory, which normally used
during test and debug phase.
FND_FILE.PUT_NAMES(p_log in varchar2,
p_out in varchar2,
p_dir in varchar2)
Usage
FND_File.Put_Names(‘Order123.log’, ‘Order123.out’,
‘/usr/temp/outfiles’);
Example
BEGIN
fnd_file.put_names('test.log', 'test.out','‘/usr/temp/outfiles’');
fnd_file.put_line(fnd_file.output,'Called stored procedure');
/* add logic, etc... */
FND_FILE.CLOSE
This will closes open files.
Usage:
FND_File.Close;
Many times, we need to submit concurrent requests and request sets from non SRS
window like operating system or PL/sql . In Oracle Applications there are API’s to
take these options. Here are some of the API's function and usage..
FND_REQUEST
o This API is used Submit concurrent requests from backend. As we know
there are couple of options avaible in oracle application to submit a
concurrent requset like SRS, CONSCUB and FND's API. This is API
offers some great functionality to use via PL/sql or any other technology
like , Host Program or java program.
FND_CONCURRENT
o Retrieve information about concurrent requests
o Set information about concurrent requests
Set_Options ·
o This is a function of boolen type
o Set request options
o This is Call before submitting the request
usage:
Set_Repeat_Options ·
o Function, returns TRUE or FALSE
o Set repeat options
o Call before submitting the request
Set_Print_Options ·
o Function, returns TRUE or FALSE
o Set print options (note, some options can not be over-ridden)
o Call before submitting the request
Called before submitting request if the printing of output has to be controlled with
specific printer/style/copies etc., Optionally call for each program in the request set.
Usage :
fnd_submit.set_print_options(NULL,NULL,NULL,TRUE,'N');
or
Add_printer
o Called after set print options to add a printer to the print list.Optionally
call for each program in the request set.
o Returns TRUE on successful completion, and FALSE otherwise
Usage
Submit_Request
o Function, returns Request Id or 0·
o If submitting from a form, all Arguments must be specified
Set_Mode (server only)
o Function, returns TRUE or FALSE
o Must use if request is submitted from a database trigger.
o Call before submitting the request
o Failure in the database trigger call of FND_SUBMIT.SUBMIT_SET does
not rollback changes
Get_Request_Status
o Function returns TRUE or FALSE
o Returns status information in function output parameters
Wait_For_Request
When submitting concurrent requests using PL/SQL, it is often desired to have the parent
process wait until all the child processes have completed before completing itself.
This function Wait for the request completion, then return the request phase/status and
completion message to the caller. Also call sleep between database checks.
This API Wait for the request completion, then return the request phase/status and
completion message to the caller. Also call sleep between database checks.
Arguments (input)
o request_id :The request ID of the program to wait on.
o interval :Time to wait between checks. This is the number of seconds to
sleep. The default is 60 seconds.
o max_wait :The maximum time in seconds to wait for the requests
completion.
Arguments (output) :
o phase :The user friendly request phase from FND_LOOKUPS.
o status :The user friendly request status from FND_LOOKUPS.
o dev_phase :The request phase as a constant string that can be used for
program logic comparisons.
o dev_status :The request status as a constant string that can be used for
program logic comparisons.
o message :The completion message supplied if the request has completed.
Usage
IF request_id = 0 THEN
fnd_file.put_line(fnd_file.log, 'Request Not Submitted.');
ELSE
END IF;
Usage
FND_SUBMIT.ADD_NOTIFICATION (user ==>'ANAND') ;
SET_NLS_OPTIONS
o Called before submitting request to set request attributes.
o Optionally call for each program in the request set.
o Returns TRUE on successful completion, and FALSE otherwise.
Usage
FND_SUBMIT.SET_NLS_OPTIONS (language =>'US',
territory => NULL);
Posted in API Integration | 6 Comments »
In oracle user Profile functionality is provided in the FND_PROFILE package and the
FNDSQF library.
There are various Objects that can be used with this API's. These are discussed below:
1. Put :This can be used to put a value to the specified user profile option.
Usage:
FND_Profile.Put('PROFILE_NAME','New_Value')
FND_Profile.Put('USERNAME', Usr_Name)
FND_Profile.Put('RESP_ID', Resp_ID)
FND_Profile.Put('RESP_APPL_ID', Resp_App_ID)
FND_Profile.Put('USER_ID', User_ID)
2.DEFINED : this is function returns TRUE if a value has been assigned to the specified
profile option.
Usage:
SELECT fnd_profile.defined('ACCOUNT_GENERATOR:DEBUG_MODE')
ACC_GEN_DEBUG_SESSION_MODE FROM DUAL;
3.GET :This is used to retrieve the current value of the specified user profile option
Usage :
FND_Profile.Get('PROFILENAME', Profile_name);
FND_Profile.Get('CONC_LOGIN_ID', Conc_login_id);
FND_Profile.Get('LOGIN_ID', loginid);
4.VALUE : This is function which returns a character string. Used to retrieve the current
value of the specified user profile option.
Usage:
fnd_profile.value('PROFILEOPTION')
fnd_profile.value('MFG_ORGANIZATION_ID')
fnd_profile.value('login_ID')
fnd_profile.value('USER_ID')
fnd_profile.value('USERNAME')
fnd_profile.value('CONCURRENT_REQUEST_ID')
fnd_profile.value('GL_SET_OF_BKS_ID')
fnd_profile.value('ORG_ID')
fnd_profile.value('SO_ORGANIZATION_ID')
fnd_profile.value('APPL_SHRT_NAME')
fnd_profile.value('RESP_NAME')
fnd_profile.value('RESP_ID')
6.SAVE_USER :This is function used to save a value for a profile option permanently to
the database, for the current user level. It is necessary to explicitly issue a commit when
using this function. Returns TRUE if profile option is successfully saved, otherwise
FALSE.
7.SAVE :This is function used to save a value for a profile option permanently to the
database, for a specified level. It is necessary to explicitly issue a commit when using this
function. Returns TRUE if profile option is successfully saved, otherwise FALSE.
Usage
Usage:
fnd_profile.initialize(user_id);
In Oracle application messaging is typically handled in different way. If you are working
in Oracle application you may notice different types of alert window you will get
depending upon the condition. In oracle application this would be typical handled by
whole set of bundle API , which is called as FND_MessageAPI.
Depending upon the development need , lets understand the various function in three
different way.
1. Server side
2. client Side
Here are the list of Procedure and Functions which can be used for retrieving and Buffer
Messages at Client Side.
1. Set_Name :Retrieves message from Message Dictionary and sets it on the stack
2. Set_String :Procedure, used to place the passed string on the message stack.
3. Set_Token :Substitutes token with specified value
4. Retrieve :Retrieves a message from the server-side buffer, translates and
substitutes tokens, and sets message on the stack
5. Get (function) :Retrieves a message from the stack. Returns the retrieved
message
6. Clear : Clears the message stack
7. Get_Encoded :This is a function, returns an encoded message from the message
stack.
8. Parse_encoded :This is a procedure used to parse the Application Short Name
and the message Name out of an encoded message
For the retrieving and Buffer Messages at Server Side here are some standard procedure:
1. Set_Name Sets a message name in the global area without retrieving it from the
Message Dictionary
2. Set_Token Adds a token/value pair to the global area without doing the
substitution
3. Clear Clears the message stack
4. Get_Number :This is function, returns number of the specified message.
Function returns 0 if the message has no number, or the message number is zero.
If the message can not be found, function returns NULL
5. Raise_error :This is Procedure that can raises an application error, returning the
message information contained in the package variables
In fact for displaying purpose these are the standard procedures and Functions we can use
from API, these are mostly used for displaying message at Client Side.
Apart from this you may also used few other like:
Show :Displays top message on the stack in the out file. Does not print message
number
Error :Displays top message on the stack in the log file. Prints the message
number if it is not zero
Hope this would be great help in understanding and utilizing the functionality. Next will
discuss how to implement these.
Search@Epicenter
Bank Statement
Reconciliation
Receipts and payments originating in non-Oracle systems can be reconciled in the Cash
Management system using the Reconciliation open interface. However, the open interface
view, CE_999_INTERFACE_ V, and open interface package, CE_999_PKG, provided
by Oracle, need to be customized first. The Cash Management program automatically
retrieves the necessary information from the open interface view for matching statement
lines. (The Reconciliation Open Interface is not run as a separate program.)
Cash Forecasting
Cash forecasting is a planning tool that helps in anticipating the flow of cash in and out of
the business, allowing the projection of cash needs and evaluating the company's
liquidity. The Cash Management Forecasting Open Interface allows the utilization of
external sources of data as cash inflow and outflow data for flexible cash forecasting.
Two cash forecast source transaction types, Open Interface Inflow and Open Interface
Outflow, allow inclusion of external application transaction sources for cash forecasting.
Having two separate source transaction types for external source transactions gives an
easy way to indicate whether the transaction source consists of cash receipts (inflow) or
disbursements (outflow). The Forecasting Open Interface collects cash flow amounts
from the external systems, and the Cash Forecasting module summarizes and calculates
the data to be included in the cash forecasts along with other Oracle Applications data.
Overview
Auto Lockbox is a service that commercial banks offer corporate customers to enable
them to outsource their accounts receivable payment processing. Auto Lockbox
eliminates manual data entry by automatically processing receipts that are sent directly to
your bank. You can also use Auto Lockbox for historical data conversion. For example,
you can use Auto Lockbox to transfer receipts from your previous accounting system into
Receivables. Auto Lockbox ensures that the receipts are accurate and valid before
transferring them into Receivables.
1. Import: During this step, Lockbox reads and formats the data from your bank file into
interface table AR_PAYMENTS_INTERFACE_ALL using a SQL *Loader script.
2. Validation: The validation program checks data in this interface table for
compatibility with Receivables. Once validated, the data is transferred into QuickCash
tables (AR_INTERIM_CASH_RECEIPTS_ALL and
AR_INTERIM_CASH_RCPT_LINES_ALL) . At this point, you can optionally query
your receipts in the QuickCash window and change how they will be applied before
submitting the final step, Post QuickCash.
3. Post QuickCash: This step applies the receipts and updates your customer's balances.
Process Flow
Here is schematic data flow and process flow of lockbox process
Set Up
These are the Normal Set Required for Auto lockbox. This is part of AR Set up:
Define Banks
o Define Remittance Bank with Account use Internal where checks from
customer are deposited.
Define Receipt Class
o Define a Receipt class to determine the required processing steps for
receipts to which you assign payment methods with this class.
Define Payment Methods
o Define a payment method with all receipt accounts.
Define Receipt Source
o Define Receipt Batch Source and attach receipt class, payment method
and remittance bank account information to the Receipt Source.
Define Lockbox
o Define Lockboxes to use the Receivables Autolockbox program.
Define Transmission Format
o Define the Transmission Format which Auto Lockbox uses when
importing data into Receivables.
Define AutoCash Rule Set
o autocash rule sets determine how a quickcash receipt is applied to open
debit items.
o enter a sequence for automatiocally applying receipts
o select one or more autocash rules for receipt application from the list of
autocash Rule options
o Define AutoCash Rule Sets to determine the sequence of rules that Post
o QuickCash uses to update Customer's account balances.
Control file
o Create a control file which is used by SQL * Loader to import the data
into interface table and it is placed in the directory $AR_TOP/bin
Data file
o data are kept into directory $AR_TOP/bin
Manual Credit Card Entry: A form is available for entry through the Oracle
Payables application.
Credit Card Transaction Interface Table: This process loads transaction data
from the credit card issuer (American Express, Diner's Club, MasterCard and
Visa) into Oracles AP module. Oracle Payable then uses this data to confirm
transactions with employees. Once the transactions have been approved the credit
card transaction lines are imported into Payables Open Interface using the Credit
Card Invoice Interface Summary program. The credit card transactions are then
available for final import to Oracle Payables where the transactions become
invoices.
Creating Invoices
In Oracle Payables four methods are available for entering an invoice into the system.
Manual Invoice Entry: Two methods for manual invoice entry exist. Using
Oracle Payables system Invoice Workbench which includes the Invoice Batches
window and Distribution window users can enter complex invoices, and invoices
requiring online validation. In addition this functionality is useful in processing
invoices that require special attention such as immediate payment.
The second method of manual invoice entry, Invoice Gateway, is used when
entering high volumes of invoices. Generally these invoices do not require online
validation or defaulting of accounting information. After entering invoices using
the gateway, the invoice import must be run, at that time validation and defaulting
is performed. This method of entry can be used in lieu of invoice interfaces.
Although, using the gateway can accomplish similar results to that found with an
interface process, manual entry is no substitute.
Automatic Invoice Creation: Oracle Payables provides functionality to produce
periodically recurring invoices. This functionality may be used to substitute
manual invoice entry or the payables open interface. In the case of recurring
invoices that would normally come from an external system choosing to setup a
recurring invoice formula may be an alternative.
Using Payables Open Interface: Choose this method for processing large
volumes of invoices that originate in external system. Additionally, this process is
useful in handling employee expense reports generated through self-service
applications, expense reports entered by the Payables Department, invoices for
employee credit card expenses, Oracle Projects billing and time and expenses, and
EDI invoices transferred from the Oracle EDI gateway.
Oracle Payables can be implemented without Oracle Purchasing, to allow this several
purchasing tables are installed initially which must be populated using custom interfaces.
Only two-way matching is available when data is loaded using the interface method.
Two-way approval verifies that purchase order and invoice information match within
your tolerances as follows: Quantity billed on the purchase order shipment is less than or
equal to Quantity ordered on the purchase order shipment. Invoice price on the purchase
order shipment is less than or equal to Purchase order price on the purchase order
shipment.
Receipts can only be matched in an install that also includes Oracle Purchasing.
The only method for interfacing data into the purchasing tables described in this section
is through a customized interface from an external source. Note: Interfacing this
information is not supported by Oracle.
Vendor Interface
Existing and new vendors must be loaded into the Oracle Payables application to support
payables activities. Two methods may be used to enter vendors into Oracle Applications,
manual entry and direct loading using a customized loader program.
Manual Vendor Loading: Use the Enter Vendor window. Using this
functionality vendor header information as well as vendor site information can be
entered.
Vendor Interface: When interfacing vendors into Oracle Applications two tables
must be loaded the PO_VENDORS and PO_VENDOR_SITES_ALL. The vendor
table contains all header information and the site table contains information about
each the vendor locations such as "ship to" and "bill to". Using this method makes
sense when the volume of new vendors is large. Note: Interfacing this information
is not supported by Oracle.
Those who are in 11.5.10 they will find yet another method ie by interface.
You have to Load data into the staging tables first ie.AP_SUPPLIERS_INT -
Supplier Information
AP_SUPPLIER_SITES_INT - Supplier Sites Information
,AP_SUP_SITE_CONTACT_INT - supplier Contact details This uses Vendor ID,
Vendor Site Code to relate the contacts to specific vendor. Once data get loaded
three interface program should be kicked out which is as
o Supplier Open Interface Import.
o Supplier Sites Open Interface Import
o Supplier Site Contacts Open Interface Import
Invoices
Manual Entry and Updating: Manual entry or update of invoices requires the
user to have access to the Oracle Application's Accounts Receivable module and
specifically the Enter Invoices form. You can enter and update invoices for valid
customers. AR uses AutoAccounting to create the revenue accounting
combination based on the invoice line information.
AutoInvoice Interface: AutoInvoice interface provides a mechanism for
transferring large volumes of invoices, credit memos, debit memos, and on-
account credits from third-party and legacy systems into Receivables. Information
is loaded into the RA_INTERFACE_LINES_ALL (which stores information
about each interface line imported) and
RA_INTERFACE_SALESCREDITS_ALL (containing the sales credit
information) tables then imported into the Oracle Applications by the AutoInvoice
Import process.You can also refer my old post for autoinvoice details.
Receipts
Manual Entry and Updating: Manual entry or update of receipts requires the
user to have access to the Oracle Application's Accounts Receivable module and
specifically the Enter Receipts form. You can enter and update receipts for open
and future accounting periods.
AutoLockbox Interface: AutoLockbox interface provides a mechanism for
transferring large volumes of payments from bank files or third party systems into
Receivables. Information is loaded into the
AR_PAYMENTS_INTERFACE_ALL table then imported into the Oracle
Applications by the AutoLockbox Import process.
The AR_PAYMENTS_INTERFACE_ALL table stores imported lockbox
information that has not been validated. AutoLockbox creates one row in this
table for each record in a transmission. When the validation step of AutoLockbox
is run, Oracle Receivables transfers the information from the
AR_PAYMENTS_INTERFACE_ALL tables to the
AR_INTERIM_CASH_RECEIPTS_ALL and
AR_INTERIM_CASH_RCPT_LINES_ALL tables.
Customers
Manual Entry and Updating: Manual entry or update of customers requires the
user to have access to the Oracle Application's Accounts Receivable module and
specifically the Enter Customers form. You can enter and update customers,
multiple customer addresses (sites), and multiple contact(s) for each address.
Customer Interface: The customer interface provides a mechanism for
transferring large volumes of customers from third party and legacy systems into
Receivables. Information is loaded into the RA_CUSTOMER_INTERFACE,
RA_CONTACT_PHONES_INTERFACE,
RA_CUSTOMER_PROFILES_INTERFACE,
RA_CUSTOMER_BANKS_INTERFACE, and
RA_CUST_PAY_METHOD_INTERFACE tables then imported into the Oracle
Applications by the Customer Import process.
TCA API's: The customer information can also be loaded into application by
TCA API's.
Manual Entry and Updating: Manual entry or update of sales tax data requires
the user to have access to the Oracle Application's Accounts Receivable module
and specifically the Tax Locations and Rates form. You can enter and update
location and rate information through this form.
Sales Tax Rate Interface: The Sales Tax Rate Interface lets you load sales tax
records into your Oracle Receivables application from your sales tax feeder
system. Information is loaded into the AR_TAX_INTERFACE table then
imported into the Oracle Applications by the Sales Tax Rate Interface process.
The AR_TAX_INTERFACE table is used to import location, postal code and
sales tax rate information into Oracle Receivables. Rows are inserted in this table
and then the Sales Tax Interface Program is run to create records in
AR_LOCATION_VALUES and AR_LOCATION_RATES. Each row can define
a new location and assign to it multiple postal code and effectively date ranges,
and each range may have an optional sales tax rate.
Oracle provides a Tax Vendor Extension to integrate external tax calculation programs
with the Oracle Application's Accounts Receivable module. This extension allows you to
provide for complex tax calculation requirements while retaining the full power of
Receivables to create and store other tax data. The tax extension is called whenever a tax
rate is calculated by the Receivables Tax Engine.
This is in continuation to my last post API's availability. Here are the some
keynotes on the API's availability in GL.
Budget Upload
Oracle Applications provides four methods for adding budgeting transactions,
Application Desktop Integrator (ADI) Budget Wizard, manual entry through the
application forms, journal import and budget import.
ADI: ADI is a spreadsheet-based application that allows the user to format data
inside a Microsoft Excel spreadsheet and then upload into Oracle Applications.
ADI uses Budget Wizards and Budget Templates to simplify the data entry. In
addition, ADI is delivered as standard functionality, as opposed to a custom
interface that would require additional development, maintenance and upgrade
consideration.
Manual Entry and Updating: Manual entry requires the user to have access to
the Oracle Application's General Ledger module and specifically the enter budget
amounts forms for your accounts to replace any existing budget balances. You
can enter budget amounts for each account in the budget organization one-by-one,
or you can use worksheet mode to enter budgets for several accounts at once.
Budget rules enable you to distribute budget amounts for all periods.
Budget Interface: Budget interface provides a mechanism for transferring large
numbers of budget data from a third-party budget source system to your General
Ledger application Budget Interface table. Once you load your budget
information into the Budget Interface table, you can run Budget Upload to post
your budget data into your General Ledger application. Budget Upload uses the
Budget Interface table GL_BUDGET_INTERFACE to upload budget
information. The Budget Interface table is organized in such a manner that
provides a column for each budget period in your current open fiscal year in
addition to account and other relevant information on a single budget line.
GL Interface: GL Interface is another option for uploading large numbers of
budget data from a third-party budget source. With this option the source must
provide a file that mimics the layout found in the GL_INTERFACE table. The
process for uploading a budget through the journal import process is similar to
that found using budget interface functionality. The most significant difference is
found in the format of the budget record. Here the record is formatted in such a
way that each budget line provides an amount for a single budget period within
the open fiscal year. Consequently, assuming a fiscal year has twelve periods, a
full fiscal year budget for one account would require twelve individual lines to be
processed to produce a budget across the full year.
Importing Journals
Manual Entry and Updating: Manual entry requires the user to have access to
the Oracle Application's General Ledger module. After accessing enter journals
form the user is presented with a choice of either entering a new journal or
searching an existing journal for update. On a new journal the user can choose to
overwrite default information found in header by selecting choices from the drop-
down list, in some cells the data is free form and others the default information
cannot be changed. The bottom area of the form also known as the journal line
detail is used to enter amount, account information and journal line description.
ADI: Journal Wizard is functionality provided with ADI that allows you to create
journal entries using Excel, then upload them into Oracle GL. With ADI the
Wizard generates the journal entry template to match the systems configuration.
Therefore, in certain cases where the volume is not excessively large this method
may be used to format and upload journal entries to Oracle GL. In addition, ADI
is delivered as standard functionality, as opposed to a custom interface that would
require additional development, maintenance and upgrade consideration.
GL Interface: Use journal import to load large numbers of journal transactions
from third-party systems such as payroll, accounts payable and accounts
receivables systems. When using the journal import functionality standard and
statistical type journals can be processed. In cases where migration from an older
system to Oracle GL is taking place, GL Interface can be used to facilitate the
process.
When using General Ledger's Multiple Reporting Currencies feature, your daily rates are
used to convert your primary set of books' journals to the appropriate reporting currencies
when the journals are copied to your reporting sets of books. Your daily rates must be
defined before you post journals in your primary set of books. To load daily currency rate
information two options are available, manual entry using the Daily Rates form or direct
loading through the GL_DAILY_RATES_INTERFACE table.
You should take a note, normally one currency exchange rate is used for all set of books
throughout the organization therefore preventing out-of-balance issues especially in the
case of intercompany transactions.
Manual Currency Rate Input: This option is used primarily when data volumes are
small and updates occur on a monthly intervals. In most cases the data is extracted
from the internet or another source and someone is required to calculate a month
average then enter the values into the system, using the daily rates form in the
Oracle GL application.
Automatic Currency Rate Loading: Depending on the frequency and number of
currencies used throughout the business, the volume may become too much to
handle through a manual entry process. Additionally, choosing this option makes
daily updates more practical and accurate. Several services provide daily currency
rate information that can be transferred to Oracle GL. Once the file is received the
data is upload into the GL_DAILY_RATES_INTERFACE and subsequently a
trigger moves the data into a production table.
The Global Intercompany System (GIS) provides a central location for subsidiaries to
enter intercompany transactions, those occurring between set of books. Furthermore, the
process is built in such a manner that an entry requires approval from the sender and
receiver prior to the transaction posting. With this process transaction amounts, dates, and
currencies are confirmed by both subsidiaries and subsequently producing more accurate
results.
The process provides three mechanisms for entering transactions, manual, automatic
transaction line generation and import transactions through the GIS open interface table
GL_IEA_INTERFACE. The main factor for choosing which option to use is mainly
based on data volume and integration with external systems.
Power of Autoinvoice
Posted on May 21st, 2007 by Sanjit Anand | Print This Post | Email This Post
Here is note on one of most efficient tool used in Oracle application. It is Auto Invoice, most
industry accepted tool in Oracle apps.
What is Auto Invoice??
Auto Invoice is a tool that can be used to import and validate transaction data from other financial
systems from which one can create invoices, debit memos, credit memos, and on-account
credits. It rejects transactions with invalid information to insure the integrity of the data.
3. Auto Invoice Purge Program Deletes records from the interface tables. If you set the Purge
Interface Table system option to No in Define System Option window, Auto Invoice does not
delete processed records from the interface tables after each run,and we must submit Auto
Invoice Purge Program periodically to clean up the interface tables. This program only
deletes transaction lines that have been successfully imported.
•Deletes all rows where interface_status =‘P’
•Ra_interface_lines
•Ra_interface_distributions
•Ra_interface_salescredits
How to start
As discussed above, oracle
Receivable’s Auto Invoice program
will be used to import and validate
Invoices.
A custom feeder program is
required to transfer data from the
Advantage extract files and
populate the Auto Invoice interface
tables
(RA_INTERFACE_LINES_ALL
and
Next post, I would summarize more information for Transaction Flexfield,Grouping , profile
options and parameter setting.
OracleApps Epicenter
Powered Search
Free Oracle Magazine Profit:The Executive's Guide to Oracle Applications
Subscribe
Enter your e-mail address to receive notifications when there are new posts
sign up
Categories
11i
AOL
API Integration
Asset
Basic Accounting
Beginner
Blogroll
Cash Management
Centrestage
Conversion
Depot Repair
EBS Suite
EDI
Emerging Technologies
Finance
Functional
General Interest
HRMS
Implementations
Integration
InterCompany
JumpStart
Methodology/Process
Misc
News
OPM
Oracle Application
Oracle Diagnostics
Oracle E-Business Tax
Oracle General Ledger
Oracle Legal Entity Configurator
Oracle Manufacturing
Oracle Order Management
Oracle Payable
Oracle Payment Module
Oracle Pricing
Oracle Product
Oracle Purchasing
Oracle Receivable
Oracle TCA
Oracle Treasury
Personalizations
R12
Release12
Report Manager
SEPA
Subledger Accounting
Technical
Tool
Uncategorized
Web ADI
XBRL
XML Publisher
Archives
May 2009
April 2009
March 2009
February 2009
January 2009
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
December 2006
October 2006
August 2006
Links
Metalink
Oracle
Oracle Integration Repository
Disclaimer
Disclaimer
Meta:
RSS
Comments RSS
Valid XHTML
eMail
Ad
Advance Search
Profit Magazine: The Executive's Guide to Oracle Applications
Search
Search
Powered Search
Recent Posts
International Financial Reporting Standards (IFRS) Oracle White Paper
Turn off Horizontal menu in forms
Batch Control is not showing Decimal place (Rounding issue)
Moving Personalizations between instances …FNDLOAD for Form
Personalization
Understanding Form Personalizations Architecture
New Products in Release 12.1
Step by Step :Using Receipt API for Miscellaneous Receipt (Scenario 6)
Step by Step :Using Receipt API ->Apply /Unapply Activity Application (Receipt
Writeoff API’s) (Scenario 5)
FNDLOAD: ….exporting Oracle Alert
Oracle E-Business Suite Release 12.1 Now Available
Step by Step :Using Receipt API ->Reverse Receipt (Scenario 4)
Step by Step :Using Receipt API ->Apply On Account (Scenario 3)
Step by Step :Using Receipt API ->Creating cash and apply (Scenario 2)
Step by Step :Using Receipt API ->Create Cash Receipt (Scenario 1)
Report Manager-Setting default parameters when uploading template.
Blogroll
David Haimes
Floyd Teter
Steven Chan
Tim Dexter
Trioragroup Blog
26 Users Online
Add it
Do you know how many ways; we can enter the data into oracle
application. Most of us can guess three different ways as:
The Data can be entered using the application Screens.
The data can be entered using Oracle's Open System Interface.
The data can be stored in the database table directly
But those who works in some complex business environment may figure out some of
more like:
And there are many more, but most of these are used for master data, and few cases for
transaction data via Open interface if available.
1. The Customer is running there some home grown IT application which cater most
of the company need. Now management has decided to go for any ERP solutions,
then the question what will happen for data which is already in the existing
application?
2. Another situation is already using ERP
a. They want to upgrade to higher version…presuming the structure of some table
get changed? Lets say 10.7 to 11i
b. The company is acquired or merged with some other company, and the whole
data need to move into the parent or child company .
c. They want to enable some additional modules within existing application.
3. There are few data interacting with both the cases irrespective of database
technology for where data is coming and going based out of need.
The answer of the 1 is data migration and 2 is more pronounced as data conversion where
as thirds is popularly known as Interface. The ways these are working haven't much
difference but it is more important to understand definition and need. I never found any
big difference between migration/conversion unless there is huge transformation of data,
the only things figure out is conversion might required some less steps to perform, as
assumption is that set up related stuff been already been taken care before execution of
activity.
Let's understand like this: Data Migration as a process of moving required (and most
often very large) volumes of data from our clients' existing systems to new systems.
Existing systems can be anything from custom-built IT infrastructures to
spreadsheets and standalone databases. Data conversion can be defined as a process
of converting data from one structural form to another to suit the requirements of
the system to which it is migrated.
Before Go-Live in the production environment the required master data, the open
transaction data and the historical transaction data need to be imported from the old
legacy applications to Oracle Applications. Since data structure and data design in legacy
systems are different from those of Oracle Applications, data need to be messaged/
converted satisfying the business rules to suite the Oracle requirement. Initial data can be
migrated by any other means as discussed above depending upon cetain paramater like
Volumn, usage, complexity , business rule etc..
Process where existing data from the client's old system is extracted, cleansed,
formatted, and installed into a new system.
These can be manual or automated.
The big difference is that these are One-time only process that requires extensive
testing and preparation.
They must be executed and performed before a system goes into production.
Functional Designer works with business owners to determine the data mapping
and complete the functional design using the Design Templates.
If the interface/conversion is automated, the Technical Designer converts
functional requirements into technical specs for the construction of the interface
programs.
The developer uses the functional and technical designs to build and test the
interface/conversion programs.
More rounds of testing are done until the interface/conversion is migrated to the
production environment for deployment.
Conversion is assumed as one time activity but never looks like small activity which
can be performed with couple of days.
There are good numbers of parameter on which they can be categorize. Take few of
them:
Frequency
o conversions are a one time event
o interfaces are ongoing
Occurrence in the project timeline
o conversions executed before production
o interfaces executed during production
Manner of execution
o conversions are batch
o interfaces may be batch or real time
Complexity
o Conversion does have very complex, its totally depends upon the data
mapping activity.
o coordinating with other systems make interfaces more complex
Maintenance
o Maintence of interface is bit cost intensive task.
Interface Type
You have learned how interface is differ from Conversion/Migration. Now lets take few
types of interfaces:
Normally in any system , there are two kinds of interface as:
Inbound Interfaces
An inbound interface receives data from one system (legacy) and inserts into
Oracle open interface tables.
A typical inbound interface would follow these steps:
1. Extract data from legacy system into a flat file.
2. Use SQL*Loader or equivalent tool to upload information into a
temporary table.
3. Write a PL/SQL program to take data from the temp table and insert into
the Open Interface Tables.
4. Through the concurrent manager in Oracle Applications, run the standard
Oracle Interface program to transform interface tables into Oracle data.
Outbound Interfaces
o An outbound interface takes data from Oracle tables and inserts it into an external
system (via tables or flat file).
o A typical outbound interface would follow these steps:
- Write a PL/SQL program to extract data from Oracle base tables into a flat file.
- Use a custom program to read that data and post it into the legacy system
For inbound interfaces, the interface table is the intermediary table where data
from the source application temporarily resides until it is validated and processed
into an Oracle base table through a standard import concurrent program.
Open Interface Tables are standard Oracle tables.
o Oracle uses OITs to provide a simple interface to Oracle base tables.
o Oracle has list of all the open interface that oracle offered in there product.
Ok, thats is all about Conversion and Interfaces briefing. I will write some more for Tools
used for Conversion/Interface and will discuss some granular details about a
conversion/migration project and share some information about how and where AIM's
documents fits into conversion and Migration projects. So watch out this space for some
more stuff for conversions.. Till than..your comment and requset you to share some
Some time back in last post we have already seen the definition of interfaces and there
types.Just to summarize here are the high points for interface :
Import data from any environment , including own system or old system or from
data collection device or external system or any others in the easier way possible,
This consist of review the result of import run which as whole include verification
,validation, review, reimport and error identification
Guess the next question in your mind will be what are the options available for
interfacing with oracle ERP or any other ERP? The way integration and interfacing
works in typical commercial application have almost similar in nature. Lets emphasize
some options that technology offer in Oracle application. But the option will be drived on
the basis of nature of system and process how its works , moreover Cost is yet another
driving factors. From the integration and interfacing these important factors are :
Frequency
Mode
Volume
Technology
Security ( accessing data)
Is this really driving the integration decisions for choice.? ...The answer is YES, on the
top of other factors like cost, support etc...etc.But how...lets understand what is really
means and how they really affect in :
Under these set of schema , a developer and designer have to take a call which options
should he/she can go for interfacing?? Lets take some of the options :
Before exploring the some options, note that integration is broadly categorize into two
types:
Data Integration
Application Integration
We are not going to discuss details her, lets take some of the options as for integration
and interfacing in EBS.
This is the the most standard way for doing interfacing in oracle application till day.This
consist of developed interface table and programs. The underline interface table allow
you to load data and then call concurrent program if any else use the standard AOL API's
and have a custom concurrent program. The standard/custom concurrent program will
take data from the interface table validate it and the data into application base products
table.
This kind of Open Interface Table satisfy in most of time, as design and development
does not requires much efforts.In oracle each product has number of OIT available to
cater most of interfacing/integration need.
Many time we need a tighter integration to oracle application that can be provided with
interface table. In those cases, Oracle Application API's are indeed a good Options .APIs
allow for tight integration into oracle application product. There are also 3rd party
products that need to bolt-on into oracle apps with its integration capability. A typical
API's works as figure in the right.
Options 3 : Enterprise Application Integration Tools (EAI) /Middleware
Tools
When there is no standard Oracle process (no interface tables) as well no API's to import
data.In that case, you have to write a program that inserts data directly into the Oracle
Base Tables.Though this is not recommended by oracle as it any changes from oracle
standard functionality may malfunction during patch or upgrade version. So there is
another options where we can use some EAI or middle ware tool . EAI/Middle ware tools
typically works as adaptor or connector which then take care of any insert /update in
oracle base table without any risk.There are number of adapter available to integrate with
oracle application.
These tools normally provide robust visual development GUI as well as have strong
functionality to provide integration monitoring and alerting tools. I personally know
Taviz( How good this is..i really like this ..sorry guys i am not sells person but Still i will
recommode). Normally these tools are higher-quality than a options discussed in OIT or
API's.
There are EAI vendors which has capability with interface and integrate with oracle
application. Some of them are oracle cerified partners.
Cast Iron
WebMethods
Tibco
Informatica
Blue Wolf
Taviz(formerly SmartDB)
Crossroads
SeeBeyond (formerly STC)
Vitria
Normally most of EAI products provide a tool called "Studio" which uses a graphical
environment for you to design integration process flows called orchestrations
(integrations). Integrations are deployed to a provided ‘Application Router’, which
is an integration appliance pre-configured before it is installed at the customer’s
site.Provides native ‘Connector’ to Oracle E-Business Suite.
Options 4 : EDI
BPEL stands for Business Process Execution Language (This was developed by
IBM, BEA, and MSFT)
Development tools and server acquired with Oracle’s purchase of Collaxa Inc.
Requires extra licenses beyond Oracle application licenses
Uses industry standards, web services, and business process design to orchestrate
integration development
Marketed very heavily by Oracle as their current and future integration standard
PL / SQL
o Oracle Corporation's proprietary server-based procedural extension to the
SQL database language
o Relatively sophisticated procedural programming language
o Compiled to DB; allows for syntax checking and high-performance DB
integration
o Myriad of purposes in Oracle applications: application logic, integration
logic, exception handling
o Exposes an API layer to Oracle application logic
Stored Procedures
o Can be implemented as server-side Java
o Capable of calling PL/SQL using JDBC; capable of being called by
PL/SQL
o Higher computational performance than PL/SQL
o Allows for use of an industry standard technology instead of proprietary
PL/SQL
o Often coupled with PL/SQL as a hybrid approach to Oracle application
integration
Oracle Advanced Queuing (AQ)
o Database Integrated Messaging
o Integrated data, message, and message history
o Recoverability(any point in time recovery)
o Auditing,Tracking, Non-repudiation
o Business Intelligence on message store
o High Performance
o Integrated with MQSeries via Oracle Messaging Gateway
Will take some deep drive for options 4 and options 5 in some other post.
Search@Epicenter
Yes..because data need to moved from old system to newer system thus, it is required to
understand how important is during implementation time line. Application
implementation methodology (AIM's) does has categorize conversion and migration as a
separate sub process process and it consist of various deliverables
The major tasks and corresponding deliverables during conversions are summerzied
below. Please take a note , this is for your information purpose based out of AIM's v3.1.
Posted in Conversion | No Comments »
Conversion Methodology
Posted on August 1st, 2007 by Sanjit Anand | Print This Post | Email This Post
In one of previous post , i have discussed the basics of interface ,conversion and
migration.Lets take a more detailed life cycle for data conversion/migration activity. This
activity can not be ignored in any Oracle ERP transformation project.
A conversion does follow there own methodology , being a typically
methodology it consist of certain task and subtask identified at sub
activity level . Here are some of them as discussed below.
This is where you have to plan the movement of data from an external
system/old system to Oracle Applications which normally consider
within a conversion project plan. The more important is developing a
detailed conversion plan for each entity, listing all design, development,
testing, and conversion tasks. You have also include resource,software,
and hardware requirements to successfully convert each entity.
2.Design Process
This is where you have to decide what need to convert. This start with
identifying all objects first there corresponding volume.
3.Developing Programs
4. Performing Conversion
5. Data Verification
In this phase each converted entity, design a conversion process from data extraction
through data verification. Main consideration is business objectives and dependencies for
each point in the process.
Do you know how many ways; we can enter the data into oracle application. Most of us
can guess three different ways as:
But those who works in some complex business environment may figure out some of
more like:
And there are many more, but most of these are used for master data, and few cases for
transaction data via Open interface if available.
1. The Customer is running there some home grown IT application which cater most
of the company need. Now management has decided to go for any ERP solutions,
then the question what will happen for data which is already in the existing
application?
2. Another situation is already using ERP
a. They want to upgrade to higher version…presuming the structure of some table
get changed? Lets say 10.7 to 11i
b. The company is acquired or merged with some other company, and the whole
data need to move into the parent or child company .
c. They want to enable some additional modules within existing application.
3. There are few data interacting with both the cases irrespective of database
technology for where data is coming and going based out of need.
The answer of the 1 is data migration and 2 is more pronounced as data conversion where
as thirds is popularly known as Interface. The ways these are working haven't much
difference but it is more important to understand definition and need. I never found any
big difference between migration/conversion unless there is huge transformation of data,
the only things figure out is conversion might required some less steps to perform, as
assumption is that set up related stuff been already been taken care before execution of
activity.
Let's understand like this: Data Migration as a process of moving required (and most
often very large) volumes of data from our clients' existing systems to new systems.
Existing systems can be anything from custom-built IT infrastructures to
spreadsheets and standalone databases. Data conversion can be defined as a process
of converting data from one structural form to another to suit the requirements of
the system to which it is migrated.
Before Go-Live in the production environment the required master data, the open
transaction data and the historical transaction data need to be imported from the old
legacy applications to Oracle Applications. Since data structure and data design in legacy
systems are different from those of Oracle Applications, data need to be messaged/
converted satisfying the business rules to suite the Oracle requirement. Initial data can be
migrated by any other means as discussed above depending upon cetain paramater like
Volumn, usage, complexity , business rule etc..
Yes, they have, because they have a significant efforts required in development and
design and implementation
Functional Designer works with business owners to determine the data mapping
and complete the functional design using the Design Templates.
If the interface/conversion is automated, the Technical Designer converts
functional requirements into technical specs for the construction of the interface
programs.
The developer uses the functional and technical designs to build and test the
interface/conversion programs.
More rounds of testing are done until the interface/conversion is migrated to the
production environment for deployment.
Conversion is assumed as one time activity but never looks like small activity which
can be performed with couple of days.
How conversion and interface differ?
There are good numbers of parameter on which they can be categorize. Take few of
them:
Frequency
o conversions are a one time event
o interfaces are ongoing
Occurrence in the project timeline
o conversions executed before production
o interfaces executed during production
Manner of execution
o conversions are batch
o interfaces may be batch or real time
Complexity
o Conversion does have very complex, its totally depends upon the data
mapping activity.
o coordinating with other systems make interfaces more complex
Maintenance
o Maintence of interface is bit cost intensive task.
Interface Type
You have learned how interface is differ from Conversion/Migration. Now lets take few
types of interfaces:
Normally in any system , there are two kinds of interface as:
Inbound Interfaces
An inbound interface receives data from one system (legacy) and inserts into
Oracle open interface tables.
A typical inbound interface would follow these steps:
1. Extract data from legacy system into a flat file.
2. Use SQL*Loader or equivalent tool to upload information into a
temporary table.
3. Write a PL/SQL program to take data from the temp table and insert into
the Open Interface Tables.
4. Through the concurrent manager in Oracle Applications, run the standard
Oracle Interface program to transform interface tables into Oracle data.
Outbound Interfaces
o An outbound interface takes data from Oracle tables and inserts it into an external
system (via tables or flat file).
o A typical outbound interface would follow these steps:
- Write a PL/SQL program to extract data from Oracle base tables into a flat file.
- Use a custom program to read that data and post it into the legacy system
Ok, thats is all about Conversion and Interfaces briefing. I will write some more for Tools
used for Conversion/Interface and will discuss some granular details about a
conversion/migration project and share some information about how and where AIM's
documents fits into conversion and Migration projects. So watch out this space for some
more stuff for conversions.. Till than..your comment and requset you to share some
Page 1 of 11
© 2006-2008 OracleApps Epicenter.
OracleApps Epicenter
Powered Search
Free Oracle Magazine Profit:The Executive's Guide to Oracle Applications
Subscribe
Enter your e-mail address to receive notifications when there are new posts
sign up
Categories
11i
AOL
API Integration
Asset
Basic Accounting
Beginner
Blogroll
Cash Management
Centrestage
Conversion
Depot Repair
EBS Suite
EDI
Emerging Technologies
Finance
Functional
General Interest
HRMS
Implementations
Integration
InterCompany
JumpStart
Methodology/Process
Misc
News
OPM
Oracle Application
Oracle Diagnostics
Oracle E-Business Tax
Oracle General Ledger
Oracle Legal Entity Configurator
Oracle Manufacturing
Oracle Order Management
Oracle Payable
Oracle Payment Module
Oracle Pricing
Oracle Product
Oracle Purchasing
Oracle Receivable
Oracle TCA
Oracle Treasury
Personalizations
R12
Release12
Report Manager
SEPA
Subledger Accounting
Technical
Tool
Uncategorized
Web ADI
XBRL
XML Publisher
Archives
May 2009
April 2009
March 2009
February 2009
January 2009
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
December 2006
October 2006
August 2006
Links
Metalink
Oracle
Oracle Integration Repository
Disclaimer
Disclaimer
Meta:
RSS
Comments RSS
Valid XHTML
eMail
Ad
Advance Search
Profit Magazine: The Executive's Guide to Oracle Applications
Search
Search
Powered Search
Recent Posts
International Financial Reporting Standards (IFRS) Oracle White Paper
Turn off Horizontal menu in forms
Batch Control is not showing Decimal place (Rounding issue)
Moving Personalizations between instances …FNDLOAD for Form
Personalization
Understanding Form Personalizations Architecture
New Products in Release 12.1
Step by Step :Using Receipt API for Miscellaneous Receipt (Scenario 6)
Step by Step :Using Receipt API ->Apply /Unapply Activity Application (Receipt
Writeoff API’s) (Scenario 5)
FNDLOAD: ….exporting Oracle Alert
Oracle E-Business Suite Release 12.1 Now Available
Step by Step :Using Receipt API ->Reverse Receipt (Scenario 4)
Step by Step :Using Receipt API ->Apply On Account (Scenario 3)
Step by Step :Using Receipt API ->Creating cash and apply (Scenario 2)
Step by Step :Using Receipt API ->Create Cash Receipt (Scenario 1)
Report Manager-Setting default parameters when uploading template.
Blogroll
David Haimes
Floyd Teter
Steven Chan
Tim Dexter
Trioragroup Blog
27 Users Online
Add it
Search@Epicenter
Read this:
We have already seen oracle new Oracle Sub ledger Accounting replaces the Global
Accounting Engine, which normally used for European & Regional Localizations need in
earlier versions. SLA itself extends the AX engine functionality by providing
customizable accounting rules via a flexible
The good is that both the Global Accounting Engine(AX) and Oracle Subledger
Accounting(SLA) generate accounting from a compiled definition of accounting rules
defined by users. Oracle Subledger Accounting further maintains version control on the
rules enabling users to modify the rules while maintaining auditability.
We are well aware of some of Oracle E-Business Suite R12 Architectural changes in the
Financials section like:
Legal Entity
Ledger Sets
Accounting Engine (SLA)
Transaction Based Taxes(E-Tax)
Inter-company Accounting (AGIS)
Multi-Organization Access Control (MOAC)
Let’s uptake to Legal Entity:
Financial books defined as “A Legal Entity is an entity identified through the
registration with the legal authority.â€
That’s means ,In this compliance world and in Oracle system it corresponds closely
and defined as the system “Legal Entity†corresponds with an independently
identifiable “legal person†a public company, a private business or limited
partnership, a trust, a not-for-profit, a government or a non-government organization
(NGO) - that can operate as if it were a real person in conducting business transactions.
Release 11i Operating Units and Inventory orgs will be upgraded as Establishments.
In Release 12 there is no specific link between Operating Units and Legal Entities
where as in R11 it was.
The Legal Entity is linked to a Ledger and the Operating unit is also linked to a
Ledger.
Every Release 12 transaction must be associated with both an Operating Unit and
a Legal Entity.
The Legal Entity is also required for e-Business Tax to establish which taxes will
be applicable to the transaction.
Legal Entity architecture, which is new in this release, provides users with the ability to
model an enterprise’s legal organizational structure and define rules and attributes
specific to legal entities.
Bank Account whether its is remittance bank or internal bank is now owned by the Legal
Entity instead of Operating Unit, and can be used by any of the Operating Units sharing
the same Ledger as that Legal Entity.
As marked (dotted red line) in above figure the relationship between legal Entity and
Operating Unit is no more active. This concept allows Operating Units to be governed by
more than one jurisdiction, but the accounting is still performed in a single ledger.
Multiple Legal Entities can be associated with a single Ledger, allowing the LEs to share
the same ledger and chart of accounts, calendar and currency. Each LE points to one
Ledger.
Multiple Operating Units can also be associated with a single Ledger. Each OU points to
only on Ledger.
Thanks to David, who pointed out last week regarding Bank Uptake in LE side in
reference to my old post. Check his post for further information.
Take a note; in R12 EBS multiple legal entities can be associated with a single Ledger,
allowing the LEs to share the same ledger and chart of accounts, calendar and currency.
Each LE points to one Ledger. Multiple Operating Units can also be associated with a
single Ledger. Each OU points to only on Ledger.
Where it affects:
As discussed in earlier, in Release 12 Bank Accounts are owned by Legal Entities and
can be accessed by multiple Operating Units.
Now all REC activity must have a legal owner, so Legal Entity is stamped on every
transaction. Receivables activity such as transaction whether credit memo or debit memo
or invoice must have stamps on it and receipt header with the Legal Entity information.
Because there can be multiple legal entities using the same ledger, it may be
necessary for the user to assign the LE. Each transaction can only belong to one Legal
Entity, so when multiple legal entities exist, either the system or the user will assign the
LE.
Transaction
The defaulting hierarchy for a transaction comes from the setup of the Transaction Type
and Transaction Batch Source. Receivables will look first to the Transaction type. If a LE
has not been assigned, then Receivables will look to the Batch Source. The assignment of
the LE to the Transaction Type and Transaction Batch Source is option, so if Receivables
cannot find a default LE, then it is up to the user to provide the LE value.
Receipts
The Receipt Method in Receivables has the bank account assignment, which determines
what bank account gets assigned to the receipt.
Take a note in version 11 the receipt Method was called the Payment Method. Now in
Release 12 this featured with same name “Payment Method†now used by new
application called Oracle Payments. Therefore in AR, you will now see a Receipt
Method, which is part of receipt setup; and Payment Method, which is part of Payments
setup.Once the bank account is assigned to a receipt header, this information can be used
to find the appropriate LE.Because the LE comes from only one source, the bank
account, there is no special setup to be performed in Receivables.Defaulting of the single
LE always occurs, so the user does not need to assign or update LE on receipts.
We seen the receipts inherit the LE from the bank account weather its is manual,
Automatic, Lockbox and Post Quick Cash Programs.There is no way that user can
change the value.
Receipt application across Legal Entities is allowed if the receipt and transactions are in
same OU and Sub Ledgers Accounting will performed by inter-company accounting for
cross-LE receipt applications or cross-LE receipt clearing.
SLA will create inter-company accounting as long as LE is setup as one of the CCID
(Account Code Combination) segment derivation sources in SLA.
Payable
Invoices and Payments indicate the operating unit and the legal entity owner of the
transaction. The legal entity can be used as selection criteria when preparing pay runs.
Projects
As we know in 11i in EBS maintains the default legal context on the Operating Unit.
There is not much impact in Projects model. Earlier in 11i we used to consider the Legal
Entity of the Operating Unit as the Legal Entity of the Projects Transactions. Now the
Legal Entity attached at the Default Legal Context of the Operating Unit is the Legal
Entity of the Projects Transactions.
So the Legal Entity of the Projects expenditure transactions will be the Legal Entity
attached at the Default Legal Context of the Expenditure Operating Unit and the Legal
Entity of the Project will be the Legal Entity attached at the Default Legal Context of the
Project owning operating unit.
LE and TCA
Legal Entity is still dependent on TCA. A party (supplier, customer, bank, student etc) is
an entity that can enter into business relationships. As we know the Oracle TCA's model
supports four types of parties: organization, person, group, and party relationship. Under
the TCA model, Parties (including Legal Entities) exist just once in our E-business Suite
system for single maintenance and consistency. Legal Entities will be stored in TCA as
Parties of party type 'ORGANIZATION'. A Legal Profile, containing specific Legal
Entity attributes, will be associated to the TCA Party. In addition, other TCA components
will be used for Addresses, Contacts, Party Information, etc.
May be , some may think if this is just extension of GRE/LE from old version , then Why
this required to do set up from both ASM and HR in R12?
In R12 ,it is separate the legal entity from the GRE which is a HR organization. We did
not link the 2 entities together as they serve 2 different purposes altogether.
The HR model does not look at the new Legal Entity model. It continues to use the
GRE/LE as a legal entity. So the HR requirement can be achieved using the HR
organization of type GRE/LE.
Suggested Reading
Oracle’s Release 12 of the E-Business Suite is also called the “ Global Business
Release â€, as it has numerous enhancements designed to make it easier to do business
on a global basis. A more flexible, centralized global accounting structure has been
introduced which makes it easier to operate between and across operating units and legal
entities. Overall, R12 contains 18 new modules and 2443 enhancements to existing
functionality.
Oracle's Release 12 (R12) of their E-Business Suite continues to extend the functionality
of the Receivables arena , in addition to incorporated new financial architecture and new
products , Oracle Receivables is now very natured product.As part of this post, we will
look at Oracle's newest/enhanced offerings in Oracle Receivables.
Revenue Recognition
In R12 revenue recognition is based on Rules and Events, and they are:
Global Architecture
As we know, with in global architecture , these new things has been introduced.
MOAC Control
This enhance you by enabling and performing tasks across operating Units (OUs), where
you have access to without changing responsibilities.As we know , MOAC enables
companies that have implemented a Shared Services operating model to efficiently
process business transactions by
allowing them to access, process, and
report on data for an unlimited
number of operating units within a
single applications responsibility.
Because of this greatly enhanced Role based security options, the ability to access
multiple operating units with a single responsibility can simplify SOX compliance
monitoring from finance controller side.
The Line Level Cash Applications solution allows the application of receipts to specific
transaction items such as individual lines, groups of lines, or tax or freight buckets. From
the receipt workbench,you are able choose whether to allocate cash to the entire
transaction or to apply amounts against specific items according to the customer
remittance.
We have seen 11i Customer standard forms makes easier by simple navigation. This
times there is clearer separation of the party and account layers, which makes a consist
ant look and feel.More over full backward compatibility with 11i UI Bill Presentment
Architecture has been provided.
The AR Create Customer page in R12 has eliminated the navigation to separate windows.
Now, users can specify the following on a single page:
Customer Information
Account Details
Address
Account Site Details
Business Purpose
Refunds
Late Charges
As we know oracle receivables delivers enhanced Late Charges functionality enabling the
creation of standard late charge policies that can be assigned to customer accounts or
account sites.Flexible policy configurations include multiple interest calculation
formulas, transaction and account balance thresholds, and currency-level rate setups.
With new changes these are the enhanced functionality:
Balance Forward Billing provides the ability to setup cycle-based billing at the account or
account site levels, enable event based billing, and leverage user configurable billing
formats provided by Oracle Bill Presentment Architecture.
A typical case can be best understood as
This new Feature in R12 ,enables companies that have implemented or implementing
shared services operating model to efficiently process business transactions by allowing
them to access, process and report on data for an unlimited number of operating units
within a single applications responsibility. Users are no longer required to switch
applications responsibilities when processing transactions for multiple operating units.
Data security is maintained using security profiles that determine the data access
privileges associated to responsibilities granted to a user.
Because of this you can perform multiple tasks across operating units
without changing responsibilities, the simple case can be best described
as diagram in the left, where 3 user from three difference OU's required three separate
responsibility to perform the task.
MOAC Benefits..
Multi-Org Access Control feature allows you to enter, process data and generate
reports from a single responsibility
This is achieved by providing the Operating Unit field on the forms/pages and
while running the concurrent processes
To Set this feature you need to define the security profile containing operating
units and set it at MO: Security Profile
You can default the Operating Unit on forms/pages by setting the MO: Default
Operating Unit profile
What are the new changes from Multi Organization(Multi Org) to Multiple
Organization Access Control.
Using Oracle HRMS, you can define your security profile using two forms:
The decision on which form to use is really up to you and depends on your HR
implementation and how you want to partition data. All you need to do is enter a name,
and select the Security Type called “Secure organizations by organization hierarchy
and/or organization listâ€. This allows you to assign multiple OUs. When assigning
operating units, first select classification Operating Unit, and then select the organization
or Operating Unit name. You can assign as many operating units as you want.
SCM Subsystem
Posted on November 15th, 2007 by Sanjit Anand | Print This Post | Email This
Post
In last post we have understood SCM flow. Let's talk in term of SCM IT
requirement. SCM subsystems are important because this is required to support
manufacturing managers in making their decisions so that they can optimize the trade off
between capital tied up in stocks and inventories, versus the ability to deliver goods at
prices and delivery dates agreed with customers.
A typical flow and SCM cycle can be understood as fig below:
Typically A SCM consists of these sub-systems can be categorize and consist of:
Demand Management
This is basically co-ordination sales forecasts from all the players, including sales
representatives at the point of sale through production to raw material suppliers, so that
everyone is working to the same plan, rather than creating unnecessary safety stocks.
This will Keep track of the status of production and procurement of materials for each
order, where the goods are located, what transport and warehousing is in use, what stock
to keep and when to re-order.
This kind of subsystem normally keep the information such as :what modes of transport
at what cost are available to the shipper; what costs and timings are associated with each
route; the order in which to load transport; optimization of multi-segment deliveries;
compliance with documentation required for customs and shippers.
This kind of subsystem keeps the information about suppliers of direct and indirect
materials, such as agreed terms of trade, records of status, records of contacts between the
enterprise and the various points of contact in suppliers.
Management of lists of preferred suppliers and preferred parts; terms of trade such as
delivery and price associated with them; rationalization of existing parts to minimize
costs by substituting equivalent parts.
I guess, the next question in mind would what are applications which are going to enable
if anyone is going to roll out SCM functionality in Oracle EBS. Keep watching this
space.
This is one of the basic areas from management books. In fact lot of people have
requested some more information on SCM, OPM and other manufacturing area.
therefore,I take this opportunity, as this is one of my favorite topic, as I started my first
job in PPC (Production Planning &Control) department of a big steel company a decades
ago, so I hope I will surly help in giving a clear picture of SCM. Let's start with basic and
gradually will move into ERP arena:
SCM
SCM is defined as combination of art and science that goes into improving the way your
company find the raw components that needs to make a product or services and deliver it
to customer. In Business word this art and science become functions that an organization
undertake.
Systems that support manufacturing managers in making decisions that optimize the trade
off between capital tied up in stocks and inventories, versus the ability to deliver goods at
prices and delivery dates agreed with customers.
In principle and reality, both inwards logistics operations to acquire materials to make
products and outwards logistics operations shipping finished goods to final customers are
monitored.
1. PLAN
2. SOURCE
3. MAKE
4. DELIVER
5. RETURN
1. Plan: This is vital part of SCM philosophy, where the companies normally need to
make strategy for managing all the resource that go towards fulfilling the customer
demand for the product and services that they offers. A big piece of planning is
developing a set of matrices to monitor the Supply chain so that it would be efficient, cost
effective and deliver high quality and value to the customer.
2. Source: It means processes that procure goods and services to meet planned or actual
demand. This part of SCM consists of selecting right suppliers that will deliver the good
and services that need to create your product. Developing a set of pricing, delivery and
payment process with supplier is important. Also this will also take care of managing the
inventory of goods, and services you receive from your suppliers, including receiving
shipping, verifying them, transferring them into various facilities and authorizing supplier
payment.
3. Make: This is basically a step where your company starts fulfilling the request or
BUILT for products into finished state to meet planned or actual demand. Schedule
activity necessary for production, testing, packaging and preparation for delivery.
4. Deliver: This is also called Logistic Process. This is the processes that provide finished
goods and services to meet planned or actual demand, typically including order
management, transportation management, and distribution management.
5. Return - This is real pain of SCM model, which defined as processes associated with
returning or receiving returned products for any reason.
Customers
Your Company
Design Partners
Material Suppliers
Contract Manufacturers
Logistic Providers
Production
Inventory
Location
Transportation
Information
1. Production
This driver addressing these questions: what products does the market want? How much
of which products should be produced and by when?
This activity includes the creation of master production schedules that take into account
plant capacities, workload balancing, quality control, and equipment maintenance.
2. Inventory
This driver addressing these questions: What inventory should be stocked at each stage in
a supply chain? How much inventory should be held as raw materials, semi finished, or
finished goods?
The primary purpose of inventory is to act as a buffer against uncertainty in the supply
chain.
3. Location
This driver addressing these questions: Where should facilities for production and
inventory storage be located? Where are the most cost efficient locations for production
and for storage of inventory? Should existing facilities be used or new ones built?
Once these decisions are made they determine the possible paths available for product to
flow through for delivery to the final consumer.
4. Transportation
This driver addressing these questions: How should inventory be moved from one supply
chain location to another? Air freight and truck delivery are generally fast and reliable but
they are expensive. Shipping by sea or rail is much less expensive but usually involves
longer transit times and more uncertainty.
5. Information
This driver addressing these questions: How much data should be collected and how
much information should be shared?
Timely and accurate information holds the promise of better coordination and better
decision making. With good information, people can make effective decisions about what
to produce and how much, about where to locate inventory and how best to transport it.
The MPS is a statement of supply required to meet the demand for the items contained in
the MDS. The master production schedule defines the anticipated build schedule for all
products. The master production schedule also provides the basis for order promising
(ATP) function
The Material requirements planning (MRP) calculates net requirements from gross
requirements by evaluating:
Planned Order
Consumption
Drop Ship
Having an order ship directly from the vendor to the customer without physically being in
your inventory.
The process of giving the vendor the authority and visibility to determine what your
inventory should be
Where you are managing the customers inventory on your premises and supply as
required
The request that you received from the customer for fulfilling there demand.
A typical planning cycle would start by loading the sales orders, forecast and other
demand such internal orders into the master demand schedule (MDS). That demand
statement would then be used as the schedule that drives the Master Production Schedule
(MPS) . Take a note in regular MRP implementations the MPS is used as the schedule for
ATP. Once the MPS is reviewed and updated is used as the schedule to drive the MRP
process. The result of the MRP process is planned orders and exception messages. When
released from MRP the planned orders for "buy" items become requisitions or purchase
orders in the purchasing module and the "make" items become discrete jobs in the Work
In Process Module. Once the finished
goods are received into inventory it is
shipped to satisfy customer orders.
This is the scenario where normally we are building to stock and satisfying sales order
demand from stock. Here you will see the difference as planned orders are released to
become purchase requisitions for components and work orders for sub assemblies and
finished goods. The finished goods are then shipped to satisfy the sales orders.
In the Planning-Procurement cycle we normally start where the first part of the planning
cycle is complete and we have a planned order for a buy item from MRP. The planned
order is released and becomes a requisition or purchase order in the purchasing module.
A purchase order is then created from the requisition and sent to the vendor. The vendor
would supply the materials. The materials would be received into inventory and the
purchase order would be closed.
You can also see technical details for drop ship cycle in my earlier post.
With Outside Processing you could be buying a service, an item or capacity from an
outside vendor. The setup for each of these scenarios will be described in the training
sessions to follow, however they all follow a similar process. A routing with an outside
processing operation is setup.
After the planning cycle is complete a planned order is released to create a discrete job.
Once the Discrete job is moved to a outside processing operation, a purchase requisition
is triggered. The requisition is imported to Purchasing and a purchase order is created.
The details of the discrete job such as job number, assembly number and quantity is tied
to the purchase order. The purchase order is sent to the vendor. When the purchase order
is received its destination will be shop floor and the assembly will be returned to the next
operation on the work order.
This make an end of this discussion. In Next post we will see what are the different
subsystem SCM will have and what are the modules which comes under SCM
Implementation. Any comment is welcome
The Global Accounting Engine's dual posting functionality allow simultaneous posting
into two sets of books (a main and a secondary sets of books).The AX Dual posting (or
multiple posting) functionality lets you meet reporting and accounting requirements when
you have multiple sets of books with different charts of accounts, calendars, and rules
sets.
Control Accounts
The Global Accounting Engine automatically creates detailed balances for control
accounts. The balances are calculated for each account with the control account
status by period and third party when you run a subledger report. Control accounts
are printed on summary and detail balance reports provided by the Global
Accounting Engine.
Documents Sequencing
A document sequence uniquely numbers documents generated by an Oracle
Applications product. Using Oracle Applications, you initiate a transaction by
entering data through a form and generating a document, for example, an invoice.
Document sequences can provide proof of completeness. For example, document
sequences can be used to account for every transaction, even transactions that fail.
Document sequences can also provide an audit trail. For example, a document sequence
can provide an audit trail from the general ledger into the subsidiary ledger, and to the
document that originally affected the account balance.
Table Details
These are the additional tables which keeps the events data.
AX_SETUP_GLOBAL
AX_SETUP_POSTING_BOOKS
AX_TRANS_PROGRAMS
AX_EVENTS
AX_DOCUMENT_STATUSES
AX_SLE_HEADERS
AX_SLE_LINES
AX_BALANCES
GL_INTERFACE
GL_JE_LINES
AX Reporting
The Daily Journal Book - Line Descriptions report displays fiscal year totals for
specified sequences. For both manual and imported journals in General Ledger,
the report shows the General Ledger accounting sequence number assigned at the
time of posting, instead of the General Ledger document sequence number.
The Daily Journal Book - Header Descriptions report is sorted by sequence
name, General Ledger date, and accounting sequence number within the range of
requested balancing segments. The report provides totals for the range of
balancing segments requested, but not subtotals for each balancing segment.
The Final Daily Journal Book - Header Descriptions report allow the review of
all accounting entries for your set of books by sequence name and period.
The Supplier/Customer Balance by Account/Accounting Flexfield report
allows reviewing information about balances and period activities by account and
supplier/customer for one or more accounting periods. This report lets you justify
your balances in General Ledger, Payables, and Receivables.
Limitations of AX
The Global Accounting Engine is needed for European foreign subsidiaries as they are
required to do reporting in foreign countries.
The Global Accounting Engine produces European reports not available in the standard
accounting applications.
It is Legal compliance tool for some international accounting and audit requirements.
The Global Accounting Engine provides you with features to satisfy the following basic
business needs. You can:
1. Comply with accounting regulations of any country. Some accounting entries are
legal in one country but not in another.
2. The Global Accounting Engine lets you choose the right accounting schemes for
your country.
3. Define accounting rules per set of books.
4. Post different accounting rules to different sets of books.
5. Generate different accounting entries from the same business transaction into
different sets of books.
6. Perform synchronous multiple set-of-book accounting. The multiple set-of-book
accounting is synchronous because it ensures that a Business transaction is either
posted in all related set of books or is not posted in any set of books.
7. Comply with legal and fiscal audit trail requirements.
8. Store all accounting entries in the same structure and format for all applications.
An accounting entry always consists of a header and two or more accounting
entry lines. The Global Accounting Engine uses this information to provide
accurate reconciliation reports in applications such as Payables and Receivables.
9. Reconcile your subledger accounting system with General Ledger. The Global
Accounting Engine provides additional reports such as daily journal reports.
Reports are used when a company needs to match the amounts in the subledgers
such as Payables, Receivables, and General Ledger.
10. Define journals rather than using hard-coded categories. These journals are
numbered sequentially to comply with legal requirements.
11. Assign sequential numbers to the defined journals across applications.
12. Each accounting entry has a unique identifier as well as other header information.
This accounting number is the primary key for your accounting lines. You can use
the same numbering in applications such as Payables and Receivables.
13. Audit and control period and fiscal year closing procedures.
14. The Global Accounting Engine provides a new mechanism for closing periods
that ensures a complete and gapless numbering is generated as required in some
countries.
15. Create journal entries and detailed balances for control accounts.
16. Control accounts are General Ledger accounts that you can access only from
subledger applications such as Payables and Receivables. The balances are
calculated for each account with the control account status and third party period
and identification. A third party can be a supplier in Payables or a customer in
Receivables. The Global Accounting Engine uses these structures to provide legal
balance reports that are the same across all applications.
17. Secure subledger accounting entries. You can either secure accounts individually
or secure the procedure to create accounting entries. To secure subledger
accounting entries, use control accounts to define accounts. A control account is
only accessible from the subledgers. Securing your entries ensures a valid audit
trail is on paper. The secured posting makes sure that you are only given access to
a range of steps involved in the posting cycle.
18. Print reports that correspond to country-specific accounting practices.
19. Print legal subledger accounting reports .
Oracle has suggested for 6 countries (France, Italy,Greece, Portugal, Spain, Austria)
Operationally, the Global Accounting Engine changes the way in which transactions are
posted from the sub-ledger to the General Ledger. For transactions from AR, AP, the
standard GL Interface is switched off and postings are done via the Accounting Engine
translator. A sub-ledger accounting entry is created for each Event, which represents a
change in state of a document, e.g. an Invoice. Accounting Rules are used to translate
these events and to create entries in the AX tables. A report is run to create the sub-ledger
balances in AX by Third Party and accounting period. After AX translation is run, the
accounting entries are transferred to the General Ledger via the normal GL interface
tables.
The big difference in using AX is that instead of posting transactions direct to the GL
Interface table, they are transferred via the AX Engine where they are translated before
being transferred to the General Ledger. This can be shown as:
This ends of Global Accounting Engine(Product AX) discussion, will see some more
information on dual posting and some important technical details in next post. Till than
keep watching this space
Lot of people requested some more information for customer import. So I decided to
clubbed together, so here to go:
Time to time the customer definition has been changed and now in today economy it can
be redefined as:
Typical information required for any customer is address, contact, bank , profile,class.
Oracle standard form does have more than 8 tabs which hold most of the information. A
typical flow of customer setup in Oracle is as;
Customer Interface is a oracle seeded tool that is used to import and validate current or
historical customer information from other systems into Receivables. Once customer
information is imported into the system, you can use Customer Interface to import
additional data for that customer (such as additional contacts or addresses) and to update
existing information. This is yet another options to enter Customer information other than
manually update and enter new information using the Customer windows.
If you are coming from some old version, if have been noticed few things has been
changed:
Customer tables have changed, to move customer in TCA model, it means
o The HZ tables
o The role of Parties
Note:Added in order to track prospective customers Due to CRM
integration and adds “benefit†of having all customer
“groups†stored in one location.
The Change
Here is significant changes has been noticed from pre 11i and r11i version.
FIND screen
Customer screen
Customer Tables
The following diagram shows how customer information is imported into the customer
tables.
Here is summarize information for interface Vs base table. Once Customer Import get
completed successfully , the data moved to these tables:
Please take a note, the bank model has been changed in r12, this will have till 11.5.10.2.
If you are looking for R12 , refer to trm guide.
Be sure to set up new data in Receivables that the Customer Interface should
import. For example:
o AutoCash Rule Sets
o AutoInvoice Grouping Rules
o Collectors
o Customer Addresses
o Customer Bank Information
o Customer Exemptions
o Customer Profile Classes
o Demand Classes
o Dunning Letter Sets
o Freight Carriers
o Payment Methods
o Payment Terms
o Statement Cycles
o Tax Codes
Be sure to also set up Lookups in Receivables that the Customer Interface should
import. These are the lookups:
o Countries
o Site Use Codes
o Credit Ratings
o Risk Codes
o Account Statuses
o Communication Types
o Customer Classes
RA_CUSTOMER_INTERFACE_ALL
o ORIG_SYSTEM_CUSTOMER_REF
o CUSTOMER_NAME
o CUSTOMER_STATUS
o INSERT_UPDATE_FLAG
o CUSTOMER_NUMBER
o ORIG_SYSTEM_ADDRESS_REF
o PRIMARY_SITE_USE_FLAG
o SITE_USE_CODE
o ADDRESS1
o COUNTRY
o LOCATION
RA_CUSTOMER_PROFILES_INT_ALL
o CUSTOMER_PROFILE_CLASS_NAME
o ORIG_SYSTEM_CUSTOMER_REF
o INSERT_UPDATE_FLAG
o CREDIT_HOLD
o ORIG_SYSTEM_ADDRESS_REF
RA_CONTACT_PHONES_INT_ALL
o ORIG_SYSTEM_CUSTOMER_REF
o ORIG_SYSTEM_TELEPHONE_REF
o TELEPHONE
o TELEPHONE_TYPE
o INSERT_UPDATE_FLAG
o ORIG_SYSTEM_ADDRESS_REF
o ORIG_SYSTEM_CONTACT_REF
o CONTACT_LAST_NAME
RA_BANKS_INTERFACE
o ORIG_SYSTEM_CUSTOMER_REF
o PRIMARY_FLAG
o START_DATE
o BANK_ACCOUNT_NAME
oBANK_ACCOUNT_CURRENCY_CODE
oBANK_ACCOUNT_NUM
oBANK_BRANCH_NAME
oORIG_SYSTEM_ADDRESS_REF
RA_CUST_PAY_METHOD_INTERFACE
o ORIG_SYSTEM_CUSTOMER_REF
o START_DATE
o PAYMENT_METHOD_NAME
o PRIMARY_FLAG
o ORIG_SYSTEM_ADDRESS_REF
From R11 and 11i, you cannot change the sequence via the forms and therefore any
change that you make to the sequence would have to be
through SQLPlus and that would not be supported.
3. When doing Migration from other system, adviced to use TRIM Function
When loading interface tables remove all trailing spaces from import data.
Example: LTRIM(RTRIM(customer_name))
4.If importing large number of customers, run in smaller batches instead of all at
once.
Oracle benchmark is about 10,000 records per batch is ideal, it is suggested to keep the
batch size small.
5.When rolling out in Multi-Org , then you must populate the org_IDs in the
interface tables and run the customer interface for each organization set-up
responsiblity.
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.
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
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
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
Row Sets
Column Sets
Content Sets
Row Orders
Display Sets
Reports
Report Sets
Row 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
Proforma is an accounting term that refers to an annual fiscal amount that is comprised of
actual amounts and budget amounts together.
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
o Segment value
o Segment description
o Both
List alphabetically or numerically
One FSG = One row set + one column set + one content set
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.
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.
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
In Oracle EBS Running FSG Reports can be achieved from 3 different ways:
Responsibility 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.
Page 2 of 4«1234»