Problemas Sincronizaçao Dataset

Criei um Dataset que será executado todo dia, ele deverá ler uma tabela do Banco de Dados e copiar essas informações para o Dataset.

Criei o Dataset e codifiquei os métodos defineStructure, onSync e createDataset. Segue o código abaixo.

function defineStructure() {
    addColumn("AGENDA", DatasetFieldType.NUMBER);
    addColumn("TIPO_AGENDA");
    addColumn("ORIGEM_COD", DatasetFieldType.NUMBER);
    addColumn("ORIGEM_DV", DatasetFieldType.NUMBER);
    addColumn("DESTINO_COD", DatasetFieldType.NUMBER);
    addColumn("DESTINO_DV", DatasetFieldType.NUMBER);
    addColumn("NOTA", DatasetFieldType.NUMBER);
    addColumn("SERIE");
    addColumn("DATA_AGENDA", DatasetFieldType.DATE);
    addColumn("TIPO_NOTA");
    addColumn("FISCAL_COD", DatasetFieldType.NUMBER);
    addColumn("CFOP", DatasetFieldType.NUMBER);
    addColumn("COND_PGTO", DatasetFieldType.NUMBER);
    setKey([ "AGENDA", "NOTA", "DATA_AGENDA" ]);
    addIndex([ "ORIGEM_COD" ]);
    addIndex([ "DESTINO_COD" ]);
    addIndex([ "NOTA", "ORIGEM_COD", "DATA_AGENDA" ]);
}

function onSync(lastSyncDate) {
    var dataset = DatasetBuilder.newDataset();
    // Consulta Dataset Fiscal para pegar as Notas de Assistencia Tecnica
    var const_fiscal = new Array();
    const_fiscal.push(DatasetFactory.createConstraint("FIS_DTA_AGENDA", '01/09/2018', '01/09/2018', ConstraintType.MUST));
    //const_fiscal.push(DatasetFactory.createConstraint("FIS_DTA_AGENDA", lastSyncDate, lastSyncDate, ConstraintType.MUST));
    var ds_fiscal = DatasetFactory.getDataset("ds_aa1cfisc", null, const_fiscal, null);
    // Valida se retornou resultado a consulta
    if (ds_fiscal != null && ds_fiscal.values != null && ds_fiscal.values.length > 0) {
        var records = ds_fiscal.values;
        for ( var index in records ) {
            var record = records[index];
            dataset.addRow(new Array(record.AGENDA, record.TIPO_AGENDA, record.ORIGEM_COD, record.ORIGEM_DV, record.DESTINO_COD, record.DESTINO_DV, 
                    record.NOTA, record.SERIE, record.DATA_AGENDA, record.TIPO_NOTA, record.FISCAL_COD, record.CFOP, record.COND_PGTO));
        }
        return dataset;
    }
}

function createDataset(fields, constraints, sortFields) {
    var dataset = DatasetBuilder.newDataset();
    dataset.addColumn("AGENDA", DatasetFieldType.NUMBER);
    dataset.addColumn("TIPO_AGENDA");
    dataset.addColumn("ORIGEM_COD", DatasetFieldType.NUMBER);
    dataset.addColumn("ORIGEM_DV", DatasetFieldType.NUMBER);
    dataset.addColumn("DESTINO_COD", DatasetFieldType.NUMBER);
    dataset.addColumn("DESTINO_DV", DatasetFieldType.NUMBER);
    dataset.addColumn("NOTA", DatasetFieldType.NUMBER);
    dataset.addColumn("SERIE");
    dataset.addColumn("DATA_AGENDA", DatasetFieldType.DATE);
    dataset.addColumn("TIPO_NOTA");
    dataset.addColumn("FISCAL_COD", DatasetFieldType.NUMBER);
    dataset.addColumn("CFOP", DatasetFieldType.NUMBER);
    dataset.addColumn("COND_PGTO", DatasetFieldType.NUMBER);
    // Consulta Dataset Fiscal para pegar as Notas de Assistencia Tecnica
    var const_fiscal = new Array();
    const_fiscal.push(DatasetFactory.createConstraint("FIS_DTA_AGENDA", '01/09/2018', '01/09/2018', ConstraintType.MUST));
    //const_fiscal.push(DatasetFactory.createConstraint("FIS_DTA_AGENDA", lastSyncDate, lastSyncDate, ConstraintType.MUST));
    var ds_fiscal = DatasetFactory.getDataset("ds_aa1cfisc", null, const_fiscal, null);
    // Valida se retornou resultado a consulta
    if (ds_fiscal != null && ds_fiscal.values != null && ds_fiscal.values.length > 0) {
        var records = ds_fiscal.values;
        for ( var index in records ) {
            var record = records[index];
            dataset.addRow(new Array(record.AGENDA, record.TIPO_AGENDA, record.ORIGEM_COD, record.ORIGEM_DV, record.DESTINO_COD, record.DESTINO_DV, 
                    record.NOTA, record.SERIE, record.DATA_AGENDA, record.TIPO_NOTA, record.FISCAL_COD, record.CFOP, record.COND_PGTO));
        }
        return dataset;
    }
    else {
        return null;
    }
}

Porém, no log do Servidor fica dando o seguinte erro:

Executando evento : onSyncERRO AO EXECUTAR SCRIPT -> NOK - sun.org.mozilla.javascript.internal.EvaluatorException: Java class "[Ljava.lang.Object;" has no public instance field or method named "AGENDA". (#33) in at line number 33

Gostaria que me ajudassem a entender esse erro, pois já vi e revi o código e não consigo mais identificar onde alterar para corrigir esse erro.

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!

2 respostas

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