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