Populating Destination in the LocalEnvironment tree

Use the Destination subtree to set up the target destinations that are used by output nodes, the HTTPRequest node, the SOAPRequest node, the SOAPAsyncRequest node, and the RouteToLabel node. The following examples show how you can create and use an ESQL procedure to perform the task of setting up values for each of these uses.

Copy and use these procedures as shown, or you can modify or extend them to perform similar tasks.

Adding a queue name for the MQOutput node
CREATE PROCEDURE addToMQDestinationList(IN LocalEnvironment REFERENCE, IN newQueue char) BEGIN
  /*******************************************************************************
  * A procedure that adds a queue name to the MQ destination list in the local environment.
  * This list is used by an MQOutput node that has its mode set to Destination list.
  *
  * IN LocalEnvironment: the LocalEnvironment to be modified. 
  * Set this value to OutputLocalEnvironment when calling this procedure
  * IN queue: the queue to be added to the list
  *
  *******************************************************************************/
  DECLARE I INTEGER CARDINALITY(LocalEnvironment.Destination.MQ.DestinationData[]);
		IF I = 0 THEN
			SET LocalEnvironment.Destination.MQ.DestinationData[1].queueName = newQueue;
		ELSE
			SET LocalEnvironment.Destination.MQ.DestinationData[I+1].queueName = newQueue;
		END IF;
	END;
Changing the default URL for an HTTPRequest node request
CREATE PROCEDURE overrideDefaultHTTPRequestURL(IN LocalEnvironment REFERENCE, IN newUrl char) BEGIN
  /*******************************************************************************
  * A procedure that changes the URL to which the HTTPRequest node sends the request.
  * 
  * IN LocalEnvironment: the LocalEnvironment to be modified. 
  * Set this value to OutputLocalEnvironment when calling this procedure
  * IN queue: the URL to which to send the request.
  *
  *******************************************************************************/
  set LocalEnvironment.Destination.HTTP.RequestURL  = newUrl;
END;
Adding a label for the RouteToLabel node
CREATE PROCEDURE addToRouteToLabelList(IN LocalEnvironment REFERENCE, IN newLabel char) BEGIN
  /*******************************************************************************
  * A procedure that adds a label name to the RouteToLabel list in the local environment.
  * This list is used by a RoteToLabel node.
  *
  * IN LocalEnvironment: the LocalEnvironment to be modified. 
  * Set this value to OutputLocalEnvironment when calling this procedure
  * IN label:  the label to be added to the list
  *
  *******************************************************************************/
	if LocalEnvironment.Destination.RouterList.DestinationData is null then
     set LocalEnvironment.Destination.RouterList.DestinationData."label" = newLabel;
  else
     create LASTCHILD OF LocalEnvironment.Destination.RouterList.DestinationData
     NAME 'label' VALUE newLabel; 
  end if;
END;
Related concepts
Message flows overview
Local environment tree structure
Related reference
Compute node
Data types for elements in the DestinationData subtree
CREATE PROCEDURE statement
SET statement
Notices | Trademarks | Downloads | Library | Support | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Last updated : 2009-01-07 15:20:22

ac16862_