Obtener version X de formulario vía DaTASET

Hola Alguien tiene un ejemplo de como recuperar la versión X de un formulario vía Dataset?

Lo hice consultando a la base de datos directamente pero no me deja filtrar por dos campos que necesito.

Adjunto ejemplo:

function createDataset(fields, constraints, sortFields) { var newDataset = DatasetBuilder.newDataset(); log.info("QUERY: " + myQuery); var dataSource = "/jdbc/FLUIGPRDSQL"; var ic = new javax.naming.InitialContext(); var ds = ic.lookup(dataSource); var created = false; var filtro = "";

if(constraints != null) {

for (var i = 0; i < constraints.length; i++) { // AQUI VOCÊ TRATA O FILTRO if (constraints[i].fieldName == "c_periodo_actual") {

filtro += " and A.c_periodo_actual = " + constraints[i].initialValue; }

if (constraints[i].fieldName == "c_emp_evaluado") {

filtro += " and A.c_emp_evaluado like UPPER('%" + constraints[i].initialValue + "%')"; }

} }

var myQuery = "select * from ML001017 A LEFT JOIN DOCUMENTO AS B ON B.NR_DOCUMENTO_PAI = A.cardid AND B.NR_DOCUMENTO=A.documentid where B.VERSAO_ATIVA=1 AND B.LOG_DELETE=0 and A.version = 2000 and A.c_estado !='Cancelada'"; myQuery += myQuery + filtro;

myQuery = myQuery.toUpperCase(); log.info("#### SQL GERADO"); log.info(myQuery);

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 (stmt != null) { stmt.close(); } if (conn != null) { conn.close(); } } return newDataset; }

compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do fluig Forum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags datasets version ou faça a sua própria pergunta.