Good, I did that and it works perfect. Thx a lot Michael.

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

> yes, both the begin and the end. ;-)
>
>
> On Mon, Oct 13, 2008 at 12:47 PM, Harry Standley <[EMAIL PROTECTED]
> > wrote:
>
>>  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
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>> "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 [email protected]
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