Vous êtes sur la page 1sur 1

In the previous chapter we learnt "how to customize an existing oracle delivered form" Question: Why bother teaching this

when Oracle fusion is destined to replace oracle forms by OA Framework? Answer: Well firstly I am yet to hear an official word from Oracle in this regard, but I agree it is highly likely that fusion will se demise of Oracle Forms. However more importantly Oracle will support current tech stack indefinitely, I.e Release 12 will be supported for foreseen time as per Apps Unlimited statement. Hence, many of the clients will keep using this technology for decades. Yes, I won't bother my kid learning Oracle form though.

Question : Ok, what are the steps for building a screen from scratch? Answer: Below steps in brief A) Open up TEMPLATE.fmb, and save this as XXHELLOAPPS.fmb B) Create a new window, by right clicking on Window/new Name this window as XXHELLOAPPS,and assign it SubClass Type WINDOW from picklist. C) Create a new canvas and name it XXHELLOAPPS , ensuring its Sublcass Type is Content D) Make the windows property reference canvas XXHELLOAPPS and vice versa make the canvas reference windows XXHELLOAPPS. E) Now create a block named XXHELLOAPPS . Lets keep this a control block for simplicity. F) go to form level property, and set first navigation block to XXHELLOAPPS. G) Add a label and a field named Hello_World to this block. H) Generate the form on PC using Control-T keystrokes. This will ensure that nothing critical has been missed out. I) FTP the form file to $XXPO_TOP/forms/US Surely, this XX will be replaced by the naming convention at your client/company. J) cd to $XXPO_TOP/forms/US And f60gen on XXHELLOAPPS.fmb This will create a file executable as XXHELLOAPPS.fmx K) Go to Application Developer responsibility Menu /applicaton/form Register the form L) Register the Forms Function Have you read he article form functions[http://getappstraining.blogspot.com/2006/10/oracle-forms-functions-menus-and-their.html] yet? This forms function must be registered against application "XX Purchasing". M) Now add a menu item so that this forms function becomes available to specific responsibility. Thats it, you will be able to open up this form from the responsibility. Now some important notes:1. If you have a table based block, and if that block has some description type fields, then try not to fetch them from post query trigger. Instead, develop a view in apps schema and assign that view as base tale to this block. This has a benefit that users will be able to query on the description field if need be. Indeed you will need to do dml on the actual table yourself by overriding on-insert, on-update, on-delete and on-lock triggers. 2. For each block in the screen, create a form level package spec and package body. Your triggers in the block/block fields will make calls to that package. 3. Try not to do to much pl/sql within the form. Always do such database intensive operations in a database level package. 4. Try not using global variables, unless really needed. Give preference to the creation of form package variables. 5. In a multi record block, always add a field for Current Record Indicator.

Vous aimerez peut-être aussi