SPECIFIED_MESSAGE_HANDLE

The SPECIFIED_MESSAGE_HANDLE integer tag appears in taglists prepared for the GET_Q_ENTRIES_INFO function.  When added to a GET_Q_ENTRIES_INFO function taglist, only the message specified by SPECIFIED_MESSAGE_HANDLE is returned.  Also, the Q_ID tag is ignored, and the message is returned regardless of the queue it is located in.  The reply taglist from the GET_Q_ENTRIES_INFO function remains the same, with the returned message placed in a section that starts with a MESSAGE_HANDLE tag.
 
  Type Max Size Multiple Allowed
Integer 4 bytes No

Example:
function TrackSubmittedMsgUntilCompleted( MessageHandle )
  {
  var Tl, Sl, MsgCompletionCode = -1;

  while (OpenSession())
    {
    var StopPollingMsg;
    
      // Get information for a previously submitted message
      
    Tl = CAS.New();
    CAS.AddTag(Tl,"GET_Q_ENTRIES_INFO","");
    CAS.AddTag(Tl,"REGISTERED_NAME","Fred");
    CAS.AddTag(Tl,"REGISTERED_PASSWORD","");
    CAS.AddTag(Tl,"USER_NAME","Fred");
    CAS.AddTag(Tl,"SPECIFIED_MESSAGE_HANDLE",MessageHandle);

    Sl = CAS.CreateSection(Tl,"RESPONSE_INCLUDE_ONLY","");
      CAS.AddTag(Sl,"MESSAGE_STATUS","");
      CAS.AddTag(Sl,"MESSAGE_COMPLETION_CODE","");
    CAS.CloseSection(Sl);

    Tl = CAS.Send(Instance,Tl);     
    
    if (CAS.GetTag(Tl,"STATUS_NUM",0) == 0)
      {
      Sl = CAS.OpenSection(Tl,"MESSAGE_HANDLE");
        if (CAS.GetTag(Sl,"MESSAGE_STATUS",0) == 5)
          {
            // The MESSAGE_COMPLETION_CODE is only valid once 
            // the MESSAGE_STATUS is at 5 (completed)
          MsgCompletionCode = 
                       CAS.GetTag(Sl,"MESSAGE_COMPLETION_CODE",0);

          StopPollingMsg = true;
          }
        else
          {
            // Keep polling, the message isn't done
          StopPollingMsg = false;
          }
      
      CAS.CloseSection(Sl);
      }
    else
      {
        // Failed to retrieve updated status
      StopPollingMsg = true;
      }
      
    CAS.Delete(Tl);
    
    CloseSession();
    
    if (StopPollingMsg)
      {
      break;
      }
      
    CAS.Sleep(5000);
    }
  
  return(MsgCompletionCode);
  }
See Also:
Send and Track Message, SEND_MESSAGE, GET_Q_ENTRIES_INFO, MESSAGE_HANDLE, MESSAGE_STATUS, MESSAGE_COMPLETION_CODE