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
PoojaHi,
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)))>1Finally 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 ) -
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,
shaikHi 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,
RachelHello,
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!
JaimeSee 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
ThanksIt 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. -
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.lHere 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 advanceYour 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,
Bragadeeshhi 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
-
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