| Author | 
		  Message
		 | 
		
		  | manojsu | 
		  
		    
			  
				 Posted: Thu Nov 24, 2011 6:15 am    Post subject: WMB v6.1 - Line Feed Error | 
				     | 
			   
			 
		   | 
		
		
		   Centurion
 
 Joined: 19 Jul 2006 Posts: 147 Location: Bangalore 
  | 
		  
		    
			  
				Hi, 
 
 
When i am trying to add the carriage return X'0A and assigning the same to a variable to get a line feed, get a conversion error..
 
 
                                       Review other error messages to find the cause of the errors.
 
2011-11-24 14:09:01.602040     5476   ParserException  BIP5447S: Tagged/Delimited String Format (TDS) writing error while writing message ''/ADDACS_File/Heade
 
r/EndOfLine''
 
                                       See following errors for more details.
 
2011-11-24 14:09:01.602047     5476   ConversionException  BIP5522E: Common Parser Interface: Internal error accessing PWFData object. Diagnostic information:
 
 'Logical type not equal to string'.
 
                                       An error occurred while accessing the data of an element.
 
                                       This is an internal error. Please contact your IBM support center.
 
 
2011-11-24 14:09:01.480273     5476   UserTrace   BIP2537I: Node 'CLRING_EPG_ICBS.Map_AUDDIS_To_ADDACS': Executing statement   ''SET OutputRoot.MRM.Header.End
 
OfLine = X'0a';'' at ('.CLRING_AUDDIS_TO_ADDACS.Main', '29.3').
 
2011-11-24 14:09:01.480296     5476   UserTrace   BIP2566I: Node 'CLRING_EPG_ICBS.Map_AUDDIS_To_ADDACS': Assigning value       ''X'0a''' to field / variable '
 
'OutputRoot.MRM.Header.EndOfLine''.
 
 
 
It was working fine for wmb v6, but after migration it fails.
 
 
Any advise. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | kimbert | 
		  
		    
			  
				 Posted: Thu Nov 24, 2011 6:37 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Jedi Council
 
 Joined: 29 Jul 2003 Posts: 5543 Location: Southampton 
  | 
		  
		    
			  
				
   
	| Quote: | 
   
  
	| It was working fine for wmb v6, but after migration it fails.  | 
   
 
It may be a regression, or maybe v6.1 has tightened up the rules for assignments. Your ESQL is assigning a BLOB to OutputRoot.MRM.Header.EndOfLine.
 
What is the declared type of OutputRoot.MRM.Header.EndOfLine ? ( check in the message definition file if you're not sure ). | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | manojsu | 
		  
		    
			  
				 Posted: Thu Nov 24, 2011 6:41 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Centurion
 
 Joined: 19 Jul 2006 Posts: 147 Location: Bangalore 
  | 
		  
		    
			  
				| EndofLine is String as defined in the message set | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | kimbert | 
		  
		    
			  
				 Posted: Thu Nov 24, 2011 6:55 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Jedi Council
 
 Joined: 29 Jul 2003 Posts: 5543 Location: Southampton 
  | 
		  
		    
			  
				So you are assigning a BLOB to a string without casting it to the correct data type. Try something like this ( not tested ):
   
	| Code: | 
   
  
	DECLARE linefeed CHARACTER CAST X'0a' AS CHARACTER;
 
SET OutputRoot.MRM.Header.EndOfLine = linefeed; | 
   
 
 
btw - if you have a message set then why are you using ESQL to add the linefeed. That's what the Group Terminator is for ( or the delimiter, if you prefer ). | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | manojsu | 
		  
		    
			  
				 Posted: Thu Nov 24, 2011 7:19 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Centurion
 
 Joined: 19 Jul 2006 Posts: 147 Location: Bangalore 
  | 
		  
		    
			  
				we have to add a line feed on certain conditions.. 
 
I did try the logic mentioned, but all the data came in a single line, and in place where i expected a line feed the X'0a character was printed.
 
 
code written was - 
 
DECLARE linefeed CHARACTER CAST (X'0a' AS CHARACTER); 
 
SET OutputRoot.MRM.Header.EndOfLine                        = linefeed; | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | kimbert | 
		  
		    
			  
				 Posted: Thu Nov 24, 2011 2:48 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Jedi Council
 
 Joined: 29 Jul 2003 Posts: 5543 Location: Southampton 
  | 
		  
		    
			  
				
   
	| Quote: | 
   
  
	| all the data came in a single line, and in place where i expected a line feed the X'0a character was printed.  | 
   
 
I suspect that your output data is OK. 
 
 
What are you using to view the output data? Some editors ( especially on Windows ) do not display the LF ( 0x0A ) character as a line break. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | manojsu | 
		  
		    
			  
				 Posted: Fri Nov 25, 2011 1:16 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Centurion
 
 Joined: 19 Jul 2006 Posts: 147 Location: Bangalore 
  | 
		  
		    
			  
				Yes, i have checked in the hex editor, the values comes out as 58 27 30 61 27..
 
But have managed to fix it using group terminators.
 
 
Also have a doubt, has anything changed in the way wmb 6.1 handles hexadecimal values.. 
 
in case we want to use Line Feeds and Carriage returns.. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | kimbert | 
		  
		    
			  
				 Posted: Fri Nov 25, 2011 2:14 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Jedi Council
 
 Joined: 29 Jul 2003 Posts: 5543 Location: Southampton 
  | 
		  
		    
			  
				
   
	| Quote: | 
   
  
	| the values comes out as 58 27 30 61 27..  | 
   
 
So the value in the output message was not 'the X'0a character'. It was the *string* '0a'. Please try harder to be accurate.    
 
You could easily have fixed this by searching for other posts on this forum and then correcting my ESQL. But...
 
   
	| Quote: | 
   
  
	| have managed to fix it using group terminators.  | 
   
 
Good. That's how it should have been done in the first place | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | manojsu | 
		  
		    
			  
				 Posted: Fri Nov 25, 2011 3:27 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Centurion
 
 Joined: 19 Jul 2006 Posts: 147 Location: Bangalore 
  | 
		  
		    
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | 
		    
		   |