Commit 82c0ab49 authored by dpawar's avatar dpawar

added function and insert query in itemser_cr_policy


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@93444 ce508802-f39f-4f6c-b175-0d175dae99d5
parent b7e41d18
...@@ -342,4 +342,78 @@ update transetup set edit_expr = 'or spl_sales_por_hdr.wf_status in(''R'')' wher ...@@ -342,4 +342,78 @@ update transetup set edit_expr = 'or spl_sales_por_hdr.wf_status in(''R'')' wher
insert into gencodes (FLD_NAME,MOD_NAME,FLD_VALUE,DESCR,SH_DESCR,CHG_DATE,CHG_USER,CHG_TERM,ACTIVE,UDF_STR1,UDF_STR2,UDF_STR3) insert into gencodes (FLD_NAME,MOD_NAME,FLD_VALUE,DESCR,SH_DESCR,CHG_DATE,CHG_USER,CHG_TERM,ACTIVE,UDF_STR1,UDF_STR2,UDF_STR3)
values ('REAS_CODE','W_MISC_DRCR_RCP_DR','PODDBTNOTE','POD DEBIT NOTE CHARGES ','PODCHRG',SYSDATE,'BASE','BASE','Y','3616','C421',null); values ('REAS_CODE','W_MISC_DRCR_RCP_DR','PODDBTNOTE','POD DEBIT NOTE CHARGES ','PODCHRG',SYSDATE,'BASE','BASE','Y','3616','C421',null);
insert into itemser_cr_policy (ITEM_SER,CR_POLICY,APPLY_TYPE,POLICY_TYPE,DESCR,TITLE,CHG_DATE,CHG_USER,CHG_TERM,APPLY_TIME,
CONSIDER_PBO,POLICY_SQL,POLICY_INPUT,POLICY_RESULT,POLICY_CONDITION,MAIL_OPTION)
values ('NT','P91','M','U','POD CREDIT POLICY','POD CREDIT POLICY',sysdate,'BASE','BASE','S','N','fn_pod_chk(?,?) FROM DUAL','cust_code,site_code','0','=',null);
--Function
CREATE OR REPLACE Function fn_pod_chk ( ls_custCodeBill in char, ls_siteCode in char)
RETURN number IS
TYPE InvCurTyp IS REF CURSOR;
inv_cur InvCurTyp;
cnumber number;
inv_type varchar2(3);
ls_string varchar2(600);
ls_instring varchar2(600);
--type inv_type_arr is varray(3) of varchar2(10);
ls_sql varchar2(2000);
li_pos number;
pod_cnt number;
ls_invoiceid char(10);
ls_sql_stmt varchar2(2000);
BEGIN
cnumber := 0;
select var_value into ls_string from disparm where var_name = 'POD_INV_TYPE';
ls_sql_stmt := 'select invoice_id from invoice where cust_code__bil = :p and
site_code = :s and inv_type in (';
li_pos := instr(ls_string,',');
if li_pos = 0 then
ls_sql_stmt := ls_sql_stmt || '''' ||ls_string || ''')';
else
while li_pos > 0 loop
ls_sql_stmt := ls_sql_stmt || '''' || substr(ls_string,1,li_pos -1) || ''',';
ls_string := substr(ls_string, length(ls_string) - (li_pos + length(',') - 1));
li_pos := instr(ls_string,',');
end loop;
ls_sql_stmt := substr(ls_sql_stmt,1, length(ls_sql_stmt) - 1) || ')';
end if;
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:
LOOP
FETCH inv_cur INTO ls_invoiceid;
EXIT WHEN inv_cur%NOTFOUND;
select count(1) into pod_cnt from spl_sales_por_hdr where invoice_id =
ls_invoiceid;
if pod_cnt = 0 then
cnumber := 1;
exit;
else
cnumber := 0;
end if;
END LOOP;
-- Close cursor:
CLOSE inv_cur;
end;
return cnumber;
END;
--end function
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