Tuesday Jun 14, 2011

What Are My Patch Prerequisites?

It is always a large task attempting to download and apply patches to a CC&B once it is live in Production, since typically most installations are a couple of Service Packs behind, as a result I have been working on a method to document the requirements for each installation easily, using a number of different tools available to most installations.

1. https://support.oracle.com

This should be the first place that all installations go to, to determine the current patch level available for Oracle Utilities CC&B and FW. using a query similar to:

This returns a set of available patches similar to:

Using these query tools, I recommend downloading all applicable Service Packs, Convenience Roll-ups and sundry patches to a directory on your server or desktop.
Unzip these into a common mount point, but do not attempt to install them until full analysis of your needs and the impact on your environments has been performed.

It should also be noted that the ‘Hot Topics’ section under the Settings menu option can be used to craft automated daily/weekly/monthly email triggers based on patches being released for your product set:

Once these patches have been downloaded and unzipped your mount point should contain a list of sub-directories similar to:

2. You can then run a Perl script similar to this, which prompts for the following:

Path associated with the complete set of available patches[C:/Users/sramage/Desktop]: c:\temp\
Patch Number being installed[0000000]: 7702037
Path associated with the installed_fixes.txt for this CC&B Installation[C:/Users/sramage/Desktop]: c:\temp\etc\

and produces the following:


Analysing Level 1 Dependencies..
-- Patch #8408935 not installed, added to list
-- Patch #1122345 already installed!

Analysing Level 2 Dependencies..
-- Patch #1122345 already installed!
-- Patch #1122346 not installed, added to list

Analysing Level 3 Dependencies..
-- Patch #1122345 already installed!

The following patch/es need to be installed as pre-requisites to patch 7702037:
8408935, 1122346

This should allow installations to analyse these patches and determine any pre-requisites necessary. The resulting output has been designed to be entered directly into https://support.oracle.com to provide a detailed listing of the content of each of these pre-requisite patches to allow sites to determine the risk of implementing, and the regression testing required for each.

Update: I have been supplied with a similar concept, written by Chris Waite (from Aurora Energy), as a VB Script, which generates a similar list of pre-requisites. Attached here

Monday May 09, 2011

Enforcing Redundancy

A number of our local installations do not appear to be running batch process REDSAAMT, resulting in life becoming just that little bit harder for the associated CC&B instance. This batch process is tasked with marking financial transactions as redundant (based on the fact that corresponding debits and credits have a resulting $0.00 impact on the overall Service Agreement balance and the transaction arrears date on the transactions is older than x days, as specified on the Installation Options). Open Item accounting transactions are not reviewed by this process. When this job is not run, CC&B has to wade through a larger set of transactions to determine current balances, and as a result performance suffers.
It is important to note that this job limits itself to reviewing 5,000 transactions for any one Service Agreement, and when this limit is reached the job simply generates a To Do and rolls all work performed back.. So, the big question is, how do you ‘catch up’ if you have not been running this job regularly, and have now reached the point where these 5,000-transaction-limit To Do entries are being generated?
The answer is the “Batch Business Date” parameter. Almost every batch process in the CC&B product makes use of the batch business date as a controlling factor, and processes records limited to this date (In CC&B 2.2 the exceptions to this rule are some of the Interval Reading Upload and Derivation, and Balance Control batch processes). Using this method, it is possible to run the batch process a number of times passing in differing batch dates each time (i.e. Run the job 3 times passing in dates of 2009/01/01, 2010/01/01 and 2011/01/01 to break the work being performed up into 3 ‘bite-sized’ chunks, thereby circumventing the 5,000 record limit in this particular process). It should be noted that this process simply updates the “redundant” flag on the transactions and does not perform any sort of transaction removal (i.e. Archiving), as a result this process will not assist with database size reduction.

This brings me to another point.. What populates the Arrears Date on a Transaction?

In normal usage, CC&B will generate a Financial Transaction record for every Bill Segment, Payment Segment, Adjustment (or Reversal of each) once the transaction is Frozen (or Cancelled in the case of the Reversal). These financial transaction records link back to the associated ‘detail’ records via the SIBLING_ID field on the table, but the associated BILL_ID and Arrears Date fields are normally left blank at this point.
This process of populating these components is then performed by Bill Completion (assuming the transaction is not a credit adjustment or a payment, since these are traditionally aged from the date that the transaction is frozen, rather than the date that the customer is made aware of the transaction), although it tends to do a bit more than just updating the arrears date.

