Subject | Re: URGENT - CONCATENATION ERROR - BUG |
---|---|
Author | crizoo4712 |
Post date | 2008-01-25T14:22:48Z |
The Behaviour is different in Debug Mode /Run Mode
In Debug Mode the error is '....is not a valid floating point value'
In Run Mode you get the string-truncation-error.
Database Version: WI-V6.3.5.4926 Firebird 1.5
Database Workbench Version 3.1.0.1
Character Set ISO8859_1
Code of simple SP:
CREATE PROCEDURE P_TESTCONCAT
AS
DECLARE VARIABLE P_TEXT VARCHAR(300) DEFAULT '';
DECLARE VARIABLE P_LEN INTEGER;
DECLARE VARIABLE P_CUSTOMER_ID INTEGER DEFAULT
1234567812345678;
DECLARE VARIABLE P_PARENT_ID INTEGER DEFAULT
2345678923456789;
DECLARE VARIABLE P_BANKCODE INTEGER DEFAULT
8008008080080080;
DECLARE VARIABLE P_ACCOUNTNO VARCHAR(20)
DEFAULT '11509003021150900302';
DECLARE VARIABLE P_TRANSFER SMALLINT DEFAULT
0;
DECLARE VARIABLE P_DISCOUNT_ID INTEGER DEFAULT
0;
DECLARE VARIABLE P_DATE_CREATED DATE DEFAULT
current_date;
DECLARE VARIABLE P_LAST_BILLDATE DATE DEFAULT
current_date;
DECLARE VARIABLE P_REMINDER_LOCK SMALLINT DEFAULT
0;
DECLARE VARIABLE P_REMINDER_RESET_DATE DATE DEFAULT
current_date;
DECLARE VARIABLE P_BILLCYCLE VARCHAR(10)
DEFAULT 'BC10000';
DECLARE VARIABLE P_COUNTRYCODE VARCHAR(10)
DEFAULT 'UK';
DECLARE VARIABLE P_TAX_FREE SMALLINT DEFAULT
0;
DECLARE VARIABLE P_GROUP_ID INTEGER DEFAULT
10000000001;
DECLARE VARIABLE P_STATUS_ID INTEGER DEFAULT
10000000002;
DECLARE VARIABLE P_CUST_CODE VARCHAR(40)
DEFAULT 'TF47110815TF47110815TF47110815TF47110815';
DECLARE VARIABLE P_CUSTOMER_PASSWORD VARCHAR(20)
DEFAULT 'TOP SECRET TOP SECRET';
DECLARE VARIABLE P_STATUS_REMINDER_DATE DATE DEFAULT
current_date;
DECLARE VARIABLE P_PAYMENT_TARGET_ID INTEGER DEFAULT
10000011000001;
DECLARE VARIABLE P_VO_ID INTEGER DEFAULT
10000021000001;
DECLARE VARIABLE P_CAMPAIGN_ID INTEGER DEFAULT
10000031000001;
DECLARE VARIABLE P_ACQUISITION_ID INTEGER DEFAULT
10000041000001;
BEGIN
P_TEXT = P_TEXT || P_CUSTOMER_ID; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_PARENT_ID; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_BANKCODE; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_ACCOUNTNO; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_TRANSFER; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_DISCOUNT_ID; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_DATE_CREATED; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_LAST_BILLDATE; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_REMINDER_LOCK; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_REMINDER_RESET_DATE; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_BILLCYCLE; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_COUNTRYCODE; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_TAX_FREE; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_GROUP_ID; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_STATUS_ID; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_CUST_CODE; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_CUSTOMER_PASSWORD; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_STATUS_REMINDER_DATE;P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_PAYMENT_TARGET_ID; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_VO_ID; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_CAMPAIGN_ID; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_ACQUISITION_ID; P_LEN = STRLEN(P_TEXT);
END
In Debug Mode the error is '....is not a valid floating point value'
In Run Mode you get the string-truncation-error.
Database Version: WI-V6.3.5.4926 Firebird 1.5
Database Workbench Version 3.1.0.1
Character Set ISO8859_1
Code of simple SP:
CREATE PROCEDURE P_TESTCONCAT
AS
DECLARE VARIABLE P_TEXT VARCHAR(300) DEFAULT '';
DECLARE VARIABLE P_LEN INTEGER;
DECLARE VARIABLE P_CUSTOMER_ID INTEGER DEFAULT
1234567812345678;
DECLARE VARIABLE P_PARENT_ID INTEGER DEFAULT
2345678923456789;
DECLARE VARIABLE P_BANKCODE INTEGER DEFAULT
8008008080080080;
DECLARE VARIABLE P_ACCOUNTNO VARCHAR(20)
DEFAULT '11509003021150900302';
DECLARE VARIABLE P_TRANSFER SMALLINT DEFAULT
0;
DECLARE VARIABLE P_DISCOUNT_ID INTEGER DEFAULT
0;
DECLARE VARIABLE P_DATE_CREATED DATE DEFAULT
current_date;
DECLARE VARIABLE P_LAST_BILLDATE DATE DEFAULT
current_date;
DECLARE VARIABLE P_REMINDER_LOCK SMALLINT DEFAULT
0;
DECLARE VARIABLE P_REMINDER_RESET_DATE DATE DEFAULT
current_date;
DECLARE VARIABLE P_BILLCYCLE VARCHAR(10)
DEFAULT 'BC10000';
DECLARE VARIABLE P_COUNTRYCODE VARCHAR(10)
DEFAULT 'UK';
DECLARE VARIABLE P_TAX_FREE SMALLINT DEFAULT
0;
DECLARE VARIABLE P_GROUP_ID INTEGER DEFAULT
10000000001;
DECLARE VARIABLE P_STATUS_ID INTEGER DEFAULT
10000000002;
DECLARE VARIABLE P_CUST_CODE VARCHAR(40)
DEFAULT 'TF47110815TF47110815TF47110815TF47110815';
DECLARE VARIABLE P_CUSTOMER_PASSWORD VARCHAR(20)
DEFAULT 'TOP SECRET TOP SECRET';
DECLARE VARIABLE P_STATUS_REMINDER_DATE DATE DEFAULT
current_date;
DECLARE VARIABLE P_PAYMENT_TARGET_ID INTEGER DEFAULT
10000011000001;
DECLARE VARIABLE P_VO_ID INTEGER DEFAULT
10000021000001;
DECLARE VARIABLE P_CAMPAIGN_ID INTEGER DEFAULT
10000031000001;
DECLARE VARIABLE P_ACQUISITION_ID INTEGER DEFAULT
10000041000001;
BEGIN
P_TEXT = P_TEXT || P_CUSTOMER_ID; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_PARENT_ID; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_BANKCODE; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_ACCOUNTNO; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_TRANSFER; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_DISCOUNT_ID; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_DATE_CREATED; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_LAST_BILLDATE; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_REMINDER_LOCK; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_REMINDER_RESET_DATE; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_BILLCYCLE; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_COUNTRYCODE; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_TAX_FREE; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_GROUP_ID; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_STATUS_ID; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_CUST_CODE; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_CUSTOMER_PASSWORD; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_STATUS_REMINDER_DATE;P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_PAYMENT_TARGET_ID; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_VO_ID; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_CAMPAIGN_ID; P_LEN = STRLEN(P_TEXT);
P_TEXT = P_TEXT || P_ACQUISITION_ID; P_LEN = STRLEN(P_TEXT);
END