Calculate the tax on an order

Assignment Help PL-SQL Programming
Reference no: EM131735092

Use the provided appbDbcreate.sql SQL script to create the database to be used when working on this assignment.

Question 1. Calculate the Tax on an Order

Complete the following steps to create a procedure to calculate the tax on an order. The BB_TAX table contains the states that require taxes to be submitted for Internet sales. If the state is not listed in the table, then no tax should be accessed on any order. The shopper's state and basket subtotal are the inputs into the procedure while the tax amount should be returned.

1. Create a procedure called TAX_COST_SP to accomplish the tax calculation task. Keep in mind that the state and subtotal values are inputs into the procedure and the procedure is to return the tax amount. Review the contents of the BB_TAX table, which contains the tax rate for each state that needs to be taxed.
2. Create a host variable named G_TAX to hold the value returned by the procedure.
3. Invoke the procedure using the values of "VA" for the state and $100 for the subtotal.
4. Display the tax amount returned by the procedure (it should be $4.5).

Question 2. Update the Status of an Order

Create a procedure named STATUS_SHIP_SP that allows a company to employee in the Shipping Department to update the status of an order to add shipping information. The BB_BASKETSTATUS table maintains a list of events for each order so that a shopper can see the current status, date, and comments as each stage of the order process is completed. The IDSTAGE column of the BB_BASKETSTATUS table identifies each stage and an IDSTAGE of 3 indicates the order has been shipped.

The procedure should allow the addition of a row indicating an IDSTAGE of 3, date shipped, tracking number, and shipper. The sequence BB_STATUS_SEQ is used to provide a value for the primary key column. Test the procedure with the following information:

Basket # = 3
Date Shipped = 20-FEB-03
Shipper = UPS
Tracking # = ZW2384YXK4957

Question 3. Identify Customers

The company wants to offer an incentive of free shipping to those customers who have not returned for two months. Create a procedure named PROMO_SHIP_SP that determines who these customers are and then updates the BB_PROMOLIST table accordingly. The procedure uses the following information:

1. Date cutoff = Any customers who have not shopped on the site since this date should be included as incentive participants. Use the basket creation date to reflect shopper activity dates.
2. Month = Three-character month (such as APR) that should be added to the promotion table to indicate which month the free shipping is available.
3. Year = Four-digit year indicating the year the promotion is effective.
4. PROMO_FLAG = 1 (representing free shipping).

The BB_PROMOLIST table also has a USED column, which contains a default value of "N" and is updated to a "Y" when the shopper uses the promotion. Test the procedure with a cutoff date of 15-FEB-03. Assign the free shipping for the month of APR and the year 2003.

Question 4. Calculate the Total Shopper Spending

Many of the reports generated from the system calculate the total dollars in purchases for a shopper. Complete the following steps to create a function named TOT_PURCH_SF that accepts a shopper id as input and returns the total dollars that the shopper has spent with the company. Use the function in a SELECT statement that shows the shopper id and total purchases for every shopper in a database.

1. Develop and run a CREATE FUNCTION statement to create the TOT_PURCH_SF function. The function code needs a formal parameter for the shopper id and to sum the total column from the BB_BASKET table.
2. Develop a SELECT statement using the BB_SHOPPER table to produce a list of each shopper in the database and his or her respective totals.

Question 5. Calculate Days Between Ordering and Shipping

An analyst in the quality assurance office reviews the time lapse between receiving an order and shipping an order. Any orders that have not been shipped within a day of the order being placed are investigated. Create a function named ORD_SHIP_SF that calculates the number of days between the date the basket was created and the shipping date. The function should return a character string that indicates "OK" if the order was shipped within a day or "CHECK" if it was not. The IDSTAGE column of the BB_BASKETSTATUS table indicates the item is shipped with a value of 5 and the DTSTAGE column is the shipping date. The TDORDERED column of the BB_BASKET table is the order date. Use the function in an anonymous block that uses a host variable to receive the basket id to check basket 3.

Question 6. Perform Exception Handling with User-Defined Errors

