1. What is canvas? 1. Canvases guides the layout of the blocks / records / items. A Content Canvas View (or simply Content View) is the base view that occupies the entire content pane of t he window in which it is displayed. You will usually define at least one content canvas vi ew for each window in your application. A canvas is an object that can be displayed on the screen. The canvas may contai n buttons, graphics, display items and text items. ------------| xxxx zzz | | xxxx zzz | | xxxx zzz | | [SAVE] | ------------The canvas may ked on top of another canvas ------------| 1 | ----| | 2 | | -----------------
be smaller or larger than the screen size. One canvas may be stac so that the user might see several canvases at the same time. | | | |
A large canvas might only be partially visible to the user. This is known as a " view" of the canvas. If the cursor navigates to an enterable item on a canvas, then the canva s becomes visible to the user. However, when the cursor leaves the items on the canvas, th e canvas will not automatically be hidden from view unless another canvas covers it. ------------| vvvvvv | | vvvvvv | | vvvvvv | | | | | ------------2. 2. a) b) a) b) c)
How many types of canvas are there in a form? There are 5 types are canvas are there in a form Contant Canvas. Stacked Canvas. Horizontan Tool Bar. Varitacal Toll Bar. Tab Canvas.
3) Can you have a form without a Canvas? 3) No, Canvas Object Physical represent table columns. 4) Does a stacked canvas require a content canvas? 4) Yes, Sometime the number of columns in the table cannot contained on a standa red canvas or the system require that information on the form be displayed either on a clic k of a button
or on some condition being set for the system. Multiple canvases can be placed on the same form. Additional items can be includ ed in the second canvas and code can be written to make the canvas visible/ invisible when a butt on is pressed. Since the canvas is placed on the window the size of the canvas is restricted to the size of the window. Similarly if the window is resized, the canvas must be resized. The type of the canvas determined the canvas-resizing behavior. The default value for the canvas type i s "contant". This property value ensure that the canvas is automatically resized horizontally and vartically based on the size of the window. There may be a need to place some items on the contant canvas and other items on a new canvas such that the contant canavs and the new canvas are stacked one on top of the ot her. A canvas that can be stacked on the contant canvas is called a "Stacked Canvas". The stacked canvas is displayed in the same window along with the window's contant canvas. T here can be any number of stacked canvases placed on the content canvas. If the form includes multilpe canvases, a common practice is to make the stacked canvas visible or invisible programmatically. 5) What is tab canvas? 5) Just like the paper form is made of multiple pages, the data entry form could also be created with multiple pages. The type of canvas that can include multiple tab pages is c alled "Tab canvas". 6) what is the difference between horizontal and varitical toolbar? 6) 7) What are the basic concepts of Oracle Forms? 7) Forms functionality is driven by user events (such as pressing a key) and nav igation events (such as the cursor about to enter/leave a field). These events are identified b y triggers in a form. These triggers fall into several groups: PRE - Fires prior to an event POST - Fires after an event WHEN - Fires when an event occurs KEY - Fires when the corresponding key is pressed ON - Replaces default event processing These triggers include events such as: 1. PRE and POST triggers for the form, block, row, and item. 2. PRE and POST triggers for row inserts, updates, and deletions. 3. WHEN triggers fire as a direct result of an event such as the user clicking o n a button (WHEN-BUTTON-PRESSED) or the cursor navigating to a new item and readying
for user input (WHEN-NEW-ITEM-INSTANCE). 4. Keys the user can press on their keyboard like the Tab button (KEY-NEXT-ITEM) or F10 (KEY-COMMIT). 5. ON triggers fire when an event occurs. For example, ON-MESSAGE fires when for ms is about to issue a message. This gives the developer an opportunity to trap and replace par ticular messages with custom messages. By adding PL/SQL code to a trigger you can: 1. Alter the way a trigger would ordinarily work. For instance, by creating a KE Y-ENTQRY on a field with: null; you will prevent the user from pressing F8. 2. Supplement the way something works - for instance by creating a KEY-DELREC tr igger on a block with code that asks the user if they "really" want to delete that record before issuing the delete_record;. Trigger Scope: If you create a KEY-EXEQRY on a field with: null; then you will p revent the user from pressing F8 while the cursor is in that field. If, instead, you attach the same trigger to a block, then you will prevent the user from pressing F8 while the cursor is anywhere in that block. If, instead, you attach the same trigger to the form, then you will prevent the user from pressing F8 anywhere within the form. You can override high level triggers at a lower level. For example, if you have disabled F7 at the form level, you can add a KEY-ENTQRY to a block with: enter_query; that will allow the user to press F7 to enter a query while the cursor is in that block. This means that F7 will work in that block but nowhere else in the form. 8) What is the difference between base table block and control block. 8) Blocks (Base Table vs. Control): A most basic concept in a form is blocks. Bl ocks are basically comprised of 2 types: 1. Control block - A block not associated with a table. This block is usually a single row block that has no interaction with the database. 2. Base table block - this is associated with a table. You do not have to code a ny SQL statements. Forms will automatically: A. Query rows of data from the table (execute_query) B. Insert a new row below the current row (create_record) C. Delete the current row (delete_record) D. Update rows (by the user typing values on a queried row) E. Handle row locking F. Make all these database changes permanent at commit time Base Table and Control Items: An item in a base table block that relates directl y to a base table column is a base table item. An item that does not relate to a database co lumn is a control item. Base table blocks can contain both base table items and control it
ems. For example, a base table block might contain four base table items that display queried database values and a fifth item that displays calculated values but does not co rrespond to any column in the base table. The fifth item would be a control item populated by an assignment statement in the trigger that does the calculation. Because control blocks are not associated with database tables, none of the item s they contain can be base table items. (You can, however, populate control items with database values by writing your own SQL statements in trigger code.) Control items can be used to do the following: * Display totals, averages, rankings, and other summary information calculated f rom values in base table items and database tables. * Accept input from operators that is required by the application, but that is n ot stored in the database. * Display "look-up values," that is, database values derived from a table other than the base table of the block. You can also reference the values of control items in code, much like local and global variables. Buttons and chart items are always control items. Because these items do not sto re values, they cannot relate to columns in the database. Item in a block -Items are the interface objects that display information to ope rators and allow them to interact with your application. A field in the base table in the d atabase or another field, other fields may be buttons, check boxes, etc. 1. Button: A rectangle with a text label or an icon graphic inside. 2. Chart item: A bordered rectangle of any size that can display a chart or othe r display generated by Oracle Graphics. Operators cannot navigate to or manipulate chart i tems. 3 Check box: A text label with a graphic state indicator that displays the curre nt value as either checked or unchecked. Selecting a check box toggles it to the opposite st ate. 4. Display item: A read-only text box whose value must be fetched or assigned pr ogrammatically. Operators cannot navigate to a display item or edit the text it contains. 5. Image item: A bordered rectangle of any size that can display images fetched from the database or read in from the file system. 6. List item: A list of choices displayed as either a poplist (sometimes called a drop list), a t-list (sometimes called a list box), or a combo box. 7. Radio group: A group of radio buttons, one of which is always selected. 8. Text item: A single- or multi-line text box that supports a variety of data t ypes, format masks, and editing capabilities. 9. OLE container: An area that stores and displays an OLE object that is created
from an OLE server application. 10. VBX control: A custom control that simplifies the building and enhancing of user interfaces. Each item in a form (text item, image item, radio group, and so on), belongs to a block. Blocks are logical containers that have no physical representation--only the ite ms contained in a block are visible in the application interface. However, like other objects , blocks have properties, and can be created, copied, and modified in the Designer . Blocks provide a mechanism for grouping related items into a functional unit for storing, displaying, and manipulating records. Just as tables in the database consist of related columns and rows, blocks contain related items that display data records. There is no practical limit to the number of blocks that can be defined in a for m. A block is a logical grouping only; the items in a block can be placed on differ ent canvas-views and can be displayed in different windows. 9) How do blocks relate to each other? 9) The relationship between block represent the relationships of an ER schema. It can also represent relationship between tables in the relational data model b ased on foreign keys. It can specify a "join condition" between a "master" and "detail" blocks. 10) Which trigger are created when master -detail relation? 10) Master detail property * a) b) c)
NON-ISOLATED (default) on check delete master on clear details on populate details
* ISOLATED a) on clear details b) on populate details * a) b) c)
CASCADE per-delete on clear details on populate details
11) How to use Dynamic SQL in Form? 11) The reason why you would want do to do this is because, like in database pro cedures, you can't use DDL such as DROP TABLE 'table_name' directly in PL/SQL with Forms. The way to do it is with the buit-in EXEC_SQL package. The same thing can also be accomplished with the FORMS_DDL built-in but that onl y applies to the current database connection, with the EXEC_SQL package its possible to have data
base connections to multiple databases and also execute non-oracle database procedure s. 12) What the relationships were between canvases, views and windows? 12) a) Multiple canvases with only one window : The most common problem I've found i n this scenario is that you click a button on your main canvas or some other action is performed , the result of which is you expect to see a secondary canvas popping up containing some sort of useful information for the user to see or act upon. The thing is the user only sees it for about 100th of a second, if they're lucky, before it miraculously disappears again. What's going on here, after all your button or whatever does a SHOW_VIEW('CANVAS _NAME'); it's supposed to display the secondary canvas isn't it? Yes, and it does however it will only work correctly if the secondary canvas is of type STACKED. Changing the property to this should solve your problem. Another way of doing it without changing the pro perty of the canvas depends on your canvas having an item on it that you can do a GO_ITEM on. If it does then do your GO_ITEM just before the SHOW_CANVAS and it should work c orrectly. You will find though that using this method means the secondary canvas takes up the whole of your window obscuring all of your primary canvas and you can't use its viewpo rt properties as you can with stacked canvases. b) Multiple canvases and multiple windows: This is similar to the previous probl em in that you click a button on your main window or some other action is performed an d you expect to see a secondary canvas popping up in a separate window of its own. This time though the user only sees the window itself with none of the useful in formation on it. What's going on here, after all your button or whatever does a SHOW_WINDOW('WIND OW_NAME'); it's supposed to display the secondary window isn't it? It does, however it will only work correctly if you also do a SHOW_VIEW('CANVAS_NAME') too. Note that the call ing window will still have the focus (i.e. be on top). If you want the called window to be on top you either need to click on it or do a GO_ITEM to an appropriate navigable field on the called window. If there isn't one available a work-around is to create a dummy item and disguise it by making its background colour the same as the called window and ensuring its B ORDER BEVEL is set to NONE. One last check if things still aren't going right is to make sur e that your secondary canvas window property is pointing to the correct window. While I was on the subject I thought I'd just bring up a couple of points on the relationships
between canvases, viewports and windows which is crucial to remember if you want to write great forms applications. From a developers standpoint, canvases and forms are interchangeable in as much as canvases are where you put your form items, buttons, text and so on. Whether or not the u ser sees all those things is another matter of course and that's where windows and v iewports come in. In general, content canvases don't have viewports associated with them and will display in the whole of the window they are assigned to. Therefore if the window is big enough, the user will see everything that's on them. Stacked canvases on the other hand can have a viewport that can be thought of as being a sub-window within the canvas. The user will on ly see things on the canvas which are inside the viewport. And because you can programmaticall y control the size and position of the viewport it means that you can choose to display, or no t, as the case may be, only the things you want your user to see. 13) What are the types of triggers and how the sequence of firing in text item 13) Triggers can be classified as Key Triggers, Mouse Triggers, Navigational Tri ggers, 1. a) b) c) d)
Key Triggers: Key Triggers are fired as a result of Key action. Key-next-Item: Tab or Enter. Key-ExeQry: F8 Key-NxtBlk: Shift F5 Key-Commit: F10
2. Action Trigger: Trigger that get executed due to user interaction are called Action Triggers. action triggers are associated with specific objects. a) When-Button-Pressed: Pressing a button. b) When-CheckBox-Changed: Clicking a check box. c) When-Image-Pressed: Clicking the image. d) When-List-Changed: A List item is selected. e) When-Radio-Changed: Clicking on a Radio Button. f) When-Window-Activated: When focus is on a specific whindow. g) When-Window-Closed- When a window is closed. 3. Mouse Triggers: Mouse Triggers are fired as a result of the mouse navigation. a) b) c) d) e) f) g)
When-Mouse-Click When-Mouse-DoubleClick When-Mouse-Down When-Mouse-Enter When-Mouse-Leave When-Mouse-Move When-Mouse-Up
4. Navigational Triggers: These Triggers are fired as a result of Navigation. fo r example when the cursor navigates out of a text item to another text item the Post-Text-Item trigger for the current text item and Pre-Text-Item trigger for t he next text item it moves to will both fire in sequence.
1 Pre-Text-Item and Post-Text-item. 2. When-New-Instance. We cannot call restricted procedures like go_to('my_block.first_item') in the Na vigational triggers but can use them in the Key-next-item. The Difference between Key-next and Post-Text is an very important question. The key-next is fired as a result of the key action while the post text is fired as a result of the mouse movement. Key next will not fire unless there is a key event. Example(1) The sequence of firing in a text item are as follows: a) pre-text-item b) when-new-item-instance c) key-next-item d) when-validate-item e) post-text-item Example(2) If there are two text items in a block, say text1 and text2. If the f ocus is on text2 and user moves the cursor to text1 by doing shift tab, then whi ch triggers will fire? In what order? a) Key-Prev-item b) When-validate-item c) post-text-item d) Pre-text-item e) When-new-item-instance Example(3) As soon as form open in the memory, a series of navigational triggers are executed. The sequence of trigger that fire when a form is invoked are as follows1. Pre-Form 2. Pre-Block 3. Pre-Record 4. Pre-Text-Item 5. When-New-Form-Instance 6. When-New-Block-Instance 7. When-New-Record-Instance 8. When-New-Item-Instance 14) The difference between when_validate_item trigger and key_next_item trigger in Oracle Forms. 14) WHEN-VALIDATE-ITEM trigger fires to check the value of an item to insure it is valid. The timing of this event may vary but one of the most common is when the user enters a value and causes the cursor to try to exit the item by pressing the TAB key or using the m ouse to click elsewhere in the form. This trigger can also fire when then user attempts to lea ve a record that has been marked for insertion or change. KEY-NEXT-ITEM fires only when the user presses the TAB key. You should also note that WHEN-VALIDATE-ITEM trigger is a restricted procedure, so you cannot use navigati on built-ins (such as GO_BLOCK). There are no such restrictions with KEY-NEXT-ITEM . So we should not validation code in KEY-NEXT-ITEM.
15) Is forms is a object oriented tool ? why? 15) yes, partially. 1) PROPERTY CLASS - inheritance property 2) OVERLOADING : procedures and functions. 16) What are property classes ? Can property classes have trigger? 16) property class & visual attribute? Ans: Property Class: A property class is a named object that contains a list of properties and their settings. Once you create a property class you can base other objects on it. An object based on a property class can inherit the setting of any property in t he class that makes sense for that object. Property class inheritance is a powerful feature that allows you to quickly defi ne objects that conform to your own interface and functionality standards. Property classes also allow you to make global changes to applications quickly. Property class assignment cannot be changed programmatically. By simply changing the definition of a property class, you can change the definition of all objects that inherit p roperties from that class. For example we can create a property class object, with properties mentioned bel ow and attach it to all the push buttons in the product form. Name : PClass_Button. Width : 23 Height: 23 Iconic: Yes Background Color: Gray Canvas: Product_can Visual attribute: Visual attributes are the font, color, and pattern properties that you set for form and menu objects that appear in your application's interface. Visual a ttributes can include the following properties: 1. Font properties: Font Name, Font Size, Font Style, Font Width, Font Weight 2. Color and pattern properties: Foreground Color, Background Color, and Fill Pa ttern, Char mode Logical Attribute. 17) Diff. between VAT and Property Class? imp 17) Named visual attributes define only font, color, and pattern attributes;prop erty classes can contain these and any other properties. You can change the appearance of objects at runtime by changing the named visual attribute programmatically; property class assignment cannot be changed programmatically. When an object is inheriting from both a property class and a named visual attri bute, the named visual attribute settings take precedence, and any visual attribute proper ties in the class are ignored.
18) If you have property class attached to an item and you have same trigger wri tten for the item. Which will fire first? 18) Item level trigger fires, If item level trigger fires, property level trigge r won't fire. Triggers at the lowest level are always given the first preference. The item lev el trigger fires first and then the block and then the Form level trigger. 19) What are record groups? Can record groups created at run-time? 19) A record group is an internal Oracle Forms data structure that has a column/ row framework similar to a database table. However, unlike database tables, record groups are separate objects that belong to the form module in which they are defined. A record group can have an unlimited number of columns of type CHAR, LONG, NUMBER, or DATE provided that the total number of columns does not exceed 64K. Record group column names cannot exceed 30 characters. Programmatically, record groups can be used whenever the functionality offered by a two-dimensional array of multiple d ata types is desirable. TYPES OF RECORD GROUP: 1. Query Record Group: A query record group is a record group that has an associ ated SELECT statement. The columns in a query record group derive their default names, data types, and lengths from the database columns referenced in the SELECT statement. The records in a quer y record group are the rows retrieved by the query associated with that record group. 2. Non-query Record Group: A non-query record group is a group that does not hav e an associated query, but whose structure and values can be modified programmatically at runtim e. 3. Static Record Group: A static record group is not associated with a query; ra ther, you define its structure and row values at design time, and they remain fixed at runtime. 20) What 20) When vigation move the
is mouse navigate property of button? Mouse Navigate is True (the default), Oracle Forms performs standard na to focus to the item when the operator activates the item with the mouse.
When Mouse Navigate is set to False, Oracle Forms does not perform navigation (a nd the resulting validation) to move to the item when an operator activates the item wi th the mouse. 21) What is MDI form? how u will attach vertical toolbar in the form? 21) MDI(Multiple Document Interface): Specifies whether the window is a Document window or a Dialog window. Document and dialog windows are displayed differently on window managers that support a Multiple Document Interface (MDI) system of window management.
Attachment Of vertical toolbar. On Microsoft Windows, specifies the toolbar canvas that should be displayed as a vertical toolbar on the MDI application window. The canvas specified must have the Canvas Type property set to Vertical Toolbar. Applies to form Set Form Builder Default Null Required/Optional optional 22) Can object group have a block? 22) Yes , object group can have block as well as program units. 23) What are user-exits? What is Foreign function? 23) It invokes 3GL programs. Foreign functions are subprograms written in a 3GL programming language that all ow you to customize your Oracle Forms applications to meet the unique requirements of your users. Foreign functions are often used to enhance performance or provide additional fu nctionality to Oracle Forms. In Oracle Forms, you can invoke a foreign function from a user exit interface. A user exit interface allows you to call a foreign function by using the USER_EXIT built-in from a trigger or a user-named subprogram. Invoking a foreign function from the USER_EXIT built -in returns an integer value to Oracle Forms indicating success, failure, or a fatal error. Fol lowing the execution of the USER_EXIT built-in, the values of the error variables in Oracle Forms--FORM_FAILURE, FORM_FATAL, and FORM_SUCCESS--are set accordingly. Foreign functions that you invoke from a user exit interface are contained in an Oracle Forms dynamic link library or linked with Oracle Forms Runform. Creating a user exit i nterface to a foreign function requires you to link additional files to Oracle Forms dynamic link libraries or Oracle Forms Runform. The additional files provide information about the user exit interfaces and the entry points that allow Oracle Forms to invoke foreign functions from a user exit interface. 24) Can you pass values to-and-fro from foreign function? how? 24) Yes . You obtain a return value from a foreign function by assigning the ret urn value to an Oracle Forms variable or item. Make sure that the Oracle Forms variable or item is the same data type as the return value from the foreign function. After assigning an Oracle Forms variable or item value to a PL/SQL variable, pas s the PL/SQL variable as a parameter value in the PL/SQL interface of the foreign function. The PL/SQL variable that is passed as a parameter must be a valid PL/SQL data type; it must also be the
appropriate parameter type as defined in the PL/SQL interface. 25) What is IAPXTB structure? 25) The entries of Pro*C and user exits and the form which simulate the Pro*C o r user_exit are stored in IAPXTB table in database. 26) Can you call WIN-SDK thru user exits? 26) Yes. 27) Does user exits supports DLL on MSWINDOWS ? 27) Yes. 28) What is path setting for DLL? 28) Make sure you include the name of the DLL in the FORMS45_USEREXIT variable o f the ORACLE.INI file, or rename the DLL to F45XTB.DLL. If you rename the DLL to F45X TB.DLL, replace the existing F45XTB.DLL in the \ORAWIN\BIN directory with the new F45XTB .DLL. 29) How is mapping of name of DLL and function done? 29) The dll can be created using the Visual C++ / Visual Basic Tools and then th e dll is put in the path that is defined the registery. 30) what is pre compiler? 30) It is similar to C pre compiler directives. 31) Can you connect to non - oracle datasource ? How? 31) Yes . 32) what are key-mode and locking mode properties? level ? 32) 1. Key Mode: Specifies how oracle forms uniquely identifies rows in the data base. This is property includes for application that will run against NON-ORACLE datasources. Key setting: unique (default.), udateable, n-updateable. 2. Locking mode: Specifies when Oracle Forms should attempt to obtain database l ocks on rows that correspond to queried records in the form. a) immediate b) delayed 33) What are savepoint mode and cursor mode properties ? level? 33) 1. Specifies whether Oracle Forms should issue savepoints during a session. This property is included primarily for applications that will run against non-ORACLE data source s. For applications that will run against ORACLE, use the default setting. 2. Cursor mode - define cursur state across transaction Open/close. 34) What is transactional trigger property? 34) Identifies a block as transactional control block. i.e. non - database block that oracle forms should manage as transactional block.(NON-ORACLE datasource) default - FAL SE. 35) What is OLE automation ? 35) OLE automation allows an OLE server application to expose a set of commands and functions
that can be invoked from an OLE container application. OLE automation provides a way for an OLE container application to use the features of an OLE server application to m anipulate an OLE object from the OLE container environment. (FORMS_OLE) 36) What are OPEN_FORM, CALL_FORM, NEW_FORM? diff? 36) OPEN FORM: When one form invokes another form by executing OPEN_FORM, the first form remains displayed, and operators can navigate between the forms as desired. An opened fo rm can share the same database session as the form from which it was invoked, or it can creat e a separate session of its own. For most GUI applications, using OPEN_FORM is the preferred way to implement multiple-form functionality. CALL_FORM: It calls the other form. but parent remains active, when called form completes the operation, it releases lock and control goes back to the calling form. When you call a form, Oracle Forms issues a savepoint for the called form. If the CLEAR_FORM function causes a rollback when the called form is current, Oracle Forms rolls back uncommitted ch anges to this savepoint. When one form invoke another from by executing CALL_FORM, when form A call form B, form B becomes the active form in the session, but from A remain in memory. If the oper ator exits from form B form A again become the active form. NEW_FORM : When one form invokes another form by executing NEW_FORM, Oracle Form s exits the first form and releases its memory before loading the new form. Calling NEW_FORM completely replaces the first form with the second. If there are changes pending in the fir st form, the operator will be prompted to save them before the new form is loaded. 37) What is call form stack? 37) When successive forms are loaded via the CALL_FORM procedure, the resulting module hierarchy is known as the call form stack. 38) Can u port applictions across the platforms? how? 38) Yes we can port applications across platforms.Consider the form developed in a windows system.The form would be generated in unix system by using f60gen my_form.fmb sc ott/tiger 39) Can a button have icon and lable at the same time ? 39) NO 40) what is library where do use? 40) A library is a collection of subprograms, including user-named procedures, f unctions, and packages. Libraries provide a convenient means of storing client-side progra
m units and sharing them among multiple applications. Once you create a library, you can attach it to any other form, menu, or library module. Then, you can call library program units from triggers, menu item commands, and user-named routines you write in the modules to which you have attached the library. The same library can be attached to multiple forms and menus. Conversely, a sin gle form or menu can have more than one attached library. 41) What is Current record attribute property? 41) Specifies the named visual attribute used when an item is part of the curren t record. Current Record Attribute is frequently used at the block level to display the cu rrent row in a multi-record If you define an item-level Current Record Attribute, you can displ ay a pre-determined item in a special color when it is part of the current record, bu t you cannot dynamically highlight the current item, as the input focus changes. 42) Can u change VAT at run time? 42) Yes. You can programmatically change an object's named visual attribute sett ing to change the font, color, and pattern of the object at runtime. 43) Can u set default font in forms? 43) Yes. Change windows registry(regedit). Set form45_font to the desired font. 44) Can u have OLE objects in forms? 44) Yes. 45) Can u have VBX and OCX controls in forms? 45) Yes. 46) What r the types of windows (Window style)? 46) Specifies whether the window is a Document window or a Dialog window. 47) What is OLE Activation style property? 47) Specifies the event that will activate the OLE containing item. 48) Can u change the mouse pointer? How? 48) Yes. Specifies the mouse cursor style. nge the shape of the cursor.
Use this property to dynamically cha
49) What are the Various Block Coordination Properties? 49) The various Block Coordination Properties are a) Immediate Default Setting. The Detail records are shown when the Master Records are shown. b) Deffered with Auto Query Oracle Forms defer fetching the detail records until the operator navigates to t he detail block. c) Deffered with No Auto Query The operator must navigate to the detail block and explicitly execute a query 50) How do you use the same lov for 2 columns 50) We can use the same lov for 2 columns by passing the return values in global values and using the global values in the code.
51) What is the difference between static and dynamic lov 51) The static lov contains the predetermined values while the dynamic lov cont ains values that come at run time. 52) Can you issue DDL in forms? 52) Yes, but you have to use FORMS_DDL. DDL (Data Definition Language) commands like CREATE, DROP and ALTER are not dire ctly supported from Forms because your Forms are not suppose to manipulate the database structu re. A statement like CREATE TABLE X (A DATE); will result in error: Encountered the symbol "CREATE" which is a reserved word. However, you can use the FORMS_DDL built-in to execute DDL statements. Eg: FORMS_DDL('CREATE TABLE X (A DATE)'). FORMS_DDL can also be used to create dynam ic SQL statements at runtime. The FORMS_SUCCESS built-in can be used to determine if th e last executed built-in was successful. We can use the FORMS_DDL built-in or call the DBMS_SQL database package from For ms for dynamic SQL statement. Eg: FORMS_DDL('INSERT INTO X VALUES (' || col_list || ')'); Just note that FORMS_DDL will force an implicit COMMIT and may de-synchronize th e Oracle Forms COMMIT mechanism. 53) What is the difference between Query->Execute and Query->Enter->Query->Execu te? 53) Query->Execute: It will retrieve ALL records from a base table. In SQL SELECT * from tablename Query->Enter->Query->Execute: Allows you to select particular tuples of a base t able. SELECT * FROM tablename WHERE condition 54) Are you familiar with all the varieties of search possible in the Query->Enter->Query->Execute mode? 54) relational operators for comparison, wild cards 55) Are you aware of the different techniques that you can use for the data entr y process? 55) a) You can manually enter a value. a) You can set up a LOV and select values from the LOV into specified items of a block. 56) What kind of item is item-id? How is it different from other items in the ba se-table block? 56) The item item_id is a text item whose Navigation Enabled property is set to False. This property is set to False since the value is not entered by the user but is obtained by executing some code in the form to automatically generate its value.
57) Is item-id the same as the item labeled TotalValue in the item block? 57) I think they are both text items but the Navigation Enabled property is true . I believe in this case data entry by the user is also allowed. If you wanted to make sure there was no data entry from the user or from a progr am unit then you can use a Display item instead of a text item. 58) What other kind of special items are supported? 58) radio group, list items, etc. 59) Do you understand the functionality of a LOV? 59) A list of values is similar to a List Box in Access: A user selects one of the data records from the list, and the selected record values are inserted into one or more data fields on the form. For the purchase order, we will create a list box to display the supplier name, city and state. This will allow the end-user to select the supplier from the list, rather than m emorize the supplier codes. 61) Do you understand how Oracle supports referential integrity based on foreign keys? 61) Through the join condition in the master block and detail block specificatio n. The forms environment will force you to delete all rows in a detail block that m ake a reference to a row in a master block. 62) Do you know how to modify the number of records displayed in a multi-record block? 62) 1) Click on the Block you wish to modify 2) Open the properties window 3) Find the Records Displayed Field and enter in the # of rows. 63) Do you know how to change font, color, etc., for any item? 63) 1) Click on the item whose *** you wish to change (navigator or layout). 2) Choose Format->Font, Color, etc, or do it through properties. 64) What are the two modes available in runtime? 64) 1) Normal -- this is where you do new data entry 2) Query -- this is where you work with existing records 65) What is a trigger? 65) What are the three levels of triggers, and when does each get "fired" or exe cute? Item level trigger - fires when a specific item is used Block level trigger - fires when any item in the block is used Form - fires when any item in the form is used 66) List three examples of triggers you could use (1 at each level). Do you understand their functionality? 66) Update a field - item level Update a record - block level Filling in all of the fields in the form - form level
67) How do you make an item "read only"? 67) 1) Choose the item 2) Open the properties window and find the field Item Type. 3) Double click on the field until Display Item is shown. 68) What is SECURE property? 68) Hides characters that the operator types into the text item. s typically used for password protection.
This setting i
69) Can you store pictures in database? How? 69) Yes , in long Raw datatype. 70) which system variables can be set by users? 70) SYSTEM.MESSAGE_LEVEL SYSTEM.DATE_THRESHOLD SYSTEM.EFFECTIVE_DATE SYSTEM.SUPPRESS_WORKING 71) What are object group? 71) An object group is a container for a group of objects. You define an object group when you want to package related objects so you can copy or reference them in another module. 72) What are referenced objects? Can you store objects in library? 72) Referencing allows you to create objects that inherit their functionality an d appearance from other objects. Referencing an object is similar to copying an object, except that the resulting reference object maintains a link to its source object. A reference object automatically i nherits any changes that have been made to the source object when you open or regenerate the module that contains the reference object. 73) What are timers ? when when-timer-expired does not fire? 73) The When-Timer-Expired trigger can not fire during trigger, navigation, or t ransaction processing. 74) What are ALERT? 74) An ALERT is a modal window that displays a message notifying operator of som e application condition. There are three styles od alert: Stop, Caution, and Note.