SQL command running into error: ora-01489

Hello everyone,
i have created a query as shown below. When i am trying to run this query on test server using TOAD it executes without any error.
The same query i am trying to copy and paste on TOAD for my production server and it gives me an error:
ORA-01489: result of string concatenation is too long
select payslip_of_month,
person_id, payslip_date, element_name,
pay_action, business_group_id, payroll_desc,payment_currency,LISTAGG(screen_entry_value, ' ') WITHIN GROUP (ORDER BY display_sequence) AS ENTRIES_RESULT
from (
SELECT piv.display_sequence,piv.input_value_id,TO_CHAR (pact.effective_date, 'Month RRRR') payslip_of_month,
per.person_id person_id,
CASE
WHEN pact.action_type <> 'Q'
THEN TO_CHAR (pact.effective_date,'DD-MON-RRRR')
ELSE TO_CHAR (NVL (pact.pay_advice_date, pact.DATE_EARNED),'DD-MON-RRRR')
END payslip_date,
NVL (pettl.reporting_name, pettl.element_name) element_name,
trim(peev.screen_entry_value) screen_entry_value,pact.action_type pay_action, per.business_group_id,
CASE
WHEN has.assignment_set_name LIKE '%MAINRUN%'
THEN 'End of Month Payment'
WHEN pact.action_type = 'Q'
THEN 'Request Payment'
ELSE 'Adjustment Payment'
END payroll_desc,
pet.output_currency_code payment_currency
FROM pay_element_types_f_tl pettl,
pay_element_classifications_tl pectl,
pay_element_types_f pet,
pay_element_classifications pec,
pay_input_values_f piv,
pay_assignment_actions asact,
pay_payroll_actions pact,
per_abs_attendance_types_v ABS,
per_all_assignments_f ass,
per_all_people_f per,
fnd_lookup_values fnd,
hr_assignment_sets has ,
pay_element_entry_values_f peev
WHERE pectl.classification_id = pec.classification_id
AND pectl.LANGUAGE = USERENV ('LANG')
AND pettl.element_type_id = pet.element_type_id
AND pettl.LANGUAGE = USERENV ('LANG')
AND pact.payroll_action_id = asact.payroll_action_id
AND pet.classification_id = pec.classification_id
AND piv.element_type_id = pet.element_type_id
AND piv.element_type_id = ABS.element_type_id(+)
AND asact.assignment_id = ass.assignment_id
AND ass.person_id = per.person_id
and piv.name in ('Remarks1')
AND SYSDATE BETWEEN ass.effective_start_date AND ass.effective_end_date
AND SYSDATE BETWEEN per.effective_start_date AND per.effective_end_date
AND pact.effective_date BETWEEN piv.effective_start_date
AND piv.effective_end_date
AND pact.effective_date BETWEEN pet.effective_start_date
AND pet.effective_end_date
AND fnd.lookup_code = pact.action_type
AND fnd.lookup_type = 'ACTION_TYPE'
AND pact.assignment_set_id = has.assignment_set_id(+)
AND pettl.element_name = 'Payslip Remarks'
and piv.input_value_id =peev.input_value_id
and pact.effective_date between peev.EFFECTIVE_START_DATE and peev.EFFECTIVE_END_DATE
order by piv.display_sequence)
where PERSON_ID=:per_id
and PAYSLIP_DATE like '%APR%2013%'
and BUSINESS_GROUP_ID=0
group by payslip_of_month, person_id, payslip_date, element_name,pay_action, business_group_id, payroll_desc,payment_currency
Strange! I am unable to understand that the data entry done on both servers is same yet on one server it works fine however on the production server it fails.
Pls help.
thnx

Hallo,
you can replace the listagg command with screen_entry_value only and see if the data set is the same.
regards
Giuseppe

