I am moving an application from Sybase to Oracle. I have about 2 hours experience with Oracle so I need some help identifying what the issue is with this SQL. Please don't beat me up to much…

I am getting the following error with this SQL...
Code:
========================== ERROR =============================== 
ORA-06550 
PLS-00103 
[Begins with the first select] 
========================== END ERROR ===========================
Code:
========================== CODE PL/SQL ========================== 
DECLARE 
lng FLOAT; 
lat FLOAT; 
distance NUMBER := 500; 
zip VARCHAR(64) := '19464'; 
BEGIN 

SELECT (((SELECT DISTINCT a.LONGITUDE FROM W6ADMIN.W6ZIPDATA a WHERE a.zipcode=zip)*180)/3.14) INTO lng; 
SELECT (((SELECT DISTINCT a.LATITUDE FROM W6ADMIN.W6ZIPDATA a WHERE a.zipcode=zip)*180)/3.14) INTO lat; 

SELECT a.*, 
POWER((POWER((lat- (W6ADMIN.W6ZIPDATA.LATITUDE*180)/3.14),2)+POWER((lng-(W6ADMIN.W6ZIPDATA.LONGITUDE*180)/3.14),2)),.5) AS Distance 
FROM W6ADMIN.W6ENGINEERS a, W6ADMIN.W6ZIPDATA 
WHERE RTRIM(a.POSTCODE)=RTRIM(W6ADMIN.W6ZIPDATA.zipcode) AND 
(POWER((POWER((lat-(W6ADMIN.W6ZIPDATA.LATITUDE*180)/3.14),2)+POWER((lng-(W6ADMIN.W6ZIPDATA.LONGITUDE*180)/3.14),2)),.5)) <= distance 
ORDER BY POWER((lat-(W6ADMIN.W6ZIPDATA.LATITUDE*180)/3.14),2)+POWER((lng-(W6ADMIN.W6ZIPDATA.LONGITUDE*180)/3.14),2); 

END; 
========================== END CODE PL/SQL ======================
Thanks in advance for your help.