Friday, June 29, 2007

Top 8 eBiz Developer Hooks

When developing with the Oracle eBusiness Suite, there are situations where Developers can use "hooks" in standard Applications code to insert or redirect to custom code. Oracle Applications provide some helpful layers of abstraction to make life easier for customization. Where possible it is nice for this to be done using a supported method. If a true blue customization is required, then its best to try to preserve the existing code so that any future upgrades are more likely to break your custom code by reverting to standard code, plus if you use a "hook" to independent code it is easier to maintain and upgrade the custom code. I regularly use a "copy and modify" approach to Apps Development where I use hooks to call the new code. Here's my top 8 ... didn't quite make it to top ten!

  1. Concurrent Program Executable. Where an concurrent program is automagically submitted from a form or another concurrent process, e.g. "Print Pack Slip" in Oracle Shipping actions, as long as parameter requirements are the same, then a quick an easy method to code your own report is:
    • Create a new executable registered under your custom application, e.g. XMODS_WSHRDPAK
    • Query the called concurrent program and update the executable to your custom executable, e.g. Query WSHRDPAK and replace executable with XMODS_WSHRDPAK
  2. Personalization - Forms and Framework (OAF) plus CUSTOM.pll. Forms PL/SQL Library. Personalization has provided functionality to cover alot of the customizations traditionally coded to CUSTOM.pll, but both Personalization and CUSTOM.pll provide a number of hooks into the front end logic.
  3. Database Triggers. Triggers on tables used carefully can provide hooks where all other methods don't dare to tread. Of course watch out for the exception and try to avoid putting triggers on fnd_concurrent_requests!
  4. Menu. Provides a prominent method to call new Forms, while potentially hiding behind the same prompt, Reports, Discoverer Workbooks, external links/URLs, etc. Gives the ability to save in the "Favourites" list. If you need to customize a standard form, copy it and create a new menu entry where possible.
  5. Unix Softlink. An alternative to the concurrent program executable hook.
    • Backup an existing standard Oracle file.
    • Remove the existing standard Oracle file.
    • Replace with a softlink to a file under you custom application code "top" directory
  6. Workflow. Workflow customizations are "allowed" and a method I use here is to take a standard function call in workflow, copy and modify the underlying package, then change the function call in workflow to the custom function. E.g. AP Remittance Advice workflow (APPEWF) has "Get Check Info" function calling AP_PAYMENT_EVENT_WF_PKG.get_check_info. Copy AP_PAYMENT_EVENT_WF_PKG to XMODS_AP_PAYMENT_EVENT_WF_PKG and change function in workflow function "Get Check Info"
  7. Printer Driver. Whenever concurrent request file post processing is required, e.g. to FTP or email a file - printer drivers provide an excellent way to perform post processing. Create a new printer driver with the appropriate command. Remember to restart the concurrent manager to pickup updates to print drivers.
  8. Business Events. Not a widely used mechanism, but provides supported hooks into key events such as Payment Confirmations (AP Payment event).
If you customize a standard Oracle eBusiness Suite file, its nice to register the customization file so that adpatch reports it.

Thursday, June 21, 2007

Unix style symbolic links in Windows

Any seasoned unix user knows the power and flexibility of the symbolic link or soft link. For a long time this has been something missing from the Windows world. Well, it seems Microsoft has finally gotten their act together with Windows Vista, here is a good post on this. NB: Earlier Windows versions with NTFS5 have the functionality of a Junction, but this is like a directory only symbolic link, and with restrictions of needing extra software and special create/remove commands. Unfortunately upgrading from XP to Vista ain't even on my calendar yet...

Monday, June 18, 2007

Capital Gains Tax on investment property

Just read an entry on Rod Drury's blog proposing discussion on Capital Gains Tax on investment property.

I agree that New Zealanders need to be motivated to look at business opportunities more. In the medium to long term Kiwi Saver will help here - employees savings and business/tax dollars channeled into providers more likely to invest in business than property.

With regards to capital gains tax on property, why add another tax to increase the governments already overflowing coffers? Across the board capital gains tax just lowers the property playing field a notch - and would cripple those taking on the highest risk ... the Government needs mum and dad property investors to help provide rental accommodation. With interest rates over 9% alot of investors will already be feeling the pinch. Given the price pressure and buyer competition on entry level housing, how about incentives for property developers to build more at the market entry level to fuel supply rather than making it trickier or even not possible to develop?

How about Housing New Zealand upping their ante e.g. by selling their million dollar homes and using the leverage to provide a bunch more lower end properties?

As a point of reference, Malaysia has recently dropped capital gains tax on property, and has policies in place for developers to include low cost housing whenever developing new properties. Obviously New Zealand and Malaysia are very different animals, but its interesting seeing a country going the other direction with capital gains tax on property!

What are New Zealanders afraid of ... inflation ... or growth!?