Similar Messages

  • Connect by - sql help : getting error ORA-01489: result of string concatena

    here is an sql query and I am trying to cook a decode but since there are many columns invloved when I am trying to run this I am getting the following error:
    ORA-01489: result of string concatenation is too long
    Any kind of help is appreciated, I need to get this going otherwise I am dead :(
    Regards
    Rahul
    SQL:
    select sys_connect_by_path(c.decode_prep,'-') decode_prep
    from (select 'DECODE(BIAPPS_11.'||substr(b.all_cols,instr(b.all_cols,',',1,a.rn)+1,instr(b.all_cols,',',1,a.rn+1)-instr(b.all_cols,',',1,a.rn)-1)||','||'RAHULKALRA.'||substr(b.all_cols,instr(b.all_cols,',',1,a.rn)+1,instr(b.all_cols,',',1,a.rn+1)-instr(b.all_cols,',',1,a.rn)-1)||',''1'',''0'')' decode_prep, rownum curr, rownum -1 prev
    from (select rownum rn
    from dual connect by rownum <=
    (select (length('ROW_WID,COST_CENTER_NUM,COST_CENTER_NAME,COST_CENTER_DESC,CONTROL_AREA_NUM,CONTROL_AREA_NAME,CATEGORY_CODE,CATEGORY_NAME,CATEGORY_DESC,MANAGER_NAME,CURRENCY_CODE,CURRENCY_NAME,LANGUAGE_CODE,LANGUAGE_NAME,ST_ADDRESS1,ST_ADDRESS2,POST_OFFICE_BOX,CITY_NAME,STATE_CODE,STATE_NAME,REGION_CODE,REGION_NAME,COUNTRY_CODE,COUNTRY_NAME,POSTAL_CODE,PHONE_NUM,FAX_NUM,CSCN_HIER1_CODE,CSCN_HIER1_NAME,CSCN_HIER2_CODE,CSCN_HIER2_NAME,CSCN_HIER3_CODE,CSCN_HIER3_NAME,CSCN_HIER4_CODE,CSCN_HIER4_NAME,CSCN_HIER5_CODE,CSCN_HIER5_NAME,CSCN_HIER6_CODE,CSCN_HIER6_NAME,ACTIVE_FLG,CREATED_BY_WID,CHANGED_BY_WID,CREATED_ON_DT,CHANGED_ON_DT,AUX1_CHANGED_ON_DT,AUX2_CHANGED_ON_DT,AUX3_CHANGED_ON_DT,AUX4_CHANGED_ON_DT,SRC_EFF_FROM_DT,SRC_EFF_TO_DT,EFFECTIVE_FROM_DT,EFFECTIVE_TO_DT,DELETE_FLG,CURRENT_FLG,W_INSERT_DT,W_UPDATE_DT,DATASOURCE_NUM_ID,ETL_PROC_WID,INTEGRATION_ID,SET_ID,TENANT_ID,X_CUSTOM')
    - length(replace('ROW_WID,COST_CENTER_NUM,COST_CENTER_NAME,COST_CENTER_DESC,CONTROL_AREA_NUM,CONTROL_AREA_NAME,CATEGORY_CODE,CATEGORY_NAME,CATEGORY_DESC,MANAGER_NAME,CURRENCY_CODE,CURRENCY_NAME,LANGUAGE_CODE,LANGUAGE_NAME,ST_ADDRESS1,ST_ADDRESS2,POST_OFFICE_BOX,CITY_NAME,STATE_CODE,STATE_NAME,REGION_CODE,REGION_NAME,COUNTRY_CODE,COUNTRY_NAME,POSTAL_CODE,PHONE_NUM,FAX_NUM,CSCN_HIER1_CODE,CSCN_HIER1_NAME,CSCN_HIER2_CODE,CSCN_HIER2_NAME,CSCN_HIER3_CODE,CSCN_HIER3_NAME,CSCN_HIER4_CODE,CSCN_HIER4_NAME,CSCN_HIER5_CODE,CSCN_HIER5_NAME,CSCN_HIER6_CODE,CSCN_HIER6_NAME,ACTIVE_FLG,CREATED_BY_WID,CHANGED_BY_WID,CREATED_ON_DT,CHANGED_ON_DT,AUX1_CHANGED_ON_DT,AUX2_CHANGED_ON_DT,AUX3_CHANGED_ON_DT,AUX4_CHANGED_ON_DT,SRC_EFF_FROM_DT,SRC_EFF_TO_DT,EFFECTIVE_FROM_DT,EFFECTIVE_TO_DT,DELETE_FLG,CURRENT_FLG,W_INSERT_DT,W_UPDATE_DT,DATASOURCE_NUM_ID,ETL_PROC_WID,INTEGRATION_ID,SET_ID,TENANT_ID,X_CUSTOM',',')))+1 total_cols
    from dual)) a, (select ','||'ROW_WID,COST_CENTER_NUM,COST_CENTER_NAME,COST_CENTER_DESC,CONTROL_AREA_NUM,CONTROL_AREA_NAME,CATEGORY_CODE,CATEGORY_NAME,CATEGORY_DESC,MANAGER_NAME,CURRENCY_CODE,CURRENCY_NAME,LANGUAGE_CODE,LANGUAGE_NAME,ST_ADDRESS1,ST_ADDRESS2,POST_OFFICE_BOX,CITY_NAME,STATE_CODE,STATE_NAME,REGION_CODE,REGION_NAME,COUNTRY_CODE,COUNTRY_NAME,POSTAL_CODE,PHONE_NUM,FAX_NUM,CSCN_HIER1_CODE,CSCN_HIER1_NAME,CSCN_HIER2_CODE,CSCN_HIER2_NAME,CSCN_HIER3_CODE,CSCN_HIER3_NAME,CSCN_HIER4_CODE,CSCN_HIER4_NAME,CSCN_HIER5_CODE,CSCN_HIER5_NAME,CSCN_HIER6_CODE,CSCN_HIER6_NAME,ACTIVE_FLG,CREATED_BY_WID,CHANGED_BY_WID,CREATED_ON_DT,CHANGED_ON_DT,AUX1_CHANGED_ON_DT,AUX2_CHANGED_ON_DT,AUX3_CHANGED_ON_DT,AUX4_CHANGED_ON_DT,SRC_EFF_FROM_DT,SRC_EFF_TO_DT,EFFECTIVE_FROM_DT,EFFECTIVE_TO_DT,DELETE_FLG,CURRENT_FLG,W_INSERT_DT,W_UPDATE_DT,DATASOURCE_NUM_ID,ETL_PROC_WID,INTEGRATION_ID,SET_ID,TENANT_ID,X_CUSTOM'||',' all_cols from dual) b) c
    start with curr = 1
    connect by prior curr = prev
    order by length(sys_connect_by_path(c.decode_prep,'-')) desc
    same as above sql only difference is here I am pulling the first record from the result set which above query returns :
    select ltrim(replace(decode_prep,'-','||'),'||') decode_prep
    from (select sys_connect_by_path(c.decode_prep,'-') decode_prep
    from (select 'DECODE(BIAPPS_11.'||substr(b.all_cols,instr(b.all_cols,',',1,a.rn)+1,instr(b.all_cols,',',1,a.rn+1)-instr(b.all_cols,',',1,a.rn)-1)||','||'RAHULKALRA.'||substr(b.all_cols,instr(b.all_cols,',',1,a.rn)+1,instr(b.all_cols,',',1,a.rn+1)-instr(b.all_cols,',',1,a.rn)-1)||',''1'',''0'')' decode_prep, rownum curr, rownum -1 prev
    from (select rownum rn
    from dual connect by rownum <=
    (select (length('ROW_WID,COST_CENTER_NUM,COST_CENTER_NAME,COST_CENTER_DESC,CONTROL_AREA_NUM,CONTROL_AREA_NAME,CATEGORY_CODE,CATEGORY_NAME,CATEGORY_DESC,MANAGER_NAME,CURRENCY_CODE,CURRENCY_NAME,LANGUAGE_CODE,LANGUAGE_NAME,ST_ADDRESS1,ST_ADDRESS2,POST_OFFICE_BOX,CITY_NAME,STATE_CODE,STATE_NAME,REGION_CODE,REGION_NAME,COUNTRY_CODE,COUNTRY_NAME,POSTAL_CODE,PHONE_NUM,FAX_NUM,CSCN_HIER1_CODE,CSCN_HIER1_NAME,CSCN_HIER2_CODE,CSCN_HIER2_NAME,CSCN_HIER3_CODE,CSCN_HIER3_NAME,CSCN_HIER4_CODE,CSCN_HIER4_NAME,CSCN_HIER5_CODE,CSCN_HIER5_NAME,CSCN_HIER6_CODE,CSCN_HIER6_NAME,ACTIVE_FLG,CREATED_BY_WID,CHANGED_BY_WID,CREATED_ON_DT,CHANGED_ON_DT,AUX1_CHANGED_ON_DT,AUX2_CHANGED_ON_DT,AUX3_CHANGED_ON_DT,AUX4_CHANGED_ON_DT,SRC_EFF_FROM_DT,SRC_EFF_TO_DT,EFFECTIVE_FROM_DT,EFFECTIVE_TO_DT,DELETE_FLG,CURRENT_FLG,W_INSERT_DT,W_UPDATE_DT,DATASOURCE_NUM_ID,ETL_PROC_WID,INTEGRATION_ID,SET_ID,TENANT_ID,X_CUSTOM')
    - length(replace('ROW_WID,COST_CENTER_NUM,COST_CENTER_NAME,COST_CENTER_DESC,CONTROL_AREA_NUM,CONTROL_AREA_NAME,CATEGORY_CODE,CATEGORY_NAME,CATEGORY_DESC,MANAGER_NAME,CURRENCY_CODE,CURRENCY_NAME,LANGUAGE_CODE,LANGUAGE_NAME,ST_ADDRESS1,ST_ADDRESS2,POST_OFFICE_BOX,CITY_NAME,STATE_CODE,STATE_NAME,REGION_CODE,REGION_NAME,COUNTRY_CODE,COUNTRY_NAME,POSTAL_CODE,PHONE_NUM,FAX_NUM,CSCN_HIER1_CODE,CSCN_HIER1_NAME,CSCN_HIER2_CODE,CSCN_HIER2_NAME,CSCN_HIER3_CODE,CSCN_HIER3_NAME,CSCN_HIER4_CODE,CSCN_HIER4_NAME,CSCN_HIER5_CODE,CSCN_HIER5_NAME,CSCN_HIER6_CODE,CSCN_HIER6_NAME,ACTIVE_FLG,CREATED_BY_WID,CHANGED_BY_WID,CREATED_ON_DT,CHANGED_ON_DT,AUX1_CHANGED_ON_DT,AUX2_CHANGED_ON_DT,AUX3_CHANGED_ON_DT,AUX4_CHANGED_ON_DT,SRC_EFF_FROM_DT,SRC_EFF_TO_DT,EFFECTIVE_FROM_DT,EFFECTIVE_TO_DT,DELETE_FLG,CURRENT_FLG,W_INSERT_DT,W_UPDATE_DT,DATASOURCE_NUM_ID,ETL_PROC_WID,INTEGRATION_ID,SET_ID,TENANT_ID,X_CUSTOM',',')))+1 total_cols
    from dual)) a, (select ','||'ROW_WID,COST_CENTER_NUM,COST_CENTER_NAME,COST_CENTER_DESC,CONTROL_AREA_NUM,CONTROL_AREA_NAME,CATEGORY_CODE,CATEGORY_NAME,CATEGORY_DESC,MANAGER_NAME,CURRENCY_CODE,CURRENCY_NAME,LANGUAGE_CODE,LANGUAGE_NAME,ST_ADDRESS1,ST_ADDRESS2,POST_OFFICE_BOX,CITY_NAME,STATE_CODE,STATE_NAME,REGION_CODE,REGION_NAME,COUNTRY_CODE,COUNTRY_NAME,POSTAL_CODE,PHONE_NUM,FAX_NUM,CSCN_HIER1_CODE,CSCN_HIER1_NAME,CSCN_HIER2_CODE,CSCN_HIER2_NAME,CSCN_HIER3_CODE,CSCN_HIER3_NAME,CSCN_HIER4_CODE,CSCN_HIER4_NAME,CSCN_HIER5_CODE,CSCN_HIER5_NAME,CSCN_HIER6_CODE,CSCN_HIER6_NAME,ACTIVE_FLG,CREATED_BY_WID,CHANGED_BY_WID,CREATED_ON_DT,CHANGED_ON_DT,AUX1_CHANGED_ON_DT,AUX2_CHANGED_ON_DT,AUX3_CHANGED_ON_DT,AUX4_CHANGED_ON_DT,SRC_EFF_FROM_DT,SRC_EFF_TO_DT,EFFECTIVE_FROM_DT,EFFECTIVE_TO_DT,DELETE_FLG,CURRENT_FLG,W_INSERT_DT,W_UPDATE_DT,DATASOURCE_NUM_ID,ETL_PROC_WID,INTEGRATION_ID,SET_ID,TENANT_ID,X_CUSTOM'||',' all_cols from dual) b) c
    start with curr = 1
    connect by prior curr = prev
    order by length(sys_connect_by_path(c.decode_prep,'-')) desc)
    where rownum = 1
    Edited by: Mac_Freak_Rahul on Nov 28, 2012 1:31 AM : in the first sql ')'
    removed after desc in the last line so now this query will run and throw an error.

    Clearly your error is because the string concatenation you are doing with sys_connect_by_path is exceeding the 4000 bytes permitted by SQL.
    In that case you need to concatenate your data into a CLOB datatype, for which you'll need a CLOB aggregation function...
    create or replace type clobagg_type as object
      text clob,
      static function ODCIAggregateInitialize(sctx in out clobagg_type) return number,
      member function ODCIAggregateIterate(self in out clobagg_type, value in clob) return number,
      member function ODCIAggregateTerminate(self in clobagg_type, returnvalue out clob, flags in number) return number,
      member function ODCIAggregateMerge(self in out clobagg_type, ctx2 in clobagg_type) return number
    create or replace type body clobagg_type is
      static function ODCIAggregateInitialize(sctx in out clobagg_type) return number is
      begin
        sctx := clobagg_type(null) ;
        return ODCIConst.Success ;
      end;
      member function ODCIAggregateIterate(self in out clobagg_type, value in clob) return number is
      begin
        self.text := self.text || value ;
        return ODCIConst.Success;
      end;
      member function ODCIAggregateTerminate(self in clobagg_type, returnvalue out clob, flags in number) return number is
      begin
        returnValue := self.text;
        return ODCIConst.Success;
      end;
      member function ODCIAggregateMerge(self in out clobagg_type, ctx2 in clobagg_type) return number is
      begin
        self.text := self.text || ctx2.text;
        return ODCIConst.Success;
      end;
    end;
    create or replace function clobagg(input clob) return clob
      deterministic
      parallel_enable
      aggregate using clobagg_type;
    SQL> select trim(',' from clobagg(ename||',')) as enames from emp;
    ENAMES
    SMITH,ALLEN,WARD,JONES,MARTIN,BLAKE,CLARK,SCOTT,KING,TURNER,ADAMS,JAMES,FORD,MILLER
    SQL> ed
    Wrote file afiedt.buf
      1  with t as
      2    (select 'PFL' c1, 0 c2,110 c3 from dual union all
      3     select 'LHL', 0 ,111 from dual union all
      4     select 'PHL', 1, 111 from dual union all
      5     select 'CHL', 2, 111 from dual union all
      6     select 'DHL', 0, 112 from dual union all
      7     select 'VHL', 1, 112 from dual union all
      8     select 'CPHL', 0, 114 from dual union all
      9     select 'WDCL', 1, 114 from dual union all
    10     select 'AHL' ,2 ,114 from dual union all
    11     select 'NFDL', 3, 114 from dual)
    12  --
    13  -- end of test data
    14  --
    15  select trim(clobagg(c1||' ')) as c1, c3
    16  from (select * from t order by c3, c2)
    17  group by c3
    18* order by c3
    SQL> /
    C1                                     C3
    PFL                                   110
    LHL CHL PHL                           111
    DHL VHL                               112
    CPHL AHL NFDL WDCL                    114

  • ORA-06502: PL/SQL: numeric or value error ORA-06512: at "SYS.OWA_UTIL"

    Was working on tutorial from the:
    Oracle Database Express Edition 2 Day Plus Application Express Developer Guide
    Working on the section 4: How to Control Form Layout.
    Ran into a problem trying to compile the Create HT-EMP Table script.
    keep getting this error for this particular segment creating the bu_ht_emp trigger:
    pp. 4-2 and 4-3
    CREATE OR REPLACE TRIGGER bi_ht_emp
    BEFORE INSERT ON ht_emp
    FOR EACH ROW
    BEGIN
    SELECT ht_emp_seq.nextval
    INTO :new.emp_id
    FROM DUAL;
    :new.rec_create_date := SYSDATE;
    END;
    ORA-06502: PL/SQL: numeric or value error ORA-06512: at "SYS.OWA_UTIL", line 354....etc
    I've check the syntax for the entire script and it all checks out. Does anyone have a clue why this is failing?

    If I'm looking at the same DDL, not seeing where it would throw an owa_util error, are you running it in the apex script editor?
    Just plain sqlplus doesn't like the empty line stuck in with the list of check constraints on the emp_dept column, after fixing that up (and dropping the sequence that got created on the first pass) the DDL and insert runs fine-

  • ORA-06502: PL/SQL: numeric or value error ORA-06512: at "package.proc

    Hi,
    I'm getting the following error , when calling a procedure. Any input appreciated please
    ORA-06502: PL/SQL: numeric or value error
    ORA-06512: at "package.procedure ", line 513
    ORA-06512: at line 26
    v_counter     NUMBER;
    v_counter := 0; -- line number 513
    FOR i in p_rec_attr.FIRST..p_rec_attr.LAST
    LOOP
    --IF instr(p_rec_attr(i),'=')<>0 THEN
    IF v_counter = 0 THEN
    soap_request := soap_request||'<doc:attributes>
    <!--Zero or more repetitions:-->
    <doc:CategoryAttributeVO>
    <!--Optional:-->
    <doc:name>'||substr(p_rec_attr(i),1,instr(p_rec_attr(i),'=')-1)||'</doc:name>
    <!--Optional:-->
    <doc:value>'||substr(p_rec_attr(i),instr(p_rec_attr(i),'=')+1)||'</doc:value>
    </doc:CategoryAttributeVO>';
    v_counter := v_counter + 1;
    ELSE
    IF i=p_rec_attr.last THEN
    v_category_name := p_rec_attr(i);
    soap_request := soap_request||'
    </doc:attributes>
    <!--Optional:-->
    <doc:name>'||v_category_name||'</doc:name>';
    v_counter := 0;
    ELSE
    soap_request := soap_request||'
    <!--Zero or more repetitions:-->
    <doc:CategoryAttributeVO>
    <!--Optional:-->
    <doc:name>'||substr(p_rec_attr(i),1,instr(p_rec_attr(i),'=')-1)||'</doc:name>
    <!--Optional:-->
    <doc:value>'||substr(p_rec_attr(i),instr(p_rec_attr(i),'=')+1)||'</doc:value>
    </doc:CategoryAttributeVO>';
    v_counter := v_counter + 1;
    END IF;
    END IF;
    --ELSE
    --END IF;
    END LOOP;
    Thanks

    Hi
    I tried this which is :
    create or replace
    procedure test is
    v_counter     NUMBER;
    begin
    v_counter := 0; -- line number 513
    FOR i in 1..10
    LOOP
    --IF instr(p_rec_attr(i),'=')0 THEN
    IF v_counter = 0 THEN
    v_counter := v_counter + 1;
    ELSE
    IF i=9 THEN
    v_counter := 0;
    ELSE
    v_counter := v_counter + 1;
    END IF;
    END IF;
    END LOOP;
    end;
    Which does ot throw any error...I think it is being generated from somewhere else

  • SQL connect /as sysdba;  ERROR: ORA-01031: insufficient privileges

    wondering what could be the case, OS Solaris10
    SQL*Plus: Release 10.2.0.3.0 - Production on Thu Sep 11 13:36:17 2008
    Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
    SQL> connect /as sysdba;
    ERROR:
    ORA-01031: insufficient privileges
    i have orapwd also setup &
    SQL> connect sys/******** as sysdba;
    Connected.
    SQL> show parameter remote
    NAME TYPE VALUE
    remote_archive_enable string true
    remote_dependencies_mode string TIMESTAMP
    remote_listener string
    remote_login_passwordfile string EXCLUSIVE
    remote_os_authent boolean FALSE
    remote_os_roles boolean FALSE
    Oracle 10.2.0.3: id -a oracle
    uid=101(oracle) gid=101(dba) groups=101(dba)

    Hi DBA2008,
    Please refer to this Metalink Notes:
    - Troubleshooting ORA-1031 Insufficient Privilege While Authentication Note [730067.1|https://metalink.oracle.com/metalink/plsql/f?p=130:14:3634364694467571378::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,730067.1,1,1,1,helvetica]
    - UNIX: Checklist for Resolving Connect AS SYSDBA Issues Note [69642.1|https://metalink.oracle.com/metalink/plsql/f?p=130:14:3634364694467571378::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,730067.1,1,1,1,helvetica]
    - UNIX:Connect Internal asks for password when TWO_TASK is set Note [1066589.6|https://metalink.oracle.com/metalink/plsql/f?p=130:14:3634364694467571378::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,1066589.6,1,0,1,helvetica]
    Regards,
    Francisco Munoz Alvarez
    www.oraclenz.com

  • Application batch job running got error ORA-03113

    Problem: when application batch job running, application system always receive this error: ORA-03113 and job stop.
    Application system: dynamic system AX
    ORACLE system: ORACLE 10.2.0.4.0
    The listener configuration setting is :
    INBOUND_CONNECT_TIMEOUT_LISTENER = 0
    SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER = OFF
    Whether this is the problem of listener setting? "INBOUND_CONNECT_TIMEOUT_LISTENER = 0" indicate 0 seconds or no limit?

    I only find the error message in the Client server (application server).
    below is some example of it.
    The database reported (session 56 (mtihz)): ORA-03114: not connected to ORACLE
    . The SQL statement was: "SELECT A.PURCHID,A.PURCHNAME,A.ORDERACCOUNT,A.INVOICEACCOUNT,A.FREIGHTZONE,A.EMAIL,A.DELIVERYDATE,A.DELIVERYTYPE,A.ADDRESSREFRECID,A.ADDRESSREFTABLEID,A.INTERCOMPANYORIGINALSALESID,A.INTERCOMPANYORIGINALCUSTACCO12,A.CURRENCYCODE,A.PAYMENT,A.CASHDISC,A.PURCHPLACER,A.INTERCOMPANYDIRECTDELIVERY,A.VENDGROUP,A.LINEDISC,A.DISCPERCENT,A.DIMENSION,A.DIMENSION2
    Object Server 01: The database reported (session 58 (zhlhz)): ORA-03113: end-of-file on communication channel
    . The SQL statement was: "SELECT A.SPECTABLEID,A.LINENUM,A.CODE,A.BALANCE01,A.REFTABLEID,A.REFRECID,A.SPECRECID,A.PAYMENT,A.PAYMENTSTATUS,A.ERRORCODEPAYMENT,A.FULLSETTLEMENT,A.CREATEDDATE,A.CREATEDTIME,A.RECVERSION,A.RECID FROM SPECTRANS A WHERE ((SUBSTR(NLS_LOWER(DATAAREAID),1,7)=NLS_LOWER(:in1)) AND ((REFTABLEID=:in2) AND (REFRECID=:in3)))"
    but when I use PL/SQL Developer to run the scripts. there is no problem.
    And we always met errors when application team run long time batch, about 20 - 30 minutes or even longer.
    When they run 5 or 10 minutes job, there is no error occur.

  • Dynamic SQL run with error 'ORA-29275: partial multibyte character'

    Hi All,
    In daily work, we use daynamic SQL to load data from another database through DB Link. However, even if I run the following simple statement in our DB, it will raise the error.
    CREATE TABLE TEST_TMP
    AS
    SELECT TRANSACTION_REASON
    FROM [email protected] --it is using db link.
    WHERE LAST_UPDATE_DATE>=TO_DATE('18-12-2012 22:01:58', 'dd-mm-yyyy hh24:mi:ss');
    This statement had been workng correctly before OCT-2012 and there was no change with the source. Afterwards, there was just a change which upgraded the DB version from 10g to 11g on our side. I have browsed my technical articles, but I still cannot find the root cause. Is it due to the updgrading of the DB which practice stricter sanity check?
    I don't know.
    I'd appreciate of you can give me suggestion if you know such case.
    Thanks,
    David

    David Paul wrote:
    Hi,
    Can you give me a full explaination about the DL http://vibhorkumar.wordpress.com/2011/02/27/fix-of-ora-29275-partial-multibyte-character/ you mentioned?
    I don't understand the query in it well.
    Thanks,
    DavidDon't confuse yourself... It's just saying to convert data into your local DB type...
    Check these queries -
    1] /* check this in both your LOCAL and REMOTE databases */
    select dump('a',1010) from dual;
    I got --
    Typ=96 Len=1 CharacterSet=AL32UTF8: 97
    So, my charset encoding is AL32UTF8. Similarly, find yours for both Local & Remote DBs.
    2]
    /* Then do */
    CONVERT(transaction_reason,'<local_charset>','<remote_charset>')Edited by: ranit B on Dec 22, 2012 5:46 PM

  • PL/SQL Function Returning Query Error / ORA-01858: a non-numeric char.....

    I'm trying to write a PL/SQL function to dynamically return a query with varying # of columns. I've done this type of thing before wiith much success, however this is the first time I'm using a cursor for loop within a function to accomplish my task.
    here is the error I get:
    ORA-01858: a non-numeric character was found where a numeric was expected
    Error ERR-1101 Unable to process function body returning query.
    Mind you I have tested the PL/SQL from a SQL editor and it works fine. I'm confused.
    Code is below.
    Thanks in advance!
    DECLARE
    my_query varchar2(4000);
    string1 varchar2(50) := 'select city, ';
    string2 varchar2(4000) := '' ;
    string3 varchar2(4000):= 'from
    ( select a.title, a.city, a.start_date, sum(a.total_stu) cnt
    from sj_class_summary3 a
    group by a.title, a.city, a.start_date
    having a.title = :P4_COURSE )
    group by title, city';
    TYPE date_tab_type IS TABLE OF date INDEX BY PLS_INTEGER;
    date_tbl date_tab_type;
    i number;
    BEGIN
    i:=1;
    for myrec in (select distinct start_date from sj_class_summary3
    where start_date between :P4_START_DATE and :P4_END_DATE order by 1) loop
    date_tbl(i) := myrec.start_date;
    string2 := string2 || ' max( decode( start_date, ''' || date_tbl(i) || ''', cnt,0) ) "' || date_tbl(i) || '", ';
    i := i+ 1;
    end loop;
    string2 := SUBSTR(string2,1,LENGTH(string2)-2);
    string2 := string2 || ' ';
    my_query := string1 || string2 || string3;
    return my_query;
    END;

    Hi Bob,
    you also have another date to character to date conversion in:
    decode( start_date, ''' || date_tbl(i) || ''', cnt,0)
    does this need to be:
    decode( start_date, to_date(''' || to_char(date_tbl(i), 'dd/mm/yyyy') || ''', ''dd/mm/yyyy''), cnt,0)
    Regards
    Michael

  • ORA-06502 PL/SQL: numeric or value error ORA-06512 when calling a procedure

    Hi,
    I have been using ODP.net for a while now and have been calling lots of procedures without issue, however today I put together one to insert key, value parameters into a simple table and it is failing on me Intermittently with the ORA-06502... I have checked the code and I do not see any problems and am thoroughly frustrated... When I call the procedure directly it all works perfectly so the problem is not in the db!
    Please can you help? Code follows:
    Table defined as:
    CREATE TABLE REPORT_REQUEST_PARAMETERS
    (     REQUEST_ID NUMBER,
         PARAM_NAME VARCHAR2(50 BYTE),
         PARAM_VALUE VARCHAR2(255 BYTE)
    Stored procedure defined as:
    create or replace PROCEDURE SP_WRITE_REQUEST_PARAMS
    ( in_request_id number, in_param_name char, in_param_value char )
    AS
    BEGIN
    INSERT INTO REPORT_REQUEST_PARAMETERS ( REQUEST_ID, PARAM_NAME, PARAM_VALUE )
    VALUES
    ( in_request_id, in_param_name, in_param_value );
    END SP_WRITE_REQUEST_PARAMS;
    Finally the ODP.net code which calls this looks like:
    using (OracleConnection connection = new OracleConnection(...blah...))
    using (OracleCommand command = connection.CreateCommand())
    command.CommandType = CommandType.StoredProcedure;
    command.CommandText = "SP_WRITE_REQUEST_PARAMS";
    OracleParameter p1 = new OracleParameter("in_request_id", OracleDbType.Int32);
    OracleParameter p2 = new OracleParameter("in_param_name", OracleDbType.Char);
    OracleParameter p3 = new OracleParameter("in_param_value", OracleDbType.Char);
    p1.Direction = ParameterDirection.Input;
    p1.Value = requestId;
    p2.Direction = ParameterDirection.Input;
    p2.Size = paramName.Length;
    p2.Value = paramName;
    p3.Direction = ParameterDirection.Input;
    p3.Size = paramValue.Length;
    p3.Value = paramValue;
    command.Parameters.Add(p1);
    command.Parameters.Add(p2);
    command.Parameters.Add(p3);
    connection.Open();
    command.ExecuteNonQuery();
    connection.Close();
    }

    What version of database? If it's 9206 this is a known database problem, and should be resolved by patching the database to 9208. I don't have the bug number handy though.
    Simply because it succeeded in sqlplus doesnt mean it's not a database problem, as the problem was intermittent and succeeded from odp sometimes too.
    Thanks
    Greg

  • Running into this ORA-00600 when trying to start up and mount

    oracle 10g release2 RHAS4
    [root@localhost ~]# su - oracle
    [oracle@localhost ~]$ sqlplus / as sysdba
    SQL*Plus: Release 10.2.0.1.0 - Production on Sun Jan 3 14:18:33 2010
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    Connected to an idle instance.
    SQL> startup mount
    ORA-00600: internal error code, arguments: [keltnfy-ldmInit], [46], [1], [], [], [], [], []
    SQL>

    Um, no....at least, not legally.
    Oracle provides free downloads of much of it's software, for free, for development purposes. If you want to do anything real, you're expected to pay for it.
    If that's completely out of the question for you, you should investigate open source alternatives, such as MySQL or PostGreSQL.
    -Mark
    Edited by: mbobak on Jan 4, 2010 6:08 AM

  • IPod keeps running into errors when syncing

    I recently bought a classic from a friend (don't know if it's older classic or new-wave one) and whenever I connect it to my computer a message pops up saying there's an error with my device. When I try to sync, it loads anywhere from a couple to a couple hundred songs, then stops, often converting the music just put on into the "other" category rather than recognizing it as music. I've restored it countless times, tried using a different computer (that is also on a different operating system), checked for iTunes and iPod updates alike, enabled and disable disk use, and nothing seems to be helping. Is this iPod just toast, or is anyone else experiencing this?

    Ok- I have found a few things. If you have XP make sure that you are running the SP2. You can do that by running automatic updates or by going to Start->Windows update on the scroll menu and install the latest Windows updates. If you do auto updates you should be cool. If you are running on anything less than XP or Vista (like 2000)- you are out of luck. You will need to upgrade to XP or Vista.
    2nd option: http://docs.info.apple.com/article.html?artnum=304996
    3rd option: One guy said he tried downloading Winamp 5.5, transferred all of his songs then for fun wanted to sync to iTunes to see what it would do. Low and behold it worked for him.
    So far, I've done the 1st 2 and I am syncing now.....Seems there are some bugs with these. Hopefully in another update or 2 it will all be resolved.
    AHHHH!!!! I just got error -53!!!!
    I am officially discouraged. Apple for the love of God, please help and give hope. I would like for this to work. It's bad enough it will not work with the Philips DVD player without the AV cables. HELP!!!!!!!!!!

  • Dunning Letter Creation in XMLP running into Error

    Hi All,
    Although I'm trying to create a report from the seeded Dunning Letter concurrent program that is giving the intended XML files but when running the XML Report Publisher Concurrent program, the program is erroring out with the following error:
    *****************************************Start of Log *************************************
    XML Publisher: Version : 11.5.0 - Development
    Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.
    XDOREPPB module: XML Report Publisher
    Current system time is 11-AUG-2006 09:13:51
    XML Report Publisher 5.0
    Updating request description
    Waiting for XML request
    Retrieving XML request information
    Preparing parameters
    Process template
    --XDOException
    java.lang.reflect.InvocationTargetException: oracle.xdo.parser.v2.XPathException: Extension function error: Method not found 'set_xslt_locale'
         at oracle.xdo.parser.v2.XSLExtFunctions.getMethod(XSLExtFunctions.java:285)
         at oracle.xdo.parser.v2.XPathExtFunction.evaluateMethod(XPathExtFunction.java:267)
         at oracle.xdo.parser.v2.XPathExtFunction.evaluate(XPathExtFunction.java:225)
         at oracle.xdo.parser.v2.XSLVariable.getValue(XSLVariable.java:205)
         at oracle.xdo.parser.v2.XSLStylesheet.processVariables(XSLStylesheet.java:638)
         at oracle.xdo.parser.v2.XSLStylesheet.execute(XSLStylesheet.java:503)
         at oracle.xdo.parser.v2.XSLStylesheet.execute(XSLStylesheet.java:485)
         at oracle.xdo.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:264)
         at oracle.xdo.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:150)
         at oracle.xdo.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:187)
         at java.lang.reflect.Method.invoke(Native Method)
         at oracle.apps.xdo.common.xml.XSLT10gR1.invokeProcessXSL(XSLT10gR1.java:580)
         at oracle.apps.xdo.common.xml.XSLT10gR1.transform(XSLT10gR1.java:378)
         at oracle.apps.xdo.common.xml.XSLT10gR1.transform(XSLT10gR1.java:197)
         at oracle.apps.xdo.common.xml.XSLTWrapper.transform(XSLTWrapper.java:156)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:916)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:869)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:204)
         at oracle.apps.xdo.template.FOProcessor.createFO(FOProcessor.java:1497)
         at oracle.apps.xdo.template.FOProcessor.generate(FOProcessor.java:913)
         at oracle.apps.xdo.oa.schema.server.TemplateHelper.runProcessTemplate(TemplateHelper.java:1766)
         at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:1277)
         at oracle.apps.xdo.oa.cp.JCP4XMLPublisher.runProgram(JCP4XMLPublisher.java:807)
         at oracle.apps.fnd.cp.request.Run.main(Run.java:148)
    Start of log messages from FND_FILE
    End of log messages from FND_FILE
    Executing request completion options...
    Finished executing request completion options.
    Concurrent request completed
    Current system time is 11-AUG-2006 09:13:59
    **************************************End of Log *******************************************
    As u can c from the error, it seems to indicate that I'm using the method 'set_xslt_locale' which evidently I'm not using in my Template. Does anyone 've any ideas as to why this error is been thrown out.
    I even tried putting a template with just the text as 'This is a test Template' in the RTF Template. I still get the above errors.
    Any potential workaround too greatly appreciated.
    Thanks for ur time.

    One thing of note is that when I downloaded the template using XDOLOADER, the xml publisher seems to 've created a .xsl file that has reference to the method mentioned above. So although, I'm not referencing it, XMLPublisher created .xsl is referencing it n hence the error. Also, I do remember having read that 'set variable..' method refernced above is only available for a higher version of XMLP. I think I'm on 5.0.
    So the question is do I've to upgrade to 5.5 or can I make do with 5.0 version? I would love to get around this problem without the upgrade.
    Thanks

  • ORA-06502: PL/SQL: numeric or value error ORA-06512: at "APPS.WF_NOTIFICATION", line 5754 ORA-06512: at line 5

    Hi,
    I have a variable l_body in my pl/sql code with varchar2(32767).
    it displays max. 44 lines, more than 44 lines it gives buffer size error.
    if I use clob data type then it gives value or numeric erro on more than 44 lines.
    code is below
    regards
    l_clob       CLOB;
    l_body  varchar2(32767);
    BEGIN
           Dbms_lob.CreateTemporary(l_clob,TRUE);
           l_body := null;
         l_body := '<Html>';
         l_body := l_body||'<Body>';
    --          l_body := l_body||'<Font Face="Verdana, Arial, Helvetica" Color="#000000">';
    -- l_body := l_body||'<BR> <BR> <BR>' || l_str || '<Br>';
              l_body := l_body||'<BR> ' || 'Please note that Receipt Number <B> '|| Trans_Id || ' with amount: ' || trim(to_char(total_amount,'999G999G999G999D99')) ||'</B> has been sent to you for approval. Detail is given below:' || '<Br> <BR> ';
              l_body := l_body||'</Table><Br><Br>';
              l_body := l_body||'<Table Border=1">';
    --          l_body := l_body||'<Tr Bgcolor=rgb(0,154,61)>';
              l_body := l_body||'<Tr Bgcolor=rgb(162,202,230)>';
              l_body := l_body||'<Th><P><Font Size = 2 Face="Verdana, Arial, Helvetica"><div align=left>Date';
            l_body := l_body||'<Th><P><Font Size = 2 Face="Verdana, Arial, Helvetica"><div align=left>Vendor Name';
              l_body := l_body||'<Th><P><Font Size = 2 Face="Verdana, Arial, Helvetica"><div align=left>PO Number';
              l_body := l_body||'<Th><P><Font Size = 2 Face="Verdana, Arial, Helvetica"><div align=left>Release Number';
              l_body := l_body||'<Th><P><Font Size = 2 Face="Verdana, Arial, Helvetica"><div align=left>Line';
              l_body := l_body||'<Th><P><Font Size = 2 Face="Verdana, Arial, Helvetica"><div align=left>Item Description';
            l_body := l_body||'<Th><P><Font Size = 2 Face="Verdana, Arial, Helvetica"><div align=left>Quantity';
              l_body := l_body||'<Th><P><Font Size = 2 Face="Verdana, Arial, Helvetica"><div align=left>Unit';
              l_body := l_body||'<Th><P><Font Size = 2 Face="Verdana, Arial, Helvetica"><div align=left>PO Unit Price';
              l_body := l_body||'<Th><P><Font Size = 2 Face="Verdana, Arial, Helvetica"><div align=left>Currency';
              l_body := l_body||'<Th><P><Font Size = 2 Face="Verdana, Arial, Helvetica"><div align=left>Amount';
              l_body := l_body||'<Th><P><Font Size = 2 Face="Verdana, Arial, Helvetica"><div align=left>Code Combination';
              l_body := l_body||'</Tr>';
           FOR x IN C LOOP
              l_body := l_body||'<Tr>';
              l_body := l_body||'<Td><P><Font Size = 2><div align=left>'||x.transaction_date||'</Td>';
              l_body := l_body||'<Td><P><Font Size = 2><div align=left>'||x.vendor_name||'</Td>';
            l_body := l_body||'<Td><P><Font Size = 2><div align=left>'||x.po_number||'</Td>';
            l_body := l_body||'<Td><P><Font Size = 2><div align=left>'||x.release_num||'</Td>';
              l_body := l_body||'<Td><P><Font Size = 2><div align=left>'||x.line_num||'</Td>';
              l_body := l_body||'<Td><P><Font Size = 2><div align=left>'||x.item_description||'</Td>';
            l_body := l_body||'<Td><P><Font Size = 2><div align=right>'||x.quantity||'</Td>';
              l_body := l_body||'<Td><P><Font Size = 2><div align=left>'||x.unit_of_measure||'</Td>';
              l_body := l_body||'<Td><P><Font Size = 2><div align=right>'||x.po_unit_price||'</Td>';
              l_body := l_body||'<Td><P><Font Size = 2><div align=left>'||x.currency_code||'</Td>';
              l_body := l_body||'<Td><P><Font Size = 2><div align=right>'||x.amount||'</Td>';
              l_body := l_body||'<Td><P><Font Size = 2><div align=left>'||x.cc||'</Td>';
              l_body := l_body||'</Tr>';
            END LOOP;
      l_body := l_body||'</Table><Br><Br>';
      l_body := l_body||'</Body>'||CHR(10);
      l_body := l_body||'</Html>'||CHR(10);
            dbms_lob.writeappend(l_clob,LENGTH(l_body),l_body);
    RETURN L_Clob;
        END Format_Notification_Msg;

    The maximum size allowed for l_body  is 32767 which as varchar2(32767)
    Even though CLOB does not have size limit, as you are storing the actual data in 'l_body', it throws the error when the 'l_body' increases 32767 characters.
    Call the dbms_lob.writeappend() API in the for loop and nullify l_body after the API call, so that the 'l_body' will  not go beyond the specified limit.

  • Publishing Application Modules as Web Services runs into error

    Hello,
    I want to create a web service based upon and ADF BC Application (in other words, based upon a data control).
    I want to expose the ADF BC Application functionality (DML, calling of procedures) via Web Service.
    I read in the Developers Guid for Forms4GL Developers, parapragh 33.4 (Publishing Application Modules as Web Services), how this can be done:
    How to Enable the J2EE Web Service Option for an Application Module
    To enable your application module as a web service:
    1. Enable a custom Java class for your application module and add to it one or more
    custom methods that you want to appear on the web service interface.
    2. Open the Application Module editor and on the Client Interface tab, select one or
    more custom methods to appear on the client interface.
    3. With the Application Module editor still open, on the Remote panel, select
    Remoteable Application Module, select J2EE Web Service in the Available list
    and shuttle it to the selected list.
    4. Then click OK to save your changes.
    When I follow this series of actions I get the following error:
    Failed to validate method
    oracle.javatools.parser.java.v2.classfile.ClClass$ClMethod@3146a021
    java.lang.IllegalStateException: Failed to validate method oracle.javatools.parser.java.v2.classfile.ClClass$ClMethod@3164a021 whether it is publishable
         at oracle.jbo.dt.jdevx.JdvWebServicePlatform2.getMethodPublishableStatus(JdvWebServicePlatform2.java:254)
         at oracle.jbo.dt.objects.JboWebServicePlatform.generateWebServiceCode(JboWebServicePlatform.java:308)
         at oracle.jbo.dt.objects.JboWebServicePlatform.createServer(JboWebServicePlatform.java:100)
         at oracle.jbo.dt.objects.JboDeployPlatform.createRemoteClass(JboDeployPlatform.java:2077)
         at oracle.jbo.dt.ui.module.AMSaveRemoteThread.doGeneration(AMRemotePanel.java:671)
         at oracle.jbo.dt.ui.module.AMSaveRemoteThread.run(AMRemotePanel.java:658)
    Who has any ideas?
    Regards Leon Smiers

    repost

  • ORA-06502: PL/SQL: numeric or value error: Bulk Bind: Truncated Bind

    Hi
    I am getting this run time error ORA-06502: PL/SQL: numeric or value error: Bulk Bind: Truncated Bind in my pl/sql . I tried evrything , changing datatypes ,etc but still this error is coming .What can be the cause , please help.
    declare
    svid xxpor_utility.p_svid@sppmig1%type;
    p_sv_id xxpor_utility.p_svid@sppmig1%type;
    tab xxpor_utility.xxpor_indextab@sppmig1;
    svid1 xxpor_utility.p_svid@sppmig1%type;
    p_sv_id1 xxpor_utility.p_svid@sppmig1%type;
    tab1 xxpor_utility.xxpor_indextab@sppmig1;
    svid2 xxpor_utility.p_svid@sppmig1%type;
    p_sv_id2 xxpor_utility.p_svid@sppmig1%type;
    tab2 xxpor_utility.xxpor_indextab@sppmig1;
    svid3 xxpor_utility.p_svid@sppmig1%type;
    p_sv_id3 xxpor_utility.p_svid@sppmig1%type;
    tab3 xxpor_utility.xxpor_indextab@sppmig1;
    v_index t2_error_table.id_value%type;
    v_code t2_error_table.error_code%type;
    p_error varchar2(600);
    k number(20):=0;
    v_msg varchar2(2000);
    v_commit_count number(10);
    v_at_gpid varchar2(512);
    v_at_oper varchar2(512);
    v_sch varchar2(512);
    v_vat varchar2(512);
    exp exception;
    exp1 exception;
    exp2 exception;
    exp3 exception;
    exp4 exception;
    v_pay varchar2(512);
    v_res varchar2(512);
    v_digit varchar2(512);
    v_agree varchar2(512);
    v_driver_licence PERSON_HISTORY.drivers_licence%TYPE;
    v_cus_gen1 number(10);
    v_cus_gen2 number(10);
    v_cus_gen3 number(10);
    svid_sr number(10);
    v_social PERSON_HISTORY.social_security_number%TYPE;
    CURSOR person_cur (p_person_id person_history.person_id%TYPE)
    IS
    SELECT drivers_licence ,social_security_number
    FROM PERSON_HISTORY@SPPMIG1
    WHERE PERSON_ID=p_person_id --p2(p).person_id
         AND EFFECTIVE_START_DATE = (SELECT MAX(EFFECTIVE_START_DATE)
         FROM PERSON_HISTORY@sppmig1
                                            WHERE PERSON_ID=p_person_id);--p2(p).person_id) ;
    --p number(20):=1;
    --j number(20);
    cursor c1 is
    select * from cus_node_his ;
    type temp_c1 is table of customer_node_history%rowtype
    index by binary_integer;
    t2 temp_c1;
    type temp_c2 is table of customer_node_history@slpmig1%rowtype
    index by binary_integer;
    p2 temp_c2;
    /*cursor c2(p_id customer_query.customer_node_id%type) is
    select general_1,general_2,general_3
    from customer_query@sppmig1 c where c.customer_query_type_id=10003 and
    c.customer_node_id(+) =p_id
    and c.open_date = (select
    max(open_date) from customer_query@sppmig1 where customer_node_id=p_id
    and customer_query_type_id=10003 and c.customer_query_id =(select max(customer_query_id) from customer_query@sppmig1
    where customer_node_id=p_id and customer_query_type_id=10003));*/
    procedure do_bulk_insert is
    bulk_errors EXCEPTION;
    PRAGMA EXCEPTION_INIT(bulk_errors, -24381);
    begin
    forall j in 1..t2.count SAVE EXCEPTIONS
    insert into aaa values t2(j);
    commit;
    --t2.delete;
    k:=0;
    v_msg:=sqlerrm;
    EXCEPTION WHEN bulk_errors THEN
    FOR L IN 1..SQL%bulk_exceptions.count
    LOOP
    v_index := SQL%bulk_exceptions(L).ERROR_INDEX;
    v_code := sqlerrm(-1 * SQL%bulk_exceptions(L).ERROR_CODE);
    --v_index := SQL%bulk_exceptions(j).ERROR_INDEX;
    --v_code := sqlerrm(-1 * SQL%bulk_exceptions(j).ERROR_CODE);
    INSERT INTO t2_error_table
    VALUES('CUSTOMER_NODE_HISTORY',
    'CUSTOMER_NODE_ID',
    v_msg,
    t2(v_index).customer_node_id,
    null,
    'DO_BULK_INSERT',
    v_code
    commit;
    END LOOP;
    end do_bulk_insert;
    begin
    select value into v_at_gpid from t2_system_parameter@sppmig1 where name='atlanta_group_id';
    select value into v_commit_count from t2_system_parameter@sppmig1 where name='batch_size';
    select value into v_sch from t2_system_parameter@sppmig1 where name='schedule_id';
    select value into v_pay from t2_system_parameter@sppmig1 where name='payment_location_code';
    select value into v_at_oper from t2_system_parameter@sppmig1 where name='atlanta_operator_id';
    select value into v_digit from t2_system_parameter@sppmig1 where name='digits_to_be_screened';
    select value into v_res from t2_system_parameter@sppmig1 where name='responsible_agent';
    select value into v_vat from t2_system_parameter@sppmig1 where name='vat_rate';
    select value into v_agree from t2_system_parameter@sppmig1 where name='bank_agreement_status';
    xxpor_utility.xxpor_loadmemory@sppmig1('CUSTOMER_NODE_HISTORY','CUSTOMER_NODE_TYPE_ID',tab);
    xxpor_utility.xxpor_loadmemory@sppmig1('CUSTOMER_NODE_HISTORY','CREDIT_RATING_CODE',tab2);
    xxpor_utility.xxpor_loadmemory@sppmig1('CUSTOMER_NODE_HISTORY','PAYMENT_METHOD_CODE',tab3);
    xxpor_utility.xxpor_loadmemory@sppmig1('CUSTOMER_NODE_HISTORY','CUSTOMER_NODE_STATUS_CODE',tab1);
    open c1;
    loop
    fetch c1 bulk collect into p2 limit v_commit_count;
    for p in 1..p2.count loop
    k:=K+1;
    begin
    xxpor_utility.xxpor_getsvid@sppmig1(p2(p).CUSTOMER_NODE_TYPE_ID,tab,svid);
    p_sv_id:=svid;
    xxpor_utility.xxpor_getsvid@sppmig1(p2(p).CUSTOMER_NODE_STATUS_CODE,tab1,svid1);
    p_sv_id1 :=svid1;
    xxpor_utility.xxpor_getsvid@sppmig1(p2(p).CREDIT_RATING_CODE,tab2,svid2);
    p_sv_id2:=svid2;
    xxpor_utility.xxpor_getsvid@sppmig1(p2(p).PAYMENT_METHOD_CODE,tab3,svid3);
    p_sv_id3:=svid3;
    OPEN person_cur (p2(p).person_id);
    FETCH person_cur INTO v_driver_licence, v_social;
    CLOSE person_cur;
    --select social_security_number  into v_social from person_history@sppmig1 where
    --PERSON_ID=p2(p).person_id AND EFFECTIVE_START_DATE = (SELECT MAX(EFFECTIVE_START_DATE) FROM
    --PERSON_HISTORY@sppmig1 WHERE PERSON_ID=p2(p).person_id) ;
    /*open c2(p2(p).customer_node_id);
    fetch c2 into v_cus_gen1, v_cus_gen2, v_cus_gen3;
    close c2;
    xxpor_utility.get_status_code@sppmig1(v_cus_gen1,v_cus_gen2,v_cus_gen3,svid_sr);*/
    svid_sr:=2600000;
    t2(k).CUSTOMER_NODE_ID     :=     p2(p).CUSTOMER_NODE_ID;
    t2(k).LAST_MODIFIED          :=     p2(p).LAST_MODIFIED;
    t2(k).EFFECTIVE_START_DATE     :=     p2(p).EFFECTIVE_START_DATE;
    t2(k).EFFECTIVE_END_DATE     :=     p2(p).EFFECTIVE_END_DATE;
    t2(k).CUSTOMER_NODE_TYPE_ID     := p_sv_id;
    if p_sv_id is null then
    raise exp1;
    end if;
    t2(k).PRIMARY_IDENTIFIER      :=     p2(p).PRIMARY_IDENTIFIER;
    t2(k).PRIMARY_IDENTIFIER2     :=     p2(p).PRIMARY_IDENTIFIER2;
    t2(k).NODE_NAME           :=     p2(p).NODE_NAME ;
    t2(k).NODE_NAME_UPPERCASE     :=     p2(p).NODE_NAME_UPPERCASE ;
    t2(k).NODE_NAME_SOUNDEX     :=     p2(p).NODE_NAME_SOUNDEX;
    t2(k).ATLANTA_GROUP_ID          := v_at_gpid ;
    t2(k).ATLANTA_OPERATOR_ID     :=     p2(p).ATLANTA_OPERATOR_ID;
    t2(k).GL_CODE_ID          :=     p2(p).GL_CODE_ID;
    t2(k).PARENT_CUSTOMER_NODE_ID     := p2(p).PARENT_CUSTOMER_NODE_ID ;
    t2(k).HIERARCHY_LEVEL          := p2(p).HIERARCHY_LEVEL ;
    t2(k).ROOT_CUSTOMER_NODE_ID      := p2(p).ROOT_CUSTOMER_NODE_ID ;
    t2(k).CUSTOMER_NODE_STATUS_CODE := p_sv_id1 ;
    if p_sv_id1 is null then
    raise exp2;
    end if;
    t2(k).CREATED_DATE     :=          p2(p).CREATED_DATE;
    t2(k).ACTIVE_DATE      :=          p2(p).ACTIVE_DATE ;
    t2(k).PERSON_ID     :=          p2(p).PERSON_ID ;
    t2(k).PRIME_ACCOUNT_ID :=          p2(p).PRIME_ACCOUNT_ID;
    t2(k).REPORT_LEVEL_CODE :=          p2(p).REPORT_LEVEL_CODE;
    t2(k).POSTAL_ADDRESS_ID     :=     p2(p).POSTAL_ADDRESS_ID;
    t2(k).SITE_ADDRESS_ID     :=     p2(p).SITE_ADDRESS_ID ;
    t2(k).CURRENCY_ID      :=          p2(p).CURRENCY_ID;
    t2(k).SCHEDULE_ID     :=          v_sch;
    t2(k).BILLING_PRIORITY     :=     p2(p).BILLING_PRIORITY ;
    t2(k).BILLING_COMPLEXITY:=          p2(p).BILLING_COMPLEXITY ;
    t2(k).BILLING_CONFIGURATION_CODE     := p2(p).BILLING_CONFIGURATION_CODE;
    t2(k).SUPPRESS_IND_CODE           := p2(p).SUPPRESS_IND_CODE ;
    t2(k).SUPPRESS_BILL_CYCLE_COUNT := p2(p).SUPPRESS_BILL_CYCLE_COUNT;
    t2(k).SUPPRESS_UNTIL_ISSUE_DATE := p2(p).SUPPRESS_UNTIL_ISSUE_DATE;
    t2(k).TURNOVER               := p2(p).TURNOVER;
    t2(k).TURNOVER_CURRENCY_ID      :=     p2(p).TURNOVER_CURRENCY_ID ;
    t2(k).CREDIT_LIMIT           :=     p2(p).CREDIT_LIMIT ;
    t2(k).CREDIT_LIMIT_CURRENCY_ID :=     p2(p).CREDIT_LIMIT_CURRENCY_ID;
    t2(k).EXPECTED_REVENUE      :=     p2(p).EXPECTED_REVENUE ;
    t2(k).EXPECTED_REVENUE_CURRENCY_ID     := p2(p).EXPECTED_REVENUE_CURRENCY_ID ;
    t2(k).CREDIT_RATING_CODE      :=     p_sv_id2 ;
    -- if p_sv_id2 is null then
    --raise exp3;
    -- end if;
    t2(k).CREDIT_COMMENTS           := p2(p).CREDIT_COMMENTS ;
    t2(k).TAX_CLASS_CODE          := 1     ;
    t2(k).PAYMENT_METHOD_CODE     :=     p_sv_id3;
    --if p_sv_id3 is null then
    --raise exp4;
    --end if;
    t2(k).PAYMENT_LOCATION_CODE      := v_pay ;
    t2(k).BANK_CODE           :=     NULL;
    t2(k).BRANCH_CODE           :=     NULL ;
    t2(k).BANK_ACCOUNT_NAME     :=     p2(p).NODE_NAME ;
    t2(k).BANK_ACCOUNT_NUMBER     :=     '1000000';
    t2(k).BANK_ACCOUNT_REF      :=     v_agree;
    t2(k).CARD_TYPE_CODE          := p2(p).CARD_TYPE_CODE     ;
    t2(k).CARD_NUMBER          :=     p2(p).CARD_NUMBER ;
    t2(k).CARD_EXPIRY_DATE          := NULL ;
    t2(k).ASSIGNED_OPERATOR_ID      :=     NULL ;
    t2(k).SALES_CHANNEL_CODE     :=     0;
    t2(k).COMPANY_NUMBER          := NULL;
    t2(k).INDUSTRY_CODE          :=     NULL;
    t2(k).REGION_CODE           :=     NULL;
    t2(k).GENERAL_1          :=     v_vat ;
    t2(k).GENERAL_2           :=     svid_sr ;
    if svid_sr is null then
    raise exp;
    end if;
    t2(k).GENERAL_3           :=     v_social ;
    t2(k).GENERAL_4           :=     v_driver_licence ;
    t2(k).GENERAL_5           :=     v_vat;
    t2(k).GENERAL_6           :=     v_res;
    t2(k).GENERAL_7           :=     null||':'||null||':'||'1000000'||':'||null||':'||null||':'||null||':';
    t2(k).GENERAL_8          :=     '2' ;
    t2(k).GENERAL_9           :=     v_digit;
    t2(k).GENERAL_10          :=     p2(p).CUSTOMER_NODE_ID;
    exception when exp then
    p_error:= sqlerrm;
    insert into t2_error_table values ( 'CUSTOMER_NODE_HISTORY','CUSTOMER_NODE_ID',p_error,p2(p).customer_node_id
    ,null,null,null);
    commit;
    when exp1 then
    p_error:= sqlerrm;
    insert into t2_error_table values ( 'CUSTOMER_NODE_HISTORY','CUSTOMER_NODE_ID',p_error,p2(p).customer_node_id
    ,null,null,'customer_node_type_id is null');
    commit;
    when exp2 then
    p_error:= sqlerrm;
    insert into t2_error_table values ( 'CUSTOMER_NODE_HISTORY','CUSTOMER_NODE_ID',p_error,p2(p).customer_node_id
    ,null,null,'customer_node_status_code is null');
    commit;
    /*when exp3 then
    p_error:= sqlerrm;
    insert into t2_error_table values ( 'CUSTOMER_NODE_HISTORY','CUSTOMER_NODE_ID',p_error,p2(p).customer_node_id
    ,null,null,'credit_rating_code is null');
    commit;
    when exp4 then
    p_error:= sqlerrm;
    insert into t2_error_table values ( 'CUSTOMER_NODE_HISTORY','CUSTOMER_NODE_ID',p_error,p2(p).customer_node_id
    ,null,null,null);
    commit;*/
    when others then
    p_error:= sqlerrm;
    insert into t2_error_table values ( 'CUSTOMER_NODE_HISTORY','CUSTOMER_NODE_ID',p_error,p2(p).customer_node_id
    ,null,null,null);
    commit;
    end;
    if mod(k,v_commit_count)=0 then
    do_bulk_insert;
    t2.delete;
    end if;
    end loop;
    do_bulk_insert;
    exit when c1%notfound;
    end loop;
    t2.delete;
    exception when others then
    p_error:= sqlerrm;
    insert into t2_error_table values ( 'CUSTOMER_NODE_HISTORY','CUSTOMER_NODE_ID',p_error,null
    ,null,null,null);
    commit;
    RAISE;
    end;
    /

    Hi there,
    Following is the description of the error, you are getting.
    ORA-06502:VALUE_ERROR
    An arithmetic, conversion, truncation, or size-constraint error occurs. For example, when your program selects a column value into a character variable, if the value is longer than the declared length of the variable, PL/SQL aborts the assignment and raises VALUE_ERROR. In procedural statements, VALUE_ERROR is raised if the conversion of a character string into a number fails. (In SQL statements, INVALID_NUMBER is raised.)
    Hopefully this will help.

Maybe you are looking for