Hi all; I am trying to read data from xml file and write them to Mysql db. In my db House_no field's data type is String(40). In xml file there are some house no values that longer than 40 and i want to cut all the values that are greater than 40. so i try the code below in tMap but i got "java.lang.StringIndexOutOfBoundsException: String index out of range: 40 at java.lang.String.substring(Unknown Source)" error? row4.house_no.length()>40 ?"" : row4.house_no.substring(0,40) Do you have any idea what cause this error, or a better way to take 0-40 character without using tJavaRow. Best Regards Bahadir
substring throws that error if the String length if less than 40 because it tries to get 40 characters. Instead use StringHandling.LEFT(row4.house_no,40) on its own. (Also, your expression is actually setting the house_no to blank if it's longer than 40 characters.)
Hi again,
I have tried your suggestion as, StringHandling.LEFT(row4.house_no,40) but i am getting
"Exception in component tMap_14
java.lang.NullPointerException
at routines.StringHandling.LEFT(StringHandling.java:184)" error. Do you have any idea to solve this issue?
Best Regards
Bahadir
Hi, Thanks for you answer, i have tried as you wrote and i got "Exception in component tMap_14 java.lang.StringIndexOutOfBoundsException: String index out of range: 39 at java.lang.String.substring(Unknown Source)" error? Best Regards Bahadir