[ UNIX, Linux, Windows, IBM i ]

Filtrando e consultando itens de dados

Ao utilizar o MQAI para perguntar sobre os atributos de objetos IBM® MQ , você pode controlar os dados que são retornados ao seu programa de duas maneiras.
  • É possível filtrar os dados que são retornados usando as chamadas mqAddInteger e mqAddString. Esta abordagem permite especificar um par de Selector e ItemValue, por exemplo:
    mqAddInteger(inputbag, MQIA_Q_TYPE, MQQT_LOCAL)
    
    Este exemplo especifica que o tipo de fila (Selector) deve ser local (ItemValue) e esta especificação deve corresponder aos atributos do objeto (nesse caso, uma fila) sobre o qual você está consultando.

    Outros atributos que podem ser filtrados correspondem aos comandos PCF Inquire* que podem ser encontrados em Introdução ao IBM MQ Programmable Command Formats. Por exemplo, para consultar sobre os atributos de um canal, consulte o comando Inquire Channel nesta documentação do produto. Os "parâmetros obrigatórios" e "parâmetros opcionais" do comando Inquire Channel identificam os seletores que podem ser utilizados para filtragem.

  • É possível consultar atributos específicos de um objeto utilizando a chamada mqAddInquiry. Isso especifica o seletor no qual você está interessado. Se você não especificar o seletor, todos os atributos do objeto são retornados.
Aqui está um exemplo de filtragem e consulta os atributos de uma fila:
/* Request information about all queues */
mqAddString(adminbag, MQCA_Q_NAME, "*")

/* Filter attributes so that local queues only are returned */
mqAddInteger(adminbag, MQIA_Q_TYPE, MQQT_LOCAL)

/* Query the names and current depths of the local queues */
mqAddInquiry(adminbag, MQCA_Q_NAME)
mqAddInquiry(adminbag, MQIA_CURRENT_Q_DEPTH)

/* Send inquiry to the command server and wait for reply */
mqExecute(MQCMD_INQUIRE_Q, ...)