Manuscripts Is Elf Schooling
Manuscripts Is Elf Schooling
Schema Builder allows you to define the tables, views, snapshots, synonyms, constraints,
and table relationships that will make up your database. You can visualize your database
design, including the tables, columns, data types, and relationships, and then execute that
design.
Query Builder will facilitate you to write “SQL” code by providing a visual interface to
the database objects being linked.
In this Hands-On, you will learn how to: Create the “students” table, Define columns,
Define attributes, Define Primary key, Define require field, Define Unique Key, Grant
Privileges to public, Check what other users can access, Remove table, and Check table
access.
Manuscript
Open the “Schema Builder” tool.
Login as “iself” password “schooling,” and click on “connect.”
Choose the “Schema” option, select “Create Table”, then click on ”Table.”
Click “OK.”
Now, the public users can only “insert” and “select” from the table.
Now, you should practice this over and over, until you become a master at it.
Good Luck!
Topics: Hands-On 02 - Developer Tools (Query Builder)
Query Builder facilitates you to write your simple or complex query. You can save your
query at your client-side. It allows you to set your table relationships and visualize your
database objects that being linked, including the tables, columns, and datatypes.
In this Hands-On, you will learn how to: Create a query, Join Multiple tables (the “dept”
table and the “emp” table), Set table relationship, Execute Query, Sort query, Add where
clause condition, Listing query, Saving query.
Manuscript
Open the “Query Builder” tool.
Select the department name column, the employee name column and the salary column.
Click "execute."
Check the output.
Notice: The where clause condition were added to the “sql” statement.
Execute the statement.
Click “OK.”
Name the file “emp_salary” and click on “Save;” and exit From “Query Builder.”
Now, you should practice this over and over, until you become a master at it.
Good Luck.
Topics: Hands-On 03 – Procedure Builder
Procedure Builder allows you to develop stored procedures, functions, packages, and
triggers in Oracle. Many developers have found the SQL*PLUS and favorite text editor
approach cumbersome. You use Procedure Builder for ease of writing program
development, debugging, and version control.
In this Hands-On, you will learn how to: Creating PL/SQL Procedure using Procedure
Builder, add a record into the “dept” table using PL/SQL.
In this Hands-On, you will learn the basic fundamentals of PL/SQL block.
The Core Subjects are:
1- Developing a PL/SQL block
2- Types of block
3- Anonymous or unnamed block
4- Components of a PL/SQL block
a. Declaration
b. Body or Execution
c. Exception
5- Cursor
a. Implicit cursor
b. Explicit cursor
6- Parameters in cursor
Manuscript
Go to “MS-DOS.”
Change directory to the iself directory and login to “sqlplus” as "iself/schooling."
>> cd ..\iself
>>sqlplus iself/schooling
Write a PL/SQL block to use only the "body" section with PL/SQL statement.
>> begin
null;
end;
/
Use the slash (/) to compile and run the block.
Add the "declaration" section with no variables. Then compile and run the block.
>> declare
-- no variable
begin
null;
end;
/
Use the “Set serveroutput on” to display the buffer used by dbms_output.
>> set serveroutput on
Write a PL/SQL block, to output the "Hello iselfschooling" message.
>> begin
dbms_output.put_line('Hello iselfschooling');
end;
/
describe the department table.
>> desc dept
Write a PL/SQL block, to declare a department name variable with the same datatype of
the department name.
Use the %type keyword, to declare a variable as the same datatype and size of the
department name column of the dept table.
Then save the file.
Go to “SQLPLUS.”
Get the file.
And run it.
The same output!
>> declare
v_dname dept.dname%type;
begin
v_dname := 'HR';
dbms_output.put_line(v_dname);
end;
/
Go back to “notepad,” use the %rowtype keyword to declare a variable row type.
Assign ‘HR’ to the “department name” item of the defined variable row.
Output the variable.
>> declare
v_drec dept%rowtype;
begin
v_drec.dname := 'HR';
dbms_output.put_line(v_drec.dname);
end;
/
Then save the file.
Go to “SQLPLUS.”
Get the file.
And run it.
The same output!
Back to “Notepad.”
Use the implicit cursor to query the department table information where deptno = 30.
Check if no record was found then print “Record was not found.”
Else print the department name only.
>> declare
v_drec dept%rowtype;
begin
select deptno, dname, loc into
v_drec.deptno,v_drec.dname, v_drec.loc
from dept
where deptno = 30;
if sql%notfound then
dbms_output.put_line('Record was not found.');
else
dbsm_output.put_line(v_drec.dname);
end if;
end;
/
Then save the file.
Go to “SQLPLUS.”
Get the file.
And run it.
Back to “Notepad”
Modify the PL/SQL block to move the entire record into the variable row.
Now, you should practice this over and over, until you become a master at it.
Good Luck!
Topics: Hands-On 04 - Developer Tools (Form Builder)
You use Form Builder to simplify for the creation of data-entry screens, also known as
Forms. Forms are the applications that connect to a database, retrieve information
requested by the user, present it in a layout specified by Form designer, and allow the
user to modify or add information. Form Builder allows you to build forms quickly and
easily.
In this Hands-On, you learn how to: Create a Datablock for the “Customer” table, Create
a layout, Use “content” canvas, Use “execute query”, Navigate a table, Use next,
previous record, Enter query, Manipulate table’s record, Insert, Update, Delete and Save
record.
Manuscript
Open the "Form Builder" tool.
Click on "Cancel."
Highlight "Database Objects."
Choose "File," then "Connect."
Highlight module1.
Choose “File,” select “Save as” to store the new object in the “iself” folder and save it as
customer data entry. "customer_de."
DE stands for Data Entry.
Notice that the “window” object was created by default.
Click “NEXT.”
Click “NEXT” again.
Click on “browse.”
Highlight the "customer” table; then click "OK."
Click Next.”
Click “Next.”
Click “Next.”
Click "Finish."
The object module should be compiled successfully before executing the Form.
These are all customers whom their creditlimits are more than 7000 dollars.
Query all customers whom their names start with the letter "E."
These are all customers whom their names start with the letter "E."
Query all customers whom their names start with the letter "E" and their creditlimits are
more than 7000 dollars.
Click "next record" and "previous record" to navigate through the records and the one
was added.
Now, you should practice this over and over, until you become a master at it.
Good Luck
Topics: Hands-On 05 - Developer Tools (Report Builder)
Now, your client is a stock’s broker that keeps track of its customers’ stock transaction.
You have been hired to write them reports based on their reports layout requirements.
Your client wants you to create a simple listing report to show list of the stock trades by
using stocks table for their brokerage company. The user layout format requirement for
date is MM-DD-YY, for dollars is $99,999.90 and for quantity number is NNN.N0.
You will learn how to: use report wizard, use object navigator, use report builder, save
report, use “data model”, use property palette, work on query and group box, see report
style, use tabular style, navigating through report’s record, change the format mask for
dollar, numeric and date items.
Manuscript
Open the "Report Builder" tool.
Click “NEXT.”
Click “NEXT” again.
Change the labels, if needed.
Use the default template and click “finish.”
Here is the report.
Use the “zoom in” and “zoom out” icon to preview the report.
Select the "trade date" column and open its "property palette."
Change the date "Format Mask" property and make it “year 2000 complaint.”
Now, you should practice this over and over, until you become a master at it.
Good Luck!
Topics: Hands-On 06 - Developer Tools (Graphics Builder)
Graphics Builder lets you to create interactive graphical displays of the data in a
database. You can include these graphics in your forms or reports. Graphics Builder
provides a complete set of drawing and editing tools, along with a “Chart Wizard” to
simplify the process of using the tools.
In this Hands-On, you learn how to: Create a chart, Write a query, Execute a query,
Modify a query, and Save a chart.
You will create a chart to show a salary distribution in each department.
Manuscript
Open the “Graphics Builder” tool.
Create a chart to show a salary distribution in each department.
Click "execute" and login as iself password “schooling” then click “CONNECT.”
Click “OK.”
Click “OK.”
Click “OK.”
Click “Yes,” to remove the department number from the chart.
Save the chart in the “iself” folder using the “file system” option.
Now, you should practice this over and over, until you become a master at it.
Good Luck.
Topics: Hands-On 01: Tab canvas, Master-detail relationship
Create an easy to use data entry Form for your client, for an order entry system they wish
to have developed.
Working with you, the User has requested a more robust application. Create a Form that
contains three tabs for each Entity. The tabs should be labeled as "Customers", "Orders",
and "Items."
In this Hands-On, you will learn how to: Use tab canvas, Master-Detail relationship.
Manuscript
Collapse the customer data entry Form.
Select “FORMS” and click on the "create" icon.
Choose the “File” option, then select “save as” to store the form in the "iself" folder.
Name it, "customer_orders."
Select "data blocks" and click on the "create" icon.
Use the "Tab Canvas" type with a “new tab page”, then click “NEXT.”
Select all the columns.
Click “Next.”
Click “Next” again. Next.
Type the "Frame title" and then click “next” and “finish.”
This is the form layout.
Select all columns and then deselect “custid.” Since the customer is known.
Use "tabular" since there are more than one order for each customer.
Now, there are two canvases: One for customer information and the other for their orders.
Un-checkmark "Auto-join data blocks;" and click on "create relationship" and then
“OK.”
Use the order (“ORD”) table as the Master table.
Select all columns except the order ID column (“ordid”), since the order is known.
Select "tabular," since there are more than one item in an order.
Type “Frame Title,” “Records displayed” and checkmark “Display Scrollbar.”
Navigate through the tab pages. Notice that page3, 5, and 7 don't mean anything.
Click on page5 to replace its properties and do the same for “Orders.”
Be sure to press the enter key to confirm the changes.
Click on page7 to replace its properties and do the same for “Items.”
Then close the window.
Collapse the objects to view items easier in the ”object navigator” window.
Select “customer_orders,” and right click to open its "property palette."
Repeat this.
On the customer tab, position the cursor on “Customer ID” and navigate through the table
by clicking on “NEXT Record.”
Do the same for the previous record.
Now, you should practice this over and over, until you become a master at it.
Good Luck!
Topics: Hands-On 02: Tooltip, Hint, Format Mask, Properties
Build Help functionality on the data entry Form of Hands-On 01, at the items' level.
During your prototyping iterations, the User thought it would be useful to have a Help
option on the Form. A Help function will enable them to view descriptions of Form items
as they move from item to item., and see helpful hints for each, on format requirements
and content. For example, date should be keyed in the format MM-DD-YY, or currency
amounts displayed with the dollar '$' sign, with format mask $99,999.99.
In this “Hands-On” you will learn how to: Use and change the Help, Hint, and format
mask of properties.
Manuscript
Open the “customer_orders” form from the “iself” folder.
Select the "custid.” And open its "property palette” using right click.
Go to the “Tool tip” property and type "Enter customer id."
You can do the same process for each item in the canvas.
You will change the “Comments” item properties and its layout.
Select the customer's frame and click on the “delete” key to remove it.
Repeat the same for the quantity item ("Qty"), but don't change it's format mask.
Remove its frame; and then navigate through the tab pages.
Before to run the application, collapse all the "Data Blocks" objects.
Notice! On the “Orders” tab page, the format mask of “orderdate,” “shipdate,” and “Total
items” were changed.
On the “Items” tap page, the format mask of “actualprice,” “qty,” and “itemtot” were
changed.
Try to navigate to see the changes.
Now, you should practice this over and over, until you become a master at it.
Good Luck.
Topics: Hands-On 03: LOVs, Record Group
Add a List Of Values (LOV) to the Form.
Provide the User with a list of customer names by adding a LOV on the Form. This will
help the data entry clerks find a customer quickly, as they are working. This should help
the data entry clerks not to ask their customers’ ID. The list should contain at a
minimum, the customer's name and ID.
In this Hands-On, you will learn how to: use the List of Values (LOV), and group
records.
Manuscript
Save the Form name as version 03.
Choose the "Tools" option, these are the Form tools that you can use.
Select "layout editor."
Select the LOVs object known as "List of values."
Then click on the "create" icon.
Click “OK.”
Click "Next."
Click on the "return value" box; then click on "Look up return item."
Select the "customer.custid" item. Click "OK."
Click “Next.”
You see "custid" in the “return value” box. Click “next.”
Click on "Finish."
Notice the when the cursor is on “custid,” the "list of values" message will be displayed.
Click on the "Enter Query" icon to query a specific customer.
Click on “HELP”, to see all the function keys.
Notice that the “F9” key is used for the “list of values” item.
Now, you should practice this over and over, until you become a master at it.
Good Luck!
Topics: Hands-On 04: Radio Buttons
Add Radio Buttons to Form to query the tables.
The User has indicated that she/he keeps track of her/his salesmen's commission plans.
The company has a commission plan "A", "B", "C", and Blank for a commission plan is a
not applicable to salesman.
You need to perform the following:
1. Change the commission plan column to the radio buttons.
The Radio Buttons are useful when there are two or more possible values but only one
value can be true. Change the "order tab page" to implement the radio buttons.
In this Hands-On, you will learn how to: Add and use Radio Buttons.
Manuscript
Change the "commission plan" item from the "text item" to the “radio button."
Before any changes, first wait and plan to picture the changes.
You can also click on the right arrow key to move the objects.
Try it number of times.
Deselect the object.
Copy the object and paste it three times and place them in the “commission plan” radio
group. Use the right arrow key to move them.
Notice that the copy of the object goes to the top of an existing object.
The blank means that the commission plan is not applicable to this transaction.
Close the window.
When you are done with all the testing, then close the application and save the changes.
Now, you should practice this over and over, until you become a master at it.
Good Luck.
Topics: Hands-On 05: Display items, Summary and Function columns
Perform the following:
1- Modify the "Items" tab canvas layout to generate a new item called "itemtotal". This
field will be populated from other “Item” table’s column during order entry. (quantity *
actualprice)
2- Add a display field to calculate the grand total of all calculated field call "itemtotal" for
each customer's order.
In this Hands-On, you will learn how to: display fields, summary and formula functions.
Manuscript
Save the Form name as version 05.
Go to the “Items” tab and move the “itemtot” column and scrollbar to right.
The “Block” box should be the "item" block.
Select “Display item” and click the cursor next to the “quantity” item.
Adjust its size. And open its property palette.
Change “name” to itemtotal.
Change “Justification” to right.
Change “Datatype” to Number.
And its “format mask.”
Change "Calculation Mode" to Formula, and type the formula on the “Formula” box.
The colon next to an item, references to a binding variable on the screen such as
actualprice and quantity.
Change "database item" to no, because this is not a column from the item table.
Change "prompt" to "itemtotal.”
Change "Prompt attachment edge” to “Top.”
Then close the window.
Now, you should practice this over and over, until you become a master at it.
Good Luck.
Topics: Hands-On 06: Triggers (POST-QUERY)
Your application only shows products' ID. Your client wants to see product's description
since product's ID does not tell them what is the product.
Remove duplicate item information from "Items" tab canvas; and add a new item to
display product's description in the "Items" tab canvas.
In this Hands-On, you will learn how to: use the POST-QUERY trigger.
Adjust the window, then select the "itemtot" column and press the "delete" function key.
to remove the object since it is duplicated.
Make some window adjustment to make space for the product description.
Add a display item in the blank space and make some sizing adjustments.
Write a query to move "product description" into the display item for each "prodid" on
the screen.
Compile it.
Successfully compiled.
Successfully compiled.
Close the window.
Now, you should practice this over and over, until you become a master at it.
Good Luck
Topics: Hands-On 07 - Horizontal Toolbar, Push Button, Trigger (when-button-
pressed)
Adding more functionality to the application.
The client needs a horizontal toolbar to have on their Form. The toolbar should contain
all the frequently used options. This will make ease of use of some options.
The following are the list of all the frequently used functions they expect to use:
Move to previous record,
Move to next record,
Add new record,
Delete current record,
Save work, and
Exit the application.
In this Hands-On, you will learn how to: create and use horizontal toolbar, create and use
push button item, create "WHEN-PUTTON-PRESSED" trigger, write and compile
trigger.
Manuscript
Save the Form name as version 7.
Repeat the process for the rest of the push button items.
While holding the control key, click on the objects you want to select.
And then open their property palette.
Change “height” to 20 and press the enter key.
Close the window.
Type "previous_record.”
Then compile it.
Successfully compiled.
Make a typo error to see the error messages. Correct the error and compile it again.
Then close the window.
Done.
Check the application layout.
You can either close the window or drag to resize the window to use the “Customer’s
Order” application.
Resize the window and execute the query.
Test the push button functionality.
After the testing is done, close the window and save the changes.
Now, you should practice this over and over, until you become a master at it.
Good Luck.
Topics: Hands-On 08 – Sizing , Layout appearances
Resizing and changing the canvas Form.
On pervious Hands-On the canvas was not size correctly. In order to use the application
your client has to drag the window. You have been assigned to fix this problem. The
requirement from you client is: to make sure your layout was size so your client doesn't
need to drag or expand the window size.
You will learn how to: size your canvas, change the horizontal toolbar canvas.
Manuscript
Show the “Customer’s Order” canvas with its horizontal toolbar canvas.
Expand “Canvases.”
Click on the pb_block canvas either from the layout editor window or the object
navigator window. Then drag the middle handler, to the preferred size.
Notice the window was not sized enough and still you need to resize the window.
Execute the application and navigate through the database records.
Close the application.
Drag the black line so the “Customer’s Order” application fits in it.
This is good enough.
Now, you should practice this over and over, until you become a master at it.
Good Luck.
Topics: Hands-On 09: Trigger (PRE-QUERY), set dynamically properties
On the "Orders" tab canvas layout, include two radio buttons to allow the user to
manipulate the order of displayed records by order date.
You have been assigned to create two radio buttons, Labeled "Ascending" and
"Descending" to sort displayed record order by "order date."
In this Hands-On, you will learn how to: create and use pre-query trigger, set
dynamically block property on a table's data block and execute the query using trigger.
Manuscript
Save the Form name as version 9.
Create the radio button triggers to sort the block by the order date.
Select the "Data Blocks" item and create a new data block manually.
Open its property palette.
Change "name" to a more meaningful naming convention. And press the enter key.
Change "Database Data Block" to "no."
Close the window.
Notice on the "object navigator," a radio group and radio button were created.
Open the “Radio Group” property palette.
Change the "name" property to a more meaningful naming convention and then press the
enter key.
Change "initial Value" to "orderdate asc." Then press the enter key and click “OK.”
Change "Database Item" to "no."
Close the window.
Click on the "Text" icon; and type 'sort order date.' Then click outside of the text box.
Change the appearance of the text.
Create a "WHEN-RADIO-CHANGED" trigger. Type “W” then “R.” And select the
trigger.
Write a PL/SQL procedure to go to the order block and then execute the query statement.
Compile the trigger and close the window.
After the testing is done, close the window and save the changes
Now, you should practice this over and over, until you become a master at it.
Good Luck.
Topics: Hands-On 10 – Sequence object, Trigger (pre-insert)
Generate a unique customer ID and assign it to each new customer that is added to a
table.
Your client requires to find what last customer ID was entered into their system, then
she/he increment it by 1 and use that number. This is not very professional way of doing
business specially if you have multiple transactions to enter data.
You have been assigned, to add a sequence number to custid starting with 200 and
incremented by 1. So, your customer ID would start from 200, 201, 202, and so on.
In this Hands-On, you will learn how to: create sequence object, create and use "PRE-
INSERT" trigger.
Manuscript
Save the Form name as version 10.
Create a sequence number to increment the customer id number when you insert a new
customer.
Go to MS-DOS Prompt.
Login to “sqlplus” as “iself” password “schooling.”
Create a sequence object that starts from 200 and is incremented by 1.
Now, you should practice this over and over, until you become a master at it.
Good Luck.
Topics: Hands-On 11: Call form
Create an application for user product’s price data entry.
This application will be used to query the product's price table, and update, delete and
insert the product's price information.
The window size for product price should be small enough to fit on a small portion of the
application's window. The users’ requirements state that they want to have a push button
object to click on it and then run the product's price application from the main
application. You should modify their application to provide such request.
You will learn how to: call another form.
Manuscript
Save the Form name as version 11.
Create a push button that calls the “Product Price” data entry application.
First, you should create a new Form for this application..
Click on the “Push Button” icon then click and drag it onto the layout editor.
Notice that on the object navigator this push button is not in the “item” block.
Move it to the “Item” block.
Right Click on the push button to choose "smart triggers," and select "WHEN-BUTTON-
PRESSED."
Write a PL/SQL procedure to open the “Product Price” data entry application.
Compile the trigger; and close the window.
Now, you should practice this over and over, until you become a master at it.
Good Luck!
Topics: Hands-On 12: Global variable, trigger (when-new-form-instance)
Now, your client notice it would be better for them if they could get to specific product's
price rather than entire table. They want you to add more functionality to their
application to display only current item information.
The current product would be defined by the position of your cursor.
You have been assigned to modify your application to query only pricing information for
a product whenever your current cursor position is.
You will learn how to: use and assign global variable, pass global variable from one form
to another, use global variable to execute query base on that parameter, create and use
"WHEN-NEW-FORM-INSTANCE" trigger.
Manuscript
Save the “Customer orders” Form name as version 12.
Change the application to query all the product prices for an item that the cursor is on.
Select “Prodid” on the price data block; and open its property palette.
For “Copy Value From Item” type "control_block.temp_value."
Close the window.
This shows where the “temp_value” item is coming from.
On the other Form, right click on “push button” to choose “Smart Trigger” and select the
"WHEN-BUTTON-PRESSED" trigger.
Highlight a product id and then click on the “Product Price Data Entry” push button.
Now, you only see information about that specific product id not all the products.
Now, you should practice this over and over, until you become a master at it.
Good Luck.
Topics: Hands-On 13: Main menu
Your client loves what you have done for them. But they would like you add the same
functionality you did at Hands-On 12 to do it by using the main menu.
You have been assigned to modify the main menu and add the “CALL FORM” function
from Hands-On 12 to their window's main menu.
In this Hands-On, you will learn how to: create or modify default main menu, use and
assign global variable from one form to another, use global variable to execute query base
on that parameter, create and use "WHEN-NEW-FORM-INSTANCE" trigger.
Manuscript
Save the Form name as version 13.
Change the application to invoke the “Product Price Data Entry” FORM from the
application main menu.
Highlight the “Menu” item in the "object navigator” and -
open the predefined “Oracle default menu” from the Forms folder.
Open the default menu.
Select the “Field” sub-menu, and then click on the "create right" icon.
Change "New Item" to "Data."
Click on the "create down" icon.
Change "new item" to "product price," then right click on it and open it's property palette.
Here, you could also change the name and other properties from here.
Close the window.
Right click on it and open the "PL/SQL Editor."
Write a PL/SQL block to store the “product id” item into the “global product id” item.
Open the new version of the “Product Price Data Entry” Form from the iself folder.
Compile and close the window.
Open the “Customer Orders” Form property palette to assign the new menu.
Type the new menu name.
Now, you should practice this over and over, until you become a master at it.
Good Luck!
Topics: Hands-On 14: Pop up menu
The user wants you to add more functionality into the application.
On the "comments" item on the "Customers" tab, when they type their comments, they
are not able to cut, paste, and copy words or lines.
You have been assigned to add the following functions into the "comments" item in their
application:
"CUT",
"PASTE", and
"COPY."
In this Hands-On, you will learn how to: create "pop-up" menu, with following
functionality "CUT", "PASTE", and "COPY."
Manuscript
Save the Form name as version 14.
Select the "popup menus" item and click on the "create" icon.
Change the "popup menu" name to “Editor Tools.”
Double click on its icon.
Move the cursor to the "Comments" item and right click on it..
The "popup menu" is displayed.
These are its options.
Select a portion of the text, right click on it, then copy and paste it.
Select a portion of the text, right click on it and cut the selected text.
Save the changes.
Now, you should practice this over and over, until you become a master at it.
Good Luck!
Topics: Hands-On 15: Move objects, Layout appearances
Now all their functional requirements have been met. The user now focuses on the
appearance of the application. They would like you to move and add some objects.
Perform the following to satisfy these cosmetic requirements:
1. Add a logo to their application.
2. The logo should be printed on each tab canvases. Add the logo's to each tab.
In this Hands-On, you will learn how to: move objects around, create or copy, paste the
logo.
Manuscript
Save the Form name as version 15.
Use your artistic talent to make a nice company logo using the boiler plate options.
You can change the graphic boiler plate to any of the data blocks.
Leave it at “sort_block.”
Select the logo item, then copy and paste it into the other tap pages.
After testing the application, close the window and save the changes.
Now, you should practice this over and over, until you become a master at it.
Good Luck!
Topics: Hands-On 16: Run Application from desktop
Run the application from the desktop.
In this Hands-On, you will learn how to: run your application from desktop.
Manuscript
Create a new "shortcut."
Right click, select “New,” and then click on the “Shortcut” option.
Type the runtime form; use the compiled application Form as a parameter.
Click “next.”
Type the application name and click “Finish.”
Manuscript
Open the "Report Builder" tool.
Click “NEXT.”
Click “NEXT” again.
Change the labels, if needed.
Use the “zoom in” and “zoom out” icon to preview the report.
Select the "trade date" column and open its "property palette."
Change the date "Format Mask" property and make it “year 2000 complaint.”
Now, you should practice this over and over, until you become a master at it.
Good Luck!
Topics: Hands-On 02: Group left
Now, you need to define a control break on their stocks symbol and company name from
previous report and also to display one company only on a page. No more than one
company should be in a page.
You will learn how to: use report wizard, use report style “group left”, use template, use
pre-viewer, use zoom in and out, use the body section in the layout model in the object
navigator, change repeating object’s property palette.
Move the “symbol” and company name” item to the “group fields” box.
Drag "company" to level 1, then click “NEXT.” Click “Next” again.
On the object navigator, expand “Layout Model,” “Main Section”, then “BODY.”
Open the first "repeating group" property palette.
Change "maximum records per page" to 1 and press the enter key, then close the window.
After testing the output report, go to the object navigator window, select the report and
save the changes.
Save the report as report number 2.
Now, you should practice this over and over, until you become a master at it.
Good Luck!
Topics: Hands-On 03: Mailing Label
Now, user client ask you to create a report that outputs mailing labels. First they ask you
to generate mailing labels with three columns and then change it to 1.5” X 3.5” label
format.
You will learn how to: use report style “mailing label,” use the “query builder,” generate
three columns label, change the font and size, change it to two columns label, use
handlers on the layout model.
Manuscript
Remove the report from “object navigator.”
Click on the "create" icon to create a new report.
Make the “Object Navigator” window and the “Layout Model” window side by side.
The frame item can be selected either by using the “Object Navigator” or the “Layout
Model” in the report editor.
Select the first "repeating group" frame.
Select the text and change the font type and size.
Select the “untitled” report and save it as report number 3 in the "iself" folder.
Now, you should practice this over and over, until you become a master at it.
Good Luck!
Topics: Hands-On 04: Matrix
You was assigned to create a grid style of data output as a spreadsheet, with rows that
present customers name and columns that present stock’s symbol. The intersection of
these two entities is a cell that shows the number of shares that customer has on that
stock.
1- Put grid around each number of shares for easy reading.
2- Get the totals for each column and row.
3- Change the cell color to red if its value is greater than 2000 and do the same for rows
and columns subtotal.
You will learn how to: use query builder, set table relationship, change properties from
property palette, use report style matrix, make subtotal for rows and columns, use the
“select parent frame” icon, create grid, use the conditional formatting.
Manuscript
Highlight the “Reports” item and click on the "create" icon.
Open the "q_1" property palette and change the name to a more meaningful naming
convention.
Close the window.
When finished resizing, click on the “run” icon to run the report.
Select the cells, “right click” and open the "conditional formatting" option.
Click “new” and change the shares owned value to red if it is greater than 2000.
Click “OK.”
Check the report.
Go to the last page, change the alignment and mask format for the row's subtotals; and
change the color if their values are more than 7,000.
Go to the first page.
Do the same for the columns' subtotal; and change the color if their values are more than
10,000.
After testing the report output, highlight the report and save it as report number 4 in the
iself folder.
Now, you should practice this over and over, until you become a master at it.
Good Luck!
Topics: Hands-On 05: Form Letter
Now, you have been asked to write a “Form Letter” to sent to each customer who own
Oracle (orcl) shares. You are supposed to notify them of a stock split and tell them the
number of shares the broker hold for them, their size of the split and the post-split amount
and their current stock market values.
You will learn how to: use the report style “Form Letter,” use the “query builder,” set
table relationships, define column from the “query builder,” use sub-query, use of data
model, layout model, use of boilerplate, write the letter and pass the column to the letter.
Manuscript
Highlight the “Reports” item and create a new report.
A column needs to be added to the stocks table to calculate the stock market value using
the current price.
Define the column on the portfolio box to double the shares number and select the
column, too.
Define a column on the stocks box to calculate the stock market value and select the
column, too.
This is the query. More “Where Clause Condition” can be added here.
This sub query will make sure that the stock's market value is calculated based on the
current stock's price.
Click “NEXT.”
Now you hold <that many shares> and after the spilt that amount will be double.
Then print for them their current stocks market value as of that day.
Now, you should practice this over and over, until you become a master at it.
Good Luck!
Topics: Hands-On 06: Group above
Based on the user requirements, you should create a master-detail report that shows the
portfolio holdings of each customer of the broker company, including their current stock's
market value.
As user requirements:
1- Use format mask NN,NN0 for shares owned and $99,999.09 for stock’s market value.
2- Print each customer’s stock information in a separate page so company can mail them
to each of its customer.
You will learn how to: use a master-detail report, build a new report manually, create
multiple “sql query,” create data link, use the formula column, use the summary column,
use the report “group above” style, use object navigator, layout model, main section, use
property palette.
Manuscript
Remove all of the reports from the "object navigator."
Highlight each report and click on the delete icon.
Be sure to save them before removing them.
Create a new report, using the “Build a new report manually” option.
Open the property palette for each "query" and "group" and change their names to a more
meaningful naming convention.
Compile it.
Successfully compiled.
Click on the "summary column" icon and move the cross cursor to the "group customer
id" and click on the box.
Open its property palette.
Change the name.
Change "source" to "CF market value."
Change the "reset at" to the "group customer id"
Close the window.
Move all the items to "displayed groups" using the down arrow option.
Move all the items that they need to be displayed to "Displayed fields."
Go to "object navigator."
Expand the "Layout Model" item.
Open the first repeating group Property Palette from the “Body” item.
After testing the report output, highlight the report and save the changes.
Now, you should practice this over and over, until you become a master at it.
Good Luck!
Topics: Hands-On 07: Template
You were asked to create a template for your client with their own logo. Then run a
report to use their new created template.
You will learn how to: create or modify an existing template, save the template with new
name, change the default, delete the logo, replace the new logo, save your template.
Manuscript
Highlight the “template” item and open an existing template.
First, find where the default Oracle templates are?
It is easier to change an existing “template” rather than to create it from scratch.
Now, you should practice this over and over, until you become a master at it.
Good Luck!
Topics: Hands-On 08: Layout appearances
Be creative and artistic to change the appearance of your report. Use boilerplate to
change the title and etc.
Use your imagination that has no limit
You will learn how to: use boilerplate.
Manuscript
Click on the "layout Model" icon.
Click on the "Edit Margin" icon.
Now, you should practice this over and over, until you become a master at it.
Good Luck!
Topics: Hands-On 09: Parameters
Now, you should create a simple report to list the name of customers including their
shares owned.
The user wants to execute this report just against a specific company’s symbol. They
want to use company’s symbol as a parameter to pass to the report and at the end it
calculates also the totals and average of shares sold for the company.
You will learn how to: use the “group above,” use the “query builder,” set table
relationship, create and use binding variable, calculate total and average shares, delete the
object from layout.
Manuscript
Highlight the “Reports” item and create a new report.
Use the “report wizard.”
Type the report title and checkmark the "group above" radio button..
Go to the “Object navigator” and highlight the “UNTITLED” report and save it as report
number 8.
Now, you should practice this over and over, until you become a master at it.
Good Luck!
Topics: Hands-On 10: Drill Down or Push Button report
You have done so good and your client asks you to create a drill down report on the
company’s stock information so they get more detailed information about that company’s
shares holders. Your report should have push button to call company’s shares holder
from the previous Hands-On 09. The report should show for the security shown on the
screen all customers of that security, the amount of their position, and the total number of
shares held.
You will learn how to: use push button to execute another report, use or pass parameter,
use the “select parent frame” icon, use or open objects property, compile report, use the
boilerplate, write and compile PL/SQL trigger, use “runtime pre-viewer.”
Manuscript
Open report number 2 (stock history).
Click on the company item, and click on the "Parent Frame" icon until the handlers do
not change.
Drag the handler to make more space.
Click again on the company item, and click once on the "Parent Frame" icon.
Then drag the handler.
Click on the push button icon and move the cross cursor to the “layout editor” and click
and drag to make a push button.
Right click on it and open its property.
Navigate through the report pages and then click on the customer's list to see the
company's shares holders.
After the testing was done, close the windows and save the changes.
Now, you should practice this over and over, until you become a master at it.
Good Luck!
Topics: Hands-On 11: LOVs (List Of Values)
Since your parameter report on the Hands-On 09 is very useful for your client
organization, they ask you to create a list of values (LOV) for the parameter so they can
only select from the list rather than trying to remember the company symbol.
Also add more parameter to pass such as the destination of printer, and so on.
You will learn how to: use parameter, modify parameter properties using property palette,
use query builder, add more parameters to existing parameter Form.
Manuscript
Remove report number 8 from "Object Navigator."
Open report number 8 -- customers list.
Then save it as report number 9.
Now, you should practice this over and over, until you become a master at it.
Good Luck!