Commit 90b51000 authored by ssurve's avatar ssurve

fn_miscdrcr_chk added and used in fn_pod_chk


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@95062 ce508802-f39f-4f6c-b175-0d175dae99d5
parent ac0be002
......@@ -151,44 +151,48 @@ BEGIN
return -2;
end;
if pod_cnt = 0 then
if pod_cnt = 0 then
cnumber := 1;
return cnumber;
--exit
else
-- Logic for partial POD entries starts here
hdr_sql_stmt := 'select tran_id from spl_sales_por_hdr where invoice_id = '''||ls_invoiceid||''' and confirmed = ''Y'' and wf_status <> ''R'' ';
begin
open dtl_cur for hdr_sql_stmt;-- USING ls_invoiceid;
LOOP
FETCH dtl_cur INTO ls_podtranid;
EXIT WHEN dtl_cur%NOTFOUND;
begin
select sum(quantity__resale),sum(quantity__inv) into podqty_sum,inv_qty from spl_sales_por_det where tran_id = ls_podtranid group by item_code ;
if podqty_sum < inv_qty then
cnumber :=1;
return cnumber;
--exit;
end if;
exception when others then
return -1;
end;
END LOOP;
CLOSE dtl_cur;
end;
-- Logic for partial POD entries ends here
cnumber := 0;
end if;
return cnumber;
--exit
else
-- Logic for partial POD entries starts here
hdr_sql_stmt := 'select tran_id from spl_sales_por_hdr where invoice_id = '''||ls_invoiceid||''' and confirmed = ''Y'' and wf_status <> ''R'' ';
begin
open dtl_cur for hdr_sql_stmt;-- USING ls_invoiceid;
LOOP
FETCH dtl_cur INTO ls_podtranid;
EXIT WHEN dtl_cur%NOTFOUND;
begin
select sum(quantity__resale),sum(quantity__inv) into podqty_sum,inv_qty from spl_sales_por_det where tran_id = ls_podtranid group by item_code ;
if podqty_sum < inv_qty then
cnumber :=1;
-- Function fn_miscdrcr_chk to check debit note
select fn_miscdrcr_chk(ls_invoiceid) into cnumber from dual;
return cnumber;
--exit;
end if;
exception when others then
return -1;
end;
END LOOP;
CLOSE dtl_cur;
end;
-- Logic for partial POD entries ends here
cnumber := 0;
end if; -- end of else for partial POD
END LOOP;
-- Close cursor:
CLOSE inv_cur;
......@@ -202,6 +206,65 @@ END;
-- POD Function ends here
-- Added by Dadaso (used in POD function)
create or replace function fn_miscdrcr_chk (as_invoiceId in invoice_trace.invoice_id%type)
RETURN number IS
TYPE cursor1 IS REF CURSOR;
TYPE cursor2 IS REF CURSOR;
invtrace_cur cursor1;
miscdrcr_cur cursor2;
miscdrcr_sql_stmt varchar2(3000);
invtrace_sql_stmt varchar2(3000);
invtrace_qty number;
invtrace_itemcode char(10);
invtrace_lot_sl char(15);
invtrace_lot_no char(15);
miscdrcr_qty number;
miscdrcr_itemcode char(10);
miscdrcr_lot_sl char(15);
miscdrcr_lot_no char(15);
cnumber number;
begin
invtrace_sql_stmt :='select sum(quantity),item_code,lot_no,lot_sl from invoice_trace where invoice_id = '''||as_invoiceId||''' group by item_code,lot_no, lot_sl';
cnumber:=0;
--dbms_output.put_line('--- Begin function miscdrcr_check-------');
open invtrace_cur for invtrace_sql_stmt;
LOOP
FETCH invtrace_cur INTO invtrace_qty,invtrace_itemcode,invtrace_lot_no,invtrace_lot_sl;
IF invtrace_cur%FOUND THEN
miscdrcr_sql_stmt := 'select sum(nvl(d.quantity,0)) as Quantity,d.item_code,d.lot_sl, d.lot_no from misc_drcr_rcp h,misc_drcr_rdet d where h.tran_id=d.tran_id and h.remarks like ''%POD%'||as_invoiceId||''' and Quantity <> 0 group by d.item_code,d.lot_sl,d.lot_no';
open miscdrcr_cur for miscdrcr_sql_stmt;
loop
FETCH miscdrcr_cur INTO miscdrcr_qty,miscdrcr_itemcode,miscdrcr_lot_sl,miscdrcr_lot_no;
IF miscdrcr_cur%FOUND THEN
if miscdrcr_qty < invtrace_qty AND invtrace_itemcode = miscdrcr_itemcode AND miscdrcr_lot_no = invtrace_lot_no AND miscdrcr_lot_sl = invtrace_lot_sl THEN
return 1;
END IF;
END IF;
end loop;
close miscdrcr_cur;
ELSE
dbms_output.put_line('--- No Records found for sql --->'+invtrace_sql_stmt);
EXIT;
END IF;
END LOOP;
close invtrace_cur;
exception when others then
return -1;
return cnumber;
END;
---
--added cross-update sql [13/12/13]
update obj_forms set cross_update_expr='[debit_note_amt]',expr_fld_info='[2..D.debit_note_amt]',target_fld_info='[1.1.D.debit_note_amt]'
where win_name='w_proof_of_delivery' and form_no='2';
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment