|   | 
	 
  
    | 
RSS Feed - WebSphere MQ Support
 | 
RSS Feed - Message Broker Support
 |   
 
  
	     | 
	 | 
   
 
  
	|  Code going into infinte loop | 
	« View previous topic :: View next topic »  | 
   
  
  	
	  
		
		
		  | Author | 
		  Message
		 |  
		
		  | satyasheel15 | 
		  
		    
			  
				 Posted: Tue Jun 07, 2005 11:39 pm    Post subject: Code going into infinte loop | 
				     | 
			   
			 
		   | 
		 
		
		   Voyager
 
 Joined: 04 Mar 2003 Posts: 86
  
  | 
		  
		    
			  
				Hi,
 
 
I have written the following code :
 
----------------------------------------
 
CALL CopyMessageHeaders();
 
-- CALL CopyEntireMessage();
 
 
-- SETTING THE Header Properties for the Output Message
 
SET OutputRoot.Properties.MessageDomain = 'MRM';
 
SET OutputRoot.Properties.MessageSet	= 'D26R2C8002001';
 
SET OutputRoot.Properties.MessageType	= 'Document';
 
SET OutputRoot.Properties.MessageFormat	= 'XML1';
 
		
 
DECLARE inRef REFERENCE TO InputRoot.MRM.ns13:itemandprice[>];
 
DECLARE outRef REFERENCE TO OutputRoot.MRM.ns10:DAF_ARTIKEL[1];
 
 
CREATE FIELD OutputRoot.MRM.ns10:DAF_ARTIKEL[1] AS outRef ;
 
		
 
WHILE (LASTMOVE(inRef)= TRUE) DO
 
			
 
-- General rules: Only map elements for which  productType in scheme "itemsandprices" that  does not have the value ‘4’ (= displays)
 
  IF((inRef.ns13:productType) <> 4) THEN
 
    
 
     DECLARE r INTEGER 1;
 
    FOR source5 AS inRef.ns13:artattributes.ns13:artattribute[] DO
 
				 	
 
         DECLARE iAttrClass CHARACTER 	source5.ns13:attributeClass ;
 
        DECLARE iAttrCode  CHARACTER 	source5.ns13:attributeCode ;
 
				 	
 
       DECLARE    vMETRAGE CHARACTER (THE(SELECT ITEM I.METRAGE 
 
                        FROM Database.METRAGECONV AS I
 
	 WHERE I.ATTRIBUTECLASS = iAttrClass AND 
 
                          I.ATTRIBUTECODE  = iAttrCode ));
 
				 		
 
      -- MODIFY:Lookup the value for Metrage in the MetrageConv table 
 
       using attributeCode and attributeClass	
 
      IF (vMETRAGE IS NOT NULL) THEN SET outRef.ns10:Metrage[r]	= vMETRAGE ;  END IF;
 
	SET r = r + 1;
 
      END FOR;	
 
			END IF;
 
 
      MOVE outRef NEXTSIBLING REPEAT TYPE NAME; 
 
     MOVE inRef  NEXTSIBLING REPEAT TYPE NAME;
 
			
 
     IF (LASTMOVE(inRef)) THEN 
 
        CREATE NEXTSIBLING OF outRef AS outRef REPEAT; END IF;   
 
 END WHILE;			
 
---------------------------------------
 
And the Name of the DATABASE Table is : METRAGECONV and datatype of all the column is CHARACTER. I have also checked the required ODBC connection and set up the Compute NOde properties.
 
 
What's happening that whenever I put the test message, when code goes into the code :       DECLARE    vMETRAGE CHARACTER (THE(SELECT ITEM I.METRAGE 
 
                        FROM Database.METRAGECONV AS I
 
	 WHERE I.ATTRIBUTECLASS = iAttrClass AND 
 
                          I.ATTRIBUTECODE  = iAttrCode ));
 
				 	as shown above, it goes into INFINITE LOOP.
 
 
Can anyone let me know the reason. | 
			   
			 
		   | 
		 
		
		  | Back to top | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | EddieA | 
		  
		    
			  
				 Posted: Wed Jun 08, 2005 8:17 am    Post subject:  | 
				     | 
			   
			 
		   | 
		 
		
		    Jedi
 
 Joined: 28 Jun 2001 Posts: 2453 Location: Los Angeles 
  | 
		  
		    
			  
				Have you tried running a Debug Trace to see if you can spot the problem.
 
 
Cheers, _________________ Eddie Atherton
 
IBM Certified Solution Developer - WebSphere Message Broker V6.1
 
IBM Certified Solution Developer - WebSphere Message Broker V7.0 | 
			   
			 
		   | 
		 
		
		  | Back to top | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | jefflowrey | 
		  
		    
			  
				 Posted: Wed Jun 08, 2005 8:33 am    Post subject:  | 
				     | 
			   
			 
		   | 
		 
		
		   Grand Poobah
 
 Joined: 16 Oct 2002 Posts: 19981
  
  | 
		  
		    
			  
				How do you know where the loop occurs? _________________ I am *not* the model of the modern major general. | 
			   
			 
		   | 
		 
		
		  | Back to top | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | Bingo | 
		  
		    
			  
				 Posted: Sat Jun 11, 2005 3:09 am    Post subject: Hi | 
				     | 
			   
			 
		   | 
		 
		
		   Novice
 
 Joined: 31 Mar 2005 Posts: 22
  
  | 
		  
		    
			  
				Hi Satyasheel,
 
 
Please check if there are 2 rows satisfying your condition in the database for the query which you have written. I think that should sove your problem rather than looking in the code. IF there are 2 idential rows containing same data , then i think the query might fail.
 
 
Bye | 
			   
			 
		   | 
		 
		
		  | Back to top | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | 
		    
		   | 
		 
	   
	 | 
   
 
  
	     | 
	 | 
	Page 1 of 1 | 
   
 
 
 
  
  	
	  
		
		  
 
  | 
		  You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
  | 
  		 
	   
	 | 
   
 
  	 | 
	  |