Wednesday, April 30, 2008

Forms 4.5

1. Which triggers are created when master -detail relation? master delete property
NON-ISOLATED (default): on check delete master, on clear details, on populate details
ISOLATED: on clear details, on populate details
CASCADE: per-delete, on clear details, on populate details.

2. Which system variables can be set by users?
SYSTEM.MESSAGE_LEVEL
SYSTEM.DATE_THRESHOLD
SYSTEM.EFFECTIVE_DATE
SYSTEM.SUPPRESS_WORKING

3. What are object group?
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.

4. What are referenced objects?
Referencing allows you to create objects that inherit their functionality and 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 inherits any changes that have been made to the source object when you open or regenerate the module that contains the reference object.

5. Can you store objects in library?
NO

6. Is forms 4.5 object oriented tool? Why?
Yes, partially. 1) PROPERTY CLASS - inheritance property
2) OVERLOADING: procedures and functions.

7. Can you issue DDL in forms?
Yes, but you have to use FORMS_DDL.

Referencing allows you to create objects that inherit their functionality and 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 inherits any changes that have been made to the source object when you open or regenerate the module that contains the reference object.
Any string expression up to 32K:
· a literal
· an expression or a variable representing the text of a block of dynamically created
PL/SQL code
· a DML statement or · a DDL statement
Restrictions:
The statement you pass to FORMS_DDL may not contain bind variable references in the string, but the values of bind variables can be concatenated into the string before passing the result to FORMS_DDL.

8. What is SECURE property?
Hides characters that the operator types into the text item. This setting is typically used for password protection.


9. What are the types of triggers and how the sequence of firing in text item
Triggers can be classified as Key Triggers, Mouse Triggers, Navigational Triggers.
Key Triggers: Key Triggers are fired as a result of Key action.
e.g. Key-next-field, Key-up, Key-Down
Mouse Triggers: Mouse Triggers are fired as a result of the mouse navigation.
e.g. When-mouse-button-pressed, when-mouse-double clicked, etc
Navigational Triggers: These Triggers are fired as a result of Navigation.
E.g. Post-Text-item, Pre-text-item.
We also have event triggers like when–new-form-instance and when-new-block-instance.
We cannot call restricted procedures like go_to(‘my_block.first_item’) in the Navigational 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.
The sequence of firing in a text item are as follows:
a) pre - text
b) when new item
c) key-next
d) when validate
e) post text

10. What are property classes? Can property classes have trigger?
Property class inheritance is a powerful feature that allows you to quickly define objects that conform to your own interface and functionality standards. Property classes also allow you to make global changes to applications quickly. By simply changing the definition of a property class, you can change the definition of all objects that inherit properties from that class.

Yes, all type of triggers.

11. If you have property class attached to an item and you have same trigger written for the item. Which will fire first?
Item level trigger fires, if item level trigger fires, property level trigger won't fire. Triggers at the lowest level are always given the first preference. The item level trigger fires first and then the block and then the Form level trigger.

12. What are record groups? * Can record groups created at run-time?
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 data types is desirable.
TYPES OF RECORD GROUP:
Query Record Group: A query record group is a record group that has an associated 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 query record group are the rows retrieved by the query associated with that record group.
Non-query Record Group: A non-query record group is a group that does not have an associated query, but whose structure and values can be modified programmatically at runtime.
Static Record Group: A static record group is not associated with a query; rather, you define its structure and row values at design time, and they remain fixed at runtime.

13. What are ALERT?
An ALERT is a modal window that displays a message notifying operator of some application condition.

14. Can a button have icon and label at the same time? NO

15. What is mouse navigate property of button?
When Mouse Navigate is True (the default), Oracle Forms performs standard navigation to move the 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 (and the resulting validation) to move to the item when an operator activates the item with the mouse.

16. What is FORMS_MDI_WINDOW?
Forms run inside the MDI application window. This property is useful for calling a form from another one.

17. What are timers? When when-timer-expired does not fire?
The When-Timer-Expired trigger cannot fire during trigger, navigation, or transaction processing.

18. Can object group have a block?
Yes, object group can have block as well as program units.

19. How many types of canvases are there.
There are 2 types of canvases called as Content and Stack Canvas.
Content canvas is the default and the one that is used mostly for giving the base effect. It’s like a plate on which we add items.
Stacked canvas is used for giving 3 dimensional effects.

20. What are user-exits?
It invokes 3GL programs.

21. Can you pass values to-and-fro from foreign function? how?
Yes. You obtain a return value from a foreign function by assigning the return 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, pass 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.

22. What is IAPXTB structure?
The entries of Pro * C and user exits and the form which simulate the proc or user_exit are stored in IAPXTB table in d/b.

23. Can you call WIN-SDK thru' user exits?
YES.

24. Does user exits supports DLL on MS-WINDOWS?
YES.



25. What is path setting for DLL?
Make sure you include the name of the DLL in the FORMS45_USEREXIT variable of the ORACLE.INI file, or rename the DLL to F45XTB.DLL. If you rename the DLL to F45XTB.DLL, replace the existing F45XTB.DLL in the \ORAWIN\BIN directory with the new F45XTB.DLL.

26. How is mapping of name of DLL and function done?
The DLL can be created using the Visual C++ / Visual Basic Tools and then the DLL is put in the path that is defined the registry.

27. What is pre-compiler?
It is similar to C pre-compiler directives.

28. Can you connect to non - oracle data source? How?
Yes.

29. What are key-mode and locking mode properties? level?
Key Mode Property: Specifies how oracle forms uniquely identifies rows in the database. This property includes for application that will run against NON-ORACLE data sources .
Level Key setting
unique (default.)
dateable
n-updateable.
Locking mode Property:
Specifies when Oracle Forms should attempt to obtain database locks on rows that correspond to queried records in the form.
Level a) immediate
b) delayed

