Dear all,
while testing this procedure i received the following errors;
ORA-06512: at line 1
ORA-00926: missing VALUES keyword
ORA-06512: at "RBI.CBS_ARTICLE5_WORK_INR", line 16
ORA-06512: at line 3my procedure is as follows;
CREATE OR REPLACE PROCEDURE CBS_ARTICLE5_WORK_INR (mstring in varchar2, mconditions in varchar2)
IS
-- vyearqtr NUMBER := myearqtr;
-- vyearnum NUMBER := myearnum;
vstring VARCHAR2(1000) := mstring;
vnum VARCHAR2(10);
vconditions VARCHAR2(4000) := mconditions;
CURSOR c1 is
SELECT TO_CHAR(a.COLUMN_VALUE) num
FROM TABLE(CAST(split(vstring,',')as split_tbl)) a;
BEGIN
OPEN c1;
LOOP
FETCH c1 INTO vnum;
exit when c1%notfound;
EXECUTE IMMEDIATE 'INSERT INTO ibs_cbs_temp1'
||'select a.YearQtr,a.cgs_name Groupname,a.Code,a.Name1,'
||' Round((nvl(bSum1, 0) + nvl(cSum1, 0) + nvl(dSum1, 0) +'
||'nvl(eSum1, 0) + nvl(fSum1, 0)) / 10000000) as TOTAL,'
||'Round((nvl(bSum1, 0)) / 10000000) as MaturityCode1,'
||'Round((nvl(cSum1, 0)) / 10000000) as MaturityCode2,'
||'Round((nvl(dSum1, 0)) / 10000000) as MaturityCode3,'
||'Round((nvl(eSum1, 0)) / 10000000) as MaturityCode4,'
||'Round((nvl(fSum1, 0)) / 10000000) as MaturityCode5,'
||'Round((nvl(gBank, 0)) / 10000000) as sBank,'
||'Round((nvl(hBank, 0)) / 10000000) as SPrivate,'
||'Round((nvl(iBank, 0)) / 10000000) as SPublic,'
||'Round((nvl(i1Bank, 0)) / 10000000) as SUnallocated'
||'from (Select distinct'
||'cg.cgs_name,aq.CTY_Code as Code,aq.CTY_Name as Name1,ibs_work_bankdata.bd_yrqtr as yearqtr'
||'from Ibs_Countrygroups cg'
||'INNER JOIN IBS_CountryMaster aq on cg.cgs_id=aq.cty_ctygrpid and cg.cgs_active=1 and aq.cty_active=1'
||'INNER JOIN ibs_work_bankdata ON aq.CTY_Code =ibs_work_bankdata.bd_councd'
||'INNER JOIN ibs_bankmaster bk on ibs_work_bankdata.bd_bkcode = bk.bnk_code'
||'INNER JOIN ibs_countrymaster cm on bk.bnk_countryofinc = cm.cty_id'
||'INNER JOIN IBS_ALCategory ON ibs_work_bankdata.bd_alcd = IBS_ALCategory.Alc_Code'
||'where ibs_work_bankdata.bd_yrqtr ='
|| vnum
||'group by cg.cgs_name,aq.CTY_Name,aq.CTY_Code,ibs_work_bankdata.bd_yrqtr)a'
||'left join'
||'(select sum((case'
||'when ibs_work_bankdata.bd_matcd = 1 AND '
|| vconditions
||'then'
||'getvalueininr(Abs(ibs_work_bankdata.bd_fc_bal) +'
||'Abs(ibs_work_bankdata.bd_fc_int),'
||'(select ibs_currencymaster.cur_id'
||'from ibs_currencymaster'
||'where ibs_work_bankdata.bd_curcd ='
||'ibs_currencymaster.cur_code),'
||'ibs_work_bankdata.bd_yrqtr)'
||'else'
||'0'
||'end)) as bSum1,'
||'sum((case'
||'when ibs_work_bankdata.bd_matcd = 2 AND '
||vconditions
||'then'
||'getvalueininr(Abs(ibs_work_bankdata.bd_fc_bal) +'
||'Abs(ibs_work_bankdata.bd_fc_int),'
||'(select ibs_currencymaster.cur_id'
||'from ibs_currencymaster'
||'where ibs_work_bankdata.bd_curcd ='
||'ibs_currencymaster.cur_code),'
||'ibs_work_bankdata.bd_yrqtr)'
||'else'
||'0'
||'end)) as cSum1,'
||'sum((case when'
||'ibs_work_bankdata.bd_matcd = 3 AND '
||vconditions
||'then'
||'getvalueininr(Abs(ibs_work_bankdata.bd_fc_bal) +'
||'Abs(ibs_work_bankdata.bd_fc_int),'
||'(select ibs_currencymaster.cur_id'
||'from ibs_currencymaster'
||'where ibs_work_bankdata.bd_curcd ='
||'ibs_currencymaster.cur_code),'
||'ibs_work_bankdata.bd_yrqtr) else 0 end)) as dSum1,'
||'sum((case'
||'when ibs_work_bankdata.bd_matcd = 4 AND'
||vconditions
||'then'
||'getvalueininr(Abs(ibs_work_bankdata.bd_fc_bal) +'
||'Abs(ibs_work_bankdata.bd_fc_int),'
||'(select ibs_currencymaster.cur_id'
||'from ibs_currencymaster'
||'where ibs_work_bankdata.bd_curcd ='
||'ibs_currencymaster.cur_code),'
||'ibs_work_bankdata.bd_yrqtr)'
||'else'
||'0'
||'end)) as eSum1,'
||'sum((case'
||'when ibs_work_bankdata.bd_matcd = 5 AND '
||vconditions
||'then'
||'getvalueininr(Abs(ibs_work_bankdata.bd_fc_bal) +'
||'Abs(ibs_work_bankdata.bd_fc_int),'
||'(select ibs_currencymaster.cur_id'
||'from ibs_currencymaster'
||'where ibs_work_bankdata.bd_curcd ='
||'ibs_currencymaster.cur_code),'
||'ibs_work_bankdata.bd_yrqtr)'
||'else'
||'0'
||'end)) as fSum1,'
||'sum((case'
||'when IBS_Sector.SEC_Parent = 0 AND '
||vconditions
||'then'
||'getvalueininr(Abs(ibs_work_bankdata.bd_fc_bal) +'
||'Abs(ibs_work_bankdata.bd_fc_int),'
||'(select ibs_currencymaster.cur_id'
||'from ibs_currencymaster'
||'where ibs_work_bankdata.bd_curcd ='
||'ibs_currencymaster.cur_code),'
||'ibs_work_bankdata.bd_yrqtr)'
||'else'
||'0'
||'end)) as gBank,'
||'sum((case'
||'when IBS_Sector.SEC_Parent = 1 AND '
||vconditions
||'then'
||'getvalueininr(Abs(ibs_work_bankdata.bd_fc_bal) +'
||'Abs(ibs_work_bankdata.bd_fc_int),'
||'(select ibs_currencymaster.cur_id'
||'from ibs_currencymaster'
||'where ibs_work_bankdata.bd_curcd ='
||'ibs_currencymaster.cur_code),'
||'ibs_work_bankdata.bd_yrqtr)'
||'else'
||'0'
||'end)) as hBank,'
||'sum((case'
||'when IBS_Sector.SEC_Parent = 2 AND'
||vconditions
||'then'
||'getvalueininr(Abs(ibs_work_bankdata.bd_fc_bal) +'
||'Abs(ibs_work_bankdata.bd_fc_int),'
||'(select ibs_currencymaster.cur_id'
||'from ibs_currencymaster'
||'where ibs_work_bankdata.bd_curcd ='
||'ibs_currencymaster.cur_code),'
||'ibs_work_bankdata.bd_yrqtr)'
||'else'
||'0'
||'end)) as iBank,'
||'sum((case'
||'when IBS_Sector.SEC_Parent = 3 AND'
||vconditions
||'then'
||'getvalueininr(Abs(ibs_work_bankdata.bd_fc_bal) +'
||'Abs(ibs_work_bankdata.bd_fc_int),'
||'(select ibs_currencymaster.cur_id'
||'from ibs_currencymaster'
||'where ibs_work_bankdata.bd_curcd ='
||'ibs_currencymaster.cur_code),'
||'ibs_work_bankdata.bd_yrqtr)'
||'else'
||'0'
||'end)) as i1Bank,'
||'ibs_work_bankdata.bd_councd as Cty_Id'
||'FROM IBS_CountryMaster aq'
||'INNER JOIN ibs_work_bankdata ON aq.CTY_Code =ibs_work_bankdata.bd_councd'
||'inner join ibs_bankmaster bk on ibs_work_bankdata.bd_bkcode =bk.bnk_code'
||'inner join ibs_countrymaster cm on bk.bnk_countryofinc = cm.cty_id'
||'INNER JOIN IBS_Sector ON ibs_work_bankdata.bd_sectcd =IBS_Sector.Sec_Code'
||'INNER JOIN IBS_ALCategory ON ibs_work_bankdata.bd_alcd =IBS_ALCategory.Alc_Code'
||'INNER JOIN IBS_ALTypes ON ibs_work_bankdata.bd_typecd =IBS_ALTypes.Act_Code'
||'INNER JOIN IBS_MaturityCodeMaster ON ibs_work_bankdata.bd_matcd =IBS_MaturityCodeMaster.MCM_Code'
||'where'
||'ibs_work_bankdata.bd_yrqtr = '
||vnum
||'group by ibs_work_bankdata.bd_councd) l on a.Code = l.CTY_Id'
||'order by total desc';
END LOOP;
CLOSE C1;
COMMIT;
END;Please help.