Breakin' Up is Hard to Do

PDFPrintE-mail

There are many reasons for separating data – each has its own challenges and business considerations. The first step in the process is to determine the business requirement, then find the relevant data, determine the criteria for filtering the data out, and determine what happens to the filtered data. Suppose for example, that you want to separate the data because your company has decided to sell off a division. Division is a segment in your accounting flexfield, so maybe you just determine the segment value of the division to be sold off, identify all the code combinations that have the value for that division, and then find all the tables that have the relevant code combination ID. Oh, you say, that’s easy. I can just write a select statement with a where clause (for division number 100) and my Oracle Applications will be separated. Not so fast. It’s not as easy as it sounds because all the transactions cannot be filtered easily based on the above condition.

  • Not all the transaction tables carry the code combinations related to the division. E.g. you may have invoices with the division code but the related payments do not have the same.
  • You may have invoices with multiple invoice lines with separate division codes.
  • You may have an invoice line with distributions assigned to multiple divisions.
  • You may have payments that pay invoices related to different divisions.
  • In-flight transactions may pose challenges. E.g. checks may have been entered but not cleared.
  • Taking part of a transaction may affect the balancing segment. Adjustments need to be made so that the debits and credits are equal for each balancing segment value and the retained earnings are not affected.
  • How are you going to handle the history?
What about creating an archive? Surely, that is easy. For this example, assume that you want to archive all transactions that are more than 3 years old. All you have to do is pull all the transactions by date. Was that date created? Date modified? Date closed? Date of the invoice? Date of the payment? Date the check cleared? What about the in-process transactions? How long should they stay open? When you post in summary, and then try to go back to find the detail, how will you reconcile? If you post in detail, what adjusting entries will you need to make so that the year balances correctly and still maintains your audit trail for Sarbanes Oxley? What happens if you upgrade your applications and then need to restore the archived data? Will you need to go back and reopen all the periods and repost? How can you be sure that you aren’t creating double entries and what about all those adjusting entries you made to balance – will you need to reverse them? Maybe you are keeping the archived transactions in a separate Oracle Applications instance (the same version as the time of the archive). Is that version still supported by Oracle? Do your current users know how to navigate through the older version? Subsetting the data has similar issues:
  • When you are selecting a portion of the data, you need to make sure that you are selecting all the related data – configuration, master, and transaction, or the integrity of the database may be compromised.
  • You will probably want both open and closed transactions so that you can test for a complete business cycle (purchase to pay, recruit to retire, etc.) That may include workflow elements like approvals that are not directly related to the filter criteria.
  • Security rules, data groups, organization units, current responsibilities, enhancements and bolt-ons will have to be evaluated to see if they need to be revised to accommodate the test cycle.
The takeaway here is that separating the data for any reason is a business issue – not just a technology issue. The business has to identify the requirements, do the analysis, and be an integral part of the solution.

Add comment


Security code
Refresh

Email Newsletter icon, E-mail Newsletter icon, Email List icon, E-mail List icon Enter your email address to sign up for our Newsletter

Sign up now

captcha
TEChanges - Agility by Design

January Puzzle

A traveler gets lost on a deserted island and finds himself surrounded by a group of n cannibals.

Each cannibal wants to eat the traveler but, as each knows, there is a risk. A cannibal that attacks and eats the traveler would become tired and defenseless. After he eats, he would become an easy target for another cannibal (who would also become tired and defenseless after eating).

The cannibals are all hungry, but they cannot trust each other to cooperate. The cannibals happen to be well versed in game theory, so they will think before making a move.

Does the nearest cannibal, or any cannibal in the group, devour the lost traveler?

Show solution...

Solution

The short answer is the traveler’s fate depends on the parity of the group. If there is an odd number of canibals, the traveler will be eaten, but if there is an even number, the traveler will survive.

To prove this, we will consider small groups and use mathematical induction to explain the solution for larger groups.

Case n = 1: this is an obvious case. If there is one cannibal, the traveler will be eaten. It doesn’t matter that the cannibal will get tired because there are no other cannibals around as a threat.

Case n = 2: this is a more interesting case. Each cannibal wishes to each the traveler, but each knows he cannot. If either cannibal eats the traveler, then he will become defenseless and the other one will eat him. So each cannibal uses backwards induction to realize that the only strategy is to not eat the traveler. The hapless traveler finds a bit of luck, therefore, and actually survives.

Case n = 3: this is where the problem gets interesting. The best strategy is for the closest cannibal to make a move and eat the traveler. The cannibal will be defenseless after eating, but ultimately he will be safe. Why is that? The reasoning is due to induction: once the cannibal eats the traveler, the resulting situation has 2 unfed cannibals and the 1 defenseless cannibal. But as we just showed above, when there are 2 unfed cannibals, neither will make a move for fear of being eaten by the other! Thus the first cannibal to make a move will be safe as the remaining 2 cannibals block each other.

We can prove the higher cases using mathematical induction. If the number n is odd, then the closest cannibal can safely eat the traveler because the remaining number of unfed cannibals is even (and by induction, with an even number of unfed cannibals no one makes a move). If the number n is even, then no cannibal will eat the traveler, for if he did, the remaining number of cannibals would be odd, meaning he will get eaten by the induction hypothesis.

Success Tips for Oracle Project Management

  • Create a standard for documentation at the beginning of your project, and hold team members accountable for completing documentation requirements as well as keeping them at and above the standards required.
  • Before promulgating user documentation or training, it’s also a good idea to choose a representative from the among the business users base to review materials first.
  • If you are not sure about the resources and budget required, obtain several estimates from people that have experience with the same size and scope of your project.
  • Be explicit, before beginning the project, what internal resources are required for execution. This includes people, infrastructure, hardware, and software.
  • Help the project champion understand the impact your project will have on the organization and how its successful completion will make him or her an internal hero or heroine for supporting it.
  • Break up your project into smaller projects (try for projects that can be completed in 4-6 months, especially early on) to get success and demonstrate momentum.
  • Make sure that your testing includes reports, upstream and downstream interfaces, customizations, enhancements, and workflows.
  • Ensure that comprehensive transition reports and meetings between departing and incoming personnel are completed.
  • Instead of spending time and resources implementing third-party reporting, consider consolidating multiple instances, moving to a global chart of accounts (CoA), and/or standardizing on a consistent calendar.
  • Include governance, risk, and compliance management as part of the project plan.
  • Finally, celebrate the successes. Too many projects focus on defects, failures, or small cost over-runs without looking at the big picture and what was accomplished.

The Analyst Corner

John Van Decker, Research VP of Gartner, states:

"A single chart of accounts allows consistency in financial reporting across the enterprise by standardizing on common metrics and reporting structures, reduces dependencies on a separate financial consolidation system, and significantly reduces the costs incurred with ongoing, complex conversions and translations."