![[ UNIX, Linux, Windows, IBM i ]](ngmulti.gif)
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
SelectoreItemValue, por exemplo:
Este exemplo especifica que o tipo de fila (mqAddInteger(inputbag, MQIA_Q_TYPE, MQQT_LOCAL)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, ...)