Subject | Re: URGENT - CONCATENATION ERROR - BUG |
---|---|
Author | crizoo4712 |
Post date | 2008-01-29T10:11:58Z |
Hello Helen,
I still have problems with my concatenation-stuff.
I meanwhile coded another sp which causes the '..is not a valid
floating-point value' - error in debug mode of dbw and causes
the 'string truncation' - error in run mode of dbw.
I startet the sp via green arrow in dbw.
Is it generally not possible to have a varchar-variable with a value
longer than 255 characters?
below comes the simple code to demonstrate.
regards, christoph
######################################################################
#
CREATE PROCEDURE P_TESTCONCAT
AS
DECLARE VARIABLE P_TEXT VARCHAR(3000) DEFAULT '';
DECLARE VARIABLE P_LEN INTEGER;
DECLARE VARIABLE P_CUSTOMER_ID INTEGER DEFAULT
12345678;
DECLARE VARIABLE P_PARENT_ID INTEGER DEFAULT
12345679;
DECLARE VARIABLE P_BANKCODE INTEGER DEFAULT
20020020;
DECLARE VARIABLE P_ACCOUNTNO VARCHAR(20)
DEFAULT '11509003021150900302';
DECLARE VARIABLE P_TRANSFER SMALLINT DEFAULT
0;
DECLARE VARIABLE P_DISCOUNT_ID INTEGER DEFAULT
100100;
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 'BC10';
DECLARE VARIABLE P_COUNTRYCODE VARCHAR(10)
DEFAULT 'UK';
DECLARE VARIABLE P_TAX_FREE SMALLINT DEFAULT
0;
DECLARE VARIABLE P_GROUP_ID INTEGER DEFAULT
100001;
DECLARE VARIABLE P_STATUS_ID INTEGER DEFAULT
100002;
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
100000;
DECLARE VARIABLE P_VO_ID INTEGER DEFAULT
100000;
DECLARE VARIABLE P_CAMPAIGN_ID INTEGER DEFAULT
100000;
DECLARE VARIABLE P_ACQUISITION_ID INTEGER DEFAULT
100000;
BEGIN
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_CUSTOMER_ID; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_PARENT_ID; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_BANKCODE; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_ACCOUNTNO; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_TRANSFER; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_DISCOUNT_ID; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_DATE_CREATED; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_LAST_BILLDATE; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_REMINDER_LOCK; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_REMINDER_RESET_DATE; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_BILLCYCLE; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_COUNTRYCODE; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_TAX_FREE; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_GROUP_ID; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_STATUS_ID; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_CUST_CODE; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_CUSTOMER_PASSWORD; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_STATUS_REMINDER_DATE;P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_PAYMENT_TARGET_ID; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_VO_ID; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_CAMPAIGN_ID; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_ACQUISITION_ID; P_LEN =
STRLEN(P_TEXT);
END
I still have problems with my concatenation-stuff.
I meanwhile coded another sp which causes the '..is not a valid
floating-point value' - error in debug mode of dbw and causes
the 'string truncation' - error in run mode of dbw.
I startet the sp via green arrow in dbw.
Is it generally not possible to have a varchar-variable with a value
longer than 255 characters?
below comes the simple code to demonstrate.
regards, christoph
######################################################################
#
CREATE PROCEDURE P_TESTCONCAT
AS
DECLARE VARIABLE P_TEXT VARCHAR(3000) DEFAULT '';
DECLARE VARIABLE P_LEN INTEGER;
DECLARE VARIABLE P_CUSTOMER_ID INTEGER DEFAULT
12345678;
DECLARE VARIABLE P_PARENT_ID INTEGER DEFAULT
12345679;
DECLARE VARIABLE P_BANKCODE INTEGER DEFAULT
20020020;
DECLARE VARIABLE P_ACCOUNTNO VARCHAR(20)
DEFAULT '11509003021150900302';
DECLARE VARIABLE P_TRANSFER SMALLINT DEFAULT
0;
DECLARE VARIABLE P_DISCOUNT_ID INTEGER DEFAULT
100100;
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 'BC10';
DECLARE VARIABLE P_COUNTRYCODE VARCHAR(10)
DEFAULT 'UK';
DECLARE VARIABLE P_TAX_FREE SMALLINT DEFAULT
0;
DECLARE VARIABLE P_GROUP_ID INTEGER DEFAULT
100001;
DECLARE VARIABLE P_STATUS_ID INTEGER DEFAULT
100002;
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
100000;
DECLARE VARIABLE P_VO_ID INTEGER DEFAULT
100000;
DECLARE VARIABLE P_CAMPAIGN_ID INTEGER DEFAULT
100000;
DECLARE VARIABLE P_ACQUISITION_ID INTEGER DEFAULT
100000;
BEGIN
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_CUSTOMER_ID; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_PARENT_ID; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_BANKCODE; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_ACCOUNTNO; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_TRANSFER; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_DISCOUNT_ID; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_DATE_CREATED; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_LAST_BILLDATE; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_REMINDER_LOCK; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_REMINDER_RESET_DATE; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_BILLCYCLE; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_COUNTRYCODE; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_TAX_FREE; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_GROUP_ID; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_STATUS_ID; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_CUST_CODE; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_CUSTOMER_PASSWORD; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_STATUS_REMINDER_DATE;P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_PAYMENT_TARGET_ID; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_VO_ID; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_CAMPAIGN_ID; P_LEN =
STRLEN(P_TEXT);
P_TEXT = P_TEXT || 'BEZEICHNER: ' || P_ACQUISITION_ID; P_LEN =
STRLEN(P_TEXT);
END