Solved

ORA-06502: PL/SQL: numeric or value error: character string buffer too small


Userlevel 1
Badge +4

Hi,

I am having an issue when importing an extremally large ACP package that holds a number of Aurena Page configuration for multiple context.  When I try to open the ACP package IFS runs a validation that throws the following error message. 

 

ORA-06502: PL/SQL: numeric or value error: character string buffer too small

Failed executing statement (ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at line 11
ORA-06512: at "NORT1APP.MESSAGE_SYS", line 138
ORA-06512: at "NORT1APP.APP_CONFIG_ITEM_IMPORT_API", line 2200
ORA-06512: at "NORT1APP.APP_CONFIG_ITEM_IMPORT_API", line 2212
ORA-06512: at "NORT1APP.APP_CONFIG_ITEM_IMPORT_API", line 2536
ORA-06512: at "NORT1APP.APP_CONFIG_ITEM_IMPORT_API", line 2557
ORA-06512: at "NORT1APP.APP_CONFIG_ITEM_IMPORT_API", line 1913
ORA-06512: at "NORT1APP.APP_CONFIG_ITEM_IMPORT_API", line 1918
ORA-06512: at "NORT1APP.APP_CONFIG_IMPORT_API", line 2200
ORA-06512: at "NORT1APP.APP_CONFIG_IMPORT_API", line 2205
ORA-06512: at line 6)

 

The file has over 4K lines and over 2M characters. Has anyone seen this error before, and know if there is a hotfix or workaround for this?

 

Thanks

Paresh

icon

Best answer by mwilson 9 August 2022, 21:05

View original

13 replies

Userlevel 3
Badge +10

We are on IFS10 Update 1 and line 138 is a call to Add_Attribute parameter name_.  Is your app_config_item_import_api package setup to handle clobs?  I have a feeling that your lines numbers do not line up with mine.

Userlevel 1
Badge +4

HI @mwilson ,

How would I be able to tell if the app_config_item_import_api package is setup to handle clobs?  

 

We are on IFS10 as well, and line 138 is also a call to procedure Add_attribute (See below)  

 

PROCEDURE Add_Attribute (

   message_       IN OUT NOCOPY VARCHAR2,

   name_          IN     VARCHAR2,

   value_         IN     VARCHAR2 )

IS

BEGIN

   IF (message_ IS NULL OR Instr(message_, head_marker_) = 0) THEN -- If no header exists in the messa then add an autogenerated header

      message_ := Concat(Construct(auto_head_name_), message_);

   END IF;

   message_ := message_          ||

               attribute_marker_ ||

               name_             ||

               value_marker_     ||

               replace(value_, new_line_, new_line_||continuation_marker_)||

               new_line_;

END Add_Attribute;

 

 

 

Thanks 

Paresh

Userlevel 3
Badge +10

Well the app_config_item_import_api would be constructing a message using clobs around the 2220 line. 

 

If line 138 above is referring to the message parameter then it is possible that the message value being passed it too large for a varchar2 to handle.  You might need to get IFS involved.

Userlevel 1
Badge +4

Hi @mwilson,

The line 2200 is

Message_Sys.Add_Attribute(message_, 'VALIDATION_DETAILS', info_.validation_details);

Where info_.validation_details is defined as a varchar2(32767).  It’s not a clob.

My guess is that the combined attribute in message_ is over 32767 and that is what’s causing the problem.

Userlevel 3
Badge +10

line 2210, 2216, and 2223 of app_config_item_import_ap.

 

 

Userlevel 3
Badge +10

It could also be in the call to the method Add_Output_Message___, if text_output_ is begin set to True instead of False.

Userlevel 1
Badge +4

On my side the line 2194 is not creating a CLOB.  The message_ variable is actually defined as 

message_ VARCHAR2(32767);

 

 

Can you tell me if the message_ parameter on what you are looking at is defined as 

message_  CLOB;

Userlevel 3
Badge +10

At 2129 it is defined as message_ VARCHAR2(32767);

 

Userlevel 1
Badge +4

@mwilson 

Do  you thing that there must be IFS patch for the issue I am seeing?

It’s looks like the code you are running is converting the message_ varchar2(32767) to a CLOB using Message_Sys.Construct_Clob_Message('Item Validation').  There may be other parts of the import that is doing the same thing.

I am going to try reaching out to IFS to see if we are missing something.  Thanks you so much for your help, and your quick response.

Thanks

Paresh

 

 

Userlevel 3
Badge +10

Yes, sounds like a good idea.

Userlevel 1
Badge +3

Hi Paresh,

It seems like you have encountered this problem at the point of importing the ACP. If so, we have identified this limitation with validating CLOB size data when importing ACPs with large page configurations and this has been corrected since UPD 14 onwards for Apps10.

Best Regards,

Odatha

Userlevel 1
Badge +4

Hi @mwilson 

I was able to get a hold of the fix from IFS.   Thank you for your help.

 

Thank you.

Paresh

Badge +5

Hi @Paresh  Can i know the bug id you got for this? 

I’m kind of having a similar issue in Cloud where i cannot import a ACP or a single file with a larger size.

ClientMetadata.client:SalesContract file is 2225KB and when trying to import following error comes.

/main/ifsapplications/projection/v1/AppConfigPackageHandling.svc/ImportConfigVirtualSet(Objkey='F986A4AE44D419D3E053E525EC0A2833')/IfsApp.AppConfigPackageHandling.ImportAcpVirtual_ImportFinish

Error while serializing contents.

This error happens when the server cannot serialize the data to be sent to the client.
A common cause is that one attribute's length exceeds the defined maxlength in the projection.
To find more info, open Log Window or Debug Console, refresh and then check Network Tab in DevTools. In the response there can be more detailed information about the exception.

 

Reply