The process performed at bill completion looks a little like this:

Bill Completion Logic

As a result, once a bill has been completed, all of the associated transactions on the SAs linked to the Account are ‘swept’ onto the bill and stamped with an arrears date that aligns with the bill completion date. This also ensures that all transactions linked to the bill inherit the same due date.

Wednesday Apr 20, 2011

Credit where Credit is due

[Read More]

Monday Apr 18, 2011

Making Payments..

[Read More]

Thursday Apr 14, 2011

Updates on TheShortenSpot

[Read More]

Thursday Jan 06, 2011

Controlling your Versions

A handy hint from one of my colleagues (thanks SG) is to populate the VERSION field on each record with a unique number for each of your various data sources (ie 1000,2000,3000) to allow for easy identification of converted data at a later date, as well as the allowing for identification of the associated conversion stream which created this record (assuming each source has a different set of mapping rules).

Friday Mar 19, 2010

Somewhat off topic..

[Read More]

Monday Feb 01, 2010

I can't remember if I had a memory leak..

Memory leaks seem to be one of our biggest issues on my current project (CC&B 2.2.0 on Windows Server x64 2003 R2). A review of the components experiencing these leaks has led us to upgrade the following (with thanks to Josh, Ken and Andre for their assistance):
  • Sun Java has now been patched from 1.5.0_09 to 1.5.0_22
  • BEA Weblogic 10.0 has been patched from MP1 to MP2
  • Single Fix 8882447 is recommended if your implementation includes complex plug-in scripts, since these appeared to suffer from a defect in regards to the caching of PreparedXQuery elements resulting in them consuming large amounts of memory.
  • Review all custom batch modules to ensure that they make use of the createJobWorkForEntityQuery method to build the JobWork object, or use createJobWorkForQueryIterator and createWorkUnit if you need to add supplemental data.  These methods cache the thread work units to a temporary disk file to reduce memory consumption, instead of the managing the ThreadWorkUnits list inside the code. Further details are available in the PFD for Single Fix 7447321.

Sunday Dec 20, 2009

My Oracle Support Community Link

The "My Oracle Support" Community Customer Care and Billing page is now available at https://communities.oracle.com/portal/server.pt/community/customer_care_and_billing for all registered "My Oracle Support" users.

Wednesday Dec 02, 2009

Service with a Smile

Oracle Utilities Framework 2.2.0 SP6 (Patch number 9042811) and Customer Care & Billing 2.2.0 SP6 (Patch number 9042819) are now available for download from My Oracle Support. 

Wednesday Nov 18, 2009

Handy Links

A couple of handy My Oracle Support (Metalink) links for TUGBU customers...

ID 804664.1 - Important" Patches for Customer Care & Billing V2.1.0
ID 804612.1 - Important" Patches for Customer Care & Billing V2.2.0
ID 804706.1 - Important" Patches for Enterprise Taxation Management V2.1.5

Tuesday Oct 13, 2009

Budget Types

[Read More]

Tuesday Sep 22, 2009

Better than a Tardis..

Changing the System Date in CC&B (to cater for testing requirements where the system has to be artificially rolled backwards/forwards) used to be done via the Database initialisation parameters, and the Batch Run Date parameter. But it appears that FEATURE CONFIGURATION now supports this requirement.

Simply create a "General System Configuration" Feature Configuration instance (we tend to call ours CMTIMETRAVEL, but there is no restriction on this in the system), and define Option "System Override Date" with the required value.

Once again, be aware that it is not recommended that you roll your dates back and forward, since this makes investigation of defects a bit more complicated, but it definitely has its place in relation to test execution (especially Collection and Severance testing, where the process runs across a large number of days and test cycles are typically defined for a much smaller period).

Thursday Sep 17, 2009

Bundle Corrections.

We have identified an issue with the use of bundling and UI Maps, whereby the resulting Bundle was wrapping the UI Map in a set of CDATA tags, but only after it had already removed all formatting from the source records, resulting in corruption of the UI Map HTML fragments.

This has now been corrected by implementing Single Fix 8228025 on FW/CC&B 2.2.0.

If you are using the Bundling subsystem in your implementation, I strongly recommend that you implement this patch.

Stuart Ramage

I am a Consulting Technical Director for Oracle Corporation, and a member of the OU Black Belt Team, based in Hobart Tasmania.
I have worked in the Utility arena since 1999 on the Oracle UGBU product line, in a variety of roles including Conversion, Technical and Functional Architect.

Contact me on:


« July 2016