On occasion, some of Brewbean's customers mistakenly leave an item out of a basket already checked out, so they create a new basket containing the missing items. However, they request that the baskets be combined so that they are not charged extra shipping. A screen has been developed to allow an employee to modify the basket id of items in the BB_BASKETITEM table to another to another existing basket to combine the baskets. A block has been constructed to support this screen and can be found at the end of this question. However, an exception needs to be added to trap the situation in which an invalid basket id is entered for the original basket. In this case, the UPDATE affects no rows but does not raise an Oracle error. The handler should display a message stating "invalid original basket id". Use a host variable named G_OLD with a value of 30 and a host variable named G_NEW with a value of 4 to provide the values to the block. First verify that no item rows exist in the BB_BASKETITEM table with a basket id of 30.

BEGIN
UPDATE bb_basketitem
SET idBasket = :g_new
WHERE idBasket = :g_old;
END;
/

Reference no: EM131735092

Questions Cloud

Grammatical errors and sentences that are hard to understand : Could you fix the grammatical errors and sentences that are hard to understand? And if there is any structural problems
Discuss north county aggregate during the time of disasters : Which components of the NIMS training would be most helpful to the North County aggregate during the time of disasters
Write a memo to cassanitti commenting on the costs of space : Write a memo to Cassanitti commenting on the costs of space and the supervisory salaries included in the controller's cost analysis.
Define the hope of becoming a retail outlet : The following message was written by the marketing manager of an online retailer of baby-related products in the hope of becoming a retail outlet
Calculate the tax on an order : CSD 4204 Project Part - calculate the tax on an order. The BB_TAX table contains the states that require taxes to be submitted for Internet sales
Discuss the student-as-consumer philosophy : Despite the fact that the student-as-consumer philosophy has become more widely spread
What are amounts of property plant and equipment purchased : Using the statement of cash flows, what are the amounts of property, plant, and equipment purchased in 2014 and 2013?
By what amount equity off rucker co increase : Darius Rucker started a business by investing $10,000 cash and a car worth $15,000. There is a $6,000 note payable on the car for the amount still owed.
Restrict schools from the sale of junk foods : Should government restrict schools from the sale of Junk Foods. Must not take side on each of the controversy exploring. Should have a strong thesis statement

Reviews

Write a Review

PL-SQL Programming Questions & Answers

  Data processing of an international based organization

Imagine that you have been hired as a consultant to assist in streamlining the data processing of an international based organization that sells high-end electronics. The organization has various departments such as payroll, human resources, finan..

  What nosql technology did you select

What NoSQL technology did you select? Were any of the topics discussed in new to you? If so, what are those new topics?

  Create a view named largeslip using the data

Create a view named LargeSlip using the data in the MarinaNum, SlipNum, RentalFee, BoatName, and OwnerNum columns in the MarinaSlip table for those slips with lengths of 40 feet. Display the data in the view.

  How to defeat sql injection attacks

List the SQL commands you will use to create your database tables. Note: Be sure that each table has at least ten records that you create so you will be able to produce reports later on.

  Explain different types of operators used in oracle

Assignment 1:Ques1. Explain different types of operators used in ORACLE.Ques2. Explain the following commands with an example:

  Specify the sql queries to retrieve a list of all doctors

Specify the SQL queries to retrieve A list of all doctors and the number of patients that were born before 01/01/1994.

  Create stored procedures to support retrieval of the data

Create stored procedures to support retrieval of the data from the database, using SELECT statements to accomplish the Aggregate (group) functions.

  Give me a list of all the proposed prices

Give me a list of all the proposed prices for the next year from the l_foods table.  Sort your results by proposed_price.  (Note that proposed price, is price + price_increase.)

  Find out how many times a customer generated an invoice

List all the record/s in the vendor table that do not have a value for the attribute V_STATE.

  Develop the queries using professional principles

Design and develop the queries using professional principles and standards - Two SQL Statements that return a subset of columns and a subset of rows using the WHERE clause.

  Database in sql server

Postings from students in online courses. The database should include info on Students, Courses, Semesters, Topics, and Postings. Topics are created by an instructor and are specific to a particular class.

  Write select statement to return those rows with due balance

Write SELECT statement which returns those rows with the balance due greater than 1000. Sort result set by InvoiceTotal, with largest invoice first.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd