Need help in fixing the query for performance reasons

hi
I have a view in which I am calling a function to return some values I wand to get rid of the function and want to some how do all in the sql. Can I use case or something similar that will help me in avoiding the use of this function. Any help in this regard will highly be appreciated.
Query
SELECT SUBSTR(f_type_px17(ap.cidn,ap.currentstatusoid, 'DESC'), 1, 255)
                    from
                         px17_appointment ap,
                         /*context co_ap,*/
                         px17_payrollagreement pa,
                         px17_payrollgroup pg;
FUNCTION
CREATE OR REPLACE FUNCTION f_type_px17
fv_cidn IN px17_type_client.cidn%TYPE,
fv_oid IN px17_type_client.oid%TYPE,
fv_col IN VARCHAR2 DEFAULT NULL
) RETURN VARCHAR2 AUTHID CURRENT_USER AS
v_rtn_name px17_type_client.name%TYPE := NULL ;
v_rtn_desc px17_type_client.description%TYPE := NULL ;
BEGIN
IF fv_oid IS NOT NULL THEN
BEGIN
IF UPPER(SUBSTR(fv_oid,1,3)) = 'SYS' THEN
SELECT name, description
INTO v_rtn_name, v_rtn_desc
FROM px17_sys_type
WHERE oid = fv_oid
AND ROWNUM = 1 ;
ELSE
SELECT name, description
INTO v_rtn_name, v_rtn_desc
FROM px17_type_client
WHERE oid = fv_oid
     AND cidn = fv_cidn
AND ROWNUM = 1 ;
END IF ;
EXCEPTION
WHEN no_data_found THEN
v_rtn_name := NULL ;
v_rtn_desc := NULL ;
END ;
END IF ;
IF (UPPER(NVL(fv_col, '~')) = 'NAME') THEN
RETURN v_rtn_name ;
ELSIF ((UPPER(NVL(fv_col, '~')) = 'DESC')
OR (UPPER(NVL(fv_col, '~')) = 'DESCRIPTION')) THEN
RETURN v_rtn_desc ;
ELSE
RETURN (NVL(v_rtn_name, CHR(155)) || '~' || NVL(v_rtn_desc, CHR(155))) ;
END IF ;
END f_type_px17 ;
/

Well following is the whole code of a view and the functions releated, This will give you the whole picture and this query is running for long time.
create or replace view PX17_CHK_VW_SUMMARY_VW
(CIDN,BATCH_NUMBER, BUSINESS_UNIT, CHECK_VOUCHER_NUMBER, CHECK_VOUCHER_CODE, CHECKVIEW_CLOCK_NUMBER,
COMPANY_CHECKVIEW_HOME_DEPT, PERIOD_END_DATE, FEDERAL_TAX, GROSS_PAY, HOME_DEPARTMENT,
HOME_DEPARTMENT_DESC, LIVED_LOCAL_TAX_CODE, LIVED_STATE_TAX_CODE, LIVED_LOCAL_TAX, LIVED_STATE_TAX,
MEDICARE_TAX, NET_PAY, DEPARTMENT_WORKED_IN, PAY_TO_COMPANY_INDICATOR, PAY_DATE,
PAYROLL_NUMBER, SCHOOL_DISTRICT_TAX, CHECKVIEW_SCHOOL_DISTRICT, SOCIAL_SECURITY_TAX, SUI_SDI_TAX,
SUI_SDI_TAX_CODE, VOID_CHECK_INDICATOR, WEEK_NUMBER, WORKED_LOCAL_TAX_CODE, WORKED_STATE_TAX_CODE,
WORKED_LOCAL_TAX, WORKED_STATE_TAX, YEAR, COMPANY_CODE, FILE_NUMBER,
FIRST_NAME, LAST_NAME, LAST_NAME_FIRST_NAME, SOCIAL_SECURITY_NUMBER, STATUS,
OVERTIME_EARNINGS, OVERTIME_HOURS, REGULAR_EARNINGS, REGULAR_HOURS, VIEWPK,
HOME_COST_NUMBER, TAX_FREQUENCY, COMPANY_COST_NUMBER, COST_NUMBER_WORKED_IN, DISTRIBUTION_NUMBER,
TOTAL_DEDUCTIONS_AMOUNT, TOTAL_HOURS_AMOUNT, TOTAL_MEMO_AMOUNT, TOTAL_OTHER_EARNINGS, TOTAL_OTHER_HOURS,
CHECK_SEQ_NO, JOINKEY, CHECK_REVERSAL_INDICATOR
as
with user_security_homedept
AS
(select /*+ INLINE */ distinct cg.cidn,co_code,asso.oid,asso.name,department_Access ,t2.column_value dep,cg.oid
from px17_cocodegroup cg ,
px17_associate asso ,
     px17_securityobject so,
     px17_cocodegrp_securitygrp cs,
     px17_security_group sg ,
     TABLE(f_str2tbl_px17(cg.department_access)) t2
where cg.USEROID = asso.OID
and cg.co_code = substr(so.name,8,3)
and upper(asso.name) = upper(sys_context('payx_r17_app_context', 'app_userid'))
and cg.oid = cs.cocodegroupoid
and cs.securitygroupoid = sg.oid
     and cg.cidn = asso.cidn
     and cg.cidn = so.cidn
     and cg.cidn = cs.cidn
     and cs.cidn = sg.cidn
order by 2,1
user_security_cost_no
AS
(select /*+ INLINE */
cg.cidn,co_code,count(distinct cd.code)cost_no,cd.code
from px17_cocodegroup cg ,
px17_associate asso ,
     px17_securityobject so,
     px17_cocodegrp_securitygrp cs,
     px17_security_group sg ,
     px17_customaccessdetail cd
where cg.USEROID = asso.OID
and cg.co_code = substr(so.name,8,3)
and upper(asso.name) = upper(sys_context('payx_r17_app_context', 'app_userid'))
and cg.oid = cs.cocodegroupoid
and cs.securitygroupoid = sg.oid
and cg.oid = cd.cocodegroupoid(+)
     and cg.cidn = cd.cidn(+)
     and cg.cidn = asso.cidn
     and cg.cidn = so.cidn
     and cg.cidn = cs.cidn
     and cs.cidn = sg.cidn
group by cg.cidn,co_code,cd.code
order by 2,1
super_user_check as
(SELECT
distinct a.cidn su_cidn,1 as su_user
FROM
px17_LINK LN
, px17_userprofile up
, px17_ASSOCIATE a
, px17_pcp_user pu
WHERE
a.oid = pu.oid
AND pu.userprofileoid = up.oid
AND LN.parentoid = up.oid
AND a.active = 1
AND a.cidn=pu.cidn
AND pu.cidn=up.cidn
AND ln.cidn=up.cidn
AND upper(a.name) = upper(sys_context('payx_r17_app_context', 'app_userid'))
AND upper(up.name) = upper('Super user')
nonsuper_user_check as
SELECT distinct a.cidn s_cidn , 1 as non_user
FROM
px17_LINK LN
, px17_userprofile up
, px17_ASSOCIATE a
, px17_pcp_user pu
WHERE
a.oid = pu.oid
AND pu.userprofileoid = up.oid
AND LN.parentoid = up.oid
AND a.active = 1
AND a.cidn=pu.cidn
AND pu.cidn=up.cidn
AND ln.cidn=up.cidn
AND upper(a.name) = upper(sys_context('payx_r17_app_context', 'app_userid'))
     AND LN.childoid IN ( 'SYS:5:7478')
SELECT distinct
cidn
     ,batch_number     Batch_Number
     , business_unit     Business_Unit
     , check_voucher_number     Check_Voucher_Number
     , check_voucher_code     Check_Voucher_Code
     , clock_number     CheckView_Clock_Number
     , company_code_or_dept     Company_CheckView_Home_Dept
     , period_end_date     Period_End_Date
     , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, 1, (INSTR(taxes_and_rates, '~', 1, 1) -1)), CHR(155), NULL))     Federal_Tax
     , gross_pay     Gross_Pay
     , home_department     Home_Department
     , home_department_descr     Home_Department_Desc
     , SUBSTR(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 1) +1)
               , INSTR(taxes_and_rates, '~', 1, 2) - (INSTR(taxes_and_rates, '~', 1, 1) +1)), CHR(155), NULL), 1, 32)     Lived_Local_Tax_Code
     , SUBSTR(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 2) +1)
               , INSTR(taxes_and_rates, '~', 1, 3) - (INSTR(taxes_and_rates, '~', 1, 2) +1)), CHR(155), NULL), 1, 32)     Lived_State_Tax_Code
     , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 3) +1)
               , INSTR(taxes_and_rates, '~', 1, 4) - (INSTR(taxes_and_rates, '~', 1, 3) +1)), CHR(155), NULL))     Lived_Local_Tax
     , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 4) +1)
               , INSTR(taxes_and_rates, '~', 1, 5) - (INSTR(taxes_and_rates, '~', 1, 4) +1)), CHR(155), NULL))     Lived_State_Tax
     , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 5) +1)
               , INSTR(taxes_and_rates, '~', 1, 6) - (INSTR(taxes_and_rates, '~', 1, 5) +1)), CHR(155), NULL))     Medicare_Tax
     , net_pay     Net_Pay
     , department_paid     Department_Worked_In
     , to_pay_indicator     Pay_to_Company_Indicator
     , pay_date     Pay_Date
     , payroll_number     Payroll_Number
     , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 6) +1)
               , INSTR(taxes_and_rates, '~', 1, 7) - (INSTR(taxes_and_rates, '~', 1, 6) +1)), CHR(155), NULL))     School_District_Tax
     , SUBSTR(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 7) +1)
               , INSTR(taxes_and_rates, '~', 1, 8) - (INSTR(taxes_and_rates, '~', 1, 7) +1)), CHR(155), NULL), 1, 32) CheckView_School_District
     , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 8) +1)
               , INSTR(taxes_and_rates, '~', 1, 9) - (INSTR(taxes_and_rates, '~', 1, 8) +1)), CHR(155), NULL))     Social_Security_Tax
     , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 9) +1)
               , INSTR(taxes_and_rates, '~', 1, 10) - (INSTR(taxes_and_rates, '~', 1, 9) +1)), CHR(155), NULL))     SUI_SDI_Tax
     , SUBSTR(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 10) +1)
               , INSTR(taxes_and_rates, '~', 1, 11) - (INSTR(taxes_and_rates, '~', 1, 10) +1)), CHR(155), NULL), 1, 32) SUI_SDI_Tax_Code
     , void_check_indicator     Void_Check_Indicator
     , week_number     Week_Number
     , SUBSTR(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 11) +1)
               , INSTR(taxes_and_rates, '~', 1, 12) - (INSTR(taxes_and_rates, '~', 1, 11) +1)), CHR(155), NULL), 1, 32) Worked_Local_Tax_Code
     , SUBSTR(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 12) +1)
               , INSTR(taxes_and_rates, '~', 1, 13) - (INSTR(taxes_and_rates, '~', 1, 12) +1)), CHR(155), NULL), 1, 32) Worked_State_Tax_Code
     , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 13) +1)
               , INSTR(taxes_and_rates, '~', 1, 14) - (INSTR(taxes_and_rates, '~', 1, 13) +1)), CHR(155), NULL))     Worked_Local_Tax
     , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 14) +1)
               , INSTR(taxes_and_rates, '~', 1, 15) - (INSTR(taxes_and_rates, '~', 1, 14) +1)), CHR(155), NULL))     Worked_State_Tax
     , year          Year
     , company_code     Company_Code
     , file_number     File_Number
     , first_name     First_Name
     , last_name          Last_Name
     , name          Last_Name_First_Name
     , ssn               Social_Security_Number
     , status          Status
     , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 15) +1)
               , INSTR(taxes_and_rates, '~', 1, 16) - (INSTR(taxes_and_rates, '~', 1, 15) +1)), CHR(155), NULL))     Overtime_Earnings
     , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 16) +1)
               , INSTR(taxes_and_rates, '~', 1, 17) - (INSTR(taxes_and_rates, '~', 1, 16) +1)), CHR(155), NULL))     Overtime_Hours
     , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 17) +1)
               , INSTR(taxes_and_rates, '~', 1, 18) - (INSTR(taxes_and_rates, '~', 1, 17) +1)), CHR(155), NULL))     Regular_Earnings
     , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 18) +1)
               , INSTR(taxes_and_rates, '~', 1, 19) - (INSTR(taxes_and_rates, '~', 1, 18) +1)), CHR(155), NULL))     Regular_Hours
     , (company_code || '/' || ssn || '/' || file_number || '/' || TO_CHAR(payroll_number) || '/'
          || TO_CHAR(year) || '/' || TO_CHAR(week_number) || '/' || check_voucher_number
          || '/' || to_char(check_seq_num) || '/' || TO_CHAR(distribution_number)) Viewpk
     , home_costnumber_desc Home_Cost_Number
     , tax_frequency Tax_Frequency
     , co_chkv_home_cost_no Company_Cost_Number
     , cost_no_worked_in Cost_Number_Worked_In
     , distribution_number Distribution_Number
     , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 19) +1)
               , INSTR(taxes_and_rates, '~', 1, 20) - (INSTR(taxes_and_rates, '~', 1, 19) +1)), CHR(155), NULL))     Total_Deductions_Amount
     , NVL(TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 20) +1)
               , INSTR(taxes_and_rates, '~', 1, 21) - (INSTR(taxes_and_rates, '~', 1, 20) +1)), CHR(155), NULL)), 0) Total_Hours_Amount
     , NVL(TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 21) +1)
               , INSTR(taxes_and_rates, '~', 1, 22) - (INSTR(taxes_and_rates, '~', 1, 21) +1)), CHR(155), NULL)), 0) Total_Memo_Amount
     , NVL(TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 22) +1)
               , INSTR(taxes_and_rates, '~', 1, 23) - (INSTR(taxes_and_rates, '~', 1, 22) +1)), CHR(155), NULL)), 0) Total_Other_Earnings
     , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 23) +1)), CHR(155), NULL))     Total_Other_Hours
     , check_seq_num Check_Seq_No
     , (NVL(company_code, '~') || CHR(155) || NVL(file_number, '~') || CHR(155) || NVL(ssn, '~') || CHR(155) || NVL(TO_CHAR(year), '~') || CHR(155)
          || NVL(TO_CHAR(week_number), '~') || CHR(155) || NVL(TO_CHAR(payroll_number), '~')
          || CHR(155) || NVL(check_voucher_number, '~') || CHR(155) || NVL(TO_CHAR(check_seq_num), '~') || CHR(155) || NVL(TO_CHAR(distribution_number), '~')) Joinkey
     , chk_reverse Check_Reversal_Indicator
