Showing posts with label ebs. Show all posts
Showing posts with label ebs. Show all posts

Print XML to DBMS_OUTPUT.PUT_LINE or FND_FILE.PUT_LINE

I recently faced an issue in needing to generate a huge XML file without using the UTL_FILE package.
Since I was working on Oracle EBS and/or Fusion, I can only use FND_FILE.PUT_LINE.

FND_FILE is a seeded package within Oracle Applications (both EBS and Fusion) and prints to a specific directory in the file system. Two common usages are:

fnd_file.put_line (fnd_file.OUTPUT, p_message );
and 
fnd_file.put_line (fnd_file.LOG, p_message );

p_message has a data type of VARCHAR2. This means it's limited to 32767 bytes. So how can we print a huge XML when we're limited to 32767 characters? The Answer is Chunking.

Taken from a StackOverflow post, we will chunk the XML into pieces that FND_FILE.PUT_LINE can process.

Below is an Example:

declare
  
  xml_out xmltype;
  
  -- Internal procedure to print a CLOB using dbms_output in chunks
  procedure print_clob( p_clob in clob ) is
    v_offset number := 1;
    v_chunk_size number := 10000;
  begin
    loop
      exit when v_offset > dbms_lob.getlength(p_clob);
      dbms_output.put_line( dbms_lob.substr( p_clob, v_chunk_size, v_offset ) );
      v_offset := v_offset + v_chunk_size;
    end loop;
  end print_clob;
  
begin
        -- generate an XML --
select  xmlAgg(xmlconcat(xmlelement("dbaObjects"
            ,   xmlelement("objName", object_name)
            ,   xmlelement("objType", object_Type)
            )))
into xml_out
from    dba_objects;
print_clob(xml_out.getClobVal);

end;
However, if you want to use it in Oracle Apps (EBS and/or Fusion), you can use FND_FILE.PUT_LINE instead of DBMS_OUTPUT.
	procedure print_clob( p_clob in clob ) is
		v_offset number := 1;
		v_chunk_size number := 10000;
	  begin
		loop
		  exit when v_offset > dbms_lob.getlength(p_clob);
		  --dbms_output.put_line( dbms_lob.substr( p_clob, v_chunk_size, v_offset ) );
		  fnd_file.put_line (fnd_file.OUTPUT, dbms_lob.substr( p_clob, v_chunk_size, v_offset ) );
		  
		  v_offset := v_offset + v_chunk_size;
		end loop;
	end print_clob;	  

For more full-detailed Tutorials and Tips, check out #TheOracleProdigy at https://lifeofanoracleprodigy.blogspot.com/
Follow The Oracle Prodigy on Facebook (https://www.facebook.com/theOracleProdigy/) and Twitter (https://twitter.com/D_OracleProdigy)
Subscribe to The Oracle Nerd on Youtube! https://www.youtube.com/c/OracleNerd

List of Oracle E-Business Suite Tax Tables

ZX_ACCOUNT_RATES
ZX_ACCOUNTS
ZX_ACCT_TX_CLS_DEFS_ALL
ZX_API_CODE_COMBINATIONS
ZX_API_OWNER_STATUSES
ZX_API_REGISTRATIONS
ZX_COMPOUND_ERRORS
ZX_COMPOUND_ERRORS_T
ZX_CONDITION_GROUPS_B
ZX_CONDITION_GROUPS_TL
ZX_CONDITIONS
ZX_CONTENT_CHOICES_TMP
ZX_CONTENT_SOURCES
ZX_DATA_UPLOAD_DISCARD
ZX_DATA_UPLOAD_INTERFACE
ZX_DET_FACTOR_TEMPL_B
ZX_DET_FACTOR_TEMPL_DTL
ZX_DET_FACTOR_TEMPL_TL
ZX_DET_FACTORS_TL
ZX_DETAIL_TAX_LINES_GT1
ZX_DETERMINING_FACTORS_B
ZX_DIST_BKP_12345
ZX_DISTCCID_DET_FACTS_GT
ZX_DISTRIBUTION_LINES_GT
ZX_DISTS_B12345
ZX_ERRORS_GT
ZX_ERRORS_INT
ZX_EVENT_CLASS_PARAMS
ZX_EVENT_CLASSES_B
ZX_EVENT_CLASSES_TL
ZX_EVNT_CLS_MAPPINGS
ZX_EVNT_CLS_OPTIONS
ZX_EVNT_CLS_TYPS
ZX_EVNT_TYP_MAPPINGS
ZX_EXCEPTIONS
ZX_EXEMPTIONS
ZX_EXEMPTIONS_INT
ZX_FC_CODES_B
ZX_FC_CODES_CATEG_ASSOC
ZX_FC_CODES_DENORM_B
ZX_FC_CODES_TL
ZX_FC_COUNTRY_DEFAULTS
ZX_FC_TYPES_B
ZX_FC_TYPES_REG_ASSOC
ZX_FC_TYPES_TL
ZX_FORMULA_B
ZX_FORMULA_DETAILS
ZX_FORMULA_TL
ZX_ID_TCC_MAPPING_ALL
ZX_IMPORT_TAX_LINES_GT
ZX_ITM_DISTRIBUTIONS_GT
ZX_JURISDICTIONS_B
ZX_JURISDICTIONS_GT
ZX_JURISDICTIONS_TL
ZX_LINES
ZX_LINES_B12345
ZX_LINES_BKP_12345
ZX_LINES_DET_FACTORS
ZX_LINES_SUMMARY
ZX_MRC_GT
ZX_PARAM_DETAILS
ZX_PARAMETERS_B
ZX_PARAMETERS_TL
ZX_PARTY_TAX_PROFILE
ZX_PARTY_TAX_PROFILE_INT
ZX_PARTY_TYPES
ZX_PO_REC_DIST
ZX_PROCESS_RESULTS
ZX_PRODUCT_OPTIONS_ALL
ZX_PRODUCT_OPTIONS_ALL_A
ZX_PRVDR_HDR_EXTNS_GT
ZX_PRVDR_LINE_EXTNS_GT
ZX_PTNR_LOCATION_INFO_GT
ZX_PTNR_NEG_LINE_GT
ZX_PTNR_NEG_TAX_LINE_GT
ZX_PURGE_TRANSACTIONS_GT
ZX_RATES_B
ZX_RATES_TL
ZX_REC_NREC_DIST
ZX_REC_NREC_DIST_GT
ZX_RECOVERY_TYPES_B
ZX_RECOVERY_TYPES_TL
ZX_REGIME_RELATIONS
ZX_REGIMES_B
ZX_REGIMES_TL
ZX_REGIMES_USAGES
ZX_REGISTRATIONS
ZX_REGISTRATIONS_INT
ZX_REP_ACTG_EXT_T
ZX_REP_CONTEXT_T
ZX_REP_MATRIX_EXT_T
ZX_REP_TRX_DETAIL_T
ZX_REP_TRX_JX_EXT_T
ZX_REPORT_CODES_ASSOC
ZX_REPORT_CODES_ASSOC_INT
ZX_REPORT_TYPES_USAGES
ZX_REPORTING_CODES_B
ZX_REPORTING_CODES_TL
ZX_REPORTING_TYPES_B
ZX_REPORTING_TYPES_TL
ZX_REV_TRX_HEADERS_GT
ZX_REVERSE_DIST_GT
ZX_REVERSE_TRX_LINES_GT
ZX_RULES_B
ZX_RULES_TL
ZX_SERVICE_TYPES
ZX_SIM_CONDITIONS
ZX_SIM_PROCESS_RESULTS
ZX_SIM_PURGE
ZX_SIM_RULE_CONDITIONS
ZX_SIM_RULES_B
ZX_SIM_RULES_TL
ZX_SIM_TRX_DISTS
ZX_SRVC_SBSCRPTN_EXCLS
ZX_SRVC_SUBSCRIPTIONS
ZX_SRVC_TYP_PARAMS
ZX_STATUS_B
ZX_STATUS_TL
ZX_SUBSCRIPTION_DETAILS
ZX_SUBSCRIPTION_OPTIONS
ZX_SUMMARY_B12345
ZX_SUMMARY_BKP_12345
ZX_SUMMARY_TAX_LINES_GT
ZX_TAX_DIST_ID_GT
ZX_TAX_PRIORITIES_T
ZX_TAX_RELATIONS_T
ZX_TAXES_B
ZX_TAXES_TL
ZX_TEST_API_GT
ZX_TRANSACTION
ZX_TRANSACTION_LINES
ZX_TRANSACTION_LINES_GT
ZX_TRANSACTIONS_GT
ZX_TRX_HEADERS_GT
ZX_TRX_LINE_APP_REGIMES
ZX_TRX_PRE_PROC_OPTIONS_GT
ZX_TRX_TAX_LINK_GT
ZX_UPDATE_CRITERIA_RESULTS
ZX_VALDN_STATUSES_GT
ZX_VALIDATION_ERRORS_GT

Requirements for Transitioning into Oracle Revenue Management Cloud

Retrospective adoption is mandatory if you will implement Oracle Revenue Management Cloud. The idea here is you would need to replace deferred revenue balances with performance obligation balances on day one.

When adopting the ASC 606/IFRS 15 standard, revenue might initially be understated. But when you look at the yearly numbers, the revenue numbers will normalize. There are Two Options:
  1. Restatement. You have to restate prior two years.
  2. Disclosure. You would want to disclose subsequent years as if you had not adopted.
Below are some Strategies in Transitioning into Oracle Revenue Management Cloud:

Pre-Cutover for E-Business Suite

This is the strategy if you are using E-Business Suite using a transition ledger strategy.


From the diagram, We have the Five Steps to Revenue Recognition, and the Financials Cloud GL. In addition to the Revenue Management Configurations, you have to define enterprise structures (i.e. legal entities and ledgers in the Financials Cloud).

You would need to create a primary EBS ledger in your Fusion GL. This will contain the Journal entries from your external EBS Subledgers. The EBS Subledgers are entries from EBS Modules, particularly receivables, and order management. As those are the modules that contain that data that's going to be relevant to this new standard.

You would also need to create a secondary ledger specifically for EBS, referred to as an adoption ledger. This allows us to adopt the new revenue accounting standard. You would post balances to the adoption ledger when appropriate. You want to reconcile balances to the originally reported deferred revenue. You need to reconcile those balances to those original deferred revenue balances.

By Cutover day, balances should have explainable differences.

Cutover and Post-Cutover for E-Business Suite


During cutover, you would want Revenue Management to now point to the Primary Ledger. You're no longer going to need that adoption ledger.

You need to do a couple of additional things. You need to write two journals. The first journal is going to debit deferred revenue balances and credit them to equity. The second journal will credit the performance obligations balances from the adoption ledger and debit them to equity.

So after cutover, that secondary ledger that you created for adoption purposes is no longer needed and you can proceed to decommission other revenue systems or engines, because now you're going to be using Revenue Management going forward.

Pre-Cutover for Fusion Applications


This strategy talks about transitioning for Financials Cloud. Let's say that you're using the Financials Cloud and you did not adopt Revenue Management Application from the start of the implementation. You need to use this strategy to transition to using Revenue Management. Some important cloud modules here are Receivables and Project Financial Management because that's where your contracts are going to come from.

We're going to follow the same strategy that we explained for E-Business Suite, what we want to do is to create a secondary ledger. That secondary ledger will adopt this new revenue recognition standard.

Cutover and Post-Cutover for Fusion Applications



For cutover and moving forward, we will follow the same steps as in defined for EBS. On Cutover and going forward, you're going to be pointing Revenue Management to the primary ledger in the Financials Cloud GL. Similarly, you need to write two journals. The first journal is going to debit deferred revenue balances and credit them to equity. The second journal will credit the performance obligations balances from the adoption ledger and debit them to equity.

More details on can be found in the Support transition to ASC 606 / IFRS 15 (Doc ID 2446808.1) white paper in My Oracle Support.


For more full-detailed Tutorials and Tips, check out #TheOracleProdigy at https://lifeofanoracleprodigy.blogspot.com/
Follow The Oracle Prodigy on Facebook (https://www.facebook.com/theOracleProdigy/) and Twitter (https://twitter.com/D_OracleProdigy)

Overview of Revenue Management in Oracle Fusion Applications

What is Revenue Management?

Oracle Revenue Management Cloud is a centralized, automated Revenue Management product. It enables you to address revenue as defined in the ASC 606 and IFRS 15 accounting standards that came in 2018.

Oracle Revenue Management Cloud is an application that enables you to manage customer contracts and performance obligations easily so that you can address the revenue mandates that are in these new accounting guidelines.

There used to be differences between ASC and IFRS as to how revenue was recognized. But now, the two standards have converged. So the rules for recognizing revenue are now very similar between these two standards. More information can be found on a separate article: Overview of the ASC 606 and IFRS 15 Revenue Management Standards.

Features of Revenue Management
  1. Revenue Management allocates revenue according to the published guidelines for the ASC 606 IFRS 15 standard.
  2. Identifies and creates customer contracts and performance obligations in those contracts based on both seeded and user-defined rules. 
  3. Has a rule-based engine called SubLedger Accounting (SLA) that creates journals for Revenue Management and send them over to either Oracle Fusion Cloud GL or externally, to E-Business Suite GL.
  4. Books revenue when performance obligations are satisfied. It processes revenue independently of billing. 
  5. Simplifies and automates revenue accounting across product bundles
  6. The centralized dashboard to be your system of record for revenue data.
  7. Has Pre-defined integration with Oracle E-Business Suite
  8. Extract, Transform, and Load (ETL) functionality and Spreadsheet integration.
  9. Several core-defined Revenue reports using BI Publisher (BIP) and Oracle Transactional Business Intelligence (OTBI), and also allows users to create their own reporting objects
Key Terminologies in Revenue Management
  1. Customer Contract in Revenue Management is not in terms of a physical legal contract, but rather an accounting contract.
  2. Performance Obligation is the promise to the customer that needs to be fulfilled so revenue can be recognized. 
  3. Performance Satisfaction is the fulfillment of a Performance Obligation. Performance Satisfaction is measured in terms of accounting periods in terms of percentage or quantities.
  4. Inventory items are products and services associated with price that your organization sells. This is an important data point in Revenue Management because this will be the basis for standalone selling price and the allocation of the transaction price.
  5. Standalone Selling Price (SSP) is the price of a component of a contract if you purchase it separately.
  6. Allocation determines the transaction price allocated to various performance obligations in the ratio of SSP. This is based on a relative method of allocation.
  7. Transaction Price is the amount of consideration that is expected to be received for the transfer of goods or services. This could be fixed or variable. These are the amounts that are recognized as revenue when the performance obligation is satisfied.
Overview of Revenue Management Cloud

Below is a quick overview of Revenue Management Cloud, including the five steps to revenue recognition and also integration. So you can see integration within other Oracle Cloud products and with products outside of the Oracle Cloud as well.




Revenue Management Cloud can integrate with third-party solutions, including Oracle E-Business suite (EBS). A number of EBS applications such as Receivables, Contracts and Order Management have data that's relevant to this new revenue recognition process. You can use the predefined integration with EBS to bring that data over to the Cloud.

In addition to that, you can integrate to third-party non-Oracle applications. We provide File Based Data Import (FBDI) templates to allow you to use the template, populate them, generate a data file that you can then load to the Oracle Cloud. Or you can also even create a custom program from your third-party non-Oracle application.

In the diagram, there is also inbound integration with fusion receivables and project financial management. Also important is the outbound integration here to the Fusion Cloud General Ledger, or externally, to Oracle EBS GL. This means that a subledger journal is going to be generated and transferred over to GL. Once the Journal Entries have been posted, then the The balances cube (called the "Essbase cube") will be updated and you can create financial statements for your organization.

To know more about these Integrations, check out separate articles on Inbound Integration with Revenue Management Cloud and Integrating E-Business Suite with Oracle Revenue Management Cloud.

In the middle of the Diagram, you can see the five steps to revenue recognition. Below provides a summary of the five steps to revenue recognition:

Five Key Steps to Revenue Recognition


1. Identifying customer contracts. The first step in the process is to identify customer contracts from transaction lines. These contracts can be identified based on common attributes in transaction lines (i.e. Customer Name, Extensible Attributes, etc.). Contract Identification Rules are used to identify these common links together and group them in a contract. The Identify Customer Contracts job set creates the accounting for each stage of the Revenue Recognition Process.

2. Identifying Performance Obligations in those contracts. As mentioned in the terminologies, Performance Obligations are the promises you made to the customer. These are goods or services that you promise to deliver in exchange for payment. Performance Obligation Identification Rules are used to Identify these contractual obligations based on common links in the contract.

3. Calculating transaction Prices. Transaction price is price of the contract or deal. Think of the amount of expected consideration that your organization is going to receive for transferring those goods or services. The amount what you expect to receive from the customer after delivering the service or delivering the product.

4. Allocate the transaction price using Standalone Selling Prices. Determines how much revenue is going to be allocated for each service and product based on the Standalone Selling Price.

5. Recognize the revenue when that performance obligation has been satisfied. 

Revenue Management Process Flow

Before you can effectively use Revenue Management, there are a number of items you would have to configure first, such as registration of source systems, set the standalone selling prices, set the default accounts to use, etc. 

The Diagram below shows the steps to configure Revenue Management:


1. Extract Transform and Load. You would need to register data sources and source systems in Revenue Management to be able to import transactions from other applications. You can import these data using FBDI templates and load them into the Universal Content Manager (UCM) Server, before going into the Revenue Management Cloud tables.

2. Manage Standalone Selling Prices. You need to populate prices in the system to allocate the transaction price of a customer contract. That customer contract is going to products and/or services and each of those products and/or services need to have a standalone price. Revenue Management is going to use these standalone selling prices as the basis to allocate revenue. You can run processes in Revenue Management to calculate the prices or you can load them from a spreadsheet template.

3. Five Steps to Revenue Recognition. The Five steps to revenue recognition is where the actual process takes place. As previously mentioned, the five steps is to identify the customer contract, identify performance obligations, calculation of the transaction price, the allocation of that transaction price, and finally, recognize the revenue when you have satisfied the performance obligations.

4. Accounting. With the use of the SubLedger Accounting Engine, we will create accounting journals based on rules we have set. These rules are created Component by component, there are rules that are going to impact how the description of the journal looks like, what the journal lines are going to have, which accounts, which descriptions, etc. Create Accounting is the process that is going to look at these rules and create the journal.  Once the journal is created, it can be sent to GL, either Cloud GL or E-Business Suite GL. Financial statements such as balance sheet reports, and income statement reports can then be generated from the Essbase Cube.

A Working Example of Revenue Management

Below is an example a contract with a telecommunications company:

Item
Standalone Selling Price
Satisfaction Start Date
Satisfaction End Date
Revenue Recognized
Smart Phone
490.68
07/01/2016
07/01/2016
490.68
Voice Plan
588.82
07/01/2016
06/30/2017
50.01 (1st Month)
Data Plan
392.5
07/01/2016
06/30/2017
33.34 (1st Month)

The customer contract is going to include these inventory items: a smartphone, a voice plan service and a data plan service. Each has a defined standalone selling price, which is key to allocate the revenue properly. There is a time frame on when we can recognize revenue.


As for the Smart phone, we will recognize the revenue immediately, as the performance obligation has been fulfilled right away. For the Voice and Data plan, revenue will be spread out in terms of when the performance obligation will be fulfilled. We cannot recognize revenue immediately because we haven't completely fulfilled the service yet.

At contract inception, you are going to be seeing accounting entries, even prior to billing. So prior to billing, there will already be accounting entries generated under the new ASC606/IFRS 15 standard.

For more full-detailed Tutorials and Tips, check out #TheOracleProdigy at https://lifeofanoracleprodigy.blogspot.com/
Follow The Oracle Prodigy on Facebook (https://www.facebook.com/theOracleProdigy/) and Twitter (https://twitter.com/D_OracleProdigy)

Source Document Types and Type Codes in Revenue Management Cloud

What is a Source Document Type?

Source Document Types are used for integrating third-party applications and Revenue Management Cloud. Examples of Source Documents are Sales orders, Service contract, Warranty contract, etc. Source Document Types are attached to System Options and is a required and integral setup in Revenue Management

There are Source Document Types already predefined for integrations with Oracle E-Business Suite and for Oracle Cloud applications. If you are bringing data or integrating to third party applications, you're going to have to create custom ones. If you are interested to know which of these Source Document Types were predefined or seeded, notice the "Created By" column. If see the value "Oracle" then that means that's something that was predefined.




Source Document Types brings together the Revenue Scheduling Rules (also known as Performance Satisfaction Plan), the Satisfaction Measurement Model (SMM) and the Document Type Code.

What is a Satisfaction Measurement Model?

A Satisfaction Measurement Model answers how you measure satisfaction such as Quantity, Period or Percentage, depending on how your organization measures satisfaction. For example, if it's a service that you provide over time, the SMM would probably be based on the accounting period.

What is a Source Document Type Code?

Source Document Type Codes are used to define the attributes that can be used in a number of setups in Revenue Management such as Contract Identification Rules, Performance Obligation Rules, Pricing Dimension Assignments and also for defining subledger accounting rules.

Document Type Codes are synonymous to Descriptive Flexfields (DFFs). DFFs are fields that allow you to track and capture data points that may be specific to your organization or industry. To define new Document Type Codes, The name of the implementation task is "Manage Revenue Management Descriptive Flexfields".


Source Document Type Codes are important aspects in identifying contracts with the customer (Contract Identification Rules), and also to identify performance obligations (Performance Obligation Identification Rules). Source Document Type Codes can contain two types of Data:
  1. Source Document Header data - These are usually header-level data such as sales order number, a contract number, contract date or Customer information
  2. Source Document Lines data - These are usually line-level data such as inventory item, numbers or IDs, product descriptions, line amounts, etc.
Both Header and Line data can contain up to 90 extensible attributes that you can populate.



For more full-detailed Tutorials and Tips, check out #TheOracleProdigy at https://lifeofanoracleprodigy.blogspot.com/
Follow The Oracle Prodigy on Facebook (https://www.facebook.com/theOracleProdigy/) and Twitter (https://twitter.com/D_OracleProdigy)

Integrating E-Business Suite with Oracle Revenue Management Cloud

In this Article, you will gain an understanding of how Oracle E-Business Suite integrates with Revenue Management.

Before you can perform more work on these integrations, You need to have reference data in place such as enterprise structures, legal entities, ledgers, business units, Parties, Customers, customer accounts, customer account sites and inventory items in the Oracle Cloud. And you would need to read about Integrating with Revenue Management in Oracle Fusion Applications.


There are predefined programs in E-Business Suite called that extract data from EBS and bring it over to the Cloud. Below programs are run sequentially:

  1. Extract Revenue Basis Data program
  2. Create Billing Data program 
  3. Create Revenue Management Data export file

The file created by the "Create Revenue Management Data export" program gets into the Cloud via the Universal Content Manager, and from there data gets pushed into the Revenue Management interface tables. Data will be validated and create customer contracts in the Revenue Management base tables by running a process called "Identify Customer Contracts".

Identify Customer Contracts will create contracts based on rules. These rules can be predefined or defined by your organization. Once that has been completed, Revenue Management can now perform the five steps to revenue recognition.

There is out-of-the-box integration with the below E-Business Suite modules
  1. Order Management
  2. Service Contracts
  3. Receivables
These E-Business Suite modules have pre-built integration because they contain information relevant to Revenue Management Cloud. Service Contracts would contain contract information, Sales orders in Order Management, and invoices and credit memos information in Receivables.

Required steps to configure E-Business Suite integration with Revenue Management:
  1. Apply patches provided by Oracle (25505159 and 
  2. Configure system options in EBS Receivables to add a new tab. 
  3. Profile Option "AR: Source System Value for Revenue Management"
  4. Configure business events using Fusion Web Services
  5. Set up EBS Secure Socket Layer (SSL) for consuming Fusion services
For steps 1, 4 and 5, go to Oracle Metalink Support and download the appropriate patches and notes on how to implement these steps. The patches are applicable for releases 12.1.3 and 12.2.x.


After that patch is applied, as we can see here, you're going to see a new tab shown below:


In Setting the profile option, the name of the profile option is "AR: Source System Value for Revenue Management" and the value that you want to set the option is "EBIZ". This is a mandatory setting in order to extract revenue basis data from EBS and bring that over to Oracle Revenue Management Cloud.

Once everything has been configured and set, you may proceed to extract revenue data by running a process in EBS called Extract Revenue Basis Data. Extract Revenue Basis Data is a request set that will run three sub-processes that does the following:
  1. Extract Revenue data
  2. Extract Billing data. 
  3. Create a data export file that will be sent to the Universal Content Manager
After you have run an import process to transfer files into the UCM, the next process that needs to take place is Load Interface File for Import. This process transfers setup or transaction data files from a user-specified location to the interface tables. The interface tables we are discussing here are the Revenue Management interface tables.

For more full-detailed Tutorials and Tips, check out #TheOracleProdigy at https://lifeofanoracleprodigy.blogspot.com/
Follow The Oracle Prodigy on Facebook (https://www.facebook.com/theOracleProdigy/) and Twitter (https://twitter.com/D_OracleProdigy)

Integration with Revenue Management in Oracle Fusion Applications

This article discusses the Inbound Revenue data Integration with Revenue Management in Oracle Fusion Applications. Below are the Objectives of this Article:
  1. Understanding inbound integration options with Revenue Management
  2. Understanding how Oracle E-Business Suite integrates with Revenue Management
  3. Understanding how third party applications integrate with Revenue Management
  4. Understanding Outbound integrations with Revenue Management
Before you can perform more work on these integrations, You need to have reference data in place such as enterprise structures, legal entities, ledgers, business units, Parties, Customers, customer accounts, customer account sites and inventory items in the Oracle Cloud. Also, you would need to create a source system and item relationship called Spoke System Relationship.

Defining a Source System

This is part of the prerequisites for integration. Go to the task "Manage trading community source system" and click on "Create" and click on the option "Enable for Items" and also "Enable for Trading Community Members" because we're going to be loading inventory item information as well as customer information into the cloud.

Defining a Spoke System Relationship

A spoke system relationship is a relationship between items and a source system. This is required when integrating with third-party applications. To define a spoke system relationship, you would need to first Define Master Data.

To find out more about Defining a Spoke System Relationship, check out a separate article on Creating Items and Their Spoke System Relationship in Oracle Fusion Applications.

Defining Master Data means that you need customer and inventory item data loaded into Oracle Fusion before you can do integrations. There are predefined templates to upload customer information and import or update inventory items. Once done, you would need to register the source of the integration, called a Source System.

Prior to Performing a third-party or spreadsheet integration, you must register the source system so that you can then bring data into the Oracle Cloud and over to the Revenue Management interface tables. The Steps to Registering a Source System are:
  1. Create a source system within the Trading Community Model
  2. Import a source system reference file from a Spreadsheet
Inbound Integration to Revenue Management Cloud


There are multiple ways to bring data into Oracle Revenue Management Cloud. As mentioned, it can be through an FBDI template, or the pre-defined integration with E-Business Suite, or a custom program. The entry point for all solutions would be the Universal Content Manager (UCM).

Integration with E-Business Suite

There is out-of-the-box integration with the below E-Business Suite modules
  1. Order Management
  2. Service Contracts
  3. Receivables
These E-Business Suite modules have prebuilt integration because they contain information relevant to Revenue Management Cloud. Service Contracts would contain contract information, Sales orders in Order Management, and invoices and credit memos information in Receivables. 

There is a predefined program in E-Business Suite that extract data from EBS and brings it over to the Cloud via the Universal Content Manager. In turn, the UCM will populate the interface table and will create contracts in Revenue Management Cloud based on rules. Note that there are required steps to configure E-Business Suite integration with Revenue Management.

For more detailed information on Integrating E-Business Suite with Oracle Revenue Management Cloud, check out a separate article: Integrating E-Business Suite with Oracle Revenue Management Cloud

Integration with other Oracle Fusion Cloud Modules



Oracle Revenue Management also tightly integrates with other Oracle Cloud applications such as Fusion Receivables, Cloud Project Financial Management Contracts since both of these applications contain data that's going to be relevant to the new revenue recognition standard.

For Cloud Receivables, source documents such as invoices, credit memos will be relevant to Revenue Management, while for Project Financial Management, it would be documents like contracts, warranties, etc.

There is a pre-defined process called the Extract Revenue Basis Data from Oracle Fusion Applications that will extract data from the other modules and populate the interface tables. After the interface tables have been populated, a process called "Identify Customer Contracts" needs to be run to validate that data and identify customer contracts, the same process used for E-Business Suite.

Setups for Revenue Management Integration with Oracle Cloud applications



There are some required configuration in the page "Manage System Options for Revenue Management". You would need to configure Source Document Types for both Receivables and Project Financial Management. Source documents are documents such as warranty contracts, specific types of invoices, or credit memos, etc.

You would need to specify revenue clearing account for each Source Document Type to identify the default accounting combination. Also, we see extraction start date. This indicates that starting on this date, the data will to be extracted from the Fusion applications and into the interface tables to creating customer contracts.

Additionally for AR, you need to configure Oracle Fusion Receivables Transaction Sources because every single invoice, credit memo, debit memo that you create in Receivables is associated with a transaction source.

Processing Historical Data

It will be important to load historical revenue and billing data for iterative modeling and comparative analysis. In the Manage System Options page, you will need to provide the start date for that particular integration to indicate how far you are going to integrate that source data for modeling.

The revenue standard was effective January 1, 2018, but you might make a decision to go back two years, or three years for modeling and comparative analysis. You can bring that data on or after January 1, 2014 from the E-Business Suite ERP or Financials Cloud ERP. You can not really bring that data over prior to this date.

Spreadsheet Integration using File-Based Data Import



Oracle Fusion has a number of templates that can be used to bring data over into Revenue Management from third-party applications with the use of File-Based Data Import (FBDI) templates. They allow you to bring revenue basis and billing data into the Cloud and over to the Revenue Management interface tables.

If you decide to go with the FBDI template, there are separate FBDI templates you need to use for revenue data (Revenue Basis Data Import) and billing data (Billing Data Import). The template will contain source header data from the source document, sales order, the warranty contract, and sublines that impact satisfaction information. You can download the FBDI template from Oracle Documentation: File-Based Data Import for Financials.

The Revenue Basis Data Import template will have three tabs, each one for different types of data:
  1. Header Data (VRM_SOURCE_DOCUMENTS)
  2. Line Data (VRM_SOURCE_DOC_LINES)
  3. Satisfaction event information (VRM_SOURCE_DOC_SUB_LINES)
While the Billing Data Import only has one tab (VRM_BILLING_LINE_DETAILS).

You need to run an import process to get that CSV data file into the Cloud, called "File Import and Export". After the import process takes the data into the UCM server, run the process "Load Interface File for Import" to populates the Revenue Management interface tables. 


This will trigger the process "Validate Customer Contract Source Data" that will validate the data in the inteface. Next, you would need to run "Identify Customer Contracts" to create customer contracts from the Revenue Management base tables.

Custom Program using a SOAP Web Service


If you decide to go with a custom program, you will need two APIs for this integration, the Revenue Basis Data Import API and the Billing Import API

You will have to utilize the Web Service API to place a file in the UCM server. After the file is in the UCM server, you run the same process to load the interface tables ("Load Interface File for Import") and proceed to run another process to automate the five steps to revenue recognition ("Identify Customer Contracts"). 

Error Correction for Integrations


There is a spreadsheet template that Oracle provide that allows you to not only correct import errors but check for errors. This function is called "Correct Contract Document Errors in Spreadsheet" and is found by navigating to the Revenue Management work area.

Outbound Integration

With the use of the subledger accounting engine, we are going to generate journals in Revenue Management. Those journals will end up either in a target General Ledger. If your target General Ledger is Fusion GL, We're not going to do any outbound transactions because the journals are going to stay within the cloud.


However, if you are using EBS, what will happen here is that you will run Create Accounting as you normally would do. A data file will be created and sent over to the Universal Content Manager, then you then run a process to import those journal entries from the cloud and into E-Business Suite. This data is going to go to the GL interface tables in EBS. You can then run an import process that takes the data to the EBS GL production tables. It creates the journals. After you create the journals, then you can post those journals in EBS GL.


There are certain setups you have to do in the cloud to allow for this outbound integration with EBS. And so here you see the name of the task, Manage Subledger Application. Pick the desired application ("Revenue Management") and choose the application you'll transfer the Ledgers to. There is an option to transfer to EBS. You have to go with this option here to transfer ledgers externally to EBS.

For more full-detailed Tutorials and Tips, check out #TheOracleProdigy at https://lifeofanoracleprodigy.blogspot.com/
Follow The Oracle Prodigy on Facebook (https://www.facebook.com/theOracleProdigy/) and Twitter (https://twitter.com/D_OracleProdigy)

Difference of Payables in E-Business Suite and Oracle Fusion Applications

Someone asked recently: "Are there any functionality gaps between EBS AP and Oracle Payables Cloud?"

My response: "There are only a few differences, mainly with Fusion having the latest features compared to EBS."

Below is a quick table showing some key features missing from Payables E-Business Suite.


Information is updated as of April 4, 2019

General Ledger Accounting Cycle


  1. Open Period
  2. Create Journals Manually / Import Journals from SLA / Reverse Journals
  3. Post Journals to Update GL Balances and the Cube
  4. Review GL Balances and Reconcile Balance Sheets
  5. Run Revaluation for Foreign Currencies and Translate Balances (i.e. from UK to US)
  6. Perform Consolidations 
  7. Review GL Balances and Reconcile Balance Sheets
  8. Run Financial Reports
  9. Close Period

Advantages of using Oracle Fusion Applications over E-Business Suite

Last Updated: March 30, 2019

Just sharing some of my notes on some advantages of using Oracle Fusion Applications as compared to Oracle E-Business Suite R12. This might get updated over time as I go along my journey on the Cloud. :)
  • Oracle Fusion Applications already has seeded Business Intelligence & Analytics, and Essbase (formerly known as Hyperion) is already integrated with General Ledger for Multi-Dimensional reporting. On the other hand you would need to purchase separate licenses for Oracle E-Business Suite, Hyperion and Oracle Business Intelligence.
  • Has already built-in Invoice Imaging for invoice integration with third-party organizations. A Vendor just needs to send a scanned copy of an Invoice to a specific email address used by the system and Oracle Fusion automatically puts it into the Interface for processing.
  • Allows the use of SOAP Web Services for data integrations with third-party organizations (using the built-in ERP Integration Service) and already supports data encryption.
  • Simplified Look and Feel and easier navigation.
  • Oracle Fusion Applications already has a Social Network within the application for messaging and file-sharing within the organization (though I believe this will be highly unused as Microsoft already has an established messaging application such as Teams and Skype for Business).
  • The fact that you won't need to install a Java plugin makes everything so much easier. Just navigate to the application's URL and you're already set.
  • You only need to setup your configurations from one place ("Setup and Maintenance") unlike in EBS where you have to navigate to each application's Super User responsibility.
  • The use of Business Intelligence applications such as Infolets, Infotiles and Sunburst for better and faster decision-making based on real-time data.
  • Centralized Financial reports in Financial Reporting Center (FRC) and provides a multitude of seeded reports that cater to government requirements
  • Easily accessible from Mobile phones, just use a browser
  • Spreadsheet Integration for most Financial Applications (Recievables, Payables, Assets, GL, etc.) to be used for data entry, correction, deletion or data updates.

Script to Delete Concurrent Programs from Oracle E-Business Suite 11i and R12

There might be instances wherein one needs to remove an invalid Concurrent Program setup in Oracle E-Business Suite, including its Concurrent Executable setup. This cannot be done from the front-end application, as it only allows you to disable the Concurrent Program.

Fortunately, we have the option to do this from the back-end:

declare

    cursor conc_cur
    is
    SELECT  appl.application_short_name application
          , CONC.USER_CONCURRENT_PROGRAM_NAME
          , EXEC.EXECUTABLE_NAME
          , CONC.CONCURRENT_PROGRAM_NAME
          , lookup.meaning execution_method_code
          , EXEC.EXECUTION_FILE_NAME      
    FROM    FND_CONCURRENT_PROGRAMS_VL CONC
          , FND_EXECUTABLES EXEC
          , FND_APPLICATION_VL APPL
          , fnd_lookup_values lookup
    WHERE   EXEC.EXECUTABLE_ID = CONC.EXECUTABLE_ID
    AND     EXEC.EXECUTION_FILE_NAME = :pkg_name.procedure_name -- change this to the Concurrent Program Executable
    AND     APPL.APPLICATION_ID = EXEC.APPLICATION_ID
    AND     LOOKUP.LOOKUP_CODE = EXEC.EXECUTION_METHOD_CODE
    and     LOOKUP.lookup_type='CP_EXECUTION_METHOD_CODE';

Begin

    for c1 in conc_cur loop

        fnd_program.delete_program(c1.CONCURRENT_PROGRAM_NAME, c1.application);
        fnd_program.delete_executable(c1.EXECUTABLE_NAME, c1.application);
    
    end loop;
    
    commit;
    
End;

Please note that you would need to have access to the APPS schema or a user with similar or higher privileges.

Update: June 28, 2019: For EBS 12.2.5, the above query might not return any values because of the Views. Use the following code instead:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
declare

    cursor conc_cur
    is
 SELECT  appl.application_short_name application
          --, CONC.USER_CONCURRENT_PROGRAM_NAME
          , EXEC.EXECUTABLE_NAME
          , CONC.CONCURRENT_PROGRAM_NAME
          , lookup.meaning execution_method_code
          , EXEC.EXECUTION_FILE_NAME      
    FROM    FND_CONCURRENT_PROGRAMS CONC
          , FND_EXECUTABLES EXEC
          , FND_APPLICATION APPL
          , fnd_lookup_values lookup
    WHERE   EXEC.EXECUTABLE_ID = CONC.EXECUTABLE_ID
    AND     EXEC.EXECUTION_FILE_NAME = 'GLMSUMMACCNEW'
    AND     APPL.APPLICATION_ID = EXEC.APPLICATION_ID
    AND     LOOKUP.LOOKUP_CODE = EXEC.EXECUTION_METHOD_CODE
    and     LOOKUP.lookup_type='CP_EXECUTION_METHOD_CODE';

Begin

    for c1 in conc_cur loop

        fnd_program.delete_program(c1.CONCURRENT_PROGRAM_NAME, c1.application);
        fnd_program.delete_executable(c1.EXECUTABLE_NAME, c1.application);
    
    end loop;
    
    commit;
    
End;


For more full-detailed Tutorials and Tips, check out #TheOracleProdigy at https://lifeofanoracleprodigy.blogspot.com/
Follow The Oracle Prodigy on Facebook (https://www.facebook.com/theOracleProdigy/) and Twitter (https://twitter.com/D_OracleProdigy)

Recent Posts

SQL Fundamentals

Introduction to SQL and Syntax What is SQL? SQL stands for Structured Query Language. is a standard programming language for accessing datab...

Top Posts