Commit cb60c7ef authored by dpawar's avatar dpawar

changes in sql functions


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@95289 ce508802-f39f-4f6c-b175-0d175dae99d5
parent e4b807f3
......@@ -66,10 +66,10 @@ values( 'INVOICE_ID','W_PROOF_OF_DELIVERY','SELECT INVOICE_ID,TRAN_DATE,FIN_ENTI
commit;
-- POD Function start --
-- POD Function start -- 20/JUN/2014
create or replace
Function fn_pod_chk ( as_saleorder in sorder.sale_order%type)
Function taroqc.fn_pod_chk ( as_saleorder in sorder.sale_order%type)
RETURN number IS
TYPE InvCurTyp IS REF CURSOR;
TYPE DtlCurTyp IS REF CURSOR;
......@@ -139,7 +139,7 @@ BEGIN
-- cursor for multiple invoices against passed cust_code
OPEN inv_cur FOR ls_sql_stmt ;--USING ls_custCodeBill, ls_siteCode;
-- Fetch rows from result set one at a time:
<<continue1>>
LOOP
FETCH inv_cur INTO ls_invoiceid;
......@@ -150,48 +150,35 @@ BEGIN
exception when others then
return -2;
end;
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'' ';
if pod_cnt > 0 then
hdr_sql_stmt := 'select sum(d.quantity__resale),sum(d.quantity__inv) from spl_sales_por_hdr h,spl_sales_por_det d where h.tran_id=d.tran_id and h.invoice_id = '''||ls_invoiceid||''' and h.confirmed =''Y'' group by d.item_code,d.line_no__trace,d.lot_no,d.lot_sl';
begin
open dtl_cur for hdr_sql_stmt;-- USING ls_invoiceid;
LOOP
FETCH dtl_cur INTO ls_podtranid;
open dtl_cur for hdr_sql_stmt;-- for check invoice amt and resale amt match or not.
<<continue2>>
Loop
FETCH dtl_cur INTO podqty_sum,inv_qty;
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,lot_no,lot_sl,line_no__trace ;
if dtl_cur%FOUND then
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;
return 1;
else
goto continue2;
end if;
exception when others then
return -1;
end if;
end LOOP;
end;
END LOOP;
CLOSE dtl_cur;
end;
-- Logic for partial POD entries ends here
cnumber := 0;
--exit
else
begin
cnumber := fn_miscdrcr_chk(ls_invoiceid) ;
if cnumber = 0 then
goto continue1 ;
else
return cnumber;
end if;
end;
end if; -- end of else for partial POD
END LOOP;
-- Close cursor:
......@@ -204,9 +191,10 @@ BEGIN
END;
-- POD Function ends here
-- Added by Dadaso (used in POD function)
-- Added by Dadaso (used in POD function) -- 20/JUN/2014
create or replace function fn_miscdrcr_chk (as_invoiceId in invoice_trace.invoice_id%type)
RETURN number IS
......@@ -234,36 +222,42 @@ invtrace_sql_stmt varchar2(3000);
cnumber:=0;
--dbms_output.put_line('--- Begin function miscdrcr_check-------');
open invtrace_cur for invtrace_sql_stmt;
<<cont3>>
LOOP
FETCH invtrace_cur INTO invtrace_qty,invtrace_itemcode,invtrace_lot_no,invtrace_lot_sl,invtrace_lineNoTrace;
EXIT WHEN invtrace_cur%NOTFOUND;
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,line_no__invtrace 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,line_no__invtrace';
open miscdrcr_cur for miscdrcr_sql_stmt;
<<cont4>>
loop
FETCH miscdrcr_cur INTO miscdrcr_qty,miscdrcr_itemcode,miscdrcr_lot_sl,miscdrcr_lot_no,miscdrcr_lineNoTrace;
EXIT WHEN miscdrcr_cur%NOTFOUND;
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 AND miscdrcr_lineNoTrace = invtrace_lineNoTrace THEN
return 1;
else
goto cont4;
END IF;
END IF;
end loop;
close miscdrcr_cur;
ELSE
dbms_output.put_line('--- No Records found for sql --->'+invtrace_sql_stmt);
EXIT;
goto cont3;
END IF;
END LOOP;
close invtrace_cur;
return cnumber;
exception when others then
return -1;
return -39;
return cnumber;
--return cnumber;
END;
---
--added cross-update sql [13/12/13]
......
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