Skip to main content
Question

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

  • October 3, 2025
  • 2 replies
  • 25 views

Forum|alt.badge.img

I am trying to execute SHOP_MATERIAL_ALLOC_API.MODIFY__ over an external Oracle database connection as part of a mobile application.  I am able to call many other inventory and shop order APIs.  But, this one is giving me the following error.  The IFS version is App 7.  Any guidance is appreciated.

ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at "IFSAPP.CLIENT_SYS", line 31
ORA-06512: at "IFSAPP.SHOP_MATERIAL_ALLOC_API", line 2965
ORA-06512: at line 1

I am executing the API as follows:

sSQL = " BEGIN" & _         " IFSAPP.SHOP_MATERIAL_ALLOC_API.MODIFY__(?,?,?,?,?);" & _         " END;"    Call setUpProcIFS(spProc, sSQL)  sAttr = "'ISSUE_TO_LOC' || CHR(31) || '10-4-1' || CHR(30) || 'OWNING_VENDOR_NO' || CHR(31) || '' || CHR(30) || 'OWNING_CUSTOMER_NO' || CHR(31) || '' || CHR(30) || ''"  spProc.CreateParameter(0, dbVarChar, dbParamOutput,       32000, Null)  spProc.CreateParameter(1, dbVarChar, dbParamInput,        32000, sObjId)  spProc.CreateParameter(2, dbVarChar, dbParamInput,  32000, sObjVer)  spProc.CreateParameter(3, dbVarChar, dbParamInput,  32000, sAttr)  spProc.CreateParameter(4, dbVarChar, dbParamInput,        32000, "DO")

I am reading the object ID and object version from the SHOP_MATERIAL_ALLOC table prior to executing the API.

I used the following debug log as an example:

DECLARE
   a_   VARCHAR2(32000) := NULL;     -- __lsResult
   b_   VARCHAR2(32000) := 'AAANRgAASAACgmFAAS';     -- __sObjid
   c_   VARCHAR2(32000) := '20250924155409';     -- __lsObjversion
   d_   VARCHAR2(32000) := 'ISSUE_TO_LOC' || CHR(31) || '10-4-1' || CHR(30) || 'OWNING_VENDOR_NO' || CHR(31) || '' || CHR(30) || 'OWNING_CUSTOMER_NO' || CHR(31) || '' || CHR(30) || '';     -- __lsAttr
   e_   VARCHAR2(32000) := 'DO';     -- __sAction
BEGIN
   IFSAPP.SHOP_MATERIAL_ALLOC_API.MODIFY__( a_, b_, c_, d_, e_ );

   -------------------------------------------
   --- Dbms_Output Section ---
   -------------------------------------------
   Dbms_Output.Put_Line('a_ = ' || a_);
   Dbms_Output.Put_Line('b_ = ' || b_);
   Dbms_Output.Put_Line('c_ = ' || c_);
   Dbms_Output.Put_Line('d_ = ' || d_);
   Dbms_Output.Put_Line('e_ = ' || e_);
   -------------------------------------------
END;

 

 

2 replies

Reid Gilbert
Superhero (Employee)
Forum|alt.badge.img+15
  • Superhero (Employee)
  • 369 replies
  • October 6, 2025

Hi Paul,
You may get more feedback if you post this in one of the IFS groups (this group is limited to the Alliance application which has it’s own Mobile Edge offering).
Thanks,
Reid


Forum|alt.badge.img+8
  • Sidekick (Employee)
  • 33 replies
  • October 16, 2025

Thanks Reid, moved to Framework and Experience