FROM
          SELECT
          ch.cidn cidn
               /*BATCH NUMBER*/
               , ch.batch_nb     batch_number
               , /*BUSINESS UNIT*/
               (select asso.description
                    from     px17_appointment ap,
                         px17_jobposition jp,
                         px17_corporation co,
                         px17_associate asso,
                         px17_payrollagreement pa,
                         px17_payrollgroup pg
                    where
                    ch.cidn = pg.cidn
                                   AND ch.cidn = pa.cidn
                                   AND pa.cidn = pg.cidn
                                   AND pa.cidn = ap.cidn
                                   AND em.cidn = ap.cidn
                                   AND ap.cidn = jp.cidn
                                   and jp.cidn = co.cidn
                                   and co.cidn = asso.cidn
                    and ch.co_code=pg.co_code
                    and     ch.file_nb=pa.file_number
                    and     pa.cocodeoid=pg.oid
                    and     pa.appointmentoid=ap.oid
                    and     em.oid=ap.employmentoid
                    and     ap.jobpositionoid=jp.oid
                         and     jp.corporationoid=co.oid
                    and     co.oid=asso.oid)     business_unit
               , /*CHECK/VOUCHER NUMBER*/
               ch.check_nb     check_voucher_number
               , /*CHECK/VOUCHER CODE*/
               SUBSTR(f_type_px17(ch.cidn,ch.chkvchcodeoid, 'NAME'), 1, 255) check_voucher_code
               , /*CLOCK NUMBER*/
               ch.clock_id     clock_number
               , /* COMPANY CODE OR DEPT*/
               ch.co_code||'/'||substr(ch.home_dept_code,1,20)     company_code_or_dept
               , /*PERIOD END DATE*/
               ch.payroll_ending_date     period_end_date
               , /*GROSS PAY*/
               NVL(chd.gross_pay_amt,0)     gross_pay
               , /*HOME DEPARTMENT*/
               ch.home_dept_code     home_department
               , /*HOME DEPARTMENT DESCRIPTION*/
               (select     ty.description
                    from     px17_type ty,px17_securityobject sc
                    where
                    ch.cidn = sc.cidn     
                    and ty.cidn in ('COMMON', ch.cidn)
                    and ch.home_dept_code=ty.name
                    and     ty.category='T_CO_DEPT'
                    and      ty.securityoid=sc.oid
                    and     ch.co_code=substr(sc.name,8))     home_department_descr
               , /*NET PAY*/
               nvl(chd.net_pay_amt,0)     net_pay
               , /*DEPARTMENT PAID*/
               -- ch.paid_in_debt_code     department_paid
               chd.worked_in_dept     department_paid
               , /*TO PAY INDICATOR*/
               decode(to_char(ch.pay_to_co),'1','Y','0','N',to_char(ch.pay_to_co))     to_pay_indicator
               , /*PAY DATE*/
               ch.pay_date     pay_date
               , /*PAYROLL NUMBER*/
               to_char(ch.payroll_nb)     payroll_number
               , /*VOID CHECK INDICATOR*/
               decode(to_char(ch.void_flag),'1','Y','0','N',to_char(ch.void_flag))     void_check_indicator
               , /*WEEK NUMBER*/
               TO_number(ch.week)     week_number
               , /*YEAR*/
                    to_char(ch.year)     year
               , /*COMPANY CODE*/
               ch.co_code     company_code
               , /*FILE NUMBER*/
               LPAD(ch.file_nb,6,0)     file_number
               , /*FIRST NAME*/
               pe.first_name     first_name
               , /*LAST NAME*/
               pe.last_name     last_name
               , /*NAME*/
               pe.last_name||', '||pe.first_name     name
               , /*SSN*/
               payx_r17_principal_info.masked_ssn(pe.unique_id, ch.cidn)      ssn
               , /*STATUS*/
               (SELECT SUBSTR(f_type_px17(ap.cidn,ap.currentstatusoid, 'DESC'), 1, 255)
                    from
                         px17_appointment ap,
                         /*context co_ap,*/
                         px17_payrollagreement pa,
                         px17_payrollgroup pg
                    where     
                    pg.cidn=ch.cidn
                         and pa.cidn=ch.cidn
                              and ap.cidn=pa.cidn
                              and ap.cidn = em.cidn
                    and ap.employmentoid=em.oid
                    and     ap.active=1
                    and     ap.oid=pa.appointmentoid
                    and     lpad(to_char(pa.file_number),6,0)=ch.file_nb
                    and     pa.cocodeoid=pg.oid
                    and     pg.co_code=ch.co_code)     status
               --          FED TAX
               --          , LIVED LOCAL TAX CODE, LIVED STATE TAX CODE, LIVED LOCAL TAX, LIVED STATE TAX, MEDICARE TAX
               --          , SCHOOL DISTRICT TAX, SCHOOL DISTRICT, SOCIAL SECURITY TAX, SUI SDI TAX, SUI SDI TAX CODE
               --          , WORKED LOCAL TAX CODE, WORKED STATE TAX CODE, WORKED LOCAL TAX, WORKED STATE TAX
               --          , OVERTIME EARNINGS, OVERTIME HOURS, REGULAR EARNINGS, REGULAR HOURS
               NVL (
                    (SELECT
                         TO_CHAR(NVL(SUM(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:2982', NVL(ci.amount,0), 0), 0) ), 0)) || '~'
                         || NVL(MAX(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:2984', ci.code, NULL), NULL)), CHR(155)) || '~'
                         || NVL(MAX(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:2987', DECODE(ci.code,'XX',null,ci.code), NULL), NULL)), CHR(155)) || '~'
                         || TO_CHAR(NVL(SUM(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:2984', NVL(ci.amount,0), 0), 0) ), 0)) || '~'
                         || TO_CHAR(NVL(SUM(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:2987', NVL(ci.amount,0), 0), 0) ), 0)) || '~'
                         || TO_CHAR(NVL(SUM(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:4118', NVL(ci.amount,0), 0), 0) ), 0)) || '~'
                         || TO_CHAR(NVL(SUM(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:4114', NVL(ci.amount,0), 0), 0) ), 0)) || '~'
                         || NVL(MAX(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:4114', ci.code, NULL), NULL)), CHR(155)) || '~'
                         || TO_CHAR(NVL(SUM(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:2988', NVL(ci.amount,0), 0), 0) ), 0)) || '~'
                         || TO_CHAR(NVL(SUM(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:2989', NVL(ci.amount,0), 0), 0) ), 0)) || '~'
                         || NVL(MAX(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:2989', ci.code, NULL), NULL)), CHR(155)) || '~'
                         || NVL(MAX(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:2983', ci.code, NULL), NULL)), CHR(155)) || '~'
                         || NVL(MAX(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:2986', ci.code, NULL), NULL)), CHR(155)) || '~'
                         || TO_CHAR(NVL(SUM(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:2983', NVL(ci.amount,0), 0), 0) ), 0)) || '~'
                         || TO_CHAR(NVL(SUM(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:2986', NVL(ci.amount,0), 0), 0) ), 0)) || '~'
                         || TO_CHAR(NVL(SUM(DECODE(ci.histtypeoid, 'SYS:4:3713', NVL(ci.amount,0), 0)), 0)) || '~'
                         || TO_CHAR(NVL(SUM(DECODE(ci.histtypeoid, 'SYS:4:3727', NVL(ci.amount,0), 0)), 0)) || '~'
                         || TO_CHAR(NVL(SUM(DECODE(ci.histtypeoid, 'SYS:4:3715', NVL(ci.amount,0), 0)), 0)) || '~'
                         || TO_CHAR(NVL(SUM(DECODE(ci.histtypeoid, 'SYS:4:3716', NVL(ci.amount,0), 0)), 0)) || '~'
                         -- R16 columns.
                         -- Total Deductions Amount === Other Deductions on UI screen.
                         || TO_CHAR(NVL(SUM(DECODE(chcat.name, 'DeductionHistory'
                              , DECODE(NVL(ci.statutory_ded, 0), 0
                                   , DECODE(ci.taxcodeoid, NULL
                                        , DECODE(ci.code, NULL, 0, NVL(ci.amount,0)), 0), 0), 0)), 0)) || '~' -- "Total Deductions Amount"
                         || TO_CHAR(NVL(SUM(DECODE(chcat.name, 'OvertimeHours', NVL(ci.amount,0)
                              , 'AdditionalHours', NVL(ci.amount,0), 'RegularHours', NVL(ci.amount,0), 0)), 0)) || '~' -- "Total Hours Amount"
                         || TO_CHAR(NVL(SUM(DECODE(chcat.name, 'Memo', NVL(ci.amount,0), 0)), 0)) || '~' -- "Total Memo Amount"
                         || TO_CHAR(NVL(SUM(DECODE(chcat.name, 'AdditionalEarnings', NVL(ci.amount,0), 0)), 0)) || '~' -- "Total Other Earnings"
                         || TO_CHAR(NVL(SUM(DECODE(chcat.name, 'AdditionalHours', NVL(ci.amount,0), 0)), 0)) -- "Total Other Hours"
                    FROM
                         px17_checkhistoryitem ci
                         , px17_sys_type chcat
                    WHERE
                    ci.cidn=chd.cidn
                         AND ci.checkhistorydistributionoid = chd.oid
                         AND chcat.category = 'CheckHistoryItem'
                         AND chcat.oid = ci.histtypeoid
                         -- AND ci.histtypeoid IN ('SYS:4:3713', 'SYS:4:3727', 'SYS:4:3715', 'SYS:4:3716', 'SYS:4:3709')
                    ), '0' || '~' || CHR(155) || '~' || CHR(155)
                         || '0~0~0~0~' || CHR(155) || '~0~0~' || CHR(155) || '~' || CHR(155) || '~'
                         || CHR(155) || '~0~0~0~0~0~0'
                    )     taxes_and_rates
               , ch.check_seq_num check_seq_num
               , ch.home_cost_number home_costnumber_desc
               , SUBSTR(f_type_px17(ch.cidn,ch.payfrequencyoid, 'NAME'), 1, 255) tax_frequency
               , (ch.co_code || '/' || ch.home_cost_number) co_chkv_home_cost_no
               , chd.worked_in_cost_number cost_no_worked_in
               , chd.distribution_number distribution_number
               , DECODE(NVL(ch.reversed_flag, 0), 1, 'Y', 'N') chk_reverse
          FROM
               px17_checkhistory ch
               , px17_employment em
               , px17_person pe
               , px17_payrollgroup pg
               , px17_checkhistory_dist chd
               , px17_appointment ap
          WHERE
          ch.cidn = em.cidn
          and em.cidn = pe.cidn
          and pg.cidn = ch.cidn
          and ch.cidn = chd.cidn
          and ap.cidn(+) = em.cidn
               and ch.employmentoid=em.oid
               AND     em.personoid=pe.oid
               AND     pg.co_code = ch.co_code
               AND ch.active = 1
               AND ch.oid = chd.checkhistoryoid
               AND ap.employmentoid(+) = em.oid
               AND DECODE(ap.oid, NULL, 1, NVL((SELECT 1 FROM px17_payrollagreement pa
                              WHERE
                              pa.cidn = ap.cidn
                              and pa.cidn = ch.cidn
                              and pa.cidn = pg.cidn
                              and pa.appointmentoid = ap.oid
                                   AND pa.file_number = ch.file_nb
                                   AND pa.cocodeoid = pg.oid), 0)) = 1
                                   and ch.cidn in (select distinct s_cidn from nonsuper_user_check)
                                   AND ( sys_context('payx_r17_app_context', 'app_role') in ('ADP', 'CSR')
          or (exists (select 1 from super_user_check where su_cidn =ch.cidn))
          or (ch.cidn,ch.co_code,ch.home_dept_code) in (select cidn,co_code,dep from user_security_homedept)          
          or (ch.cidn,ch.co_code,ch.home_cost_number) in (select cidn,co_code,code from user_security_cost_no)
               or ( exists(select co_code from user_security_homedept where cidn=ch.cidn and co_code = ch.co_code and dep is null)
               and exists(select co_code from user_security_cost_no where cidn=ch.cidn and co_code = ch.co_code and cost_no = 0) )
Following are the functions being called:
create or replace type myTable_17 as table of varchar2(4000);
CREATE OR REPLACE function f_str2tbl_px17( p_str in varchar2 ) return myTable_17 pipelined
as
l_str long default p_str || ',';
l_n number;
begin
loop
l_n := instr( l_str, ',' );
exit when (nvl(l_n,0) = 0);
pipe row( ltrim(rtrim(substr(l_str,1,l_n-1))) );
l_str := ltrim( substr( l_str, l_n+1 ) );
end loop;
return;
end f_str2tbl_px17;
CREATE OR REPLACE FUNCTION f_check_purge_px17
          fv_cidn px17_reservedfilenumber.cidn%TYPE,     
          fv_file_number     px17_reservedfilenumber.file_number%TYPE,
          fv_cocode     px17_payrollgroup.co_code%TYPE DEFAULT NULL
     ) RETURN NUMBER AUTHID CURRENT_USER
AS
     v_val     NUMBER(5) ;
BEGIN
     IF fv_cocode IS NULL THEN
          RETURN 0 ;
     END IF ;
     SELECT 1 INTO v_val
     FROM px17_reservedfilenumber a,
px17_payrollgroup b
     WHERE
     a.cidn = fv_cidn
     AND b.cidn = fv_cidn
     AND a.file_number = fv_file_number
     AND a.parentoid = b.oid
AND b.co_code = fv_cocode
     AND ROWNUM = 1 ;
     RETURN 1 ;
EXCEPTION
     WHEN no_data_found THEN
          RETURN 0 ;
END f_check_purge_px17 ;
CREATE OR REPLACE FUNCTION f_check_security_px17
     fv_cidn IN px17_type_client.cidn%TYPE,
          fv_cocode          px17_cocodegroup.co_code%TYPE -- pg.cocode
          , fv_home_dept     px17_type_client.name%TYPE -- ap.home_dept
     ) RETURN NUMBER AUTHID CURRENT_USER
AS
     v_val     NUMBER(5) ;
     v_key          VARCHAR2(20) ;
     v_users     VARCHAR2(4000) ;
     v_cocodes     VARCHAR2(4000) ;
BEGIN
     BEGIN
          SELECT c_user_list, c_cocodes, c_run_key
          INTO v_users, v_cocodes, v_key
          FROM px17_t_context_vals
          WHERE c_run_key = (SELECT MAX(c_run_key) FROM px17_t_context_vals)
               AND ROWNUM = 1 ;
     EXCEPTION
          WHEN no_data_found THEN
               v_cocodes := NULL ;
     END ;
     IF v_cocodes IS NULL THEN
          RETURN 1 ;
     ELSIF INSTR( (v_cocodes || ','), (fv_cocode || ',') ) = 0 THEN
          RETURN 0 ;
     ELSE
          BEGIN
               SELECT
                    1
               INTO
                    v_val
               FROM
                    px17_type_client t
                    , px17_securityobject s
                    , px17_cocodegroup c
               WHERE
                    t.securityoid=s.oid
                    AND t.category='T_CO_DEPT'
                    AND c.useroid=(SELECT a.oid
                                   FROM px17_associate a
                                   WHERE a.oid = c.useroid
                                        AND a.active=1
                                        AND UPPER(a.name) = UPPER(v_users)
                                        AND ROWNUM = 1)
                    AND SUBSTR(s.name,8,3)=c.co_code
                    AND (c.department_access IS NULL
                         OR c.department_access LIKE '%' || t.name || '%')
                    AND SUBSTR(s.name,8,3) = fv_cocode
                    AND t.name = fv_home_dept
                    AND ROWNUM = 1 ;
                    RETURN 1 ;
          EXCEPTION
               WHEN no_data_found THEN
                    BEGIN
                         SELECT
                              1
                         INTO
                              v_val
                         FROM
                              px17_cocodegroup c
                              , px17_associate a
                         WHERE
                              c.useroid=a.oid
                              AND c.department_access IS NULL
                              AND c.co_code = fv_cocode
                              AND UPPER(a.name)= UPPER(v_users)
                              AND a.active=1
                              AND ROWNUM = 1 ;
                         RETURN 1 ;
                    EXCEPTION
                         WHEN no_data_found THEN
                              RETURN 0 ;
                    END ;
          END ;
     END IF ;
     RETURN 0 ;
END f_check_security_px17 ;
SELECT SUBSTR(f_type_px17(ap.cidn,ap.currentstatusoid, 'DESC'), 1, 255)
                    from
                         px17_appointment ap,
                         /*context co_ap,*/
                         px17_payrollagreement pa,
                         px17_payrollgroup pg
CREATE OR REPLACE FUNCTION f_type_px17
fv_cidn IN px17_type_client.cidn%TYPE,
fv_oid IN px17_type_client.oid%TYPE,
fv_col IN VARCHAR2 DEFAULT NULL
) RETURN VARCHAR2 AUTHID CURRENT_USER AS
v_rtn_name px17_type_client.name%TYPE := NULL ;
v_rtn_desc px17_type_client.description%TYPE := NULL ;
BEGIN
IF fv_oid IS NOT NULL THEN
BEGIN
IF UPPER(SUBSTR(fv_oid,1,3)) = 'SYS' THEN
SELECT name, description
INTO v_rtn_name, v_rtn_desc
FROM px17_sys_type
WHERE oid = fv_oid
AND ROWNUM = 1 ;
ELSE
SELECT name, description
INTO v_rtn_name, v_rtn_desc
FROM px17_type_client
WHERE oid = fv_oid
     AND cidn = fv_cidn
AND ROWNUM = 1 ;
END IF ;
EXCEPTION
WHEN no_data_found THEN
v_rtn_name := NULL ;
v_rtn_desc := NULL ;
END ;
END IF ;
IF (UPPER(NVL(fv_col, '~')) = 'NAME') THEN
RETURN v_rtn_name ;
ELSIF ((UPPER(NVL(fv_col, '~')) = 'DESC')
OR (UPPER(NVL(fv_col, '~')) = 'DESCRIPTION')) THEN
RETURN v_rtn_desc ;
ELSE
RETURN (NVL(v_rtn_name, CHR(155)) || '~' || NVL(v_rtn_desc, CHR(155))) ;
END IF ;
END f_type_px17 ;
*************************

Similar Messages

  • Need to install only the query for fi account receivables standard data ?

    Hi all,
    I need to insall only the query for the standard business content for fi_ar in bw 3.5 ?
    i have selected the cube and then in grouping i have selected data flow afterwards only.
    And i have selected the queries only. but the cube is selected again. Should i uncheck the cube and install only the queries and transport it?
    Pls guide me on this!!
    Thanks
    Pooja

    Hi,
    If the required cube is already avaialble and continue with the existing design, you can uncheck the cube and install only queries. Check all the prerequisites before installing queries like used infoobjects, other targets if any.
    Hope this helps,
    Regards,
    Rama Murthy.

  • Need help in refining the query

    Hello Experts,
    Need your help in refining the query further more.
    table structure 
    Mskey  Col A Col B
    1   empno [20141127-20151128]1234
    1   empno [20151201-99991231]232544
    1   salutation [20141127-99991231]Mrs
    1   salutation [20151127-99991231]Mr
    2   empno [20141127-20151128]1234
    2   empno [20151201-99991231]232544
    2   salutation [20141127-99991231]Mrs
    2   salutation [20151127-99991231]Mr
    My requirement is to find the list of overlapping records based on the dates
    user details may be varying from time to time as new data would be pushed through HR systems to identity store via an interface.
    The job is getting failed whenever there is any overlapping with dates. So we proactively decided to schedule a job in this regards which runs weekly and would let us know for which and all the users there is overlapping dates are there, so that we can send the list to HR team for pushing new data.
    Overlapping Issue Example:
    The users employee id for an year it is 1234 and later he moved to another department and his employee id got changed and it became 2345 remaining all details are same. So the HR systems send the data for this user as empno - [20141127-20151128]1234 and empno - [20151201-99991231]232544
    it means from 20141127 to 20151128 his employee no is 1234 and from 20151201 to 99991231 his employee would be 2345.
    This is a correct case and the tool would accept this data.
    the below cases are invald
    Case 1: 1 salutation [20141127-99991231]Mrs 1 salutation [20151127-99991231]Mr
    Case 2: 2 salutation [20141127-99991231]Mrs 2 salutation [20141127-99991231]Mr
    So we wanted to find these overlapping records from tables.
    My Query:
    I am able to successfully write query for the case 2 type but unable to write for case1.
    select id,colA
    count(left(ColB,CHARINDEX(']',ColB))) as 'Count'
    from tblA with (nolock)
    where id in (Select distinct id from tblb with (nolock))
    group by id, cola,left(ColB,CHARINDEX(']',ColB))
    having count(left(ColB,CHARINDEX(']',ColB)))>1

    Finally got the required answer with the below query
    WITH Cte AS
    SELECT ID,ColA,ColB,ROW_NUMBER() OVER(ORDER BY (SELECT 1)) AS RN,
    CAST(SUBSTRING(ColB,2,CHARINDEX('-',ColB)-2) AS DATE) AS StartDT,
    CAST(SUBSTRING(ColB,CHARINDEX('-',ColB)+1,8) AS DATE)  AS EndDT  FROM TblA
    SELECT c1.ID, c1.ColA,c1.ColB
    FROM Cte c1 JOIN Cte c2
    ON c1.RN != c2.RN
    AND c1.ID=c2.ID
    AND c1.ColA=c2.ColA
    AND (c1.StartDT BETWEEN c2.StartDT AND c2.EndDT OR c2.StartDT BETWEEN c1.StartDT AND c1.EndDT )

  • Need help in fixing the error

    Hi All,
    could anybody help in fixing the following error.
    C:\bea\weblogic81\server\bin\.\myserver\.wlnotdelete\extract\myserver_SAISTARS_SAISTARS\jsp_servlet\__listproject.java:1071: cannot resolve symbol
    probably occurred due to an error in /listProject.jsp line 221:
    <pg:pager maxIndexPages="<%=10%>" maxPageItems="<%=10%>">
    Thanks and Regards,
    shaik

    Hi abinash,
    Not enough information!
    Check the logs for errors and post the here.
    regards
    Juan

  • Pls help me to modify the query for performance improvement

    Hi,
    I have the below initialization
    DECLARE @Active bit =1 ;
    Declare @id int
    SELECT @Active=CASE WHEN id=@id and [Rank] ='Good' then 0 else 1 END  FROM dbo.Students
    I have to change this query in such a way that the conditions id=@id and [Rank] ='Good' should go to the where condition of the query. In that case, how can i use Case statement to retrieve 1 or 0? Can you please help me to modify this initialization?

    I dont understand your query...May be below? or provide us sample data and your output...
    SELECT *  FROM dbo.students
    where @Active=CASE
    WHEN id=@id and rank ='Good' then 0 else 1 END
    But, I doubt you will have performance improvement here?
    Do you have index on id?
    If you are looking for getting the data for @ID with rank ='Good' then use the below:Make sure, you have index on id,rank combination.
    SELECT *  FROM dbo.students
    where  id=@id
    and rank ='Good' 

  • Need help in highlighting the query text in document

    Hi, I am trying to load the files in the blob column and trying to create the text index on it.
    i need to query the blob column in the document table with a string, which needs to return the relevant documents with the query string highlighted with some color.
    Can you please help me with an example on the above.
    Thanks in advance.

    SCOTT@orcl_11gR2> -- table:
    SCOTT@orcl_11gR2> CREATE TABLE document_tab
      2    (document_col  BLOB)
      3  /
    Table created.
    SCOTT@orcl_11gR2> -- procedure to load documents:
    SCOTT@orcl_11gR2> CREATE OR REPLACE PROCEDURE load_document
      2    (p_dir  IN VARCHAR2,
      3       p_file IN VARCHAR2)
      4  AS
      5    v_blob       BLOB;
      6    v_bfile       BFILE;
      7  BEGIN
      8    INSERT INTO document_tab (document_col)
      9    VALUES (EMPTY_BLOB())
    10    RETURNING document_col INTO v_blob;
    11    v_bfile := BFILENAME (UPPER (p_dir), p_file);
    12    DBMS_LOB.FILEOPEN (v_bfile, DBMS_LOB.LOB_READONLY);
    13    DBMS_LOB.LOADFROMFILE (v_blob, v_bfile, DBMS_LOB.GETLENGTH (v_bfile));
    14    DBMS_LOB.FILECLOSE (v_bfile);
    15  END load_document;
    16  /
    Procedure created.
    SCOTT@orcl_11gR2> SHOW ERRORS
    No errors.
    SCOTT@orcl_11gR2> -- load documents (directory and files must be on server, not client):
    SCOTT@orcl_11gR2> CREATE OR REPLACE DIRECTORY my_dir AS 'c:\my_oracle_files'
      2  /
    Directory created.
    SCOTT@orcl_11gR2> BEGIN
      2    load_document ('my_dir', 'banana.pdf');
      3    load_document ('my_dir', 'english.doc');
      4    load_document ('my_dir', 'sample.txt');
      5  END;
      6  /
    PL/SQL procedure successfully completed.
    SCOTT@orcl_11gR2> -- confirm files were loaded:
    SCOTT@orcl_11gR2> SELECT DBMS_LOB.GETLENGTH (document_col)
      2  FROM   document_tab
      3  /
    DBMS_LOB.GETLENGTH(DOCUMENT_COL)
                              222824
                               22016
                                  60
    3 rows selected.
    SCOTT@orcl_11gR2> -- text index:
    SCOTT@orcl_11gR2> CREATE INDEX document_idx
      2  ON document_tab (document_col)
      3  INDEXTYPE IS CTXSYS.CONTEXT
      4  /
    Index created.
    SCOTT@orcl_11gR2> -- confirm files were indexed:
    SCOTT@orcl_11gR2> SELECT COUNT(*) FROM dr$document_idx$i
      2  /
      COUNT(*)
           319
    1 row selected.
    SCOTT@orcl_11gR2> -- function to return highlighted document:
    SCOTT@orcl_11gR2> CREATE OR REPLACE FUNCTION your_markup
      2    (p_index_name IN VARCHAR2,
      3       p_textkey    IN VARCHAR2,
      4       p_text_query IN VARCHAR2,
      5       p_plaintext  IN BOOLEAN  DEFAULT TRUE,
      6       p_tagset     IN VARCHAR2 DEFAULT 'HTML_DEFAULT',
      7       p_starttag   IN VARCHAR2 DEFAULT '*',
      8       p_endtag     IN VARCHAR2 DEFAULT '*',
      9       p_key_type   IN VARCHAR2 DEFAULT 'ROWID')
    10    RETURN          CLOB
    11  AS
    12    v_clob          CLOB;
    13  BEGIN
    14    CTX_DOC.SET_KEY_TYPE (p_key_type);
    15    CTX_DOC.MARKUP
    16        (index_name => p_index_name,
    17         textkey    => p_textkey,
    18         text_query => p_text_query,
    19         restab     => v_clob,
    20         plaintext  => p_plaintext,
    21         tagset     => p_tagset,
    22         starttag   => p_starttag,
    23         endtag     => p_endtag);
    24    RETURN v_clob;
    25  END your_markup;
    26  /
    Function created.
    SCOTT@orcl_11gR2> SHOW ERRORS
    No errors.
    SCOTT@orcl_11gR2> -- query that returns highlighted document:
    SCOTT@orcl_11gR2> VARIABLE string VARCHAR2(100)
    SCOTT@orcl_11gR2> EXEC :string := 'test AND demonstration'
    PL/SQL procedure successfully completed.
    SCOTT@orcl_11gR2> SELECT your_markup ('document_idx', ROWID, :string)
      2           AS highlighted_text
      3  FROM   document_tab
      4  WHERE  CONTAINS (document_col, :string) > 0
      5  /HIGHLIGHTED_TEXT
    This is a test document for demonstration of highlighting.
    1 row selected.
    SCOTT@orcl_11gR2>

  • Need help in optimizing the query with joins and group by clause

    I am having problem in executing the query below.. it is taking lot of time. To simplify, I have added the two tables FILE_STATUS = stores the file load details and COMM table that is actual business commission table showing records successfully processed and which records were transmitted to other system. Records with status = T is trasnmitted to other system and traansactions with P is pending.
    CREATE TABLE FILE_STATUS
    (FILE_ID VARCHAR2(14),
    FILE_NAME VARCHAR2(20),
    CARR_CD VARCHAR2(5),
    TOT_REC NUMBER,
    TOT_SUCC NUMBER);
    CREATE TABLE COMM
    (SRC_FILE_ID VARCHAR2(14),
    REC_ID NUMBER,
    STATUS CHAR(1));
    INSERT INTO FILE_STATUS VALUES ('12345678', 'CM_LIBM.TXT', 'LIBM', 5, 4);
    INSERT INTO FILE_STATUS VALUES ('12345679', 'CM_HIPNT.TXT', 'HIPNT', 4, 0);
    INSERT INTO COMM VALUES ('12345678', 1, 'T');
    INSERT INTO COMM VALUES ('12345678', 3, 'T');
    INSERT INTO COMM VALUES ('12345678', 4, 'P');
    INSERT INTO COMM VALUES ('12345678', 5, 'P');
    COMMIT;Here is the query that I wrote to give me the details of the file that has been loaded into the system. It reads the file status and commission table to show file name, total records loaded, total records successfully loaded to the commission table and number of records that has been finally transmitted (status=T) to other systems.
    SELECT
        FS.CARR_CD
        ,FS.FILE_NAME
        ,FS.FILE_ID
        ,FS.TOT_REC
        ,FS.TOT_SUCC
        ,NVL(C.TOT_TRANS, 0) TOT_TRANS
    FROM FILE_STATUS FS
    LEFT JOIN
        SELECT SRC_FILE_ID, COUNT(*) TOT_TRANS
        FROM COMM
        WHERE STATUS = 'T'
        GROUP BY SRC_FILE_ID
    ) C ON C.SRC_FILE_ID = FS.FILE_ID
    WHERE FILE_ID = '12345678';In production this query has more joins and is taking lot of time to process.. the main culprit for me is the join on COMM table to get the count of number of transactions transmitted. Please can you give me tips to optimize this query to get results faster? Do I need to remove group and use partition or something else. Please help!

    I get 2 rows if I use my query with your new criteria. Did you commit the record if you are using a second connection to query? Did you remove the criteria for file_id?
    select carr_cd, file_name, file_id, tot_rec, tot_succ, tot_trans
      from (select fs.carr_cd,
                   fs.file_name,
                   fs.file_id,
                   fs.tot_rec,
                   fs.tot_succ,
                   count(case
                            when c.status = 'T' then
                             1
                            else
                             null
                          end) over(partition by c.src_file_id) tot_trans,
                   row_number() over(partition by c.src_file_id order by null) rn
              from file_status fs
              left join comm c
                on c.src_file_id = fs.file_id
             where carr_cd = 'LIBM')
    where rn = 1;
    CARR_CD FILE_NAME            FILE_ID           TOT_REC   TOT_SUCC  TOT_TRANS
    LIBM    CM_LIBM.TXT          12345678                5          4          2
    LIBM    CM_LIBM.TXT          12345677               10          0          0Using RANK can potentially produce multiple rows to be returned though your data may prevent this. ROW_NUMBER will always prevent duplicates. The ordering of the analytical function is irrelevant in your query if you use ROW_NUMBER. You can remove the outermost query and inspect the data returned by the inner query;
    select fs.carr_cd,
           fs.file_name,
           fs.file_id,
           fs.tot_rec,
           fs.tot_succ,
           count(case
                    when c.status = 'T' then
                     1
                    else
                     null
                  end) over(partition by c.src_file_id) tot_trans,
           row_number() over(partition by c.src_file_id order by null) rn
    from file_status fs
    left join comm c
    on c.src_file_id = fs.file_id
    where carr_cd = 'LIBM';
    CARR_CD FILE_NAME            FILE_ID           TOT_REC   TOT_SUCC  TOT_TRANS         RN
    LIBM    CM_LIBM.TXT          12345678                5          4          2          1
    LIBM    CM_LIBM.TXT          12345678                5          4          2          2
    LIBM    CM_LIBM.TXT          12345678                5          4          2          3
    LIBM    CM_LIBM.TXT          12345678                5          4          2          4
    LIBM    CM_LIBM.TXT          12345677               10          0          0          1

  • Newbie - need help with a SQL query for a bar chart

    Hi,
    I'm a new user on APEX with no real SQL knowledge and I'm trying to build a dashboard with charts into an existing APEX application. Based on another application, I have come up with the following SQL code:
    select null link
    , CATEGORY label
    , count (decode(PROJECT_STATUS,'1',PROJECT_ID))"Active"
    , count (decode(PROJECT_STATUS,'2',PROJECT_ID))"Complete"
    , count (decode(PROJECT_STATUS,'3',PROJECT_ID))"On Hold"
    , count (decode(PROJECT_STATUS,'4',PROJECT_ID))"Pipeline"
    , count (decode(PROJECT_STATUS,'5',PROJECT_ID))"Pending Review"
    from GRAPO_PROHEADTRK
    where (PROJECT_STATUS='1' or PROJECT_STATUS='2' or PROJECT_STATUS='3' or PROJECT_STATUS='4' or PROJECT_STATUS='5' or PROJECT_STATUS='6')
    group by CATEGORY
    Order by COUNT(PROJECT_ID) DESC
    The code from the other app was:
    select null link
    , FUNCTIONAL_AREA label
    , count (decode(PROJECT_STATUS,'Active',PROJECT_ID))"Active"
    , count (decode(PROJECT_STATUS,'Complete',PROJECT_ID))"Complete"
    , count (decode(PROJECT_STATUS,'On Hold',PROJECT_ID)) "On Hold"
    , count (decode(PROJECT_STATUS,'Recurring',PROJECT_ID))"Recurring"
    , count (decode(PROJECT_STATUS,'Pipeline',PROJECT_ID))"Pipeline"
    , count (decode(PROJECT_STATUS,'Not Approved',PROJECT_ID))"Not Approved"
    from PM_V2
    where LOB='S2S' and (FUNCTIONAL_AREA='Accounts Payable' or FUNCTIONAL_AREA='Expense' or FUNCTIONAL_AREA='Procurement' or FUNCTIONAL_AREA='Fixed Assets')
    group by FUNCTIONAL_AREA
    Order by COUNT(PROJECT_ID) DESC
    I'm getting a "Failed to parse SQL query!" error when I try to run validation.
    Is this enough info for some assistance? Any help would really be appreciated.
    Thanks,
    Rachel

    Hello,
    This is more of an SQL question, rather than specifically APEX-related. It's notable that you say: I'm a new user on APEX with no real SQL knowledgeWhich is fine (we all have to start somewhere, afterall) but it might be worth de-coupling the problem from APEX in the first instance. I'd also strongly recommend either taking a course, reading a book (e.g. http://books.google.co.uk/books?id=r5vbGgz7TFsC&printsec=frontcover&dq=Mastering+Oracle+SQL&hl=en#v=onepage&q=Mastering%20Oracle%20SQL&f=false) or looking for a basic SQL tutorial - it will save you a whole lot of heartache, I promise you. Search the oracle forums for the terms "Basic SQL Tutorial" and you should come up with a bunch of results.
    Given that you've copied your query template from another, I would suggest ensuring that the actual query works first of all. Try running it in either:
    * SQL Editor
    * SQL*Plus
    * an IDE like SQL Developer (available free from the OTN: http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html ) or TOAD or similar.
    You may find there are syntax errors associated with the query - it's difficult to tell without looking at your data model.
    select null link
    , CATEGORY label
    , count (decode(PROJECT_STATUS,'1',PROJECT_ID))"Active"
    , count (decode(PROJECT_STATUS,'2',PROJECT_ID))"Complete"
    , count (decode(PROJECT_STATUS,'3',PROJECT_ID))"On Hold"
    , count (decode(PROJECT_STATUS,'4',PROJECT_ID))"Pipeline"
    , count (decode(PROJECT_STATUS,'5',PROJECT_ID))"Pending Review"
    from GRAPO_PROHEADTRK
    where (PROJECT_STATUS='1' or PROJECT_STATUS='2' or PROJECT_STATUS='3' or PROJECT_STATUS='4' or PROJECT_STATUS='5' or PROJECT_STATUS='6')
    group by CATEGORYNote that your "order by" clause references a field called "PROJECT_ID", which exists in the old query but you've changed other similar references to "PROJECT_STATUS" - is it possible you've just missed this one? The perils of copy-paste coding I'm afraid...

  • Please Help me fix the css for font colors in this menu!

    I have finally figured out how to make my drop down menu work, but I need some help troubleshooting this code. I have fiddled with the code for several hours and have still been unable to fix it. My issue is that I have been unable to distinguish between the top level links and the dropdown menu links. I want the dropdown menu links to be a light cream color. However, they are being displayed as the same color as the hover color.
    Here is the webpage loaded online: www.theriveroverlook.com/Trial.html
    If you hover over "Accomodations", you will see the issue. The green color of the hovered links is also being displayed in the lower level menu. This makes them unable to be read easily and presents a problem.
    Here is applicable css code:
    body {
               width:1170px;
               height:1300px;
               background-image:url(BackgroundImage.jpg);
    background-repeat:no-repeat;
    padding-left:0px;
    padding-right:0px;
    padding-top:0px;
    /* BEGIN HORIZONTAL DROP-MENU */
    #navcontainer {
              margin-left:0px;
              padding-left:0px;
              margin-top:200px;      
              background-image:url(MenuBarFINAL.png);
              background-repeat: no-repeat;
              height: 192px;
                          width:1170;
    nav {
                           font-size:22px;
                           font:"goudy-bookletter-1911";
                           font-weight:500;
              text-align: left;
              padding-top: 65px;
                          margin-left:0px;
                          padding-left:0px;
    nav ul ul {
              display: none;
    nav ul li:hover > ul {
              display: block;
    nav ul {
                                  margin-left:0px;
              padding: 0 0px;
              list-style: none;
              display: inline-table;
    /*Top level nav spacing, listing*/
    nav ul li {
              float: left;
                           margin-left:0px;
    nav ul li:hover a {color:#060;}
    nav ul li:active a {color:#300;}
    nav ul li:visited a {color:#900;}
    /*top level text display*/
    nav ul li a {
              display:inline;
              text-decoration: none;
                          color:#55390e; 
    ul.accomdrop a {
              color:#fbf1cc;
    #accomdrop {
                      background-image:url(dropdownpng.png);
                                  margin-top: 13px;
                                  width: 155px;
                                  padding-bottom: 69px;
                                  background-repeat:no-repeat;
    nav ul ul li {
                                  font-size:18px;
                                  font-weight: 100;
              float: none;
                          color:#e4ddc8;
    #home {
              margin-left: 75px;
    #accom {
              margin-left: 35px;
              width: 120 px;
              padding-right: 25px;
    #holston {
              padding-top: 10px;
              padding-bottom:10px;
              padding-left: 17px;
              word-wrap:normal;
              text-align:center;
              width:120px;
    #tennessee {
              padding-top: 10px;
              padding-bottom: 15px;
              padding-left:17px;
              word-wrap: normal;
              text-align:center;
              width: 120px;
    #french {
              padding-top: 8px;
              padding-bottom: 10px;
              padding-left: 17px;
              word-wrap:normal;
              text-align:center;
              width: 120px;
    #amenities {
              margin-left: 15px;
              width: 110px;
    #packages {
              margin-left: 285px;
              width:120px;
    #packdrop {
              background-image:url(dropdownpng2.png);
              margin-left:-35px;
              margin-top: 13px;
                                  width: 155px;
                                  padding-bottom: 80px;
                                  background-repeat:no-repeat;
    #romance {
                        padding-top: 5px;
              padding-bottom:8px;
              padding-left: 2px;
              word-wrap:normal;
              text-align:center;
              width:150px;
    #golf {
              padding-top: 15px;
              padding-bottom:12px;
              padding-left:2px;
              word-wrap:normal;
              text-align:center;
              width: 150px;
    #photo {
              padding-top: 5px;
              padding-bottom:13px;
              padding-left:2px;
              word-wrap:normal;
              text-align:center;
              width:150px;
    #cook {padding-top: 7px;
              padding-bottom:10px;
              padding-left:2px;
              word-wrap:normal;
              text-align:center;
              width:150px;
    #fish {padding-top: 10px;
              padding-bottom:10px;
              padding-left:2px;
              word-wrap:normal;
              text-align:center;
              width:150px;
    #directions {
              margin-left: 20px;
    I really appreciate any help you can give me! Sometimes, you stare at something so long that you can't see the obvious problem before you!
    Jaime

    See if this helps:
    http://alt-web.com/DEMOS/CSS-Multi-colored-drop-menu.shtml
    Nancy O.

  • Oracle Instance Failuer Need help to fix the problem

    Hi
    I am running Oracle9.2 on AIX. The data base got filed due to the following error and I am not getting where to start to dig into the error. The following are the mesg I found in alert log file. But i restarted it its now running But I dont want the same problem to repeat that's why I need assistance to debug the problem. Thanks
    Sat Oct 1 21:11:06 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_65536.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Sat Oct 1 21:11:10 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_64730.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Sat Oct 1 21:11:13 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_29256.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Sat Oct 1 21:11:16 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_74036.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Sat Oct 1 21:11:18 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_24036.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Sat Oct 1 21:11:20 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_58880.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Sat Oct 1 21:11:22 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_24038.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Sat Oct 1 21:11:25 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_65544.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Sat Oct 1 21:11:28 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_74044.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Sat Oct 1 21:11:31 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_24050.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Sat Oct 1 21:11:34 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_55086.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Sat Oct 1 21:11:37 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_59506.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Sat Oct 1 21:11:40 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_58894.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Sat Oct 1 21:11:43 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_59508.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Sat Oct 1 21:11:46 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_65552.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Sat Oct 1 21:11:49 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_24056.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Sat Oct 1 21:11:52 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_65556.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Sat Oct 1 21:11:55 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_64746.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Sat Oct 1 21:11:58 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_74056.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Sat Oct 1 21:12:01 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_55098.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Sat Oct 1 21:12:04 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_74058.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Sat Oct 1 21:12:07 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_59520.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Mon Oct 3 10:25:56 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_23834.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Mon Oct 3 10:27:32 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_38114.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Mon Oct 3 10:28:29 2005
    Starting ORACLE instance (normal)
    Mon Oct 3 10:29:03 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_65696.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Mon Oct 3 10:29:24 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_54902.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Mon Oct 3 10:31:32 2005
    Starting ORACLE instance (normal)
    Mon Oct 3 10:31:33 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_55050.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Mon Oct 3 10:32:07 2005
    Shutting down instance: further logons disabled
    Shutting down instance (immediate)
    License high water mark = 26
    All dispatchers and shared servers shutdown
    Mon Oct 3 10:32:11 2005
    ALTER DATABASE CLOSE NORMAL
    Mon Oct 3 10:32:11 2005
    SMON: disabling tx recovery
    SMON: disabling cache recovery
    Mon Oct 3 10:32:11 2005
    Shutting down archive processes
    Archiving is disabled
    Mon Oct 3 10:32:11 2005
    ARCH shutting down
    ARC0: Archival stopped
    Mon Oct 3 10:32:11 2005
    ARCH shutting down
    ARC1: Archival stopped
    Mon Oct 3 10:32:12 2005
    Thread 1 closed at log sequence 4026
    Successful close of redo thread 1
    Mon Oct 3 10:32:18 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_74172.trc:
    ORA-00600: internal error code, arguments: [17175], [255], [], [], [], [], [], []
    Mon Oct 3 10:32:19 2005
    Errors in file /oracle/ABBA1/system/dump/udump/ABBA1_ora_74172.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    ORA-00600: internal error code, arguments: [17175], [255], [], [], [], [], [], []
    Mon Oct 3 10:32:29 2005
    Errors in file /oracle/ABBA1/system/dump/bdump/ABBA1_pmon_32534.trc:
    ORA-00600: internal error code, arguments: [17175], [255], [], [], [], [], [], []
    Mon Oct 3 10:32:29 2005
    Errors in file /oracle/ABBA1/system/dump/bdump/ABBA1_pmon_32534.trc:
    ORA-00600: internal error code, arguments: [17175], [255], [], [], [], [], [], []
    Mon Oct 3 10:32:29 2005
    PMON: terminating instance due to error 600
    Instance terminated by PMON, pid = 32534
    Mon Oct 3 10:33:46 2005
    Starting ORACLE instance (normal)
    LICENSE_MAX_SESSION = 0
    LICENSE_SESSIONS_WARNING = 0
    SCN scheme 3
    Using log_archive_dest parameter default value
    LICENSE_MAX_USERS = 0
    SYS auditing is disabled
    Starting up ORACLE RDBMS Version: 9.2.0.5.0.
    System parameters with non-default values:
    processes = 150
    timed_statistics = TRUE
    shared_pool_size = 117440512
    large_pool_size = 16777216
    java_pool_size = 117440512
    control_files = /oracle/ABBA1/system/control01.ctl, /oracle/ABBA1/system/control02.ctl, /oracle/ABBA1/system/control03.ctl
    db_block_size = 16384
    db_cache_size = 318767104
    compatible = 9.2.0.0.0
    log_archive_start = TRUE
    log_archive_dest_1 = LOCATION=/oracle/ABBA1/archive
    log_archive_format = ABBA1_%T_%S.ARC
    db_file_multiblock_read_count= 32
    fast_start_mttr_target = 300
    undo_management = AUTO
    undo_tablespace = UNDOTBS1
    undo_retention = 10800
    remote_login_passwordfile= EXCLUSIVE
    db_domain =
    instance_name = oracle/ABBA1
    dispatchers = (PROTOCOL=TCP) (SERVICE=oracle/ABBA1XDB)
    job_queue_processes = 10
    hash_join_enabled = TRUE
    hash_area_size = 1048576
    background_dump_dest = /oracle/ABBA1/system/dump/bdump
    user_dump_dest = /oracle/ABBA1/system/dump/udump
    core_dump_dest = /oracle/ABBA1/system/dump/cdump
    sort_area_size = 1048576
    db_name = ABBA1
    open_cursors = 300
    star_transformation_enabled= TRUE
    query_rewrite_enabled = TRUE
    pga_aggregate_target = 314572800
    aq_tm_processes = 1
    PMON started with pid=2
    DBW0 started with pid=3
    LGWR started with pid=4
    CKPT started with pid=5
    SMON started with pid=6
    RECO started with pid=7
    CJQ0 started with pid=8
    QMN0 started with pid=9
    Mon Oct 3 10:33:48 2005
    starting up 1 shared server(s) ...
    starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
    ARCH: STARTING ARCH PROCESSES
    ARC0 started with pid=12
    ARC0: Archival started
    ARC1 started with pid=13
    ARC1: Archival started
    Mon Oct 3 10:33:49 2005
    ARCH: STARTING ARCH PROCESSES COMPLETE
    Mon Oct 3 10:33:49 2005
    ARC0: Thread not mounted
    Mon Oct 3 10:33:49 2005
    ARC1: Thread not mounted
    Mon Oct 3 10:33:49 2005
    /* OracleOEM */ ALTER DATABASE MOUNT
    Mon Oct 3 10:33:53 2005
    Successful mount of redo thread 1, with mount id 1053693133
    Mon Oct 3 10:33:53 2005
    Database mounted in Exclusive Mode.
    Completed: /* OracleOEM */ ALTER DATABASE MOUNT
    Mon Oct 3 10:33:53 2005
    /* OracleOEM */ ALTER DATABASE OPEN
    Mon Oct 3 10:33:53 2005
    LGWR: Primary database is in CLUSTER CONSISTENT mode
    Thread 1 opened at log sequence 4026
    Current log# 2 seq# 4026 mem# 0: /oracle/ABBA1/redo2/redo2_A.dbf
    Current log# 2 seq# 4026 mem# 1: /oracle/ABBA1/redocopy/redo2_B.dbf
    Successful open of redo thread 1
    Mon Oct 3 10:33:54 2005
    SMON: enabling cache recovery
    Mon Oct 3 10:33:54 2005
    Undo Segment 1 Onlined
    Undo Segment 2 Onlined
    Undo Segment 3 Onlined
    Undo Segment 4 Onlined
    Undo Segment 5 Onlined
    Undo Segment 6 Onlined
    Undo Segment 7 Onlined
    Undo Segment 8 Onlined
    Undo Segment 9 Onlined
    Undo Segment 10 Onlined
    Successfully onlined Undo Tablespace 1.
    Mon Oct 3 10:33:54 2005
    SMON: enabling tx recovery
    Mon Oct 3 10:33:54 2005
    Database Characterset is WE8ISO8859P1
    replication_dependency_tracking turned off (no async multimaster replication found)
    Completed: /* OracleOEM */ ALTER DATABASE OPEN
    Mon Oct 3 10:34:17 2005
    ORA-00130: invalid listener address '(ADDRESS=(PROTOCOL=TCP)(HOST=plpar00)(PORT=1521))'
    Mon Oct 3 10:34:35 2005
    Shutting down instance: further logons disabled
    Shutting down instance (immediate)
    License high water mark = 5
    Waiting for dispatcher 'D000' to shutdown
    All dispatchers and shared servers shutdown
    Mon Oct 3 10:34:38 2005
    ALTER DATABASE CLOSE NORMAL
    Mon Oct 3 10:34:39 2005
    SMON: disabling tx recovery
    SMON: disabling cache recovery
    Mon Oct 3 10:34:39 2005
    Shutting down archive processes
    Archiving is disabled
    Mon Oct 3 10:34:39 2005
    ARCH shutting down
    ARC0: Archival stopped
    Mon Oct 3 10:34:39 2005
    ARCH shutting down
    ARC1: Archival stopped
    Mon Oct 3 10:34:39 2005
    Thread 1 closed at log sequence 4026
    Successful close of redo thread 1
    Mon Oct 3 10:34:39 2005
    Completed: ALTER DATABASE CLOSE NORMAL
    Mon Oct 3 10:34:39 2005
    ALTER DATABASE DISMOUNT
    Completed: ALTER DATABASE DISMOUNT
    ARCH: Archiving is disabled
    Shutting down archive processes
    Archiving is disabled
    Archive process shutdown avoided: 0 active
    ARCH: Archiving is disabled
    Shutting down archive processes
    Archiving is disabled
    Archive process shutdown avoided: 0 active
    Mon Oct 3 10:34:49 2005
    Starting ORACLE instance (normal)
    LICENSE_MAX_SESSION = 0
    LICENSE_SESSIONS_WARNING = 0
    SCN scheme 3
    LICENSE_MAX_USERS = 0
    SYS auditing is disabled
    Starting up ORACLE RDBMS Version: 9.2.0.5.0.
    System parameters with non-default values:
    processes = 150
    timed_statistics = TRUE
    shared_pool_size = 117440512
    large_pool_size = 16777216
    java_pool_size = 117440512
    control_files = /oracle/ABBA1/system/control01.ctl, /oracle/ABBA1/system/control02.ctl, /oracle/ABBA1/system/control03.ctl
    db_block_size = 16384
    db_cache_size = 318767104
    compatible = 9.2.0.0.0
    log_archive_start = TRUE
    log_archive_dest = /oracle/ABBA1/archive
    log_archive_format = ABBA1_%T_%S.ARC
    db_file_multiblock_read_count= 32
    fast_start_mttr_target = 300
    undo_management = AUTO
    undo_tablespace = UNDOTBS1
    undo_retention = 10800
    remote_login_passwordfile= EXCLUSIVE
    db_domain =
    instance_name = oracle/ABBA1
    dispatchers = (PROTOCOL=TCP) (SERVICE=oracle/ABBA1XDB)
    job_queue_processes = 10
    hash_join_enabled = TRUE
    hash_area_size = 1048576
    background_dump_dest = /oracle/ABBA1/system/dump/bdump
    user_dump_dest = /oracle/ABBA1/system/dump/udump
    core_dump_dest = /oracle/ABBA1/system/dump/cdump
    sort_area_size = 1048576
    db_name = ABBA1
    open_cursors = 300
    star_transformation_enabled= TRUE
    query_rewrite_enabled = TRUE
    pga_aggregate_target = 314572800
    aq_tm_processes = 1
    PMON started with pid=2
    DBW0 started with pid=3
    LGWR started with pid=4
    CKPT started with pid=5
    SMON started with pid=6
    RECO started with pid=7
    CJQ0 started with pid=8
    QMN0 started with pid=9
    Mon Oct 3 10:34:49 2005
    I need assistance in this regard
    Thanks

    It will help if you have a look at Note:211909.1 in Metalink to understand why ORA-07445
    Then have a look at the content of the trace files. e.g /oracle/ABBA1/system/dump/udump/ABBA1_ora_65536.trc to see if you can pick anything from the 'Current SQL statement' you will see in it (get help from Note:154170.1). This will at least give you an idea what SQL is causing the problem.
    If they are your own application SQLs, then try to see if your team can fix the code. If they are System related or you cannot figure out what it is (even if it is from your own SQLs), I would suggest log a TAR with Oracle Support.

  • Need help in tunnig the query

    Experts,
    Plz help in tuning this query
    SELECT
    DECODE(WSH_DELIVERY_DETAILS.LOT_NUMBER,'5I27164/1U',1, TO_NUMBER(SUBSTR(WSH_DELIVERY_DETAILS.LOT_NUMBER, (LENGTH(WSH_DELIVERY_DETAILS.LOT_NUMBER) - INSTR(REVERSE(WSH_DELIVERY_DETAILS.LOT_NUMBER),'/') + 2), (INSTR(REVERSE(WSH_DELIVERY_DETAILS.LOT_NUMBER),'/')-1))) ) AS NO_OF_PLATES,
         P_FORM.DESCRIPTION FORMOFPRODUCT,
    HZ_PARTIES.PARTY_NAME CUSTOMER, HZ_CUST_ACCOUNTS.ACCOUNT_NUMBER ACCT_NUM,
         NVL(OE_ORDER_HEADERS_ALL.CUST_PO_NUMBER,'XXXX') CUST_PO,
         INITCAP(HZ_PARTIES.ADDRESS1) BILL_ADD1,
    INITCAP(HZ_PARTIES.ADDRESS2) BILL_ADD2,
    INITCAP(HZ_PARTIES.ADDRESS3) BILL_ADD3,
    INITCAP(HZ_PARTIES.ADDRESS4) BILL_ADD4,
         INITCAP(HZ_PARTIES.CITY) BILL_CITY,
    INITCAP(HZ_PARTIES.STATE) BILL_STATE,
    HZ_PARTIES.POSTAL_CODE BILL_PC,
         INITCAP(HZ_LOCATIONS.ADDRESS1) SHIP_ADD1,
    INITCAP(HZ_LOCATIONS.ADDRESS2) SHIP_ADD2,
    INITCAP(HZ_LOCATIONS.ADDRESS3) SHIP_ADD3,
    INITCAP(HZ_LOCATIONS.ADDRESS4) SHIP_ADD4,
         INITCAP(HZ_LOCATIONS.CITY) SHIP_CITY,
    INITCAP(HZ_LOCATIONS.STATE) SHIP_STATE,
    HZ_LOCATIONS.POSTAL_CODE SHIP_PC,
         OE_TRANSACTION_TYPES_TL.NAME CATEGORY ,
         OE_ORDER_HEADERS_ALL.ORDER_NUMBER,
    OE_ORDER_HEADERS_ALL.SOURCE_DOCUMENT_ID,
    OE_ORDER_HEADERS_ALL.HEADER_ID,
    OE_ORDER_HEADERS_ALL.FREIGHT_TERMS_CODE,
    /* to_char(oe_order_headers_all.ORDERED_DATE,'DD-MON-RR HH24:MI:SS') ORDER_DATE,*/
    to_char(sysdate,'DD/MM/RRRR HH24:MI:SS') ORDERED_DATE,
         ROWNUM,
    OE_ORDER_LINES_ALL.INVENTORY_ITEM_ID,
         OE_ORDER_LINES_ALL.ORDERED_ITEM,
         OE_ORDER_LINES_ALL.ORDERED_QUANTITY,
         WSH_DELIVERY_DETAILS.SHIPPED_QUANTITY+DECODE(WSH_DELIVERY_DETAILS.DELIVERY_DETAIL_ID,129881,.22,0) AS SHIPPED_QUANTITY1, (WSH_DELIVERY_DETAILS.SHIPPED_QUANTITY+DECODE(WSH_DELIVERY_DETAILS.DELIVERY_DETAIL_ID,129881,.22,0))*OE_ORDER_LINES_ALL.UNIT_SELLING_PRICE AS LINE_PRICE,
         OE_ORDER_LINES_ALL.UNIT_SELLING_PRICE,
         JA_IN_RG_I.FOR_HOME_USE_PAY_ED_VAL,
    ----      SUBSTR(JA_IN_RG_I.EXCISE_INVOICE_NUMBER,1,2)|| SUBSTR(JA_IN_RG_I.EXCISE_INVOICE_NUMBER,4,8) INVOICE_NO,
         JA_IN_RG_I.EXCISE_INVOICE_NUMBER INVOICE_NO,
    to_char(JA_IN_RG_I.CREATION_DATE,'DD/MM/RRRR') INVOICE_DATE1,
         to_char(JA_IN_RG_I.EXCISE_INVOICE_DATE,'DD-MON-RR HH24:MI:SS') INV_DATE,
         to_char(JA_IN_RG_I.CREATION_DATE,'DD/MM/RRRR HH24:MI:SS') INVOICE_DATE,
         JA_IN_RG_I.EXCISE_DUTY_RATE,
         JA_IN_RG_I.EXCISE_DUTY_AMOUNT,
         WSH_DELIVERY_DETAILS.LOT_NUMBER,
    WSH_TRIPS.CARRIER_ID CARRIER_ID,
    WSH_TRIPS.VEHICLE_NUM_PREFIX,
    WSH_TRIPS.SEAL_CODE,
    WSH_TRIPS.ROUTING_INSTRUCTIONS,
    WSH_TRIPS.OPERATOR, WSH_NEW_DELIVERIES. DELIVERY_ID,
    WSH_NEW_DELIVERIES. ADDITIONAL_SHIPMENT_INFO TRUCK_NO,
         WSH_TRIPS.MODE_OF_TRANSPORT VEHICLE_TYPE,
    WSH_TRIPS.ATTRIBUTE6||' '|| WSH_TRIPS.ATTRIBUTE7||' '|| WSH_TRIPS.ATTRIBUTE8 REMARKS,
         WSH_TRIPS.ATTRIBUTE1 LR_NO, WSH_TRIPS.ATTRIBUTE7,
         WSH_TRIPS.ATTRIBUTE2 LR_DATE,
         DECODE(WSH_TRIPS.ATTRIBUTE3, '', '', 'ARE NO '||WSH_TRIPS.ATTRIBUTE3) AS ARE_NO,
         DECODE(WSH_TRIPS.ATTRIBUTE6, '', '', WSH_TRIPS.ATTRIBUTE6) AS REMARK1,
         DECODE(WSH_TRIPS.ATTRIBUTE4, '', '', 'R.P. NO. ' ||WSH_TRIPS.ATTRIBUTE4) AS PERMIT,
         DECODE(WSH_TRIPS.ATTRIBUTE5, '', '', 'Export Under '||WSH_TRIPS.ATTRIBUTE5) AS EXPORT_UNDER,
         DECODE(WSH_NEW_DELIVERIES.PORT_OF_DISCHARGE,'','', 'Seal No : '||WSH_NEW_DELIVERIES.PORT_OF_DISCHARGE) AS SEAL_NO,
         DECODE(WSH_NEW_DELIVERIES.DESCRIPTION, '', '', 'Container No : ' ||WSH_NEW_DELIVERIES.DESCRIPTION) AS CONTAINER_NO,
         MTL_SYSTEM_ITEMS_B.ATTRIBUTE4 AS EXCISE_TARIFF_NO,
         --MTL_SYSTEM_ITEMS_B.DESCRIPTION,
         HZ_CUST_ACCOUNTS.ACCOUNT_NUMBER,
         JSW_LOT_PACKSLIP.PACKSLIP_NO PACKSLIP,
         PR_TYPE.DESCRIPTION ||' ,'||
         P_FORM.DESCRIPTION || ' ,'||
         PR_GRADE.DESCRIPTION ||' ,'||
         PR_QTY.DESCRIPTION || ' ,'||
         DECODE(SUBSTR(PR_STL.DESCRIPTION,1,3),'Not','', PR_STL.DESCRIPTION) DESCRIPTION ,
    HZ_CUST_ACCT_SITES_ALL.ATTRIBUTE7 S_CST_NO,
    HZ_CUST_ACCT_SITES_ALL.ATTRIBUTE6 S_LST_NO,
    HZ_CUST_ACCT_SITES_ALL.ATTRIBUTE5 S_ECC_NO,
    A.ATTRIBUTE7 B_CST_NO,
    A.ATTRIBUTE6 B_LST_NO,
    INTERFACECRM.JSW_MES_COMMON_TNGL_T.JSW_ADDMINUTES(WSH_TRIPS.VEHICLE_NUM_PREFIX) POSTFIX_NUM
    FROM -- jsw_vat_slno,
         MTL_PARAMETERS,
         HZ_PARTIES,
         HZ_CUST_ACCOUNTS,
         HZ_LOCATIONS,
         HZ_PARTY_SITES,
         HZ_CUST_ACCT_SITES_ALL,
         HZ_CUST_SITE_USES_ALL,
    HZ_CUST_ACCT_SITES_ALL A,
    HZ_CUST_SITE_USES_ALL B,
         OE_TRANSACTION_TYPES_TL,
         JA_IN_RG_I,
         WSH_DELIVERY_DETAILS,
         OE_ORDER_LINES_ALL,
         OE_ORDER_HEADERS_ALL,
         WSH_DELIVERY_ASSIGNMENTS,
         WSH_NEW_DELIVERIES,
         WSH_DELIVERY_LEGS,
         WSH_TRIP_STOPS,
         WSH_TRIPS,
         MTL_SYSTEM_ITEMS_B,
         JSW_LOT_PACKSLIP,
         IC_TRAN_PND,
                   JSW_ITM_SEARCH_PRD_TYP          PR_TYPE,
              JSW_ITM_SEARCH_PRD_FRM          P_FORM     ,
                   JSW_ITM_SEARCH_PRD_GRD          PR_GRADE,      
              JSW_ITM_SEARCH_QUALITY_LEVEL PR_QTY,      
                   JSW_ITEM_SEARCH_SLITTING      PR_STL
    WHERE /* jsw_vat_slno.excise_invoice_number=ja_in_rg_i.excise_invoice_number and jsw_vat_slno.organization_id = ja_in_rg_i.organization_id */
    HZ_PARTIES.PARTY_ID = HZ_CUST_ACCOUNTS.PARTY_ID
         AND HZ_CUST_ACCOUNTS.CUST_ACCOUNT_ID = OE_ORDER_HEADERS_ALL.SOLD_TO_ORG_ID
         AND OE_ORDER_HEADERS_ALL.SHIP_TO_ORG_ID = HZ_CUST_SITE_USES_ALL.SITE_USE_ID
         AND HZ_CUST_SITE_USES_ALL.CUST_ACCT_SITE_ID = HZ_CUST_ACCT_SITES_ALL.CUST_ACCT_SITE_ID
    AND OE_ORDER_HEADERS_ALL.INVOICE_TO_ORG_ID = B.SITE_USE_ID
         AND B.CUST_ACCT_SITE_ID                          = A.CUST_ACCT_SITE_ID
         AND HZ_CUST_ACCT_SITES_ALL.PARTY_SITE_ID      = HZ_PARTY_SITES.PARTY_SITE_ID
         AND HZ_PARTY_SITES.LOCATION_ID = HZ_LOCATIONS.LOCATION_ID
         AND OE_ORDER_LINES_ALL.SHIP_FROM_ORG_ID = MTL_PARAMETERS.ORGANIZATION_ID
         AND OE_ORDER_HEADERS_ALL.ORDER_TYPE_ID = OE_TRANSACTION_TYPES_TL.TRANSACTION_TYPE_ID
    and upper(oe_transaction_types_tl.description) not like '%SUP%'
         AND OE_ORDER_HEADERS_ALL.HEADER_ID = WSH_DELIVERY_DETAILS.SOURCE_HEADER_ID
         AND OE_ORDER_HEADERS_ALL.HEADER_ID = OE_ORDER_LINES_ALL.HEADER_ID
         AND OE_ORDER_LINES_ALL.LINE_ID = WSH_DELIVERY_DETAILS.SOURCE_LINE_ID
         AND TO_CHAR(WSH_DELIVERY_DETAILS.DELIVERY_DETAIL_ID ) = JA_IN_RG_I.REF_DOC_ID
         AND WSH_DELIVERY_DETAILS.DELIVERY_DETAIL_ID = WSH_DELIVERY_ASSIGNMENTS.DELIVERY_DETAIL_ID
         AND WSH_DELIVERY_ASSIGNMENTS.DELIVERY_ID = WSH_NEW_DELIVERIES.DELIVERY_ID
         AND WSH_NEW_DELIVERIES.DELIVERY_ID = WSH_DELIVERY_LEGS.DELIVERY_ID
         AND WSH_DELIVERY_LEGS.PICK_UP_STOP_ID = WSH_TRIP_STOPS.STOP_ID
         AND WSH_TRIP_STOPS.TRIP_ID                = WSH_TRIPS.TRIP_ID
    /* Input parameter can be either Invoice number or Delivery Id */
         AND (WSH_NEW_DELIVERIES.DELIVERY_ID = :DEL_ID OR JA_IN_RG_I.EXCISE_INVOICE_NUMBER = :INVOICE_NUMBER)
         AND NVL(WSH_DELIVERY_DETAILS.SHIPPED_QUANTITY,0) <>0
         AND     MTL_SYSTEM_ITEMS_B.ORGANIZATION_ID     = WSH_DELIVERY_DETAILS.ORGANIZATION_ID
         AND     MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID = WSH_DELIVERY_DETAILS.INVENTORY_ITEM_ID
         AND IC_TRAN_PND.LINE_DETAIL_ID               = WSH_DELIVERY_DETAILS.DELIVERY_DETAIL_ID
         AND     JSW_LOT_PACKSLIP.LOT_ID                    = IC_TRAN_PND.LOT_ID(+)
         AND     JSW_LOT_PACKSLIP.DELIVERY_ID          = WSH_NEW_DELIVERIES.DELIVERY_ID(+)
         AND      IC_TRAN_PND.LINE_ID                    = OE_ORDER_LINES_ALL.LINE_ID                                                  
         AND     IC_TRAN_PND.DELETE_MARK                = 0
         AND IC_TRAN_PND.COMPLETED_IND      = 1
         AND      IC_TRAN_PND.STAGED_IND                    =     1
         AND     P_FORM.CODE(+)                                   = substr(OE_ORDER_LINES_ALL.ORDERED_ITEM,3,2)
         AND     PR_TYPE.CODE                                   = substr(OE_ORDER_LINES_ALL.ORDERED_ITEM,1,2)
         AND     PR_TYPE.CODE                                   = P_FORM.PRD_TYPE_CODE
         AND     P_FORM.CODE                                   = substr(OE_ORDER_LINES_ALL.ORDERED_ITEM,3,2)
    AND     P_FORM.CODE                                   = PR_GRADE.PRD_FRM_CODE
         AND     PR_GRADE.CODE                                   = substr(OE_ORDER_LINES_ALL.ORDERED_ITEM,5,2)     
         AND     PR_GRADE.CODE                                   = PR_QTY.PRD_GRD_CODE
         AND     PR_QTY.CODE                                   = substr(OE_ORDER_LINES_ALL.ORDERED_ITEM,7,2)
         AND     PR_STL.PROD_CODE                              = PR_TYPE.CODE
         AND     PR_STL.QUALITY_LEVEL_CODE                    = PR_QTY.CODE
         AND     PR_STL.CODE                                   = substr(OE_ORDER_LINES_ALL.ORDERED_ITEM,9,2)
         AND rownum=1
    thanks,
    baskar.l

    Here is the explain plan
    PLAN_TABLE_OUTPUT
    | Id | Operation | Name | Rows | Bytes | Cost |
    | 0 | SELECT STATEMENT | | 1 | 920 | 12628 |
    | 1 | COUNT STOPKEY | | | | |
    | 2 | NESTED LOOPS | | 1 | 920 | 12628 |
    | 3 | NESTED LOOPS | | 1 | 728 | 12627 |
    | 4 | NESTED LOOPS | | 1 | 718 | 12626 |
    | 5 | NESTED LOOPS | | 1 | 684 | 12625 |
    | 6 | NESTED LOOPS | | 1 | 674 | 12624 |
    | 7 | NESTED LOOPS | | 1 | 665 | 12623 |
    | 8 | NESTED LOOPS | | 1 | 655 | 12622 |
    | 9 | NESTED LOOPS | | 1 | 532 | 12621 |
    | 10 | NESTED LOOPS | | 1 | 522 | 12620 |
    | 11 | FILTER | | | | |
    | 12 | NESTED LOOPS OUTER | | | | |
    | 13 | NESTED LOOPS | | 1 | 494 | 12617 |
    | 14 | NESTED LOOPS | | 1 | 477 | 12614 |
    | 15 | NESTED LOOPS | | 1 | 467 | 12611 |
    | 16 | NESTED LOOPS | | 1 | 382 | 12610 |
    | 17 | NESTED LOOPS | | 1 | 366 | 12609 |
    | 18 | NESTED LOOPS | | 1 | 321 | 12606 |
    | 19 | FILTER | | | | |
    | 20 | HASH JOIN OUTER | | | | |
    | 21 | TABLE ACCESS BY INDEX ROWID| IC_TRAN_PND | 1 | 22 | 3 |
    | 22 | NESTED LOOPS | | 1 | 292 | 12601 |
    | 23 | HASH JOIN | | 1 | 270 | 12598 |
    | 24 | NESTED LOOPS | | 4011 | 908K| 6272 |
    | 25 | HASH JOIN | | 4012 | 893K| 6272 |
    | 26 | TABLE ACCESS FULL | JSW_ITM_SEARCH_PRD_GRD | 33 | 759 | 2 |
    | 27 | HASH JOIN | | 20547 | 4113K| 6269 |
    | 28 | TABLE ACCESS FULL | JSW_ITM_SEARCH_QUALITY_LEVEL | 54 | 1296 | 2 |
    | 29 | HASH JOIN | | 24352 | 4304K| 6266 |
    | 30 | TABLE ACCESS FULL | JSW_ITM_SEARCH_PRD_TYP | 7 | 154 | 2 |
    | 31 | HASH JOIN | | 170K| 25M| 6260 |
    | 32 | TABLE ACCESS FULL | JSW_ITEM_SEARCH_SLITTING | 73 | 1971 | 2 |
    | 33 | HASH JOIN | | 44367 | 5719K| 6257 |
    | 34 | HASH JOIN | | 4469 | 410K| 367 |
    | 35 | TABLE ACCESS FULL| OE_TRANSACTION_TYPES_TL | 18 | 846 | 4 |
    | 36 | TABLE ACCESS FULL| OE_ORDER_HEADERS_ALL | 38240 | 1755K| 362 |
    | 37 | TABLE ACCESS FULL | OE_ORDER_LINES_ALL | 379K| 13M| 5761 |
    | 38 | INDEX UNIQUE SCAN | MTL_PARAMETERS_U1 | 1 | 4 | |
    | 39 | TABLE ACCESS FULL | WSH_DELIVERY_DETAILS | 579K| 21M| 5926 |
    | 40 | INDEX RANGE SCAN | IC_TRAN_PND_N1 | 2 | | 2 |
    | 41 | TABLE ACCESS FULL | JSW_ITM_SEARCH_PRD_FRM | 16 | 272 | 2 |
    | 42 | TABLE ACCESS BY INDEX ROWID | MTL_SYSTEM_ITEMS_B | 1 | 12 | 2 |
    | 43 | INDEX UNIQUE SCAN | MTL_SYSTEM_ITEMS_B_U1 | 1 | | 1 |
    | 44 | TABLE ACCESS BY INDEX ROWID | JA_IN_RG_I | 1 | 45 | 3 |
    | 45 | INDEX RANGE SCAN | JA_IN_RG_I_N3 | 1 | | 2 |
    | 46 | TABLE ACCESS BY INDEX ROWID | HZ_CUST_ACCOUNTS | 1 | 16 | 1 |
    | 47 | INDEX UNIQUE SCAN | HZ_CUST_ACCOUNTS_U1 | 1 | | |
    | 48 | TABLE ACCESS BY INDEX ROWID | HZ_PARTIES | 1 | 85 | 1 |
    | 49 | INDEX UNIQUE SCAN | HZ_PARTIES_U1 | 1 | | |
    | 50 | TABLE ACCESS BY INDEX ROWID | WSH_DELIVERY_ASSIGNMENTS | 1 | 10 | 3 |
    | 51 | INDEX RANGE SCAN | WSH_DELIVERY_ASSIGNMENTS_N3 | 1 | | 2 |
    | 52 | TABLE ACCESS BY INDEX ROWID | JSW_LOT_PACKSLIP | 1 | 17 | 3 |
    | 53 | INDEX RANGE SCAN | JSW_LOT_PACKSLIP_N1 | 1 | | 2 |
    | 54 | TABLE ACCESS BY INDEX ROWID | WSH_NEW_DELIVERIES | 1 | 18 | 1 |
    | 55 | INDEX UNIQUE SCAN | WSH_NEW_DELIVERIES_U1 | 1 | | |
    | 56 | TABLE ACCESS BY INDEX ROWID | WSH_DELIVERY_LEGS | 1 | 10 | 2 |
    | 57 | INDEX RANGE SCAN | WSH_DELIVERY_LEGS_N1 | 1 | | 1 |
    | 58 | TABLE ACCESS BY INDEX ROWID | WSH_TRIP_STOPS | 1 | 10 | 1 |
    | 59 | INDEX UNIQUE SCAN | WSH_TRIP_STOPS_U1 | 1 | | |
    | 60 | TABLE ACCESS BY INDEX ROWID | WSH_TRIPS | 1 | 123 | 1 |
    | 61 | INDEX UNIQUE SCAN | WSH_TRIPS_U1 | 1 | | |
    | 62 | TABLE ACCESS BY INDEX ROWID | HZ_CUST_SITE_USES_ALL | 1 | 10 | 1 |
    | 63 | INDEX UNIQUE SCAN | HZ_CUST_SITE_USES_U1 | 1 | | |
    | 64 | TABLE ACCESS BY INDEX ROWID | HZ_CUST_ACCT_SITES_ALL | 1 | 9 | 1 |
    | 65 | INDEX UNIQUE SCAN | HZ_CUST_ACCT_SITES_U1 | 1 | | |
    | 66 | TABLE ACCESS BY INDEX ROWID | HZ_CUST_SITE_USES_ALL | 1 | 10 | 1 |
    | 67 | INDEX UNIQUE SCAN | HZ_CUST_SITE_USES_U1 | 1 | | |
    | 68 | TABLE ACCESS BY INDEX ROWID | HZ_CUST_ACCT_SITES_ALL | 1 | 34 | 1 |
    | 69 | INDEX UNIQUE SCAN | HZ_CUST_ACCT_SITES_U1 | 1 | | |
    | 70 | TABLE ACCESS BY INDEX ROWID | HZ_PARTY_SITES | 1 | 10 | 1 |
    | 71 | INDEX UNIQUE SCAN | HZ_PARTY_SITES_U1 | 1 | | |
    | 72 | TABLE ACCESS BY INDEX ROWID | HZ_LOCATIONS | 1 | 192 | 1 |
    | 73 | INDEX UNIQUE SCAN | HZ_LOCATIONS_U1 | 1 | | |
    we need to tune this query to reduce it time of execution as our users are very much affected in running requests.
    thanks,
    baskar.l

  • Need help in writing the query

    The initial data is as follows:
    ID PARENT_ID
    =============
    1 NULL
    2 NULL
    3 2
    4 6
    5 3
    6 7
    7 4
    8 NULL
    but output is as follows in such way that Parent_Id should be displayed in ID place
    ID PARENT_ID
    =============
    1 NULL
    2 NULL
    3 2
    8 NULL
    6 8
    4 6
    5 3
    7 4
    Can any one help how resolve this query?
    Thanks in advance

    Your output is inconsistent with initial data :) But
    select * from t start with parent_id is null connect by parent_id = prior id;

  • Need help asap regarding the query windowing

    Dear friends,
    The database i'm using (mvdemo - mapviewer demo DB that comes along with Oracle 10g), has only data about united states. Say if i have my query window like this, -180, 0, 180 , 90 (which is the upper half of the earth), i am getting the desired result. ie., Here is that query,
    SELECT count(s.geom) FROM states s WHERE
    SDO_FILTER(s.geom,
    SDO_GEOMETRY(
         2003,
         8265,
         NULL,
         SDO_ELEM_INFO_ARRAY(1,1003,3),
         SDO_ORDINATE_ARRAY(-180, 0 , 180, 90))
    ) = 'TRUE';
    Returns 55
    I'm currently having a problem with my rectangular window query. When i query with a window value of -180, -90, 180, 90 (which covers the whole earth), the number of spatial objects (SDO_GEOM) that is returned is 0. It is not throwing any ORA error. But the expected result is as usual 55.
    SELECT count(s.geom) FROM states s WHERE
    SDO_FILTER(s.geom,
    SDO_GEOMETRY(
         2003,
         8265,
         NULL,
         SDO_ELEM_INFO_ARRAY(1,1003,3),
         SDO_ORDINATE_ARRAY(-180, 0 , 180, 90))
    ) = 'TRUE';
    Returns 0
    Could anyone please help me out with this issue??
    thank you in advance,
    Bragadeesh

    hi all,
    i found the solution to my problem.
    actually the query given here works just fine.
    wat i was doing was using the sdo_intersection(<some geom>, <query window>). The query window am using here is the whole earth. But according to spatial rule, there cant be any geometry greater than half the surface of the earth.
    Thank you all..

  • Need help in Developing the Smartform for Delivery notes

    I'm developing the smartform for tcode vl02n.
    My question is when writing the print program which is the best way :
    1) By making use of standard print program RLE_DELNOTE
    2) developing from scratch by declaring my own types and subroutines as per my requirement.

    Hi,
    Welcome to SDN.
    I would always recommend start with the standard print program.  Most requirements can be satisfied by working with a copy of the standard form called by the standard program.
    Regards,
    Nick

  • Need help to fix the Procedure

    I found a procedure in the forum. I think Vikash posted this. I update and it is working for comma delimiter records but I want to work it for TAB delimiter. I edited many ways but no luck. If any body fix it, please help so.
    Thanks,
    Lubna
    create or replace PACKAGE htmldb_tools
    AS
    PROCEDURE parse_textarea (
    p_textarea IN VARCHAR2,
    p_collection_name IN VARCHAR2
    PROCEDURE parse_file(
    p_file_name IN VARCHAR2,
    p_collection_name IN VARCHAR2,
    p_headings_item IN VARCHAR2,
    p_columns_item IN VARCHAR2,
    p_ddl_item IN VARCHAR2,
    p_table_name IN VARCHAR2 DEFAULT NULL
    create or replace PACKAGE BODY htmldb_tools
    AS
    TYPE varchar2_t IS TABLE OF VARCHAR2(32767) INDEX BY binary_integer;
    PROCEDURE delete_collection (
    p_collection_name IN VARCHAR2
    IS
    BEGIN
    IF (htmldb_collection.collection_exists(p_collection_name))
    THEN
    htmldb_collection.delete_collection(p_collection_name);
    END IF;
    END delete_collection;
    PROCEDURE csv_to_array (
    p_csv_string IN VARCHAR2,
    p_array OUT wwv_flow_global.vc_arr2,
    p_separator IN VARCHAR2 := 'chr(09)'
    IS
    l_start_separator PLS_INTEGER := 0;
    l_stop_separator PLS_INTEGER := 0;
    l_length PLS_INTEGER := 0;
    l_idx BINARY_INTEGER := 0;
    l_quote_enclosed BOOLEAN := FALSE;
    l_offset PLS_INTEGER := 1;
    BEGIN
    l_length := NVL(LENGTH(p_csv_string),0);
    IF (l_length <= 0)
    THEN
    RETURN;
    END IF;
    LOOP
    l_idx := l_idx + 1;
    l_quote_enclosed := FALSE;
    IF SUBSTR(p_csv_string, l_start_separator + 1, 1) = '"'
    THEN
    l_quote_enclosed := TRUE;
    l_offset := 2;
    l_stop_separator := INSTR(p_csv_string, '"', l_start_separator + l_offset, 1);
    ELSE
    l_offset := 1;
    l_stop_separator := INSTR(p_csv_string, p_separator, l_start_separator + l_offset, 1);
    END IF;
    IF l_stop_separator = 0
    THEN
    l_stop_separator := l_length + 1;
    END IF;
    p_array(l_idx) := (SUBSTR(p_csv_string, l_start_separator + l_offset,(l_stop_separator - l_start_separator - l_offset)));
    EXIT WHEN l_stop_separator >= l_length;
    IF l_quote_enclosed
    THEN
    l_stop_separator := l_stop_separator + 1;
    END IF;
    l_start_separator := l_stop_separator;
    END LOOP;
    END csv_to_array; --}}}
    PROCEDURE get_records(p_blob IN blob,p_records OUT varchar2_t) --{{{
    IS
    l_record_separator VARCHAR2(2) := chr(13)||chr(10);
    l_last INTEGER;
    l_current INTEGER;
    BEGIN
    IF (NVL(dbms_lob.instr(p_blob,utl_raw.cast_to_raw(l_record_separator),1,1),0)=0)
    THEN
    l_record_separator := chr(10);
    END IF;
    l_last := 1;
    LOOP
    l_current := dbms_lob.instr( p_blob, utl_raw.cast_to_raw(l_record_separator), l_last, 1 );
    EXIT WHEN (nvl(l_current,0) = 0);
    p_records(p_records.count+1) := utl_raw.cast_to_varchar2(dbms_lob.substr(p_blob,l_current-l_last,l_last));
    l_last := l_current+length(l_record_separator);
    END LOOP;
    END get_records;
    PROCEDURE parse_textarea (
    p_textarea IN VARCHAR2,
    p_collection_name IN VARCHAR2
    IS
    l_index INTEGER;
    l_string VARCHAR2(32767) := TRANSLATE(p_textarea,chr(9)||chr(13)||chr(10)||' ,','@@@@');
    l_element VARCHAR2(100);
    BEGIN
    l_string := l_string||'@';
    htmldb_collection.create_or_truncate_collection(p_collection_name);
    LOOP
    l_index := instr(l_string,'@');
    EXIT WHEN NVL(l_index,0)=0;
    l_element := substr(l_string,1,l_index-1);
    IF (trim(l_element) IS NOT NULL)
    THEN
    htmldb_collection.add_member(p_collection_name,l_element);
    END IF;
    l_string := substr(l_string,l_index+1);
    END LOOP;
    END parse_textarea;
    PROCEDURE parse_file(
    p_file_name IN VARCHAR2,
    p_collection_name IN VARCHAR2,
    p_headings_item IN VARCHAR2,
    p_columns_item IN VARCHAR2,
    p_ddl_item IN VARCHAR2,
    p_table_name IN VARCHAR2 DEFAULT NULL
    IS
    l_blob blob;
    l_records varchar2_t;
    l_record wwv_flow_global.vc_arr2;
    l_datatypes wwv_flow_global.vc_arr2;
    l_headings VARCHAR2(4000);
    l_columns VARCHAR2(4000);
    l_seq_id NUMBER;
    l_num_columns INTEGER;
    l_ddl VARCHAR2(4000);
    BEGIN
    IF (p_table_name is not null)
    THEN
    l_ddl := 'insert into '||p_table_name||' '||
    'select '||v(p_columns_item)||' '||
    'from htmldb_collections '||
    'where seq_id > 0 and collection_name='''||p_collection_name||'''';
    htmldb_util.set_session_state('P149_DEBUG',v('P149_DEBUG')||'/'||l_ddl);
    execute immediate l_ddl;
    RETURN;
    END IF;
    BEGIN
    select blob_content into l_blob from wwv_flow_files
    where name=p_file_name;
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    raise_application_error(-20000,'File not found, id='||p_file_name);
    END;
    get_records(l_blob,l_records);
    IF (l_records.count < 2)
    THEN
    raise_application_error(-20000,'File must have at least 3 ROWS, id='||p_file_name);
    END IF;
    htmldb_collection.create_or_truncate_collection(p_collection_name);
    csv_to_array(l_records(1),l_record);
    l_num_columns := l_record.count;
    if (l_num_columns > 900000) then
    raise_application_error(-900000,'Max. of 9,000,00 columns allowed, id='||p_file_name);
    end if;
    FOR i IN 1..l_record.count
    LOOP
    l_headings := l_headings||':'||l_record(i);
    l_columns := l_columns||',c'||lpad(i,3,'0');
    END LOOP;
    l_headings := ltrim(l_headings,':');
    l_columns := ltrim(l_columns,',');
    htmldb_util.set_session_state(p_headings_item,l_headings);
    htmldb_util.set_session_state(p_columns_item,l_columns);
    FOR i IN 2..l_records.count
    LOOP
    csv_to_array(l_records(i),l_record);
    l_seq_id := htmldb_collection.add_member(p_collection_name,'dummy');
    FOR i IN 1..l_record.count
    LOOP
    htmldb_collection.update_member_attribute(
    p_collection_name=> p_collection_name,
    p_seq => l_seq_id,
    p_attr_number => i,
    p_attr_value => l_record(i)
    END LOOP;
    END LOOP;
    DELETE FROM wwv_flow_files WHERE name=p_file_name;
    END;
    BEGIN
    NULL;
    END;

    sir manu,
    i started the oracleAS report Server with the following command in command prompt : rwserver server=rep_myserver
    and it successfully started.
    i insert this code on my button :
    DECLARE
         RO_Report_ID REPORT_OBJECT;
         Str_Report_Server_Job VARCHAR2(100);
         Str_Job_ID VARCHAR2(100);
         Str_URL VARCHAR2(100);
         PL_ID PARAMLIST ;
    BEGIN
         PL_ID := GET_PARAMETER_LIST('TEMPDATA');
         IF NOT ID_NULL(PL_ID) THEN
              PAUSE;
    DESTROY_PARAMETER_LIST(PL_ID);
         END IF;
         PL_ID := CREATE_PARAMETER_LIST('TEMPDATA');
         --RO_Report_ID := FIND_REPORT_OBJECT('REPORT_OBJ');
         RO_Report_ID := FIND_REPORT_OBJECT('REPORT1');
         ADD_PARAMETER(PL_ID, 's_sin_no', TEXT_PARAMETER,:scrap_delivery_request.sin_no);
              SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_FILENAME, 'C:\New Forms\REF_SF_510.ref');
              SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_COMM_MODE, SYNCHRONOUS);
              SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_EXECUTION_MODE, BATCH);
              SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_DESTYPE, cache);
              SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_DESFORMAT, 'PDF');
              SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_SERVER, 'rep_myserver');
              Str_Report_Server_Job := RUN_REPORT_OBJECT(RO_Report_ID, PL_ID);
              Str_Job_ID := SUBSTR(Str_Report_Server_Job, LENGTH('rep_myserver') + 2, LENGTH(Str_Report_Server_Job));
              Str_URL      := '/reports/rwservlet/getjobid' || Str_Job_ID || '?server=' || 'rep_myserver';
              WEB.SHOW_DOCUMENT(Str_URL, '_SELF');
              DESTROY_PARAMETER_LIST(PL_ID);
    END;
    after pressing the button this error come up in browser :
    REP-52251: Cannot get output of job ID 3 you requested on SAt. jul 04 11:44...... <P> REP-51026 :No output for job b

Maybe you are looking for

  • Software bug in OneDrive for Business 1.2.2 (IOS)

    I found a software bug in OneDrive for Business 1.2.2 (iOS) and is related to the space characters inside the logon name. I am using SharePoint 2013 (15.0.4617.1000 June 2014 CU) and my setup corresponds with the OneDrive for Business App requirement

  • Is there a modern replacement for the Nvidia 8800GS?

    Like other imac users my imac 24" (2008) Nvidia 8800GS graphics card has just stopped working, I'm wondering if there is a modern replacement for this card rather than buying a (expensive) reconditioned one?

  • Running InDesign CC 2014 on Mac vs Windows

    I was wondering if anyone has had the opportunity to run InDesign CC 2014 on a Mac AND on Windows, and which one is better overall. I've noticed that it seems to take much longer to open a book file on Windows, but it takes less time to run a script

  • I want to soup up my 2008 MacBook Pro

    I don't want to part with my MacBook Pro, but I also want to make sure I'm running the best up-to-date software. Yes, I could buy a new MacBook Pro, but I'm sure you all understand; this particular computer, with its dents and scratches and screen th

  • Regarding database

    Dear gurus i want to collects statatics of my full database in 11gr2.Guys please tell me a method to collect whole database statistics as we have an option to collect schema stats through dbms gather stats Please tell similar option. rgds