Para módulos de consulta, basta que o código SQL esteja localizado no item “Código SQL” do módulo, exatamente como nas versões anteriores do Apolo.
Obs. 1: Utilizar ao invés do aliás de tabelas com letras (como “a”, “b” etc…), utilizar os aliás de tabelas sempre com o nome da tabela, exemplo sg001, sg002 etc… Isso por que facilita a documentação da query, para evitar termos que consultar que tabela a = sg001, b = sg002 etc…
Obs. 2: Agora devemos usar a palavra chave <<FILTRO>>, onde o código dinâmico do where da consulta será inserido. Isso traz mais flexibilidade ao código SQL, já que podemos ter o mesmo filtro em vários locais, como subselects por exemplo.
Exemplo de Código SQL para Consulta:
select sw019.QUESTIONARIO_NUMERO as "<PT>Entrevista</PT><EN>Interview</EN>", sw019.USUARIO_CRIACAO as "<PT>Dispositivo</PT><EN>Device</EN>", SW019.VALIDO as "<PT>Válido</PT><EN>Enabled</EN>", sw019.qtd_creditos as "Qtd. Respostas", coalesce(SEC_TO_TIME(sw019.DURACAO),"") as "<PT>Duração</PT><EN>Duration</EN>", sw019.DATA_INICIO as "<PT>Início Coleta</PT><EN>Start Date/Time</EN>", sw019.DATA_FIM as "<PT>Fim Coleta</PT><EN>End Date/Time</EN>", sw026.nome as "Entrevistador", sw019.GPS_LATITUDE as "GPS LATITUDE", sw019.GPS_LONGITUDE as "GPS LONGITUDE", sw008.DESCRICAO as "<PT>Localidade</PT><EN>Locality</EN>", sw031.DESCRICAO as "Status", sw019.NOME as "Entrevistado", sw019.CIDADE, sw019.BAIRRO, sw019.ENDERECO, sw019.TELEFONE, sw019.EMPRESA, sw019.CRIADO_EM as "Data/Hora Envio", sw019.LOTE_ENVIO_SIAPDROID as "LOTE_ENVIO_SIAPDROID", sw019.questionario_numero_coleta as "Quest Coleta Num", sw019.GERADO_POR as "Gerado No", sw019.CODIGO as "CODIGO", sw019.ID as "id" from sw019 /* Tabela de */ left join sw008 on (sw019.sw008_id = sw008.id) join sw031 on (sw019.sw031_codigo = sw031.codigo) left join sw026 on (sw019.sw026_id = sw026.id) where SW019.SW006_ID = '<<CONTRATO>>' <<FILTRO>> order by sw019.questionario_numero desc limit 10000
Notar que temos também o parser de palavras chaves como:
<<EMPRESA>> <<CONTRATO>> <<EMPRESA_GRUPO>> <<USUARIO>> <<USUARIO_ID>> <<DATA_ATUAL>> <<DATA>> <<ONTEM>> <<AGORA>>
Outro detalhe é que se você desejar que a consulta não obedeça ao limite pré estabelecido de total de linhas retornável, por exemplo, se a consulta for aberta a partir de um processo, basta colocar o limit no SQL com o valor que desejar como no exemplo do código sql acima.