Criar Dataset com parâmetros SQL

Boa tarde. Resumo: Gostaria de fazer um SQL com parametros e pegar este parameto de um campo do formulario, é possivel ?

Case:

Tenho duas tabelas no meu BD.

Uma sendo clientes e a outra sendo processos.

A tebala Cliente tem mais de 1000 mil registros. A tabela processo tem apenas uns 100 registros ( mas nela tem o nome de cada Cliente ).

Existe uma forma de eu criar um dataset avanaçado no Fluig studio, e ao preencher o campo "CLIENTE" ( No formulario ), a consulta SQL entenda ( pode ser como parametro ) que é para trazer os registros da Tabela Processo com a referencia ao nome do Cliente em uma lista? Ou alguma outra forma ?

Obrigado.

Deixo abaixo como fazer o parâmetro. A única coisa que não fiz nesse exemplo foi usar constraint (que você poderia receber a data por ele).


function createDataset(fields, constraints, sortFields) {
  var newDataset = DatasetBuilder.newDataset();

  //Pode trocar a string 201905 por um parâmetro via constraints
  var myQuery = getQuery('201905');

  var dataSource = "/jdbc/FluigDSRO";
  var ic = new javax.naming.InitialContext();
  var ds = ic.lookup(dataSource);
  var created = false;


  try {
      var conn = ds.getConnection();
      var stmt = conn.createStatement(); 
      var rs = stmt.executeQuery(myQuery);
      var columnCount = rs.getMetaData().getColumnCount();
      while (rs.next()) {
          if (!created) {
              for (var i = 1; i <= columnCount; i++) {
                  newDataset.addColumn(rs.getMetaData().getColumnName(i));
              }
              created = true;
          }
          var Arr = new Array();
          for (var i = 1; i <= columnCount; i++) {
              var obj = rs.getObject(rs.getMetaData().getColumnName(i));
              if (null != obj) {
                  Arr[i - 1] = rs.getObject(rs.getMetaData().getColumnName(i)).toString();
              } else {
                  Arr[i - 1] = "null";
              }
          }
          newDataset.addRow(Arr);
      }
  } catch (e) {
      log.error("ERRO==============> " + e.message);
  } finally {
      if (rs != null) {
          rs.close();
      }
      if (stmt != null) {
          stmt.close();
      }
      if (conn != null) {
          conn.close();
      }
  }

  return newDataset;
}

function getQuery(anomes){
    var query = '';

    query += "SELECT ";
    query += " CCUSTO as [CCusto] ";
    query += "FROM MINHA TABELA Q2 "; 
    query += "WHERE CAMP_DATA BETWEEN '"+anomes+"01' AND '"+anomes+"31' AND ";





    return query;
}

Janilson, agradeço muito pela sua resposta a minha dúvida e esta me ajudando e muito.

Teria mais uma duvida aqui.

No meu formulario html, eu gostaria de digitar o nome do cliente e ao sair deste campo passar o valor para o parametro ou constrainst da solução que voce me informou, e ao filtrar o SQL eu possa colocar o conteúdo em um outro campo , tipo combobox , isso é possível ?

Obrigado.

No formulário você pode criar um evento JS para quando esse campo mudar de valor você pesquisar o dataset passando o valor como constraint. Nessa documentação, Desenvolvimento de Formulários - TOTVS Fluig - TDN , você encontra como acessar o dataset pelo formulário usando o arquivo /webdesk/vcXMLRPC.js. Aí é só popular o combobox com o resultado do dataset.