Also, it help to have the code properly formatted so that you can see easily what you are doing.The "BEGIN" right before your "IF trk_shp_wo_dtl.hrs IS NULL" serves no purpose. I'd take it out. Mike
DECLARE CURSOR work_order_cur IS SELECT wo.unit, itm.code, wo.loc_code, wo.work_order, wo.completed, dtl.price, dtl.qty, dtl.hrs FROM trk_shp_wo wo, trk_shp_wo_dtl dtl, trk_shp_item itm WHERE wo.completed_flag = 'Y' AND wo.work_order = dtl.work_order AND itm.item_id = dtl.item_id; v_unit trk_shp_wo.unit%TYPE; v_code trk_shp_item.code%TYPE; v_loc_code trk_shp_wo.loc_code%TYPE; v_work_order trk_shp_wo.work_order%TYPE; v_completed trk_shp_wo.completed%TYPE; v_price trk_shp_inv.price%TYPE; v_qty trk_shp_wo_dtl.qty%TYPE; v_hrs trk_shp_wo_dtl.hrs%TYPE; BEGIN OPEN work_order_cur; LOOP FETCH work_order_cur INTO v_unit, v_code, v_loc_code, v_work_order, v_completed, v_price, v_qty, v_hrs; EXIT WHEN work_order_cur%NOTFOUND; --this section checks to see if hrs exist if not then do this BEGIN IF trk_shp_wo_dtl.hrs IS NULL THEN INSERT INTO vehicle_cost (unit, cost_code, loc_code, invoice_no, invoice_date, amount, qty ) VALUES (v_unit, v_code, v_loc_code, v_work_order, v_completed, v_price * v_qty, '0' ); --if hrs exist then do this ELSE INSERT INTO vehicle_cost (unit, cost_code, loc_code, invoice_no, invoice_date, amount, qty ) VALUES (v_unit, v_code, v_loc_code, v_work_order, v_completed, v_price * v_hrs, v_hrs ); END IF; END; END LOOP; CLOSE work_order_cur; END; On Mon, Oct 13, 2008 at 12:06 PM, Michael Moore <[EMAIL PROTECTED]>wrote: > try > IF v_hrs IS NULL > > > > On Mon, Oct 13, 2008 at 11:15 AM, Harry Standley <[EMAIL PROTECTED] > > wrote: > >> This is my first loop to create on my own. My code is as follows: >> >> declare >> cursor work_order_cur is >> select >> wo.unit, >> itm.code, >> wo.loc_code, >> wo.work_order, >> wo.completed, >> dtl.price, >> dtl.qty, >> dtl.hrs >> from >> trk_shp_wo wo, >> trk_shp_wo_dtl dtl, >> trk_shp_item itm >> where >> wo.completed_flag = 'Y' and >> wo.WORK_ORDER = dtl.work_order and >> itm.Item_id = dtl.item_id; >> >> v_unit trk_shp_wo.unit%type; >> v_code trk_shp_item.code%type; >> v_loc_code trk_shp_wo.loc_code%type; >> v_work_order trk_shp_wo.work_order%type; >> v_completed trk_shp_wo.completed%type; >> v_price trk_shp_inv.price%type; >> v_qty trk_shp_wo_dtl.qty%type; >> v_hrs trk_shp_wo_dtl.hrs%type; >> >> begin >> open work_order_cur; >> loop fetch work_order_cur into >> v_unit, >> v_code, >> v_loc_code, >> v_work_order, >> v_completed, >> v_price, >> v_qty, >> v_hrs; >> exit when work_order_cur%NOTFOUND; >> >> --this section checks to see if hrs exist if not then do this >> begin >> if trk_shp_wo_dtl.hrs is null >> then >> insert into vehicle_cost >> ( >> unit, >> cost_code, >> loc_code, >> invoice_no, >> invoice_date, >> amount, >> qty >> ) >> values >> ( >> v_unit, >> v_code, >> v_loc_code, >> v_work_order, >> v_completed, >> v_price * v_qty, >> '0' >> ); >> --if hrs exist then do this >> else >> >> insert into vehicle_cost >> ( >> unit, >> cost_code, >> loc_code, >> invoice_no, >> invoice_date, >> amount, >> qty >> ) >> values >> ( >> v_unit, >> v_code, >> v_loc_code, >> v_work_order, >> v_completed, >> v_price * v_hrs, >> v_hrs >> ); >> >> end if; >> end; >> end loop; >> close work_order_cur; >> end; >> >> When I run it it dies on >> >> "if trk_shp_wo_dtl.hrs is null " >> >> Tell me that it is not allowed in this context. >> >> What I am attempting to do is update another table and I want the firleds >> it enters based upon the if statement conditions. I guess my first question >> is can you use and IF...THEN...ELSE here or not? >> >> -- >> H >> >> YIM [EMAIL PROTECTED] >> MSN [EMAIL PROTECTED] >> >> "When one teaches, two learn." >> Robert Half >> >> >> >> > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Oracle PL/SQL" group. To post to this group, send email to Oracle-PLSQL@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/Oracle-PLSQL?hl=en -~----------~----~----~----~------~----~------~--~---