You are on page 1of 2

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-formsfunctions-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, ondelete 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.

Please let me know if anything is unclear. Feel free to ask your questions.

You might also like