30. What are save point mode and cursor mode properties? level?
Save Point Mode: Specifies whether Oracle Forms should issue savepoints during a session. This property is included primarily for applications that will run against non-ORACLE data sources. For applications that will run against ORACLE, use the default setting.

Cursor mode: define cursor state across transaction
Level: Open/close.

31. What is transactional trigger property?
Identifies a block as transactional control block. i.e. non - database block that oracle forms should manage as transactional block.(NON-ORACLE data source) default - FALSE.

32. What is OLE automation?
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 manipulate an OLE object from the OLE container environment. (FORMS_OLE)









33. What does invoke built-in do?
This procedure invokes a method.
Syntax:
PROCEDURE OLE2.INVOKE
(object obj_type,
method VARCHAR2,
list list_type := 0);
Parameters:
object Is an OLE2 Automation Object.
method Is a method (procedure) of the OLE2 object.
list Is the name of an argument list assigned to the OLE2.CREATE_ARGLIST function.


34. What are OPEN_FORM, CALL_FORM, NEW_FORM? Difference?
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 changes to this save point.
OPEN_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 changes to this savepoint.
NEW_FORM: Exits the current form and enters the indicated form. The calling form is terminated as the parent form. If the calling form had been called by a higher form, Oracle Forms keeps the higher call active and treats it as a call to the new form. Oracle Forms releases memory (such as database cursors) that the terminated form was using.
Oracle Forms runs the new form with the same Runform options as the parent form. If the parent form was a called form, Oracle Forms runs the new form with the same options as the parent form.

35. What is call form stack?
When successive forms are loaded via the CALL_FORM procedure, the resulting module hierarchy is known as the call form stack.

36. Can u port applications across the platforms? how?
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 f45gen my_form.fmb scott/tiger

37. What is a 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.

38. Diff. between VAT and Property Class? Imp
Named visual attributes define only font, color, and pattern attributes; property 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 attribute, the named visual attribute settings take precedence, and any visual attribute properties in the class are ignored.





39. Which trigger related to mouse?
When-Mouse-Click
When-Mouse-DoubleClick
When-Mouse-Down
When-Mouse-Enter
When-Mouse-Leave
When-Mouse-Move
When-Mouse-Up

40. What is Current record attribute property?
Specifies the named visual attribute used when an item is part of the current record.
Current Record Attribute is frequently used at the block level to display the current row in a multi-record If you define an item-level Current Record Attribute, you can display a pre-determined item in a special color when it is part of the current record, but you cannot dynamically highlight the current item, as the input focus changes.

41. Can u change VAT at run time?
Yes. You can programmatically change an object's named visual attribute setting to change the font, color, and pattern of the object at runtime.

42. Can u set default font in forms?
Yes. Change windows registry(regedit). Set form45_font to the desired font.

43. Can u have OLE objects in forms?
Yes.

44. Can u have VBX and OCX controls in forms?
Yes.

45. What r the types of windows (Window style)?
Specifies whether the window is a Document window or a Dialog window.

46. What is OLE Activation style property?
Specifies the event that will activate the OLE containing item.

47. Can u change the mouse pointer? How?
Yes. Specifies the mouse cursor style. Use this property to dynamically change the shape of the cursor.





















Forms 6i

1. Which of the following tools assists with the formatting of items and is linked to the execution of the Data Block Wizard?
Format Wizard

2. What is the most common trigger associated with a push button?
WHEN_BUTTON_PRESSED

3. You are using a global variable in your application and you want to ensure that the global has been initialized before running the WHEN-NEW-FORM-INSTANCE. You also want to make sure that you do not overwrite the current value if the global variable has a value.
Referring to the situation above, what built-in can be used to initialize the global variable?
Choice 1 SET_ITEM_PROPERTY
Choice 2 CREATE_VAR
Choice 3 DEFAULT_VALUE
Choice 4 INITIALIZE
Choice 5 COPY

4. What are Smart Triggers?
They are templates for creating triggers

5. What is the primary purpose of PL/SQL Libraries?
To enhance compatibility between program units

6. How do you capture an ORA error to perform exception handling on it?
ORA-EXCEPTION

7. COPY(NAME_IN('INVENTORY.PARTNO'),'ORDERS.PARTNO');

What does the sample code above do?
Updates :INVENTORY.PARTNO to reflect the number of parts ordered in ORDERS.PARTNO

8. XX denotes the forms version. For example FORMSXX_OUTPUT would be FORMS45_OUTPUT for Developer 1.6.1 and FORMS50_OUTPUT for Developer 2.1.
Referring to the above sample. What environment variable tells Forms where to look for all of its dependent objects like FMXs, PLLs, and MMXs?
FORMSXX_PATH

9. Which of the following list items allows the user to type a choice not offered in the list?
Combo Box

10. Which of the following is a valid Record Group data source?
Multi-dimensional arrays

11. What built-in would you use to open another form in a modal window? CALL_FORM

12. How can you control text wrapping in a multi-line display item so that the line break automatically occurs after the last complete word and continues on the next line?
Set the Wrap Style property to Word

13. You want to use a poplist to allow the users to select a value from the list and populate text items based on the value that is chosen. Currently, users have to manually enter this information.
Referring to the situation above, what trigger could you use to populate text items when the user makes a selection from the list item?
WHEN-NEW-ITEM-INSTANCE

14. What built-in will allow you to display that a particular line of code is firing and can be used to show the values of variables?
MESSAGE

15. Which button do you press to run a form from within the Form Builder environment?
Green Light

16. Users have requested that they be able to open another form that has a separate database connection within the same application. This will allow them to undo changes to one form without affecting the information that has been entered in the other form.
Referring to the above situation, which of the following parameter needs to be passed while opening the new form?
SHARE_LIBRARY_DATA

17. Which of the following can be used to maximize the forms MDI window?
SET_WINDOW_PROPERTY

18. Which of the following can be used to dynamically hide or display a tab within a tab canvas?
SET_TAB_PAGE_PROPERTY

19. What is the standard data source type for a data block?
Table

20. You have a text item that is in a data block but is not based on the database. You are getting an error message when querying information in that data block.
Referring to the situation above, what property needs to be changed to tell Forms that the text item is not based on the database?
Data Source

21. What PL/SQL Library file format contains both source code and compiled code?
PLL

22. You have decided to create a chart item manually. Which of the following file types can you use as a chart item?
OLE





23. PROCEDURE testit(p_number NUMBER) IS
BEGIN
IF :SYSTEM.CURSOR_RECORD > p_number THEN
WHILE :SYSTEM.CURSOR_RECORD > p_number LOOP
PREVIOUS_RECORD;
END LOOP;
ELSIF :SYSTEM.CURSOR_RECORD < p_number THEN
WHILE :SYSTEM.CURSOR_RECORD < p_number LOOP
NEXT_RECORD;
END LOOP;
ELSE NULL;
END IF;
END;
Referring to the sample code above, what built-in contains the same basic functionality as this program unit?
SYSTEM.TRIGGER_RECORD

24. Which of the following button properties can you change to display a picture instead of a label?
Iconic

25. Which of the following is a surface on which you place the interface items and boilerplate objects that end users interact with when they run the form?
Canvas

26. DECLARE
group_id RecordGroup := Find_Group('rg_data');
total_rows NUMBER;
new_row NUMBER;
BEGIN
total_rows := Get_Group_Row_Count(group_id);
Add_Group_Row(group_id, END_OF_GROUP);
new_row := total_rows + 1;
Set_Group_Char_Cell('rg_data.col1, new_row, 'xyz company');
Set_Group_Char_Cell('rg_data.col2', new_row, 'district 12');
Set_Group_Number_Cell('rg_data.col3', new_row, 400);
END;
What does the sample code above do?
Inserts a row of data into the Record Group

27. You created your form and laid out the items in a frame. You decide to remove one item, add two others, show the items in a tabular format, change the number of rows displayed from 1 to 10, and add a vertical scrollbar.
Referring to the situation above, which of the following tools can you use to make these changes with minimal effort?
Layout Formatting Wizard

28. What is SYSTEM.CURSOR_ITEM?
The block.item location where focus is currently located

29. Which of the following can be set to prevent a number of system messages from being displayed?
SYSTEM.SUPPRESS_MESSAGES


30. How can you select more than one value at a time from a List of Values?
Hold down the CTRL button and click on the appropriate choices

31. You want to display a green circle when a record meets certain criteria and a red circle when it does not. You have a primary application canvas and would like the circle to be displayed in the upper right corner of that canvas.
Referring to the example above, Which of the following can be used to programmatically display the circles?
Background

32. You want to ensure that users enter a value that is in the List of Values. You want to display the List of Values only if the user enters a value that is not in the List of Values or if they specifically request to display it.
Referring to the situation above, what property would you set to get this functionality?
List of Values Property Palette -> Perform Validation

33. What are the Layout Editor buttons shown above used to do?
To create chart objects

34. How can you enter more than one line of text in a push button?
Press Enter between lines

35. Which of the following are NOT triggers?
WHEN-BUTTON-PRESSED, ON-FORM-SUCCESS, ON-COMMIT

36. In the Object Navigator, what does an asterisk (*) to the right of a program unit mean?
It needs to be compiled

37. You need to display a picture of the product for each image. The image file is a GIF file and is stored on a network file server. Each client system has a drive mapped to the L: drive and the images are stored in the PRODUCTS directory.
Referring to the above situation, what would you do to incorporate this functionality into your application?
Import every GIF file using Import Image and control, which one is displayed during runtime

38. FILE,EDIT,VIEW,FORMAT,ARRANGE,PROBLEM,TOOLS, WINDOW,HELP
Referring to the menu selections above, which of the following menu items can be used to start the Layout Wizard?
Tools

39. What internal Forms data structure is like a two-dimensional array?
Record Group

40. What file type is edited in Form Builder with the Menu Editor?
MMB







41. You are using a global variable in your application and you want to ensure that the global has been initialized before running the WHEN-NEW-FORM-INSTANCE. You also want to make sure that you do not overwrite the current value if the global variable has a value.
Referring to the situation above, what built-in can be used to initialize the global variable?
COPY

42. What built-in can be used to determine the name of the current form?
GET_APPLICATION_PROPERTY

43. Which one of the following is the default validation unit?
Item

44. Which tool can be used to make creating a master-detail relationship within the form easier?
Data Block Wizard

45. You have received feedback from test users who say that they find the "FRM-40100: At first record" message distracting and would like to prevent it from being displayed.
Referring to the situation above, what line of code could you add to a WHEN-NEW-FORM-INSTANCE to suppress the FRM-40100 message?
: SYSTEM.SUPPRESS_WORKING := 'TRUE';

46. Which of the following built-in runs a report from forms?
RUN_PRODUCT

47. Which of the following can you use to ensure that users enter data into a text item in a specific format such as 04/07/2001?
Format Mask

48. Why are control blocks used?
Control blocks are required for the creation of control items such as buttons, list items, radio groups, and display items

49. Referring to the user requirements above, how would you implement this in your application?
Add the appropriate letter in the Access Key property for the button






















1. Generating a form module compiles all of its code objects and creates .FMX runfile (True)
2. The forms complier component is the runtime engine that form operators use to run finished forms application (False)
3. Application built using Oracle forms are portable to a variety of G U I and character mode platforms (True)
4. The items in a block can be arranged in any order on a form and can even be displayed in different windows (True)
5. When you create an object, its properties are automatically set to default settings (True)
6. The Visual View corresponds to the oracle forms object ownership hierarchy :form-black item (false)
7. Each window can have multiple canvas_views and there can be multiple items on a single canvas view (True)
8. Objects can be copied from one module to another, but cannot be moved from one module to another (True)
9. A canvas_view is owned by the window in which it is displayed (false)
10. Boilerplate objects are not named objects and they don’t appear in the object navigator (True)
11. Modules can be saved to the file system or the database (True)
12. The .PLL library file that you work with in the builder includes both the source code required at the design time and the compiled executable code required at runtime (True)
13. An objects named visual attribute setting can be changed programmatically (True)
14. A property class cannot itself be caused on a property class (True)
15. Once an object is based on a class, you cannot override the setting of any inherited property (False)
16. Any Change you make to the source object are inherited by the reference object when you open or regenerate the module that contains the reference object (True)
17. When you copy an object to another module by posting from the clipboard, all object associations are lost. (True)
18. When you reference an object you also reference any objects owned by the object (True)
19. The items in a block can be placed in different canvas view and cannot be displayed in different canvas windows (false)
20. All though the button palette is created at the same time as the base table block it is separate control block that is functionally independent of the base table block (True).
21. The scope of the trigger is defined by the object to which a trigger is attached (True)
22. Some triggers can be defined only at a particular definition level (True)
23. The text of an oracle forms trigger is a named PL/SQL block (False)
24. Restricted built-ins is illegal in triggers that fire in response to navigation (True)
25. Key Triggers have one to one relationships with specific keys (True)
26. At any given point of time only one item in the form has the input focus (True)
27. The undefined state of a check-box is valid only in enter query mode (True)
28. A Populate_List built in subprogram adds to the contents of the current list item, the values from a record group (False)
29. In order to populate a list item from a record group, the record group must have two columns with type CHAR (True)

30. Operations can navigate to display items or edit display item values.
31. You can define a master-detail relationship only at the time of creation of the detail block. (False)
32. To prevent operation from performing master less operations in the detail block of the relation you must set the prevent masterless operation property to true. (True)
33. An alert message can be changed programmatically at runtime by executing the SET_ALERT_PROPERTY built-in procedure. (True)
34. If one relation in a chain of related blocks is set to deferred coordination of all subsequent blocks will also be deferred. (True)
35. You can specify editor attributes such as window display size, position, and title for a default editor. (False)
36. You must assign atleast one canvas view to each window in a form (True)
37. You might create a window that displays two stacked canvas view, A H toolbar canvas view (False)
38. V Toolbars can be displayed along the left or the right side of a window (False)
39. If the operator or the application scrolls the window explicitly, oracle forms does allow the item that currently has input focus to be scrolled out of the view. (True)
40. Windows that do not contain navigable items must always be displayed programmatically. (True)
41. An LOV is a modal window. (True)
42. An LOV can be attached to one or more text items in the form (True)
43. A record group cannot be populated with an array of static values (False)
44. If the SELECT statement used to create a record group, the INTO clause establishes the relationship between the LOV and the return items but does not affect the definition of the resulting record group. (True)
45. You can set the optional LOV for validation property to have oracle forms validate the value of the text item against the values in the LOV. (True)
46. You cannot pass data parameters to forms.
47. Client memory can be conserved when displaying large image items by reducing the number of records that are buffered for the block by setting the buffered block property (True)
48. Global variables are not formally declared the way PL/SQL local variables are (True)
49. Global Variables can store CHAR,NUMBER, or DATE data types (False)
50. Libraries can also be attached to other libraries (True)
51. The default menu is form module (True)
52. You can se the PL/SQL menu item commands to execute operating system commands (True)
53. You can directly assign values to an Oracle forms object or use the copy built-in procedure (False)
54. Oracle forms support four types of special menu items, check, radio and separator and magic (True)
55. These can be more than one background menu in a menu module (False)
56. The initial date column in the record group used to populates a hierarchical tree determines the depth of the node in the true (false)
57. You can set the show play button and show record button properties to NO for a sound item control (false)
58. You can display total item, elapsed time and remaining time information for the sound data (true)
59. In-place activation is available for embedded objects, but it is not available for linked objects (true)
60. The built-in set-custom-item property is used to communicating with the Java components (True)
61. A non-Oracle foreign function cannot access Oracle database (True)

62. An operating system text file can be read using a FFI-function (True)
63. By Associating a PL/SQL subprogram with a foreign function you can invoke the foreign function (True)
64. You cannot invoke a foreign function using an user exit (False)
65. You can perform host language screen I/O from foreign functions (False)

Questions & Answers
1) Libraries are collect of Pl/SQL Procedures & Functions
2) The interface objects that display information to user and allow then to interact with your applications are items.
3) The block of PL/SQL code that you attach to a specific object, and that executes in response to a specific event is called Trigger.
4) Which of the following are interface items supported by Oracle forms OLE Container, Image Items and VBX controls
5) The started application functions performed by the built-in procedures and functions in Oracle Forms are navigation, commit processing, set object properties, and Get Object properties
6) The components of Oracle Forms used to built applications are Forms Designer, Forms Generator and forms run-time
7) Items are logically grouped using Blocks and are visually grouped canvas using views
8) User-Named Procedures, Functions or Packages are collectively known as Program Units
9) PL/SQL is the language used for both client side Oracle Forms applications and server side database triggers and database triggers and procedures.
10) The three types of module in Oracle forms applications are Forms, menus and Libraries.
11) Which of the following is part of the top-level nodes in the navigator
Built in Packages, Database Objects and Libraries
12) Which of the following would invoke a property palette
Tools>Properties, Double clicking the object icon, Double Clicking the item in the layout editor.
13) A list of values (LOV) is a Modal window
14) The tool where you enter and compile code object is PL/SQL editor
15) The symbol that indicates that a navigator entry is collapsed is a +(plus)
16) The Object Navigator provides a hierarchical display of the objects in all open modules.
17) You can toggle property palette synchronization on and off by clicking the freeze/unfreeze button on the property palette toolbar.
18) The Properties window is where you set the properties of objects you create in form and menu modules.
19) The Layout Editor is the graphical design facility for creating and arranging interface items and boilerplate text and graphics in form.
20) A window where you must either select an option or dismiss it before you can perform other operations is called a Model Window.
21) When an Object is inheriting from both A named visual attribute and Property Class
22) To undo changes that are being made to a module since the last time it was saved, select file -> revert
23) To attach a library to a form, menu or to another library, you need only ensure that the library has been compiled and it can be located in the default run times search path.
24) Which of the following can be inherited from a property class Navigation Properties.
25) The built-in procedure which can be used to set the properties of any type of items is set_relation_property

26) If an item is inheriting visual attributes from a property class setting those attributes in layout editor overrides the inherited settings.
27) When you create an application with multiple modules you must deliver all of the .FMX,MMX and .PLL files required for runtime deployment.
28) You attach a custom menu module to a form by setting the property Menu module form property.
29) The Visual Attribute is the separate object in a form or menu module that defines a collection of visual attribute properties.
30) You can specify whether you want modules to be saved to a loaded from the file system or the database by setting the Module access design preference.
31) The copy object options dialogue allows you to specify whether objects that are associated with the object being copied should also be copied.
32) A read only text box whose value must be fetched or assigned programmatically is a display item.
33) Buttons and chart items are control items, hybrid items.
34) Which of the following triggers may be created if you select the integrity constrain when you create a base table block when-validate-item or record and when-remove-record.
35) In the multiple record block the items displayed prorate of an item cannot be set greater than the blocks records displayed property setting.
36) If you copy reference objects, the resulting object is also a preference object.
37) There are two type of blocks base table and control table.
38) The DO-KEY built in tells Oracle forms to execute the key trigger define for the function key, or if no such trigger exists execute the built in subprogram directly.
39) Oracle Forms displays Multiple Instances of each item in a multi record block.
40) Setting the Sequence ID option can specify the Position of the new block in the default block navigation sequence.
41) Key-Next Item is not an internal processing unit.
42) When an event occurs that is within the scope of more than one trigger, the trigger with the lowest definition level takes precedence.
43) The When-Timer-Expired trigger can be defined only at the Form Level
44) A user named trigger can only be executed by calling it from within a Built in Trigger, Menu Item command and User named subprogram
45) The sequence in which the following triggers linked to a text item are fired the sequence is Pre-Text-Item, When-new-item-instance and Post-text-Item.
46) Interface events can be divided into External Interface events and Internal Processing events
47) To call a user named trigger, use the Execute-Trigger built in procedure.
48) Any built in subprogram that initiates navigation is called a restricted subprogram.
49) DDL commands can be issued in a forms application by calling the Forms-DDL built in procedure.
50) The master-detail triggers generated automatically by oracle forms when you define a master-detail relationship between blocks are on-check-delete master, on clear details and on popular details.
51) Radio group it displays a fixed numbers of options and the options are manually exclusive
52) DELETE_LIST_ELEMENT and CONVERT_OTHER_VALUE built-in’s can be used to delete elements from a list item.
53) Record Group is an internal Oracle forms data structure
54) Auto Skip, Secure and Format Mark properties are apply to single-line text items.
55) WHEN_LIST_ACTIVATED and WHEN_LIST_CHANGED triggers can be used to respond to interface events that occur when the operator manipulates a list item.
56) Oracle Forms supports two button styles. They are Text and Iconic

