Introduction
There are three ways you can execute a form within a form. These three ways are:
OPEN_FORM,
CALL_FORM and
NEW_FORM.
CALL_FORM build-in subprogram
The CALL_FORM built-in subprogram opens a form with the same database connection and can be run also in query mode.
NEW_FORM build-in subprogram
The NEW_FORM built-in subprogram opens a form and closes the calling form.
OPEN_FORM build-in subprogram
The OPEN_FORM built-in subprogram opens a form and its own database connection.
Global Variable
You can use a Global variable to pass a value from one form to other. A Global Variable is a binding variable that can be used by multiple Form Modules.
Hands-on
Your client wants to have another application Form to query, insert, delete, and update their product history prices. They want to open the Form from their “Customer Order” application.
It is their requirement that the window size for product price should be small enough to fit on a small portion of their application. Also, it is part of their requirement to have a Push Button to click in order to open and run the product history prices application from the “Items” tab canvas. You should modify their application to provide such request.
See Figure 13.
Your tasks are:
1- Create the product history prices Form.
2- Test all its user functional requirements, such as insert, delete, and update.
3- Create a Push Button on the “Items” tab canvas to open the Form that created from step 1.
4- Create and compile trigger to call the Form that was created from step 1.
5- Run and test all user functional requirements.
You will learn how to: call another Form, create and compile triggers, use tab canvas, use “object navigator,” use “Data Blocks,” use “Layout Editor,” use “Property Palette,” use “Run Form,” and “Execute Query.”
Figure 13
Open a Module
In the ‘Object Navigator’ window, highlight Forms. Go to the Main menu and choose “File,” select “Open” to open an existing form (customer_orders_V10) in the “iself” folder.
Save a Module
Click on the “CUSTOMER_ORDERS_V10” form. The color will change to blue. Then change then name and save the Form name as version 11 (customer_orders_v11). This way the original form is untouched.
Layout Editor
In the Main menu, choose the ‘Tools’ sub-menu and select the ‘Layout Editor’ option. In the Layout Editor window, make sure that the Canvas box contains your tab canvas. If not, click on the down arrow next to its box and select it and also make sure in the Layout Editor window, the BLOCK box contains the ITEM block. Or you can click on the ITEMS tap.
Create a New FORM
Create a new Form to query, insert, delete, and change product history prices as an independent form from this.
Change a Module name and Save it
In the Object Navigator, highlight the "Forms" item and click on the "create" icon. A form (MODULEnn) will be created. Click on the new form and change its color to blue and type PROD_DE.
Go to the Main menu, choose File and select the Save option to save the Form in the iself folder as "prod_de." Make it short for product price data entry.
Create a Data Block
In the ‘Object Navigator’ window, highlight "Data Blocks,” and click on the "create” icon. The ‘Create’ icon is in the vertical tool bar in the ‘Object Navigator’ window. It is a green ‘+’ sign.
New Data Block
In the ‘New Data Block’ window, choose the default option “Data Block Wizard” and click "OK."
Welcome Data Block
In the ‘Welcome Data Block Wizard’ window click “NEXT.”
Type of Data Block
Select the type of data block you would like to create by clicking on a radio button. Select the default option ‘Table or View’ and then click “NEXT” again.
Selecting Tables
Click on “browse.” In the ‘Tables’ window, highlight the "PRICE” table; then click "OK."
Selecting columns for the Data Block Wizard
To choose all columns, click on the two arrow signs in the ‘Data Block Wizard’ window. To choose selected columns, click on the one arrow sign. For this hands-on exercise select all columns, and click “next.”
Layout Wizard
End of the Data Block Wizard and beginning of the Layout Wizard
In the ‘Congratulations’ screen, use the default checkmark radio button (Create the data block, then call the Layout Wizard), and click "Finish." You can also use the Data Block Wizard to modify your existing data block. Simply select the data block in the Object Navigator and click the Data Block Wizard toolbar button, or choose ‘Data Block wizard’ from the ‘Tools’ menu.
Welcome screen
In the ‘Welcome to the Layout Wizard’ window, click ”Next.”
Selecting canvas
In the ‘Layout Wizard’ window, select the "new canvas" option. Canvas is a place that you will have your objects such as columns, titles, pictures, etc. If you have already had your canvas, select the canvas and then click on the next. Select "content," then click “Next.”
Selecting Columns for the Layout Wizard
In the ‘Layout Wizard’ window, select all the columns. These are the columns that you want to display them on the canvas. Then click “Next.”
Change your objects appearances
Change size or prompt if needed. In this window, you can enter a prompt, width, and height for each item on the canvas. You can change the measurement units. As a default the default units for item width and height are points. You can change it to inch or centimeter. When you change size, click “Next.”
Selecting a layout style
Select a layout style for your frame by clicking a radio button. Select "Form," if you want one record at a time to be displayed. Select “Tabular,” if you want more than one record at a time to be displayed. Select "Tabular," and then click “next.”
Record layout
Type the Frame Title (Product Data Entry), Records Displayed (5), Distance between Records values and checkmark the ‘Display Scrollbar’ box, when you use multiple records or the ‘Tabular’ option. Then click “Next.”
Congratulation Screen
In the ‘Congratulations’ window, click "Finish."
Open and change a property palette sheets
In the Layout Editor, expand the Windows item and right click on the WINDOWnn to open its Property Palette.
In its Property Palette, change the "X” position to 50. Change the "Width" length to 300. Change the "Height" length to 150. Then, close the window. The X and Y positions are where the object is going to be displayed. Close the window.
Save and compile a Form
Save the Form in the iself folder.
Then go to File > Administration > Compile file to compile it.
Now, go back to the CUSTOMER_ORDERS_V11 form.
Create a Push Button
In the Layout Editor, click on the Push Button icon and drag the ‘+’ sign into the ITEMS canvas. Click on any where in the canvas that you wish to have your Push Button. Right click on it and open its Property Palette.
Change a property palette sheets
In its Property Palette, change the name property to PB_PROD_DE; then press the enter key. Change "Label" to “Product Data Entry.” Change the Keyboard and Mouse Navigate to "NO.” Close the window.
Notice that on the Object Navigator if the push button is not in the “item” block, you should move it to the “Item” block.
Now, you should see five Push Button. The reason is the ITEM block display 5 items at a time.
Right click on the new Push Button and open its Property Palette. In the Property Palette window, change "Number of items displayed" to 1. Press the enter key and close the window.
Now, you should see only one push button. Adjust the position of the push button if needed.
Create WHEN-BUTTON-PRESSED trigger
Right Click on the push button again to choose "Smart Triggers," and select "WHEN-BUTTON-PRESSED."
PL/SQL Editor
In the PL/SQL Editor, write a PL/SQL procedure to call the “Product Price” data entry application.
(PL/SQL Editor)
OPEN_FORM(‘c:_de’);
Compile a trigger
Compile the trigger; and close the window.
Run a Form
Run the application.
Execute Query
Click “Execute Query.”
Navigate
Navigate through the application options.
Click on the “Product Data Entry” push button.
Then click “Execute Query” again.
All products will be displayed.
Click on the "Enter Query" icon to query all product prices for a specific product.
Close the window.
Navigate through the application to check all the changes. When you are done with the testing, close the application and save the changes.
Questions:
Q: What are the ways you can execute a form in a form?
Q: What are the differences between the OPEN_FORM, CALL_FORM, and NEW_FORM build-in subprograms?
Q: What is a Global variable?
Q: How can you create a form to call another form?
Q: How do you compile a trigger in a form module?
Q: Your client wants to have another application Form to query, insert, delete, and update their product history prices. They want to open the Form from their “Customer Order” application.
It is their requirement that the window size for product price should be small enough to fit on a small portion of their application. Also, it is part of their requirement to have a Push Button to click in order to open and run the product history prices application from the “Items” tab canvas. You should modify their application to provide such request.
See Figure 13.
Your tasks are:
1- Create the product history prices Form.
2- Test all its user functional requirements, such as insert, delete, and update.
3- Create a Push Button on the “Items” tab canvas to open the Form that created from step 1.
4- Create and compile trigger to call the Form that was created from step 1.
5- Run and test all user functional requirements
No comments:
Post a Comment