R12 – XML Publisher – XDO
Back to R12 – Upgrade Overview
Placeholder for XML Publisher
Back to R12 – Upgrade Overview
Placeholder for XML Publisher
Multiple Organizations Access Control (MOAC) security give the possibility of querying or seeing transactions of one or more Operating Units (OU) without changing responsibility.
In 11i we were securing transactions by Operating Unit (OU) only and we would have to choose a corresponding responsibility to see the transactions:
In R12 it is now possible to have a shared services responsibility like:
This new kind of security is based on Security Profiles which is a hierarchy of operating units.
So best practice in R12 is now to secure all responsibilities by Security Profile rather than by Operating Unit.
11i non-MOAC setup:
| Site Level | Receivables (Vision) | |
| MO: Default Operating Unit | ||
| MO: Operating Unit | Vision Operations | Vision Operations |
| MO: Security Profile | ||
| GL Set of Books Name | Vision Operations |
So a global shared service responsibility was not possible in 11i so some companies had very long lists of responsibilities.
Also note in R11i site level setting takes precedence at lower levels so the responsibility level setting in this case is not needed – only if the OU had been different.
R12 MOAC setup:
| Site Level | Receivables (Vision) | Receivables (Global) | |
| MO: Default Operating Unit | Vision Operations | Vision Services | |
| MO: Operating Unit | |||
| MO: Security Profile | Vision Global | Vision Operations | Vision Global |
Assuming we have a hierarchy like this where OU and security profiles have same names:
> Vision Global
>> Vision US
>>> Vision Operations (OU)
>>> Vision Services (OU)
>> Vision Europe (OU)
We do not need to have a security profile for all branches in the hierarchy above but it is best practice to do so.
So in R12 GL Set of Books Name is gone and you leave MO: Operating Unit empty and leave it to the Security Profile.
Note: MO: Default Operating Unit is not required and can be left empty however I have had several bugs in R12.1.1 and R12.1.2 related to missing default operating unit in IEX so try leaving it empty first and if you get problems put a default value in this and try again.
So Oracle has created MOAC but forgot a few details here and there.
Mixed R11i/R12 MOAC setup:
Some modules in R12 does not yet fully support MOAC so a mixed setup may be needed.
Luckily Oracle changed the MO profile settings inheritance so the site level setting does NOT override at responsibility level as in R11i – well at least this setup worked in R12.1.1.
| Site Level | Receivables (Vision) | Receivables (Global) | |
| MO: Default Operating Unit | Vision Operations | ||
| MO: Operating Unit | Vision Operations | ||
| MO: Security Profile | Vision Global | Vision Operations | Vision Global |
Using the setup above you will get a site level default OU of “Vision Operations” however at responsibility level the security profile takes precedence so Receivables (Global) will be able to see all OU’s within “Vision Global”. In 11i you would have been locked down to “Vision Operations”.
11i used views to secure transactions in individual schemas:
APPS.AR_PAYMENT_SCHEDULES on AR.AR_PAYMENT_SCHEDULES_ALL
With where clause using CLIENT_INFO set from the responsibility context.
In PL/SQL programs you would set:
and:
R12 uses the Virtual Private Database (VPD) technology for MOAC security.
Synonym APPS.AR_PAYMENT_SCHEDULES on AR.AR_PAYMENT_SCHEDULES_ALL
With a policy attached to synonym APPS.AR_PAYMENT_SCHEDULES.
In PL/SQL program you still need to set:
and for single OU access:
or for multi OU access:
In 11i it was easy to see what access you had:
Which would return your current org_id however in R12 you need to do the following:
I usually use the following script:
declare
l_user_id number;
l_responsibility_id number;
l_application_id number;
l_organization_id number;
begin
-- dbms_output.enable;
select application_id,responsibility_id
into l_application_id,l_responsibility_id
from fnd_responsibility_tl
where responsibility_name = 'General Ledger Super User';
select user_id
into l_user_id
from fnd_user where user_name='ORACLE';
select organization_id
into l_organization_id
from hr_all_organization_units
where name='Vision Operations';
fnd_global.apps_initialize(l_user_id,l_responsibility_id,l_application_id);
--mo_global.set_policy_context('S',l_organization_id);
mo_global.set_policy_context('M',l_organization_id);
-- dbms_output.put_line('Done...');
end;
Concurrent request can now be setup to run as in 11i (default) or as MOAC compliant programs.
Use the “System Administrator” OAF screen “Concurrent Program” to set Operating Unit Mode to Single (OU) or Multi (MOAC compliant):
Back to R12 – Upgrade Overview
In 11i we assign collectors using the profile options and optionally manually override this at account level if needed.
This gets rather hard to manage in large departments especially when people leaves or joins.
However in R12 you have the ability to use Territory Manager which originally is a sales tool for sales territory administration.
You can now also assign collectors at Customer/Party level however this easily cannot be seen as the collector cannot be stored at this level but is stored in an internal table instead.
The Territory Manager will assign collectors to delinquent customers automatically hence removing the need to manage customer profile class plus account and bill to level overrides. When assigning collectors to customer profile class just use the “Default Collector” – this value will be overridden by the Territory Manager if the customer becomes delinquent.
The article below will mainly concentrate on the use of Territory Manager with Advanced Collections.
JTY is a bit tricky to get started with in form of an extra layer of role based access control (RBAC).
In order to setup JTY you need to following:
Also be aware that JTY uses full MOAC control so be sure to set correct Security Profile.
Note: You must set the profile option “MO: Default Operating Unit” due to an error in the 12.1.2 Territory Definition form. You should however leave “MO: Operating Unit” blank.
Territories in Advanced Collections are used to distribute the UWQ workload amongst collectors in large departments.
A single territory has one or more resources assigned and matching attributes that applies to customer attributes.
Territories can form a hierarchy where we have the following territory types:
All territories can be defined using OAF forms or by using WebADI except for the OU territory which cannot download to Excel. Therefore it is a good idea to have a placeholder territory just below the OU territory.
Territories have the additional following attributes:
In order to define resources you need to have access to the responsibility “CRM Resource Manager”.
Resources can be any one of:
Groups can be a handy way of managing customers so instead of reassigning individuals to customers you assign groups to customers. This enables you to manage your resources by reassigning individuals between groups rather than between specific customers.
Matching Attributes are building blocks for creating rules for assigning customers to territories.
Advanced Collections only supports custom made or Customer based matching attributes which is the following:
So if there is a need to allocate collectors based on something different than the list above you will need to create a custom matching attribute.
In order to use a matching attribute it must be enabled first:
In the above I will be enabling Customer Category and Customer Name Range.
Next step is to define a Territory Type in order to use the enabled attributes above:
So now we have created a territory type allowing the use of Customer Category and Customer Name Range.
You start from the OU territory and work your way down:
Note the search default to what you have in your profile options “MO: Default Operating Unit” however if another OU is desired just change the value in “Operating Unit” and click GO. Do not leave “Operating Unit” blank as that may cause problems in pre-R12.1.4 versions.
Select the operating unit “Vision Operations” and click “Create”:
Pick the Territory Type we created earlier and click continue:
Lets create the following hierarchy:
Vision Operations – OU Territory
> Top – Placeholder Territory
>> Other
>>> Commercial – Parent
>>>> NameRange1 – Child
>>>> NameRange2 – Child
>>> Federal – Child
So we want a catch all if a customer has not been assigned to a customer category and we split the commercial customers into two name ranges to level the volume.
So first we create Top:
No resources and matching attributes – so just click Finish:
Lets create the Other territory:
Click Next and add resource:
Assigned just one resource as this is the resource for an exception – the catch all.
I will not show how to add resources to the remaining territories…
Click next:
In spite of what the manual says you need to add a matching attribute for a catch-all territory. To ensure we catch all customers we use name range of 0% to Z%.
To define ranges like the one above you need to follow some basic rules:
Next we define Commercial and Federal territories…
Commercial matching attribute:
Federal matching attribute:
The we add another two Commercial child territories…
Name range 1:
and name range 2:
So now we have:
Nice and easy…
When you have finished creating your territory hierarchy you need to run the following in JTY:
This is one of these programs with no real purpose except for if you don’t run it – it will not work.
When you want to assign territories to collectors and customers you must run the following in IEX:
But ONLY after you have run the IEX: Scoring Engine Harness with Delinquencies Management otherwise you may miss any newly delinquent customers.
So we have installed R12 on a external USB hard disk according to my instructions but now we want more performance and flexibility?
You can either run out and buy a huge server and re-install on that or try to use two laptops instead of one?
Equipment used:
Follow this to make it work:
Conclusion
R12 Performance is fine only taking 1.7Gb RAM on Laptop 1.
Cpu level is very low as well < 25% overall.
I/O could be better as the USB2 is not that fast.
Fitting the R12 hard disk inside Laptop 1 may boot performance thanks to Sata being 10+ times faster than USB2.
Concurrent Request Sets are great to use when having to submit multiple programs like period-end programs.
However it in large scale projects you may have to submit very large request sets depending on some logic which is virtually impossible to implement as a Concurrent Request Set.
It is easy to submit a program from a PL/SQL program using:
FND_REQUEST.SUBMIT_REQUEST
However how do we keep track of all the submitted sub-programs in similar way as a normal concurrent request set do it – retaining the parent request id?
So what we want to have is:
> Request Set
>> Request Job (parent request id = Request Set)
Also how do we ensure that we do not submit too many sub-programs at any one time in order not to clutter the request queue?
So what we really want to have is:
> Request Set
>> Request Job (parent request id = Request Set)
> Wait for child requests to complete
>> Request Job (parent request id = Request Set)
The problem is that when a parent program wakes up it re-submits itself. So in order to make this work you need to use recursive programming methods.
The trick is to use these three calls:
So in my test I will create to sets of two jobs:
> Request Set
> Set 1:
>> 1: Request Job (parent request id = Request Set)
>> 2: Request Job (parent request id = Request Set)
> Wait for child requests to complete
> Set 2:
>> 1: Request Job (parent request id = Request Set)
>> 2: Request Job (parent request id = Request Set)
So running my concurrent request set:
Set 1:
So two first programs has just run and parent quest is about to start the second job set.
Set 2:
Note all jobs has the same Parent Request ID.
Nice and controlled.
Package:
create or replace
package XXKWICONCSET authid current_user as
— this is exposed for conc manager
procedure XXKWI_REQUEST_SET_CONCUR (
ERRBUF OUT NOCOPY varchar2,
RETCODE OUT NOCOPY varchar2
);
procedure XXKWI_REQUEST_CONCUR (
ERRBUF OUT NOCOPY varchar2,
RETCODE OUT NOCOPY varchar2,
PARAM IN varchar2
);
end XXKWICONCSET;
/
Package Body:
create or replace
package body XXKWICONCSET as
— Concurrent child program
procedure XXKWI_REQUEST_CONCUR (
ERRBUF OUT NOCOPY varchar2,
RETCODE OUT NOCOPY varchar2,
PARAM IN varchar2
) is
begin
fnd_file.put_line(fnd_file.output,’Running job: ‘||param);
ERRBUF:=’Done Job…’;
RETCODE:=0;
end XXKWI_REQUEST_CONCUR;
— Concurrent Request Set
procedure XXKWI_REQUEST_SET_CONCUR (
ERRBUF OUT NOCOPY varchar2,
RETCODE OUT NOCOPY varchar2
) is
L_REQUEST_ID number;
L_REQ_DATA varchar2(10);
job_count number;
set_count number;
begin
L_REQ_DATA:=FND_CONC_GLOBAL.REQUEST_DATA; — get previous job data
if L_REQ_DATA is null then — first run set count to ‘0′
L_REQ_DATA:=’0′;
end if;
set_count:=to_number(l_req_data)+1; — increment for every job
fnd_file.put_line(fnd_file.output,’Running set: ‘||to_char(set_count));
if set_count>2 then — stop after 2 jobs
ERRBUF:=’Done Set…’;
RETCODE:=0;
return;
end if;
— submit 3 child programs
for job_count in 1..2 loop
fnd_file.put_line(fnd_file.output,’Submitting job: ‘||to_char(job_count));
L_REQUEST_ID:=FND_REQUEST.SUBMIT_REQUEST(
APPLICATION=>’FND’,
program=>’XXKWI_REQUEST_CONCUR’,
DESCRIPTION=>to_char(job_count),
START_TIME=>null,
SUB_REQUEST=>true, — True = This is a child program
ARGUMENT1=>to_char(job_count) — data to job
);
end loop;
— Wait until done and save set count:
FND_CONC_GLOBAL.SET_REQ_GLOBALS(
CONC_STATUS=>’PAUSED’, — wait for child request to complete
REQUEST_DATA=>to_char(set_count) — save set data
);
Commit;
end XXKWI_REQUEST_SET_CONCUR;
end XXKWICONCSET;
/
Concurrent Job:
Concurrent Set:
Request Group:
Back to R12 – Upgrade Overview
This article will however not provide a full overview of IEX but only explain some of the basics to get you started with IEX after moving to R12. Beyond that – dig into the manual.
In R12 – Oracle have removed all collections functionality from AR and thereby forced an upgrade to IEX hence this article will cover both existing and new IEX functionality.
First lesson is – it is near impossible to mimic the 11i functionality so there is no easy upgrade path from 11i to R12.
Second lesson is – IEX uses MOAC security so most IEX settings are global and at site level. Transaction security is then handled by MOAC using security profiles.
A small warning – with R12 the UI is now all over the place:
So be sure to plan for loads of user training and testing in addition to the implementation effort.
Another warning – setting up Advanced Collections will need a hybrid consultant – as many areas need both SQL and XML knowledge:
The chapters listed below will give you an overview of the configuration and integration points.
First of all the word “delinquency” is new to most 11i users and this means an overdue item.
Advanced Collections introduces many new concepts where the main ones are:
During first setup you will have to make the following main decisions:
Level defines the operational data level for collection items which includes:
The following operational data level can be chosen:
So if your level is account the customer could have one account being marked as delinquent and one being non-delinquent. Also correspondence will be made at this level including details of transactions by account.
So if you use delinquency level then if a customer has two concurrent delinquencies this customer will receive two separate dunning letters even if overdue on the same day.
In 11i delinquency management was normally conducted at account level thanks to the Account Details screen in the old collections workbench and staged dunning.
The operational data level is set when you setup IEX using the Collections Questionnaire.
Scoring is a new concept of rating a delinquency based on various factors. The scoring is done by the scoring engine which is run from the concurrent program:
IEX: Scoring Engine Harness
The scoring engine use scoring components for generating score amounts.
Typical score components could be:
Example of a scoring component definition:
Each score amount is mapped to a score value as the score amount can vary depending on its source and if it is comparable. If you want to score based on transaction amount and days overdue then those two amount will vary and would not be directly comparable however by mapping them into score values they become comparable.
The score engine values are normally within 0 to 100 and when using multiple scoring components these values will be summarised. The score values can be used with weighting – if enabled – however sum of weights must be 1:
For example if you have a score component returning the amount outstanding you would map this to a score value:
| From | To | Score Value |
| -999999999 | 100 | 0 |
| 100.01 | 10000 | 10 |
| 10000.01 | 999999999 | 20 |
So if you a score component yielding amount due 5000 the score value would be 10 which would be added to any other score value.
If additional score components are used this would result in score values being added up.
The score component must always return a number within the range –999999999 to 999999999 and use 2 decimals precision – see example from a seeded setup:
The score component uses either an SQL select statement or a PL/SQL function.
Using PL/SQL function enables you to use parameters.
The SQL statement is easier to maintain if used with a custom database view.
Segments – which is a database view assigned to the scoring engine – can limit the transactions targeted by the scoring engine:
One one segment can be assigned per scoring engine.
The combination of multiple scoring components and multiple scoring engines with different segment assignments gives endless possibilities to meet business requirements.
Delinquency Status indicates if there is a delinquency for the current score value.
The status is determined by mapping score values to statuses.
Status is one of:
One delinquent transactions are scored so the current status will not yield delinquencies.
So using the example above we could do the following mapping of score values:
| From | To | Score Value |
| 0 | 9.99 | Current |
| 10 | 19.99 | Pre-delinquent |
| 20 | 100 | Delinquent |
Example from seeded data:
Status is updated when a scoring engine run as long as “Used to determine status” check box is set and “concurrent program” is set to:
IEX: Delinquencies Management
Strategies works with two scoring engines:
A strategy is similar to a 11i dunning set but with the difference that a strategy is based on score values and the outcome is a work item which can be one of:
The score values is generated by the score engine for strategies defined in similar way as the score engine for delinquency status determination.
The score value is mapped to a strategy:
| From | To | Score Value |
| 1 | 49.99 | Hard Strategy |
| 50 | 100 | Soft Strategy |
The strategy will then map to a number of work items:
So a typical strategy concurrent run is:
IEX: Scoring Engine Harness – for delinquency determination
(IEX: Delinquencies Management – run as part of delinquency determination)
IEX: Scoring Engine Harness – for strategy determination and work item creation
(IEX: Strategy Management – run as part of delinquency determination)
IEX: Create Dunning And Broken Promise Call Backs – to create UWQ actions
So Strategies are very flexible and versatile however keep in mind a very open ended module is also harder to configure and test.
Dunning plans is Oracle’s solution for customers upgrading to 11i without having a license for Advanced Collections.
Dunning plans use only one scoring engine and ties delinquency determination and aging buckets together in one.
Dunning plans has the following limitations (quite a few I would say):
So a typical dunning plan concurrent run is:
IEX: Scoring Engine Harness – for delinquency determination
IEX: Send Dunnings for delinquent customers – to send correspondence
IEX: Create Dunning And Broken Promise Call Backs – to create UWQ actions
In 11i you just needed to have a normal apps user and a collections use – now in R12 it has become a bit more complicated.
So the Collectors setup in AR is still there to do…
Now you also need to do the following:
For migrating from 11i to R12 you can create a resource for each collector defined in AR:
IEX: AR Collectors to Resource Collectors
That should help a little bit…
Also collectors can be generated by Collectors Assignment when running:
IEX: Territory Assignment
In order to assign collectors you can still do as you did in 11i – using collectors at profile class level – however in R12 you have the additional option of using:
This enables you to automatically assign collectors to delinquencies based on rules.
This is actually a sales tool but follow the link and it will explain how to use it for IEX.
To create the assignments run the following concurrent program:
IEX: Territory Assignment
The UWQ is the collectors work-list which shows delinquencies, calls as tasks to be made and broken promises:
The collectors works queue is essentially the Universal Work Queue used by the CRM modules.
Strategy manual work items and dunning plan calls will show up i the collectors work queue as tasks.
The collectors work queue can be customised using EIU% profile options – see a few below:
By clicking an item on the work-list the Collections Window opens up…
The collections window is essentially the CRM eBusiness Center.
This window shows the customer with tabs showing details:
The following tabs are displayed:
A familiar term from 11i however yet so different.
Aging and aging buckets as we know them from 11i are still used for displaying or reporting on aging in the following places:
But then the similarities stop.
For Strategies and Dunning Plans aging buckets are sometimes used in Score Components:
And also used in Dunning Plans for correspondence assignment:
But in very different way than in 11i.
In the Collections Window you can do the following activities:
The following payments can be accepted in IEX:
So no debit card payments.
Also bank transfer requires in most countries a signed agreement at beforehand so this really narrow it down to credit card payment only.
The credit card payment method must be setup in Payments – IBY.
Activities send confirmation letters automatically:
All correspondence is created and sent using XML Publisher.
The promise to pay will create an event in the UWQ then you run the following concurrent program:
IEX: Promise Reconciliation
Well having installed and worked with R12.0.4 it very fast becomes clear that a new version is needed.
So I downloaded R12.1.1 from Oracle eDelivery. 40 files in excess of 45Gb to the joy of my ISP.
NOTE until 20/11-2009 there was a corrupt file on eDelivery and it took me a while to convince Oracle that it was the case.
The sick file was: V15571-01_2of3.zip
However the file has been fixed after the above date but be sure to test your downloaded files anyway using ziptest.
Otherwise follow the procedure for R12 Installation.
Some of the initial rapidwiz screen has changed though.
The Welcome screen is saying 12.1.1 – great:
Select express install:
Just click next on this one:
Update base directory:
Before logging in you should compile the jsp pages – see how to Compile JSP.
And then it is business as usual like in R12.0.4
Also in you environment script – the one I call vis.sh change this:
from:
TECHENV=/oracle/VIS/db/tech_st/10.2.0/$CONTEXT_NAME.env
to:
TECHENV=/oracle/VIS/db/tech_st/11.1.0/$CONTEXT_NAME.env
Have fun…
This is a couple of useful scripts to test downloaded files.
This approach is recommended when downloading huge amounts of data like when downloading Oracle R12 installations files.
In addition to testing the downloaded files also be sure to use a download manager.
The basic zip test command is:
$ unzip –t –qq {zipfile}
I made a Linux script for it named ziptest.sh:
| #!/bin/bash # ziptest.sh SOURCE=/util/install/R12.1.1-32 if [ -z "$1" ] then name=”*.zip” else name=”$1.zip” fi for zipfile in $SOURCE/$name do unzip -t -qq $zipfile if [ $? -eq 0 ] then echo -n “.” else echo ” ” fi done echo ” “ |
A similar script can be made for Windows names ziptest.cmd:
| @echo off rem ziptest.cmd {zipfilename} set zipdir=..\R12.1.1-32 rem do all zip files unless arg received set zipfile=*.zip if [%1]==[] goto doit set zipfile=%1.zip :doit set target=%zipdir%\%zipfile% for %%a in ( %target% ) do call ziptest_call %%a |
As command line programming in windows isn’t great we need to call a subprogram names ziptest_call:
| @echo off rem ziptest_call.cmd {zipfile} if [%1]==[] goto noarg if not exist %1 goto nofile :main unzip –t –qq %1 if errorlevel 1 goto badfile goto xit :noarg echo ARG missing – use only with ziptest.cmd goto xit :nofile echo FILE %1 does not exist goto xit :badfile echo %1 BAD goto xit :xit |
That should be it.
Be sure to update directory references for your own purpose.
Back to R12 – Upgrade Overview
In GL there has been a number of changes:
The new Accounting Setup Manager simplifies and centralizes accounting-related setup for common financial components that are shared across financial applications. From a central location, you can define your legal entities and their accounting context, such as the ledgers and reporting currencies that perform the accounting for your legal entities.
The setup steps are:
Each of the setup steps is a number of sub screens where some are described later.
Legal Entities part of Accounting Setup Manager now holds important information for both tax and VAT reporting.
This is where you would put in information for the Corporations Office
List of all locations
This is a new important feature that the balancing segment now relates to the legal entity.
Ledgers are mostly the same as the old Set Of Books however the setup screens has changed a bit.
Nothing really new here except for the OFA screen.
Similar to the old screens in a new wrapping.
Advanced Options
Again similar to old days except for the new Journal Reconciliation option.
The Ledger Set is a great new feature which lets you manage multiple ledgers as one – a especially useful feature for faster closing. However the ledgers must share the following information:
You can open/close periods for multiple ledgers at once, run recurring journals that update balances for multiple ledgers. So it goes way beyond report sets or cross COA FSG reports.
Strange though – this is a non-OFA screen…having thought that all new features was pushed to OFA.
Similar to the Ledger Set the Data Access Set provides security at same level so ledgers must still share the following information:
The security can be at the following levels:
Note the Management Segment is a new segment qualifier. If you what your cost centre to be secured and used in Data Access sets enable the Cost Centre segment as a Management Segment. Remember if your COA has been used there is a specific procedure for doing this to avoid corruption.
The system always generate a Data Access Set with same name and full access for each:
Data Access Set security can be combined with Segment Value Security Rules and will work as a logical AND so only where the two overlaps access will be allowed.
The reporting currency definition is now comprised from the R11i options for reporting sets of books and the MRC profile options.
Period Rates Replaced by Daily Rates and all new OAF screens.
Revaluation sets are now usable across ledgers that share a common chart of accounts. In some cases, you may need to enter the secondary tracking segment for revaluation sets involving a secondary tracking segment before running revaluations with upgraded templates.
General Ledger modifies revaluation templates to use corresponding daily rates for those that used period rates prior to the upgrade.
Journals can now be reconciled if an account has been marked as such.
The is a useful feature for clearing accounts or tax accounts which should balance to zero.
Note this is a cash clearing account which is a good candidate for journal reconciliation.
So in this case you would enable the segment qualifier “Reconcile” to “Yes”.
Note the new “Reconciliation Reference” field. This is used both for automatic and manual reconciliation.
Search for unreconciled journal lines using the parameters above.
No journals to reconcile here – but you see the point?
Back to R12 – Upgrade Overview
AR are now fully support new modules like E-Business Tax and Subledger Accounting.
Release 12 introduces Oracle E-Business Tax to manage tax across the E-Business Suite. During the upgrade, system and customer options used to control tax calculation and tax code defaulting are migrated from Oracle Receivables into Oracle E-Business Tax entities. See E-Business Tax in this appendix for further details.
Release 12 introduces Subledger Accounting for managing accounting across subledger transactions. Receivables no longer creates any accounting entries. Existing Receivables accounting options and setups remain and affect the generation of accounting distributions in the Receivables data model. However, the accounting distributions are now simply one of many sources for generation of final accounting in the Subledger Accounting module.
In Release 12, all internal banks and bank accounts you had defined for your operations are automatically migrated to the central Cash Management entities. Remittance bank accounts are owned by a legal entity rather than by an operating unit.
Release 12 introduces Oracle Payments, which is used by Oracle Receivables for processing funds capture. See Payments in this appendix for further details.
Release 12 enhances the Release 11i Consolidated Billing Invoices functionality to include more flexible billing cycles, to consolidate invoices at site or account level, and to present Balance Forward Bills using the user-configurable Bill Presentment Architecture.
Release 12 enhances the Receivables Late Charges feature to incorporate the Global Interest Invoice setups, charge calculation logic, and charge generation processes. Charges for delinquent payments can now be generated as adjustments, debit memos, or interest invoices. The Interest Invoice Global Descriptive Flexfield is obsolete.
Release 12 introduces a new HTML user interface for entering and maintaining customer data. See the Oracle Receivables User Guide for further details.
The following features are obsolete in Release 12:
Collections Workbench – The Oracle Advanced Collections module delivers similar functionality. See the Collections Migration white paper and the Oracle Advanced Collections User Guide for further details.
Trade Accounting – Similar functionality is delivered by integration with the Oracle Trade Management module. Trade Management integration is available in Release 11i.
Bill of Exchange – This functionality has been replaced with the Bills Receivable feature. Bills Receivables is available in Release 11i.