Jim You are missing the SUSPEND; which is necessary when returning data. Also
you shouldn't have a statement after the DO key word. Rewrite it like this:
CREATE PROCEDURE GetBikeUpdate
( In_Vin varchar(8))
RETURNS
( Out_BikeYear varchar(50),
Out_BikeMake varchar(50),
Out_BikeModel varchar(23),
Out_BikeVin varchar(50),
Out_BikeLast8Vin varchar(8))
AS
--DECLARE VARIABLE variable_name < datatype>;
BEGIN
/* write your code here */
FOR
SELECT BikeYEAR, BikeMAKE, BikeMODEL, vin, LAST8VIN FROM
BIKEHISTORY_LISTDATE
WHERE last8vin :In_vin
INTO :Out_BikeYear, :Out_BikeMake, :Out_BikeModel, :Out_BikeVin,
:Out_BikeLast8Vin
If (:In_vin = :Out_BikeLast8Vin) then
BEGIN
Update Total_sales_to_part_cost_match
set TSPM_BIKEYEAR = :Out_BikeYear,TSPM_BIKEMAKE = :Out_BikeMake,
TSPM_BIKEMODEL = :Out_BikeModel, TSPM_LAST8VIN = :Out_BikeLast8Vin;
End
DO
SUSPEND;
END;