Numeric or value error when Attribute Usage Retrieve is set to Yes
When using the Business Rule Design Transformer in Headstart Utilities a Numeric or value error occurs when one of the attribute usages of an entity has the operation Retrieve set to Yes.
Sandra,
Thanks for your quick response!
The following debug detail info is logged:
-- START --
Transformation of Business Rule BR_3ARE1007_CEV.
Determine rule type for BR_3ARE1007_CEV.
BR_3ARE1007_CEV is change event with DML.
Stage 1: Populate in memory table with all triggering tables and columns.
Triggering event CREATE ARTICLE found.
Checking attribute usages for business rule 724784 and entity 720389
Attribute: PRIORITY
Column is:
Checking relationship usages for business rule 724784 and entity 720389
Stage 2: loop over all tables found and create BRDD.
...Create BRDD for table XPS_ARTICLES.
hsu_capi.find_plm
Business Rule Design Definition for BR_3ARE1007_CEV
Activity aborted with ORACLE internal errors.
-6502 ORA-06502: PL/SQL: numeric or value error
-- END --
If you want to reproduce the problem use the following data:
EVENT:
Name = CREATE test
Type = Change
On condition = CREATE
Entity = test
BUSINESS FUNCTION <BR_..>
Triggered by = Above event
Using entities = test
Using attributes = test_att
Retrieve? = Yes
This should create the error...
Similar Messages
-
-6502 ORA-06502: PL/SQL: numeric or value error when using 'Create CAPI Definition'
I get an error when I try to create a CAPI definition with Headstart untilities (6i). I use HSU_CAPI revision 6.5.2.0
The detailed information says the following:
Message
BLAPI.OPEN_ACTIVITY
Start HSU_CAPI.run
Number of Tables to create CAPI for 1
Initial checks for table KCS_TENDERS with id 692754610572409851363604771392473242
HSU_CAPT.initial_checks for table KCS_TENDERS
HSU_CAPF.initial_checks for table KCS_TENDERS
HSU_CAPC.initial_checks Custom Services for table KCS_TENDERS
HSU_CAPB.initial_checks BRDD for table KCS_TENDERS
bltext.get_lines_from_repository, p_text_type=CDINOT
bltext.get_line_containing
bltext.get_line_containing
bltext.get_lines_from_repository, p_text_type=CDIPLS
bltext.get_line_containing
bltext.get_line_containing
bltext.get_line_containing
bltext.get_line_containing
bltext.get_line_containing
bltext.get_line_containing
KCS_TENDERS Business Rule Design Definition BR_TNR001_CEV does not have any Trigger Columns. Rule will fire when any column is updated.
bltext.get_lines_from_repository, p_text_type=CDINOT
bltext.get_line_containing
bltext.get_line_containing
bltext.get_lines_from_repository, p_text_type=CDIPLS
bltext.get_line_containing
bltext.get_line_containing
bltext.get_line_containing
bltext.get_line_containing
bltext.get_line_containing
bltext.get_line_containing
Creating CAPI for table KCS_TENDERS with id 692754610572409851363604771392473242
Recreating KCS_TENDERS Table API/Trigger Logic - Event: Pre-Before-Insert-stmt, Open transaction.
Write Text for element type APPLOG with id 753236628580304413262318236391196826 - Text type: ALCODE number of text lines = 6 - REPLACE
Deleted old text
Write Text for element type APPLOG with id 753236628580304413262318236391196826 - Text type: ALCMNT number of text lines = 1 - REPLACE
Deleted old text
Recreating KCS_TENDERS Table API/Trigger Logic - Event: Pre-Before-Update-stmt, Open transaction.
Write Text for element type APPLOG with id 753236628580332747461215454262479002 - Text type: ALCODE number of text lines = 6 - REPLACE
Deleted old text
Write Text for element type APPLOG with id 753236628580332747461215454262479002 - Text type: ALCMNT number of text lines = 1 - REPLACE
Deleted old text
Recreating KCS_TENDERS Table API/Trigger Logic - Event: Pre-Before-Delete-stmt, Open transaction.
Write Text for element type APPLOG with id 753236628580361081660112672133761178 - Text type: ALCODE number of text lines = 6 - REPLACE
Deleted old text
Write Text for element type APPLOG with id 753236628580361081660112672133761178 - Text type: ALCMNT number of text lines = 1 - REPLACE
Deleted old text
Recreating KCS_TENDERS Table API/Trigger Logic - Event: Post-After-Insert-stmt, Close transaction.
Write Text for element type APPLOG with id 753236628580389415859009890005043354 - Text type: ALCODE number of text lines = 6 - REPLACE
Deleted old text
Write Text for element type APPLOG with id 753236628580389415859009890005043354 - Text type: ALCMNT number of text lines = 1 - REPLACE
Deleted old text
Recreating KCS_TENDERS Table API/Trigger Logic - Event: Post-After-Update-stmt, Close transaction.
Write Text for element type APPLOG with id 753236628580417750057907107876325530 - Text type: ALCODE number of text lines = 6 - REPLACE
Deleted old text
Write Text for element type APPLOG with id 753236628580417750057907107876325530 - Text type: ALCMNT number of text lines = 1 - REPLACE
Deleted old text
Recreating KCS_TENDERS Table API/Trigger Logic - Event: Post-After-Delete-stmt, Close transaction.
Write Text for element type APPLOG with id 753236628580446084256804325747607706 - Text type: ALCODE number of text lines = 6 - REPLACE
Deleted old text
Write Text for element type APPLOG with id 753236628580446084256804325747607706 - Text type: ALCMNT number of text lines = 1 - REPLACE
Deleted old text
Recreating KCS_TENDERS Table API/Trigger Logic - Event: Pre-Before-Delete-row, Save old data.
Write Text for element type APPLOG with id 753236628580474418455701543618889882 - Text type: ALCODE number of text lines = 404 - REPLACE
Deleted old text
Write Text for element type APPLOG with id 753236628580474418455701543618889882 - Text type: ALCMNT number of text lines = 1 - REPLACE
Deleted old text
Recreating KCS_TENDERS Table API/Trigger Logic - Event: Pre-Insert, Call CAPI.
Write Text for element type APPLOG with id 753236628580568865785358936523163802 - Text type: ALCODE number of text lines = 4 - REPLACE
Deleted old text
Write Text for element type APPLOG with id 753236628580568865785358936523163802 - Text type: ALCMNT number of text lines = 1 - REPLACE
Deleted old text
Recreating KCS_TENDERS Table API/Trigger Logic - Event: Pre-Update, Call CAPI.
Write Text for element type APPLOG with id 753236628580597199984256154394445978 - Text type: ALCODE number of text lines = 4 - REPLACE
Deleted old text
Write Text for element type APPLOG with id 753236628580597199984256154394445978 - Text type: ALCMNT number of text lines = 1 - REPLACE
Deleted old text
Recreating KCS_TENDERS Table API/Trigger Logic - Event: Pre-Delete, Call CAPI.
Write Text for element type APPLOG with id 753236628580625534183153372265728154 - Text type: ALCODE number of text lines = 17 - REPLACE
Deleted old text
Write Text for element type APPLOG with id 753236628580625534183153372265728154 - Text type: ALCMNT number of text lines = 1 - REPLACE
Deleted old text
Recreating KCS_TENDERS Table API/Trigger Logic - Event: Post-Insert, Call CAPI.
Write Text for element type APPLOG with id 753236628580653868382050590137010330 - Text type: ALCODE number of text lines = 7 - REPLACE
Deleted old text
Write Text for element type APPLOG with id 753236628580653868382050590137010330 - Text type: ALCMNT number of text lines = 1 - REPLACE
Deleted old text
Recreating KCS_TENDERS Table API/Trigger Logic - Event: Post-Update, Call CAPI.
Write Text for element type APPLOG with id 753236628580682202580947808008292506 - Text type: ALCODE number of text lines = 144 - REPLACE
Deleted old text
Write Text for element type APPLOG with id 753236628580682202580947808008292506 - Text type: ALCMNT number of text lines = 1 - REPLACE
Deleted old text
Recreating KCS_TENDERS Table API/Trigger Logic - Event: Post-Delete, Call CAPI.
Write Text for element type APPLOG with id 753236628580767205177639461622139034 - Text type: ALCODE number of text lines = 282 - REPLACE
Deleted old text
Write Text for element type APPLOG with id 753236628580767205177639461622139034 - Text type: ALCMNT number of text lines = 1 - REPLACE
Deleted old text
HSU_CAPF.create_or_find_capi_pack
hsu_capi.find_plm (kcs_tnr_capi, 692754610572409851363604771392473242, CAPI).
capi package found in the context folder
BLPLM.UPD
FREE_FORMAT_TEXT_FLAG......... = Y
IMPLEMENTATION_NAME........... = kcs_tnr_capi
PLSQL_MODULE_TYPE............. = PACKAGE
SCOPE......................... = PUBLIC
COMPLETION_STATUS............. = COMPLETED
NAME.......................... = kcs_tnr_capi
PURPOSE....................... = Custom API package for implementing Business Rules and supporting TAPI
Recreated Package KCS/ KCS_TNR_CAPI, preserving only the Revision History.
HSU_CAPF.add_tags_er_av
bltext.get_lines_from_repository, p_text_type=CDINOT
bltext.get_line_containing
bltext.get_line_containing
bltext.get_lines_from_repository, p_text_type=CDINOT
bltext.get_line_containing
bltext.get_line_containing
bltext.get_lines_from_repository, p_text_type=CDINOT
bltext.get_line_containing
bltext.get_line_containing
bltext.get_lines_from_repository, p_text_type=CDINOT
bltext.get_line_containing
bltext.get_line_containing
HSU_CAPF.create_specification
HSU_CAPF.create_c_tabalias
HSU_CAPF.create_c_tabalias_all
HSU_CAPF.create_aggregate_value
HSU_CAPF.create_aggregate_value
HSU_CAPF.create_aggregate_value
Activity aborted with ORACLE internal errors.
-6502 ORA-06502: PL/SQL: numeric or value error: character string buffer too small
What can I do about it???
Thanks in advance.
Menno HoogsteenWorking on the same project as Menno, I had the time to look into the problem.
The problem is caused by the creation of the capi-function agregate_char_value in the packages hsu_capf. While creating this function the following code is executed:
add(' -- allowable values:');
add(' -- '||l_col_name_list);
This last statement causes the problem because this table is very big. L_col_name_list contains 2391 characters wich is 393 characters to long. So i changed this code into:
add(' -- allowable values:');
add(' -- '||substr(l_col_name_list,1,1990));
add(' -- '||substr(l_col_name_list,1990));
and everything works fine. Perhaps something for a patch?
Kind regards,
Ruben Spekle -
Numeric or value error when submitting form
I have a form based of a stored procedure. The form has about 20 fields on it. For some reason the form only allows data entry on only about 10 of them. If I put data in any of the other 10, I get: "An unexpected error occurred: ORA-06502: PL/SQL: numeric or value error (WWV-16016)"
I have looked everywhere to see what's going on. I checked the procedure to make sure its parameters are good. It takes takes all VARCHAR2's, so thats OK. I checked the fields in the form editor for validation, and none are being validated, so thats OK. I made sure all the fields are updatable and they are. I even checked the table to make sure that the data can go into the fields, even though I know that the error returned there would be through the procedure, not Portal. I am stumped. What am I missing?
RichFollow Up: While troubleshooting this, I filled in all the fields with one character each and the form submitted. I added characters little by little to each field until I got the error. It seems like Portal has a problem when I pass X amount of characters from a form. I say "Portal" because I thought this might be an OS parameter, but I get the same error in both Win2000 and Solaris.
Any ideas where this setting is? Or how to change it?
Rich -
Unexpected "numeric or value error" when using CAST COLLECT
I am having trouble with string aggregation using CAST / COLLECT and the to_string function described on various sites around the net including AskTom and http://www.oracle-developer.net/display.php?id=306.
I am getting "numeric or value error: character string buffer too small" but cannot see which limit I am exceeding.
I have put together a simple test case to highlight this problem which I have pasted below.
The error does not seem to be coming from the to_string function itself (else I expect we would see "TO_STRING raised an exception" in the returned error message).
Any thoughts much appreciated,
Thanks, Andy
SQL*Plus: Release 10.1.0.4.2 - Production on Tue Jun 15 09:56:53 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> CREATE TYPE table_of_varchar2 AS TABLE OF VARCHAR2(32000);
2 /
Type created.
SQL> CREATE OR REPLACE FUNCTION to_string (
2 nt_in IN table_of_varchar2
3 , delimiter_in IN VARCHAR2 DEFAULT ',')
4 RETURN VARCHAR2
5 IS
6 l_idx PLS_INTEGER;
7 l_str VARCHAR2(32767);
8 l_dlm VARCHAR2(10);
9
10 BEGIN
11
12 l_idx := nt_in.FIRST;
13 WHILE l_idx IS NOT NULL LOOP
14 l_str := l_str || l_dlm || nt_in(l_idx);
15 l_dlm := delimiter_in;
16 l_idx := nt_in.NEXT(l_idx);
17 END LOOP;
18
19 RETURN l_str;
20 EXCEPTION
21 WHEN OTHERS THEN
22 raise_application_error(-20000
23 , 'TO_STRING raised an exception. '||
24 'The reported error was: '||sqlerrm);
25 END to_string;
26 /
Function created.
SQL> DECLARE
2 l_longstring varchar2(32000);
3 BEGIN
4 SELECT to_string(CAST( COLLECT( substr(object_name,1,1) ) AS table_of_varchar2 ) )
5 INTO l_longstring
6 FROM all_objects
7 WHERE rownum < 2001;
8
9 EXCEPTION
10 WHEN OTHERS THEN
11 raise_application_error(-20001
12 , 'The anonymous block raised an exception: '||
13 sqlerrm||'. '||DBMS_UTILITY.format_error_backtrace);
14 END;
15 /
PL/SQL procedure successfully completed.
SQL> DECLARE
2 l_longstring varchar2(32000);
3 BEGIN
4 SELECT to_string(CAST( COLLECT( substr(object_name,1,1) ) AS table_of_varchar2 ) )
5 INTO l_longstring
6 FROM all_objects
7 WHERE rownum < 2002;
8
9 EXCEPTION
10 WHEN OTHERS THEN
11 raise_application_error(-20001
12 , 'The anonymous block raised an exception: '||
13 sqlerrm||'. '||DBMS_UTILITY.format_error_backtrace);
14 END;
15 /
DECLARE
ERROR at line 1:
ORA-20001: The anonymous block raised an exception: ORA-06502: PL/SQL: numeric
or value error: character string buffer too small
ORA-06512: at line 1. ORA-06512: at line 1
ORA-06512: at line 4
ORA-06512: at line 11Aha, of course.
I was aware of the 4000 character SQL VARCHAR2 limit but didn't think it would apply here since we are calling a PLSQL function and trying to assign the value it returns into a PLSQL varchar2(32000) variable. BUT... we are of course doing this via a SELECT statement and hence via SQL. Therefore the SQL 4000 limit applies.
With this in mind, I changed the RETURN type of the to_string function to be CLOB. This solved the problem.
Thank you,
Andy -
Numeric or value error when doing to_number
I have a source file where I have field1 character field with value say -5757.31. I need to map this feild to target table which is numeric field.
When I do the to_number of field1, do I need to specify the format?
When I am just doing to_number without any format, iam getting numeric or value error.
ThanksHi,
the implicit conversion depends on the nls parameters of your session. To be on the save side, define them explicitly: to_number('-5757.31', '9999999D99', 'NLS_NUMERIC_CHARACTERS = ''.,''')
Regards,
Carsten. -
PL/SQL: numeric or value error when extracting xml file from tables.
create or replace FUNCTION proc_generate_xml_from_tables(p_directory in varchar2,
p_areaname in varchar2)
return integer
AS
qryCtx DBMS_XMLGEN.ctxHandle;
result CLOB;
clob_len number := 0;
file_ptr utl_file.file_type;
oTableName restore_metadata.table_name%type;
o_filename restore_metadata.table_name%type;
cursor metadata_restore_list(p_area varchar2) is
select * from restore_metadata
where instr(area_name,upper(p_Area)) > 0
order by degree;
vtabcount number := 0;
sql_stmt varchar2(300);
BEGIN
dbms_lob.createtemporary(result, true,dbms_lob.session);
oTableName := upper('MAINT_ACTVS');
vtabcount := 0;
sql_stmt := 'select count(*) from ' || oTableName;
execute immediate sql_stmt into vtabcount;
o_filename := oTableName || '.xml';
file_ptr := utl_file.fopen(p_directory,o_filename,'W');
dbms_output.put_line(oTableName);
qryCtx := dbms_xmlgen.newcontext('select * from ' || oTableName);
result := dbms_xmlgen.getxml(qryCtx);
--dbms_output.put_line(result);
clob_len := dbms_lob.getlength(result);
dbms_output.put_line('Length of the clob file' || clob_len);
utl_file.put_line(file_ptr,result);
utl_file.fclose(file_ptr);
dbms_xmlgen.closeContext(qryCtx);
dbms_lob.freetemporary(result);
return 0;
EXCEPTION
when others THEN
utl_file.fclose(file_ptr);
dbms_output.put_line('Table Name into Consideration :- ' || oTableName);
dbms_output.put_line('Oracle Error Number:- ' || sqlcode || ' Ora Message :- ' || sqlerrm);
return -1;
END;
I am getting the following errors..
SQL> @temp1.sql
MAINT_ACTVS
Length of the clob file34245
Table Name into Consideration :- MAINT_ACTVS
Oracle Error Number:- -6502 Ora Message :- ORA-06502: PL/SQL: numeric or value error
What am I doing wrong here?
DB version is Oracle 10g
Edited by: userAtoZ on May 6, 2011 2:55 PM>
My problem lies that my xml file is having data more than 32 K.
When I write it 32K at a time then it work fine.
>
Then break it down.
l_pos number;
WHILE (l_pos <= clob_len)
LOOP
UTL_FILE.PUT_LINE (file_ptr,DBMS_LOB.SUBSTR ( RESULT , 32767,l_pos));
l_pos := l_pos + 32767;
END LOOP;
utl_file.fclose(file_ptr);
-
SQL query concat - numeric or value error
I am getting numeric or value error when concatenating sql script..
Here is the sample, I have in the stored proc.. firstpart:_ works fine if I comment the secondpart:_. (I modified the query because I am posting in the public forums)
V_SAMPLEQUERY VARCHAR2(2000);
firstpart:_
V_SAMPLEQUERY := '
SELECT
AB.ABCDID AS ABCDID,
CD.MEMBERID AS MEMBERID,
CD.FNAME AS FNAME,
CD.LNAME AS LNAME,
CD.ACCOUNT AS ACCOUNT,
EF.ZIP AS ZIP,
AB.INSERTTIME AS INSERTTIME,
AB.INSERTBY AS INSERTBY,
ES.NAME AS STATUS,
MYFUNCTION(E.ABCDID) AS AMOUNT,
PA.NAME AS SOUSENAME,
R.CODE AS BUDGETCODE,
WX.ACCOUNTID as ACCOUNTID,
AB.SOMETYPE AS SOMETYPE,
AB.ACCTREP,
ED.TYPE AS TYPE,
AB.NOTES AS NOTES,
GH.AREACODE || '''' || GH.PHONE_NUMBER AS PHONENUMBER,
ED.REQUESTEDDATE,
ED.BOOKED,
ED.CALLERINFO
FROM PEOPLES AB,
LOCATIONS CD,
LOCATIONTYPES EF,
ACCOUNTS GH,
ACCOUNTdetails IJ,
ACCOUNTstatus KL,
ACCOUNTMEMBERDETAILS MN,
MEMBERS OP,
BUDGET QR,
BCODES ST,
ACCOUNTSYSTEM UV,
INFOCALL WX,
PHONE_NUMBERS YZ
WHERE AT.NAME = ''SAVINGS''
andCD.MEMBERID = PH.MEMBERID
andCD.MEMBERID =EF.MEMBERID
and AT.ADDRESSTYPEID =EF.ADDRESSTYPEID
andCD.MEMBERID =AB.MEMBERID
andAB.STATUS = ES.STATUS(+)
andAB.ABCDID = ED.ABCDID
andAB.ABCDID = EP.ABCDID(+)
and EP.MEBER_ID = PA.MEBER_ID(+)
andAB.BID = R.BID(+)
andAB.SAMPLEID = PR.SAMPLEID(+)
andAB.ABCDID = BSG.ABCDID(+)
andAB.INFOCALLID = C.INFOCALLID(+)
and YZ.SOMETYPEID = ''10000''
ANDAB.INSERTTIME > SYSDATE - 35
ANDAB.INSERTTIME < ''
AND WX.NAME IN (''ABCD'',
''EFGH'',
''IJKL'',
''MNOP'',
''QRST'',
''UVWX'')
AND MN.NAME = ''FINISHED'' '
secondpart:_ ***ERROR PART***
V_SAMPLEQUERY := V_SAMPLEQUERY || ' ORDER BY AB.USER'; -- Here I am getting error saving ORA-06502 - numeric or value errorHi,
Wheneve you have a problem, prlease post a complete test script that people can run to re-create the problem and test their ideas. Include CREATE TABLE and INSERT statements for any tables used, abnd the results you want it to produce.
SeshuGiri wrote:
I am getting numeric or value error when concatenating sql script.. Are you really getting the error when you concatenate, or when you try to execute the resulting string?
Here is the sample, I have in the stored proc.. firstpart:_ works fine if I comment the secondpart:_. (I modified the query because I am posting in the public forums)
V_SAMPLEQUERY VARCHAR2(2000);Is that big enough? It looks like the string is right around 1000 characters; depending on your character set, that could be more than 2000 bytes. VARCHAR2s in PL/SQL can hold up to 32767 bytes.
firstpart:_
V_SAMPLEQUERY := '
SELECT
AB.ABCDID AS ABCDID,
CD.MEMBERID AS MEMBERID,
CD.FNAME AS FNAME,
CD.LNAME AS LNAME,
CD.ACCOUNT AS ACCOUNT,
EF.ZIP AS ZIP,
AB.INSERTTIME AS INSERTTIME,
AB.INSERTBY AS INSERTBY,
ES.NAME AS STATUS,
MYFUNCTION(E.ABCDID) AS AMOUNT,
PA.NAME AS SOUSENAME,
R.CODE AS BUDGETCODE,
WX.ACCOUNTID as ACCOUNTID,
AB.SOMETYPE AS SOMETYPE,
AB.ACCTREP,
ED.TYPE AS TYPE,
AB.NOTES AS NOTES,
GH.AREACODE || '''' || GH.PHONE_NUMBER AS PHONENUMBER,
ED.REQUESTEDDATE,
ED.BOOKED,
ED.CALLERINFO
FROM PEOPLES AB,
LOCATIONS CD,
LOCATIONTYPES EF,
ACCOUNTS GH,
ACCOUNTdetails IJ,
ACCOUNTstatus KL,
ACCOUNTMEMBERDETAILS MN,
MEMBERS OP,
BUDGET QR,
BCODES ST,
ACCOUNTSYSTEM UV,
INFOCALL WX,
PHONE_NUMBERS YZ
WHERE AT.NAME = ''SAVINGS''
andCD.MEMBERID = PH.MEMBERID
andCD.MEMBERID =EF.MEMBERID
and AT.ADDRESSTYPEID =EF.ADDRESSTYPEID
andCD.MEMBERID =AB.MEMBERIDYou need some whitespace after the keyword "and", in the line above and also several places below.
andAB.STATUS = ES.STATUS(+)
andAB.ABCDID = ED.ABCDID
andAB.ABCDID = EP.ABCDID(+)
and EP.MEBER_ID = PA.MEBER_ID(+)
andAB.BID = R.BID(+)
andAB.SAMPLEID = PR.SAMPLEID(+)
andAB.ABCDID = BSG.ABCDID(+)
andAB.INFOCALLID = C.INFOCALLID(+)
and YZ.SOMETYPEID = ''10000''
ANDAB.INSERTTIME > SYSDATE - 35
ANDAB.INSERTTIME < '' Did something get cut off here?
AND WX.NAME IN (''ABCD'',
''EFGH'',
''IJKL'',
''MNOP'',
''QRST'',
''UVWX'')
AND MN.NAME = ''FINISHED'' 'It looks like you're constructing a string for EXECUTE IMMEDIATE, but why not just use a static query?
secondpart:_ ***ERROR PART***
V_SAMPLEQUERY := V_SAMPLEQUERY || ' ORDER BY AB.USER'; -- Here I am getting error saving ORA-06502 - numeric or value error
USER is the name of a built-in function, which means it's not a good name for your own column. Try user_name instead. -
I need help with error ORA-06502: numeric or value error
Hi, all, i need help finding the error here, im getting a numeric or value error when i add information to the variable vlcadena when vlcadena is a clob type, and i check the length of the vlcadena variable and sometimes makes the error at 8000 characters some other times 32k i have no idea whats happening, does anyone have a clue?
PROCEDURE REGISTRO_551 (
VPNUMPARTE IN PARTESC.NUMPARTE%TYPE,
VPFRACCION IN IMPOMAT.FRACCIONMEXIMPO%TYPE,
VPDESCRIPCION IN PARTESC.DESCESPANOL%TYPE,
VPVALORDLS IN IMPOMAT.VALORDOLARES%TYPE,
VPCANTIDAD IN IMPOMAT.CANTIDAD%TYPE,
VPUNIMED IN PARTESC.UNIMEDPARTE%TYPE,
VPCANTIDADTARIFA IN IMPOMAT.CANTIDAD%TYPE,
VPVALORAGREGADO IN EXPOPT.VALORAGREGADO%TYPE,
VPPAISORIGEN IN PARTESC.PAISORIGEN%TYPE,
VPCOMPVEND IN PARTESC.PAISORIGEN%TYPE,
VPTIPOFRACCION IN IMPOMAT.TIPOFRACCION%TYPE,
VPPESONETO IN IMPOMAT.PESONETO%TYPE,
VPTIPOMONEDA IN MIMPOMAT.TIPOMONEDAEXTRANJERA%TYPE
) AS
BEGIN
vgproceso := 207310;
vllong2:=length(vlCadena);
vlCadena:=vlCadena||'551'||'|'; --1. TIPO DE REGISTRO
vgproceso := 207311;
vllong2:=length(vlCadena);
vlCadena:=vlCadena||VPFRACCION||'|'; --2. FRACCION
vgproceso := 207312;
vllong2:=length(vlCadena);
QUITA_ENTERS(NVL(VPDESCRIPCION,' '),VLTEMP);
IF LENGTH(VLTEMP)>80 THEN
VLTEMP:=SUBSTR(VLTEMP,1,80);
END IF;
vgproceso := 207313;
vllong2:=length(vlCadena);
IF VLTEMP IS NULL THEN
vlCadena:=vlCadena||'|'; --3. DESCRIPCION
ELSE
vlCadena:=vlCadena||VLTEMP||'|'; --3. DESCRIPCION
END IF;
vgproceso := 207314;
vllong2:=length(vlCadena);
IF VPNUMPARTE IS NULL THEN
vlCadena:=vlCadena||'|';--4. NO. DE PARTE
ELSE
vlCadena:=vlCadena||VPNUMPARTE||'|';--4. NO. DE PARTE
END IF;
vgproceso := 207315;
vllong2:=length(vlCadena);
vlCadena:=vlCadena||VPVALORDLS||'|'; --5. VALOR MERCANCIA
vgproceso := 207316;
vllong2:=length(vlCadena);
vlCadena:=vlCadena||VPCANTIDAD||'|'; --6. CANTIDAD COMERCIAL
vgproceso := 207317;
vllong2:=length(vlCadena);
IF VPUNIMED IS NULL THEN
VPDESCERROR:='ALGUNA PARTIDA CON FRACCION '||VPFRACCION||' NO TIENE UNIDAD DE MEDIDA';
END IF;
vgproceso := 207320;
GET_CATGRAL('ADUANAS','UNIMED',NVL(VPUNIMED,' '),CL_D1,CL_D2,CL_D3,CL_D4,CL_V1,CL_V2,CL_V3,CL_CATG);
IF CL_V2=0 THEN
vlCadena:=vlCadena||VPUNIMED||'|'; --7. UNIDAD MEDIDA COMERCIAL
ELSE
SELECT TO_CHAR(TRUNC(CL_V2)) INTO VLUMCOMERCIAL FROM DUAL;
IF LENGTH(VLUMCOMERCIAL)=1 THEN
VLUMCOMERCIAL:='0'||VLUMCOMERCIAL;
END IF;
vlCadena:=vlCadena||VLUMCOMERCIAL||'|'; --7. UNIDAD MEDIDA COMERCIAL
END IF;
vlCadena:=vlCadena||VPCANTIDADTARIFA||'|';--8. CANTIDAD TARIFA
vlCadena:=vlCadena||VPVALORAGREGADO||'|';--9. VALOR AGREGADO
GET_CATGRAL('ADUANAS','CONFADU','IVIN-REG',CL_D1,CL_D2,CL_D3,CL_D4,CL_V1,CL_V2,CL_V3,CL_CATG);
vlCadena:=vlCadena||CL_D1||'|'; --10. VINCULACION
vlCadena:=vlCadena||CL_D2||'|'; --11. METODO DE VALORACION
vlCadena:=vlCadena||'|'; --12. MARCA
vlCadena:=vlCadena||'|'; --13. MODELOIf the expected maximum length of the concatenated string is less than 32K, then use VARCHAR2 and at the end convert to CLOB if necesary.
:p
PS: At what line in the code does it give the error?
Edited by: LKBrwn_DBA on Aug 20, 2009 2:49 PM -
We face the above error in HTMLDB (APEX) application Ver 3.1.0. This occurs when we try to display more number of rows/records in drop-down list (LOV in tabular forms). We are able to display 200 records in LOV. When the list of records exceeds 230, we face the below error
report error:ORA-06502: PL/SQL: numeric or value error: character string buffer too small
the values listed in LOV are from tables (one of the columns in table)
Could anyone give us a solution?Hi
As you are using a tabular form, you could actually do the following:
1 - In the tabular form column's attributes, set the following:
Display as: Select List (query based on LOV)
Display extra values: Yes
List of values definition: SELECT null d, null r FROM DUAL
2 - Add a new page item and set it to generate your select list
3 - Create an HTML region with no template and use the following for its source:
<script type="text/javascript">
function loadList(c, l)
var s = document.getElementsByName(c);
var lItem = document.getElementById(l);
var lLength = lItem.options.length;
var k;
var j;
var x = lItem.innerHTML;
var v;
var o;
var z;
for (k = 0; k < s.length; k++)
z = s[k];
v = z.value;
z.options.length = 0;
for (j = 0; j < lLength; j++)
o = new Option()
o.value = lItem[j].value;
o.text = lItem[j].text;
z.options[j] = o;
z.value = v;
if (z.selectedIndex == -1)
z.selectedIndex = 0;
loadList("f05", "P1_MGR");
</script>
(Change "f05" and "P1_MGR" as appropriate to your column and your new page item respectively)
Now, when you load the page, the select list contains a null entry plus the entry already on the database. The javascript kicks in automatically, loops through every entry in the "f05" column, copies the existing value, replaces the select list with the new page item version and sets its value to the copied value.
Your new page item could be in a DIV tag that has a style of "display:none" to hide it from view.
Andy -
Package Returning Error ORA-06502: PL/SQL: numeric or value error
Hi,
I create a package to export to spread sheet .xls, The package work for simple query if i pass the query to package.
There is no error in package please create the package and do the following as mentioned below
create or replace
PACKAGE export_pkg_spread_sheet
AS
procedure download_excel(vsql in clob );
PROCEDURE excel_header(p_header in out nocopy clob);
procedure excel_content(p_content in out nocopy clob,
vsql in clob );
procedure excel_footer(p_footer in out nocopy clob);
procedure get_usable_sql (p_sql_in IN clob,
p_sql_out OUT clob);
END export_pkg_spread_sheet;
create or replace
PACKAGE body export_pkg_spread_sheet
AS
PROCEDURE excel_header (p_header IN OUT nocopy CLOB)
AS
BEGIN
p_header := '<html><body>';
END;
procedure download_excel( vsql in clob )
as
p_header clob;
p_footer clob;
p_content clob;
begin
owa_util.mime_header( 'application/octet', FALSE );
htp.p('Content-Disposition: attachment; filename="report.xls"');
owa_util.http_header_close;
excel_header( p_header);
excel_content(p_content,vsql);
excel_footer(p_footer);
dbms_output.put_line(p_header ||p_content|| p_footer);
HTP.PRN( p_header ||p_content|| p_footer);
htmldb_application.g_unrecoverable_error := true;
end;
procedure excel_content(p_content in out nocopy clob,
vsql in clob)
as
p_sql_stmt clob;
cur PLS_INTEGER := DBMS_SQL.OPEN_CURSOR;
cols DBMS_SQL.DESC_TAB;
ncols PLS_INTEGER;
TYPE varColumn IS TABLE OF varchar2(32000);
vtab varColumn;
v_column_count NUMBER DEFAULT 0;
v_status INTEGER;
BEGIN
htp.prn('am here');
/* SELECT region_source into p_sql_stmt
FROM apex_application_page_regions
WHERE region_id = p_region_id AND
page_id = p_page_id AND
application_id = p_app_id; */
get_usable_sql (vsql,p_sql_stmt);
p_content := p_sql_stmt;
-- Parse the query.
DBMS_SQL.PARSE(cur, p_sql_stmt , DBMS_SQL.NATIVE);
-- Retrieve column information
DBMS_SQL.DESCRIBE_COLUMNS (cur, ncols, cols);
-- Display each of the column names
p_content := '<table> <tr>';
FOR colind IN 1 .. ncols
LOOP
p_content := p_content || '<td>' || cols(colind).col_name || '</td>';
END LOOP;
p_content := p_content || '</tr>';
vtab := varColumn(null);
for i in 1..ncols
loop
vtab.extend;
DBMS_SQL.DEFINE_COLUMN (cur, i, vtab(i), 2000);
--dbms_output.put_line(vtab(i));
end loop;
v_status := DBMS_SQL.EXECUTE (cur);
LOOP
p_content := p_content || '<tr>';
EXIT WHEN (DBMS_SQL.FETCH_ROWS (cur) <= 0);
FOR i IN 1 ..ncols
loop
DBMS_SQL.COLUMN_VALUE (cur, i, vtab(i));
-- p_content := p_content || '<td>' || 'xyz' || '</td>';
p_content := p_content || '<td>' || vtab(i) || '</td>';
END LOOP;
p_content := p_content || '</tr>' ;
END LOOP;
p_content := p_content || '<table>' ;
DBMS_SQL.CLOSE_CURSOR (cur);
exception
when others then
p_content := '<td>Exception Error in printing data</td><table>' ;
DBMS_SQL.CLOSE_CURSOR (cur);
end;
procedure excel_footer( p_footer in out nocopy clob)
as
begin
p_footer := '</body></html>';
end;
PROCEDURE get_usable_sql (p_sql_in IN clob, p_sql_out OUT clob)
IS
v_sql clob;
v_names DBMS_SQL.varchar2_table;
v_pos NUMBER;
v_length NUMBER;
v_exit NUMBER;
BEGIN
v_sql := p_sql_in;
v_names := wwv_flow_utilities.get_binds (v_sql);
FOR i IN 1 .. v_names.COUNT
LOOP
<<do_it_again>>
v_pos := INSTR (LOWER (v_sql), LOWER (v_names (i)));
v_length := LENGTH (LOWER (v_names (i)));
v_sql :=
SUBSTR (v_sql, 1, v_pos - 1)
|| v_names (i)
|| SUBSTR (v_sql, v_pos + v_length);
v_sql :=
REPLACE (v_sql,
UPPER (v_names (i)),
'(SELECT v('''
|| LTRIM (v_names (i), ':')
|| ''') FROM DUAL)'
IF INSTR (LOWER (v_sql), LOWER (v_names (i))) > 0
THEN
GOTO do_it_again;
END IF;
END LOOP;
p_sql_out := v_sql;
END;
END export_pkg_spread_sheet;
After creating the package pass the parameter to package like this
begin
export_pkg_spread_sheet.download_excel('select * from emp');
end;
Package will allow to download the spread shreet. If i try to pass the a complex query to package it is returning error as mentioned below
ORA-06502: PL/SQL: numeric or value error
In the above package there is a procedure called procedure excel_content which actuall prints the data in the spread sheet this is where the error is coming from there is a variable called vsql have declared it as clob to hold large string but still i am getting the same error when trying to pass a big string.
Please check the error and let me know.
Thanks
SudhirHi Praveen,
This is the query i am using to pass
Declare
qry clob;
Begin
qry := ' 'SELECT
AR.REGION_CODE,
AR.DISTRICT_CODE,
AR.TERRITORY_CODE,
CASE
WHEN AR.REGION_NAME IS NOT NULL AND AR.DISTRICT_NAME IS NULL AND AR.TERRITORY_NAME IS NULL THEN
AR.REGION_NAME
WHEN AR.REGION_NAME IS NOT NULL AND AR.DISTRICT_NAME IS NOT NULL AND AR.TERRITORY_NAME IS NULL THEN
AR.DISTRICT_NAME
WHEN AR.REGION_NAME IS NOT NULL AND AR.DISTRICT_NAME IS NOT NULL AND AR.TERRITORY_NAME IS NOT NULL THEN
AR.TERRITORY_NAME
END TERR_NAME,
AR.EMPLOYEE_ID,
AR.LAST_NAME,
AR.FIRST_NAME,
AR.GENDER,
AR.DATE_OF_HIRE,
AR.PROJECT_EMPLOYEE_TITLE_ID,
AR.COMPANY_ID,
AR.CUSTOMER_EMAIL,
AR.BUSINESS_EMAIL,
AR.CUSTOMER_VOICEMAIL,
AR.CUSTOMER_VOICEMAIL_EXT,
AR.QUINTILES_VOICEMAIL,
AR.QUINTILES_VOICEMAIL_EXT , complete_roster_pkg_report.AR_F_ADDRESS_GET_LINE_1(AR.PROJECT_ID,AR.EMPLOYEE_ID,1 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Shipping_ADDRESS_TYPE_1" , complete_roster_pkg_report.AR_F_ADDRESS_GET_LINE_2(AR.PROJECT_ID,AR.EMPLOYEE_ID,1 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Shipping_ADDRESS_TYPE_2" , complete_roster_pkg_report.AR_F_ADDRESS_GET_PHONE(AR.PROJECT_ID,AR.EMPLOYEE_ID,1 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Shipping_Phone" , complete_roster_pkg_report.AR_F_ADDRESS_GET_CITY_TOWN(AR.PROJECT_ID,AR.EMPLOYEE_ID,1 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Shipping_City_Town" , complete_roster_pkg_report.AR_F_ADDRESS_GET_COUNTRY_NAME(AR.PROJECT_ID,AR.EMPLOYEE_ID,1 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Shipping_Country_Name" , complete_roster_pkg_report.AR_F_ADDRESS_GET_STATE_NAME(AR.PROJECT_ID,AR.EMPLOYEE_ID,1 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Shipping_State_Name" , complete_roster_pkg_report.AR_F_ADDRESS_GET_ZIP_POSTAL(AR.PROJECT_ID,AR.EMPLOYEE_ID,1 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Shipping_ZipCode" , complete_roster_pkg_report.AR_F_ADDRESS_GET_LINE_1(AR.PROJECT_ID,AR.EMPLOYEE_ID,3 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Storage_ADDRESS_TYPE_1" , complete_roster_pkg_report.AR_F_ADDRESS_GET_LINE_2(AR.PROJECT_ID,AR.EMPLOYEE_ID,3 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Storage_ADDRESS_TYPE_2" , complete_roster_pkg_report.AR_F_ADDRESS_GET_PHONE(AR.PROJECT_ID,AR.EMPLOYEE_ID,3 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Storage_Phone" , complete_roster_pkg_report.AR_F_ADDRESS_GET_CITY_TOWN(AR.PROJECT_ID,AR.EMPLOYEE_ID,3 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Storage_City_Town" , complete_roster_pkg_report.AR_F_ADDRESS_GET_COUNTRY_NAME(AR.PROJECT_ID,AR.EMPLOYEE_ID,3 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Storage_Country_Name" , complete_roster_pkg_report.AR_F_ADDRESS_GET_STATE_NAME(AR.PROJECT_ID,AR.EMPLOYEE_ID,3 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Storage_State_Name" , complete_roster_pkg_report.AR_F_ADDRESS_GET_ZIP_POSTAL(AR.PROJECT_ID,AR.EMPLOYEE_ID,3 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Storage_ZipCode" , complete_roster_pkg_report.AR_F_ADDRESS_GET_LINE_1(AR.PROJECT_ID,AR.EMPLOYEE_ID,4 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Home_ADDRESS_TYPE_1" , complete_roster_pkg_report.AR_F_ADDRESS_GET_LINE_2(AR.PROJECT_ID,AR.EMPLOYEE_ID,4 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Home_ADDRESS_TYPE_2" , complete_roster_pkg_report.AR_F_ADDRESS_GET_PHONE(AR.PROJECT_ID,AR.EMPLOYEE_ID,4 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Home_Phone" , complete_roster_pkg_report.AR_F_ADDRESS_GET_CITY_TOWN(AR.PROJECT_ID,AR.EMPLOYEE_ID,4 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Home_City_Town" , complete_roster_pkg_report.AR_F_ADDRESS_GET_COUNTRY_NAME(AR.PROJECT_ID,AR.EMPLOYEE_ID,4 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Home_Country_Name" , complete_roster_pkg_report.AR_F_ADDRESS_GET_STATE_NAME(AR.PROJECT_ID,AR.EMPLOYEE_ID,4 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Home_State_Name" , complete_roster_pkg_report.AR_F_ADDRESS_GET_ZIP_POSTAL(AR.PROJECT_ID,AR.EMPLOYEE_ID,4 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Home_ZipCode" FROM AR_V_ROSTER AR
LEFT JOIN AR_V_ADDRESS_HISTORY AAH
ON
(AR.PROJECT_ID = AAH.PROJECT_ID AND
AR.EMPLOYEE_ID = AAH.EMPLOYEE_ID)
WHERE
UPPER(AR.USER_EMPLOYEE_ID) = ''Q766730'' AND
AR.PROJECT_ID = 81 ';
export_pkg_spread_sheet.download_excel(qry);
End;
Praveen you can pass your DB table query to check the error. I am trying to pass as mentioned above.
Please let me know if my question is not clear.
Thanks
Sudhir -
ORA-06502: PL/SQL: numeric or value error: character string buffer too small.
I have an HTMLDB report that errors with the above message. The query is over 7000 characters long so I'm guessing this is the cause. If I retrieve the query from a query table, replace the variables in the LONG query using PL/SQL and execute using dynamic SQL, are the HTMLDB reporting features the same as if I was using a simple SQL query? Is there a better way? I will need to 'drill-down' from this report so how do I create the links? The only HTMLDB PL/SQL package I can find mentioned in the User's Guide is HTMLDB_PLSQL_JOB.
Cheers, PaulHello All,
I have the same problem.
For me it started when i got about 500 rows in the table
on which the LOV is based.
With a lot of trying with substr I managed to find the size of the string which it still accepted, which was 51 characters.
So I thought it was some glitch in the APEX insides, and since I had no time to resolve it further, I went on working.
But I have to resolve it now, because the following mysterious behaviour is occurring:
Every few records added to the base table, the problem occurs again, and I can resolve it by cutting down the string
with one character.
I have now reached 39 characters !?
I am afraid that I will end up with 1 character or even null.
If I switch to Popup list based on LOV there's no problem, and the complete strings are shown.
The maximum length of the string in my basetable is 252, but the data in it now reaches 55 at most.
Any idea welcome!
I did already recreate the master-detail form from scratch, but there the same behaviour.
greetings,
Richard Kloostra -
PL/SQL: numeric or value error: character to number conversion error in TRG
Hi,
I've got strange issue with one trigger which during update of table reports (DB is 9.2.0.8):
ORA-06502: PL/SQL: numeric or value error: character to number conversion error
ORA-06512: at "UDR_LOG", line 345
ORA-04088: error during execution of trigger 'UDR_LOG'but line 345 is:
END IF;
so its kind of strange
the code looks like
343 IF nvl(to_char(:old.PKD_ID),'''') <> nvl(to_char(:new.PKD_ID),'''') THEN
344 v_zmn := v_zmn || 'PKD_ID''' || to_char(:old.PKD_ID) || '''' || to_char(:new.PKD_ID) || '''';
345 END IF;
so its concatenation not to_number usage .error is triggered by update statement on any column .
I'm sorry I cant provide You with whole trigger code .
So if You could only recommend any investigation method that would be great .
Regards
GregHi, Greg,
When there's an error in a trigger, the line numbers in the error messages are relative to the first DECLARE or BEGIN statement; often, that's a few lines after CREATE OR REPLACE TRIGGER. Post a few lines after what you already posted.
If you can't find the error, then create another table for testing this, and create a smaller trigger on that table, which does only enough to cause the error. Then you'll be able to post the complete trigger, and the code needed to re-create the problem. -
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;
ThanksHi
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 -
ORA-06502:numeric or value errORA-04088: error during execution of trigger
I received the following error message while entering a number within the maximum value (i.e. 9,999,999.) allowed in a data entry form which is separate from the base form:
ORA-06502: PL/SQL: numeric or value error:number precision too large ORA-06512:at "<Owner>.<Trigger>", line 194 ORA-04088: error during execution of trigger "<Owner>.<Trigger>"
Where <Owner> is the schema name and <Trigger> is the trigger name. The data block of the entry form is based on a database table, and the sum of all values entered (w/ a maximum value of 99,999,999.) is displayed in the base form. A grand total of this sum along w/ other totals on the base form is also displayed w/ a maximum value defined as 999,999,999. I only receive the above error message when the grand total is greater than 99,999,999. If the grand total is less than or equal to 99,999,999, the base form works fine. Why????
I have verified all the attributes for the database columns and form fields and all seems to be okay, and I am running out of my wits. I am desperately in need of your help in resolving this issue soon because pressure is on...
Thanks in advance for any/all the help.Orchid wrote:
I received the following error message while entering a number within the maximum value (i.e. 9,999,999.) allowed in a data entry form which is separate from the base form:
ORA-06502: PL/SQL: numeric or value error:number precision too large ORA-06512:at "<Owner>.<Trigger>", line 194 ORA-04088: error during execution of trigger "<Owner>.<Trigger>"
Where <Owner> is the schema name and <Trigger> is the trigger name. The data block of the entry form is based on a database table, and the sum of all values entered (w/ a maximum value of 99,999,999.) is displayed in the base form. A grand total of this sum along w/ other totals on the base form is also displayed w/ a maximum value defined as 999,999,999. I only receive the above error message when the grand total is greater than 99,999,999. If the grand total is less than or equal to 99,999,999, the base form works fine. Why????
I have verified all the attributes for the database columns and form fields and all seems to be okay, and I am running out of my wits. I am desperately in need of your help in resolving this issue soon because pressure is on...
Thanks in advance for any/all the help.check your associated database column length. It's precision is not able to hold you said value. increase the length by
ALTER TABLE table_name
MODIFY (column_name NUMBER(20) );it's above solution don't work. Then, probably you use variable in the trigger code which hold the vale and it's size is limited. increase it.
added
try this
increase the length of TAB_S_TOT_COST 9 to 18.
and your problem will solved.
Hamid
Edited by: HamidHelal on Feb 13, 2013 10:28 AM -
I’m Using PLSQL Clob Document for printing data in HTML table format in the Notification Body,even PL/SQL Clob variable is capable of storing data up to 4gb ,when I’m trying to print the data greater than 32767bytes (32kb) it is throwing error “Numeric or value Error” .Please help me out to print data >32kb in the notification using document type attribute in oracle workflow.Appreciated for the Solution.
Thanks,
Kishore.Please see if these docs help.
How to Write CLOB Data > 32K Out to a File? (Doc ID 358641.1)
How To Write Out Multiple Clob Fields > 32k To A File in 4K chunks? (Doc ID 358781.1)
Thanks,
Hussein
Maybe you are looking for
-
Trackpad acting weird after spill
Hi, I am in kind of a problem right now. My trackpad is acting weird after some juice spilled over it from a drinking straw. Everything else works fine. I have turned the power off just to be safe. I need advice as to what to do. I bought my mac (lat
-
FBL3N standard program to ZCOPY program issue
When I take a ZCOPY of standard program RFITEMGL of transaction code FBL3N and put break point over Function Module FI_ITEMS_DISPLAY and look into the table it_pos the material number and vendor numbers are not getting populated but without takin
-
This version of Lightroom....
Could someone explain this message to me and maybe help me with my options? I know what RAW and DNG files are (basically). I use CS3 and I am not planning on CS4. Just updated to LR 2.2. ACR version 4.6. When in LR and choosing to edit in Photoshop I
-
Oracle GL/APPS Database Connection Information
Hi I have just resfreshed our GL Test DB from our Production DB for the first time. The DB restore and recover went smoothly with no problems. Getting the GL application working is another thing! I realised that the problem had to be related to the d
-
Not able to install Microsoft applications 2 via s...
Hi, Today i conncted my phone to pc and saw the update Microsoft apps 2.0 is available. But when I try to install it , it goes through half (50% exactly) and stays there for a hell lot of time and then gives the error "application installation fai