57) A Check box is a low state control that indicates whether a certain condition or value is on or off.
58) The check box other value property applies only to check box values fetched from the database or assigned programmatically at run time.
59) The various list styles available in oracle forms are poplist , textlist and combo box

60) You can specify that a text item accept only values that fall within a valid range by setting the range low and range high rate properties.
61) Isolated option for the master deletes property would allow the master record to be deleted and does not effect the associated detail records in the database.
62) When a coordination causing event occurs, Oracle Forms defers fetching the associated detail records until the operator navigates to the detail block, if the coordination properties deferred on auto query are set to True, False.
63) Either Deferred with auto query or Deferred with no auto query triggers are generated when the master deletes property is set to cascading.
64) SHOW_ALERT built-in subprogram is a function, it returns a numeric constant and it helps indicate which alert button the operator selected.
65) On-clear-details triggers are required for all master detail relations
66) The mechanism that oracle forms used to co-ordinate the population of the details block with the current record in the master block is the copy value from item.
67) An alert is a modal window that displays a message notifying the operator of some application condition.
68) The property of a relation which allows you to specify how the deletion of a record in the master block should affect records in the detail block is Master Deletes property.

69) The three kinds of alerts styles available in oracle forms are Stop, Caution and note.
70) Any event that makes a different record in the master block, the current record is a coordination causing event.
71) Windows which are free floating and can be moved by the operator outside the application window are called dialog window
72) You can replace a window’s current content view programmatically without hiding any stacked canvas-view in the window with the REPLACE_CONTENT_VIEW
73) SET_VIEW_PROPERTY and HIDE_VIEW procedures can be used to hide a view programmatically
74) During navigation Oracle forms raises the canvas-view only if the target item is hidden behind another canvas-view in the same window if Raise on Entry is false
75) Remove on Exit and V/H Scroll bar properties are not valid for a modal dialog window.
76) Canvas View are the background objects on which you place the interface items and boilerplate objects that operators interact with as they run your form.
77) The four types of canvas view are content, stacked, vertical and Horizontal toolbar
78) The MDI-Application window is created by the window manager at runtime, and does not appear in the forms list of windows.
79) To specify whether a modeless window should remain displayed when the operator navigates to another window you can set the remove on ext property.
80) You can designate a primary canvas view for a window by setting the optional view property.
81) An Item in the current form, A global variable and A from parameter qualify as on LOV return item
82) The built-in subprograms which can be used to display an LOV programmatically at runtime are LIST_VALUES and SHOW_LOV.
83) A record group whose structure and row values are defined of design time and remain fixed at runtime is a Static Record Group

