ORA 6502 PL/SQL: numeric or value error
Hi,
the following script finishes with ORA 6502 PL/SQL: numeric or value error , Do you have any suggestion :
SET VERIFY OFF
WHENEVER SQLERROR EXIT FAILURE ROLLBACK;
WHENEVER OSERROR EXIT FAILURE ROLLBACK;
spool /exec/products/OA/11.5.10/13dsms/p13dsmscomn/admin/log/P13DREC_dfbpde09/af_dfbpde09.txt;
REM
REM This script is run from a nolog session ; connect first.
REM
connect &1/&2@&3
SET SERVEROUTPUT ON SIZE 200000
DEFINE HOST_NAME="dfbpde09"
DEFINE DOMAIN_NAME="intranet-paris.1234567891111.fr"
DEFINE IS_FORMS="NO"
DEFINE IS_CP="YES"
DEFINE IS_WEB="NO"
DEFINE IS_ADMIN="YES"
DEFINE PLATFORM="IBM AIX"
prompt
prompt Register a node ...
prompt
declare
l_host_name varchar2(30);
l_domain_name varchar2(30);
platform_code varchar2(30);
platform_name varchar2(100);
support_cp varchar2(1);
support_web varchar2(1);
support_form varchar2(1);
support_adm varchar2(1);
sql_str1 varchar2(500);
sql_str varchar2(500);
sql_str_dom varchar2(500);
gsm_installed number;
server_id varchar2(64);
server_address varchar2(30);
description varchar2(240);
l_node_name varchar2(30);
procedure println(msg in varchar2)
is
begin
dbms_output.put_line(msg);
end;
begin
platform_name := '&PLATFORM';
l_host_name := '&HOST_NAME';
l_domain_name := '&DOMAIN_NAME';
l_node_name := '&HOST_NAME';
if ( platform_name = 'Solaris' ) then
platform_code := '453';
elsif ( platform_name = 'HP-UX' ) then
platform_code := '2';
elsif ( platform_name = 'UNIX Alpha' ) then
platform_code := '87';
l_node_name := l_host_name || '.' || l_domain_name;
elsif ( platform_name = 'IBM AIX' ) then
platform_code := '319';
elsif ( platform_name = 'Intel_Solaris' ) then
platform_code := '173';
elsif ( platform_name = 'Linux' ) then
platform_code := '46';
elsif ( platform_name = 'Windows NT' ) then
platform_code := '912';
end if;
select DECODE(NVL('&IS_CP','N'), 'YES', 'Y', 'N'),
DECODE(NVL('&IS_WEB','N'), 'YES', 'Y', 'N'),
DECODE(NVL('&IS_FORMS','N'),'YES','Y','N'),
DECODE(NVL('&IS_ADMIN','N'), 'YES', 'Y', 'N')
into support_cp, support_web, support_form, support_adm
from sys.dual;
gsm_installed := 0;
select count(*)
into gsm_installed
from fnd_profile_options
where profile_option_name='CONC_GSM_ENABLED';
if( gsm_installed > 0 ) then
sql_str1 := 'begin fnd_concurrent.register_node ' ||
'(:v1, :v2, :v3, :v4, :v5, :v6); end;';
sql_str := 'begin fnd_concurrent.register_node ' ||
'(:v1, :v2, :v3, :v4, :v5, :v6, :v7, :v8, :v9); end;';
sql_str_dom := 'begin fnd_concurrent.register_node' ||
'(:v1, :v2, :v3, :v4, :v5, :v6, :v7, :v8, :v9, :v10, :v11); end;';
-- execute sql with new domain parameter, if it fails then that means
-- new package is not there, execute old one.
begin
execute immediate sql_str_dom using
l_node_name,
platform_code,
support_form,
support_cp,
support_web,
support_adm,
server_id,
server_address,
description,
l_host_name,
l_domain_name;
println('11 args...');
exception
when others then
begin
execute immediate sql_str using
l_node_name,
platform_code,
support_form,
support_cp,
support_web,
support_adm,
server_id,
server_address,
description;
println('9 args...');
exception
when others then
execute immediate sql_str1 using
l_node_name,
platform_code,
support_form,
support_cp,
support_web,
support_adm;
println('6 args...');
end;
end;
println(' ');
println('Registered Node - '|| l_host_name ||
' - as Concurrent Manager recognizable node');
else
-- node registration is not required
println(' ');
end if;
end;
/
commit;
exit;
/
and error :
Connected.
Register a node ...
declare
*
ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at line 29
Many thanks.