Thanks Michael that worked.

As for the formatting in my editor is looks better that it pasted.

I did take out the extra begin and I assumed I needed to take out the extra
end as well. Thanks for oyur help.

On Mon, Oct 13, 2008 at 2:10 PM, Michael Moore <[EMAIL PROTECTED]>wrote:

> 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
>>>
>>>
>>>
>>
>
> >
>


-- 
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to