84) ADD_GROUP_COLUMN built in subprogram cannot be used with a record group creates of design time.
85) GET_GROUP_ROW_COUNT built-in functions can be used to find the number of rows in a record group.
86) At runtime, Oracle forms displays the LAMP on the status line whenever an LOV is available.
87) LOV values are derived from an internal data structure called a Record Group.
88) Operators can use the LOV Auto Reduction and search features to locate a value in a list.
89) A hidden column is any column that was included in the LOV structure but whose value are not displayed in the LOV window.
90) To specify the record group columns, which are to be, included in the LOV structure you set the column mapping property.
91) To scale image that are larger than the image item border to fill within the image item set sizing style (adjust)
92) You can assign a value to the system variables are SYSTEM.MESSAGE_LEVEL and SYSTEM.SUPRESS_WORKING
93) Form bind variable like system and global variable are always outside the scope of Library modules
94) Attached libraries are read only
95) The field in the attach dialog used to attach libraries, which specifies where oracle forms should look for the library file (the database/file system/both form
96) Parameter list is a named programmatic construct that is simply a list of parameter names and their values.
97) A parameter you include in a parameter list can be either a text parameter or a date parameter.
98) The READ IMAGE-FILE built-in subprogram procedure can be used to get an image from the file system.
99) To destroy a global variable and release its memory, use erase built-in procedure
100) A built-in allows you to reuse code without having to entire it in multiple triggers
101) Menu Items name must follow the PL/SQL naming conventions.
102) The command type property for a menu item having submenus is Menu.
103) The built-in substitution parameters UN in Oracle forms stands for current User name.
104) You must explicitly invoke the enter parameter values dialog when you reference a substitution parameter in a PL/SQL type menu item command by calling the built-in APPLICATION_PARAMETER and QUERY_PARAMETER.
105) Which of the following built-in subprograms apply only to a full-screen menus BACKGROUND_MENU and SHOW_BLACKGROUND_MENU
106) Menudif.mmb is the menu module library file for the default menu that ships with oracle forms.
107) Menus can be created in Pull down, full screen and bar style display styles
108) The run-product built-in procedure can be called form a PL/SQL menu item command to invoke Oracle forms run form, Oracle reports Oracle graphics
109) In a menu module the value of an oracle forms object is determined using the name-in built-in function.
You can populate a hierarchical tree with values contained in A record group & query Text.
110) The order of the triggers are fired is When-Tree-Node-Select , When-Tree-Node-Activated.
111) The default format in which the sound item will be stored is WAVE
112) For a java bean to work with a form, the wrapper’s class definitations must extent the Vbean class
113) You an override any method by using Set Property & Get property
114) All the built-ins related to a Hierarchical tree are located in the FTREE built-in package
115) If you plan to store data in the database, reduce the effect on network performance by setting the Update change Columns property to yes for the second items block.
116) An ActiveX is stand alone software component that provides a user interface and sends events to clients all according to the standards defined by COM
117) Form builder displays the imported methods for ActiveX controls under the Program Units node in the object navigator
118) The Java Bean container sends events to the server via the custom listener, which follows the standard a not event mechanism.
119) Foreign functions can interact with Oracle Database & form variables
120) FFI does not support you to write programs with one of the languages(Basic)
121) To initialize a foreign function you cannot use on the function
ORA_FFI.PRAGMA_REFERENCE
122) The PRAGMA statement invokes foreign function by passing control to the memory location in forms builder that can communicate with DLL
123) The invoice foreign functions from a PL/SQL interface you should use API
124) Float type arguments should be converted to double
125) Foreign functions invoked from PL/SQL must be contained in DLL
126) The ORA_FFI package provides an foreign function for invoking c functions in dynamic library
127) Initializing a foreign functions identifies the dynamic libraries
128) Foreign functions are subprograms written in 3GL programming language
129) The three levels of the standard pull-down menu are main, individual and submenu.
131) Can an oracle forms fmx be moved from windows to unix
FMX files are operating system dependent. FMB's are not. So, you have to regenerate them whenever you change the OS or the Version of Developer 2000 etc.
132) How to suppress or customize the error messages in Oracle Forms
You can either set the message level using the system variable SYSTEM.MESSAGE_LEVEL or trap the errors using the ON-ERROR or ON-MESSAGE triggers.

133) How can I execute Operating System commands in Forms
You can use the HOST command to shell out to the operating system to run an executable, batch script or os command. you can also go about the hard way and implement it using dbms_pipe to a stored procedure that can execute an external procedure

134) why doesn't my Messages do not show on the screen?
This is because messages are displayed asynchronously. To display messages immediately, use the
SYNCHRONIZE build-in:
message('...'); synchronize;

This can also be used to execute a query while the user is looking at the results of a previous query.
135) How can we iterate through items in a specified block?
Use the following code
Ship := TO_NUMBER(:System.Trigger_Record);
First_Record;

LOOP
-- do processing
IF (:System.Last_Record = 'TRUE') THEN
Go_Record(Ship);
EXIT;
ELSE
Next_Record;
END IF;
END LOOP
136) How can I create a custom tool bar?
Create a new block, let's name it "TOOLBAR" and a canvas named "C_TOOLBAR" (for illustration purposes). Put some iconic buttons on your canvas. Use the following properties for these buttons:

Enabled: True
Navigable: False
Mouse Navigate: False
Now set the "Canvas Type" in the canvas property palette to "Horizontal Toolbar" and the "Form
Horizontal Toolbar Canvas" in the module property palette to your canvas name (C_TOOLBAR in our case).

137) How can I minimise/maximise a window in forms?
You can use SET_WINDOW_PROPERTY on the window called FORMS_MDI_WINDOW to resize this MDI (or any other named) window.

Examples:
set_window_property(FORMS_MDI_WINDOW, WINDOW_STATE, MINIMIZE);
set_window_property(FORMS_MDI_WINDOW, POSITION, 7, 15);
set_window_property('my_window',WINDOW_STATE,MAXIMIZE);



138) What happened to the Sql menu from Forms V4.5?

From Forms V4.5, SQL*Menu is fully integrated into Oracle Forms. Application menus can be created by creating Menu Modules (*.MMB) and generate it to Menu Module Executables (*.MMX).

139) How can we issue DDL statements through forms?

DDL (Data Definition Language) commands like CREATE, DROP and ALTER are not directly supported from Forms because Forms are not suppose to manipulate the database structure.

A statement like CREATE TABLE My_table (Ship_id number); 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 my_table (ship_id NUMBER)'

140) How can I read/write OS files from forms?

OS files can be read/written from Forms using the TEXT_IO package in Forms. The TEXT_IO package has a datatype FILE_HANDLE. It also has procedures FCLOSE, GET_LINE, NEW_LINE, PUT, PUT_LINE & PUTF and
a function FOPEN. Example:

DECLARE
file1 TEXT_IO.FILE_TYPE;
file2 TEXT_IO.FILE_TYPE;
str VARCHAR2(80);
BEGIN
file1 := TEXT_IO.FOPEN ( 'input.txt','r' );
file2 := TEXT_IO.FOPEN( 'output.txt', 'w' );
TEXT_IO.GET_LINE( file1, str );
TEXT_IO.PUT_LINE( file2, str );
TEXT_IO.FCLOSE( file1 );
TEXT_IO.FCLOSE( file2 );
END;

141) What should I do when Forms does not allow me to use restricted built-in's?

1. Create a TIMER at the point where you want the navigation to occur. Eg. create_timer('TIMER_Y', 5, NO_REPEAT);

2. Code a WHEN-TIMER-EXPIRED trigger to handle the navigation

DECLARE
tm_name VARCHAR2(20);
BEGIN
tm_name := Get_Application_Property(TIMER_NAME);
IF tm_name = 'TIMER_y' THEN
Go_Item('ITEM_y');
END IF;
END;

142) Can I execute dynamic SQL from Forms?

Use the FORMS_DDL built-in or call the DBMS_SQL database package from Forms.

Ex: FORMS_DDL('INSERT INTO Y VALUES (' col_list ')');
Just note that FORMS_DDL will force an implicit COMMIT and may de-synchronize the Oracle Forms
COMMIT mechanism.

143) How can I generate all my forms in a batch?

@echo off
@echo. +----------------------------------------------------------
@echo. FMXGNALL.BAT
@echo. +----------------------------------------------------------
@echo.
@echo. Create runtime FMXs from source FMBs
@echo. Will convert ALL of the fmbs in the current direcotry
@echo. Usage : FMXALL.BAT username/password@connect string
@echo.
@echo. +----------------------------------------------------------
@echo.
@echo. Username/Password@connect_string = %1
@echo.

IF %1 == "" GOTO END

@echo Removing old FMX files
del *.fmx

@echo Creating the new FMX files
rem Change f45gen32 to f45gen if in 16 bit environment.
FOR %%F in (*.fmb) DO start /w f45gen32 userid=%1 batch=y module=%%F

@echo.
@echo Done!!! Remember to move the FMX files into your runtime directory.
@echo.

:END

144) How can I run a form on Unix?

You need to design your form on your workstation. FTP or copy the Forms's FMB file to the Unix box. If you generate for a terminal environment (character based), the syntax is:

f45gen USERID=userid/passwd@db_name MODULE_TYPE=FORM MODULE=module_name

If you want to generate a Library file, replace FORM with LIBRARY. Use f45genm to generate your form in a Motif environment.

Use the "f45run" command to run your form.


145) How can I change the mouse pointer in forms?

The SET_APPLICATION_PROPERTY build-in in Oracle Forms allow you to change the mouse pointer.

Ex: SET_APPLICATION_PROPERTY(CURSOR_STYLE, BUSY);




146) Can you tell me a more easier way to put repeating frame around some fields?

You have two options. First, you can place the new repeating frame in the correct place and then use the techniques shown above in the "I moved this field but am still getting a frequency error" to reassign the fields into the new frame. There is also a second choice (which can also be used as a solution to the above). Go ahead and draw the new frame around the fields you want to have placed in it. Now if you try to click on one of the fields you will not be able to as they are fully covered by the new frame. Now go to the "Arrange" menu. You will find the options Send to back, bring to front, move forwards, move backwards. These are used to alter an object position in the Reports layer ordering. You use the "send backwards" option to move the frame backwards until all of the fields have popped to the front and are now enclosed in it. Oracle reassigns the new repeating frame as each object's parent as they pop to the front.

Note that you can only move an object back and forth amongst it's siblings. You cannot set it back below it's parent, nor in front of it's children. This means that once an object has popped to the front and had a reassignment of parent, you cannot move it back using these tools.

147) what is a schema?
It is a logical grouping of database objects based on the user that owns the object.


REPORTS

1. Though I set the page size to 11x8.5, but the printer still prints in portrait?

There is another variable in the system parameters section under the data model in the object navigator called orientation. This sets the printer orientation. Oracle starts by setting it to "default" which means that no matter how you set the page size, the user's default printer setup will be used. You can also set it to either "Landscape" or "Portrait" to force the printer orientation no matter what the user has set as default.

2. Though I moved a field into that repeating frame, but I'm still getting a "frequency below it's group" error?

Moving fields around does not change what enclosing object is considered it's parent group. Oracle carefully remembers what repeating frame a field was originally placed in and assigns that as it's parent. If you then reference a column further down the line of the query structure it will return that error. If you are not exactly sure which repeating frame a field belongs to, try dragging it out of all of them. Whichever frame will not allow it to escape is it's parent. To change a field's parent, first click on the lock button on the speed button bar. It should now look like an unlocked padlock. Now all of the fields on the layout can be repositioned regardless of their original parent items. When you are satisfied with the repositioning click the lock button again to lock the layout. Oracle will parse the layout and assumes that any item fully enclosed in a repeating frame is a child object of that frame. This can be confirmed again by trying to drag an object out of it's parent. (Cntrl - Z or edit..undo will put it back where it came from) Sometimes, for unknown and mysterious reasons, this method does not work. The alternative in this case is to highlight the field (or fields), cut it (cntrl-x), and then paste it into the desired frame. The paste does not initially set it into the right frame, but if you drag and drop it there before clicking on any other objects, and then click on something else, Oracle will usually figure what your intent was and assign the object(s) as a child of that frame. This is my preferred method of changing a field's parent as it works much more consistently then the unlock/lock method. One note though, if you are reassigning a group of fields, make sure the frame you are going to move them into is large enough to accept the whole group at once before you do the cut/paste. If you do the paste and then try to grow the frame to fit, you will have to cut and paste again. Once you de-select an object that has just been pasted, Oracle will assign it as a child of whatever it is in at the time. If this technique also fails, you are probably going to have to delete and then recreate the objects within the desired frame. If the object has triggers attached, save yourself some typing by creating the new object in the right frame, copying over the trigger code, and then deleting the old object .

3. Only a part of the row goes to the next page and not all of it, Why is it so?

This is due to the way the scan works when Oracle is parsing the layout. If the tops of all the fields in a row are aligned and the fields are all of the same height and font, they should all stay together. I suspect, however, that Reports bases it's decision on the printed size rather than the field size you define to determine which objects are too large and must be shifted to the next page. This means that even if you set two fields top-aligned with the same height and font but one of them is bolded, the bolded field could get shifted to the next page due to it's bigger footprint. The solution is to put the whole row into a regular frame which is page protected .

4. What does the 'Print condition' do?

The print condition types First, All, All but first, Last, All but last refer to the frequency with which you want to appear based upon the setting of the print condition object. A print condition object of Enclosing Object is whichever object encloses the current object (could be the parent or a frame within the parent), while Anchoring Object is the parent object (unless you have explicitly anchored the object in which case it is the object to which it is anchored). The key here is that this is about the pages on which the Print Condition Object appears, not the current object. Oracle views First as the first page on which any part of the Print Condition Object is printed, likewise Last is the last page on which any part of the Print Condition Object is printed. For objects inside a repeating frame, this condition is re-evaluated for each instance of the frame

5. Can I highlight and change all the format masks and print conditions of a bunch of fields all at once?

You can. If you highlight a bunch of objects and then right click and select "properties..", Oracle gives you a stacked set of the individual properties forms for each of the selected objects. While this may be useful for some things, it requires changing values individually for each object. However, instead you can select the group of fields and then select "Common properties" from the "Tools" menu which will allow you to set the format mask , print conditions etc. for the whole set of objects at once.

6. How do I change the printed value of a field at runtime?

Triggers are intended to simply provide a true or false return value to determine whether an object should be printed. It is generally not allowed to change any values held in the cursor, make changes to the database, or change the value of it's objects value. That being said, there is a highly unpublicized method of doing just that using the SRW.Set_Field_Char procedure. The syntax is SRW.Set_Field_char(0,) and the output of the object that the current trigger is attached to will be replaced by . There are also SRW.set_fileld_num, and SRW.set_field_date for numeric or date fields. While these options do work, they should only be used if a suitable NVL or DECODE statement in the original query is not possible as they are much, much slower to run. Also, note that this change of value only applies to the formatted output. It does not change the value held in the cursor and so can not be used for evaluating summary totals.

7. The data modal defines only data and its hierarchy (True)

8. Oracle reports create one database column for each column/expression in the select list of a query (True)

9. You cannot create your own columns to perform computations (false)

10. Master / detail data models are very similar to break report data models (True)

11. Queries are generally linked via a common column (True)

12. Oracle reports window displays report output is Previews

13. A layout editor used fasten edge of one object to an edge of another object ensuring that they maintain their relative position is a Anchor

14. Product control break report, Product matrix reports, Summarize data at intermediate levels

15. A column whose value you set via formula columns is Placeholder column

16. The system parameter which refers to the type of device to which to send the report output is DESTYPE

17. External Queries, PL/SQL Libraries and Reports are three types of modules in Oracle reports

18. A data module object used to define a master/detail relationship between a group and a query is called a data link.

19. The file extension .rdf stands for Report definition file

20. There are two types of parameters system and user-created

21. A Break report data model is created using one-query and at least two groups.

22. Repeated frames can enclose, or surround, and layout object, excluding other repeating frames (false)

23. Frames do not have print direction, as do repeating frames (True)

24. You cannot create additional default layouts without disturbing the existing one in the layout editors

25. Oracle reports supplies six default tabular layout styles (True)

26. Using a user-created group filter rather than a packaged filter allows you to parameterize your cutoff values (true)

27. Movement of a frame or repeating moves all objects enclosed in it, this can be overridden by switching off confine mode

28. A filter created by writing Pl/SQL code for the condition is called last filter

29. A matrix report must have at least 4 groups

30. Any processing that will affect the data retrieved by the report should be performed in which of the following triggers After form

31. SRW is an oracle reports package

32. Repeating frames print once for each record of a group and control record-level-formatting

33. Flex mode determines whether the parent object pushes to accommodate any child object being moved within it either vertically or horizontally to expand or shrink.

34. Anchors determines the relative positioning of all objects in the report output

35. There are two types of anchors Implicit and explicit anchors

36. A group filter allows you to choose which record you want to process for on group in the data model.

37. How many types of columns are there and what are they
Formula columns : For doing mathematical calculations and returning one value
Summary Columns : For doing summary calculations such as summations etc.
Place holder Columns : These columns are useful for storing the value in a variable

38. Can u have more than one layout in report
It is possible to have more than one layout in a report by using the additional layout option in the layout editor.

Can u run the report with out a parameter form

Yes it is possible to run the report without parameter form by setting the PARAM value to Null

39. What is the lock option in reports layout
By using the lock option we cannot move the fields in the layout editor outside the frame. This is useful for maintaining the fields.

40. What is Flex
Flex is the property of moving the related fields together by setting the flex property on

No comments: