Versão atual:

Integração Fluig RM

Bom dia,

Ao executar um dataset com a integração com o serviço "wsConsultaSQL", ao informar as variaveis necessárias ele está me retornando o seguinte:

Erro na comunicação com o app (linha: 42): JavaException: javax.xml.ws.soap.SOAPFaultException: The conversion of the varchar value '99999999999' overflowed an INT2 column. Use a larger integer column.

Como faço para resolver esse tipo de problema?

function createDataset(fields, constraints, sortFields)    
{    
//    var USUARIO = 
    //var SENHA = 
    var NOME_SERVICO = "WsConsultaSQL"; // Nome do serviço criado no Fluig Studio  
    var CAMINHO_SERVICO = "com.totvs.WsConsultaSQL"; // Caminho do serviço  
    var dataset = DatasetBuilder.newDataset();  

    try {  
        // Obtem a instancia do serviço   
        var servico = ServiceManager.getServiceInstance(NOME_SERVICO);          
        // Inicializa o serviço  
        var instancia = servico.instantiate(CAMINHO_SERVICO);      
        log.info("!!! CAMINHO_SERVICO_CPF !!!" );
        log.info(instancia);

        // Obtem o WebService para consumo  
        var ws = instancia.getRMIwsConsultaSQL();            
        var serviceHelper = servico.getBean();  
        // Autenticação no serviço  
        var authService = serviceHelper.getBasicAuthenticatedClient(ws, "com.totvs.IwsConsultaSQL", 'integracao', '**********');  

        /** 
         * O método realizarConsultaSQL espera 4 parametros: 
         * 1º - Código da Consulta SQL cadastrada no sistema 
         * 2º - Código da Coligada 
         * 3º - Código do Sistema 
         * 4º - Parametros utilizados na consulta SQL. Ex.: "CODCOLIGADA=1;UF=MG" 
         * Retorno: Um XML de um DataTable do retorno da execução da consulta SQL 
         */  
var user = getValue("WKUser");

        // Pega o CPF no cadastro do FLUIG em Dados Adicionais
        //var cpf = fluigAPI.getUserService().getCurrent().getExtraData("CPF");
        var cpf = "99999999999";

        var colig = "10";

        var param = "CPF="+cpf+";"+"COLIGADA="+colig;

        // FLUIG_PFUNC_CPF = Nome da Consulta SQL criado no RM
        var result = authService.realizarConsultaSQL("FLUIG_TESTE", 0, "P", param);


        if ((result != null) && (result.indexOf("===") != -1)) {
            var msgErro = result.substring(0, result.indexOf("==="));
            log.error("Erro: " + msgErro);
            throw "Erro: " + msgErro;
        }

        // Insere o resultado em um objeto XML para melhor manipulação dos dados
        var xmlResultados = new XML(result);


        // Cria as colunas que serão retornadas pela consulta SQL e que serão utilizadas
        dataset.addColumn("NOME");
        dataset.addColumn("DATAINICIO");
        dataset.addColumn("CODSECAO");
        dataset.addColumn("CHEFE_MASTER");


        // Adiciona os dados no dataset
        array = new Array();

        for (var i = 0; i < xmlResultados.Resultado.length(); i++) 
        {
            dataset.addRow(new Array( xmlResultados.Resultado.NOME[i].toString(), 
                                      xmlResultados.Resultado.DATAINICIO[i].toString(),
                                      xmlResultados.Resultado.CODSECAO[i].toString(),
                                      xmlResultados.Resultado.CHEFE_MASTER[i].toString()
                                    )
                          );
    }

} catch (e) 
{
        if (e == null)
            e = "Erro desconhecido; verifique o log do AppServer";

        var mensagemErro = "Erro na comunicação com o app (linha: " + e.lineNumber + "): " + e;
        log.error(mensagemErro);
        log.info(mensagemErro);
        dataset.addColumn("ERROR");
        dataset.addColumn("MESSAGE_ERROR");
        dataset.addRow(new Array(-1, mensagemErro));
}

return dataset;
}
DECLARE @coligada INT, @chapa VARCHAR(5), @cpf VARCHAR(11);

-- coligada
SET @coligada = 10;     
SET @cpf = '99999999999'

SELECT PFUNC.NOME, PEXTERNO.DATAINICIO, PEXTERNO.CODSECAO, PCHEFEEXTERNO.MASTER CHEFE_MASTER
FROM PEXTERNO, PFUNC, PCHEFEEXTERNO
WHERE PFUNC.CODPESSOA = PEXTERNO.CODPESSOA
  AND PCHEFEEXTERNO.CODCOLSUBST = PEXTERNO.CODCOLIGADA
  AND PCHEFEEXTERNO.CODEXTERNO = PEXTERNO.CODEXTERNO
  AND PEXTERNO.CODCOLIGADA = @coligada
  AND PEXTERNO.CODSECAO IN (SELECT CODSECAO
                            FROM PEXTERNO 
                            WHERE CODCOLIGADA = @coligada
                                AND CODEXTERNO IN (SELECT CODEXTERNO 
                                                    FROM PCHEFEEXTERNO 
                                                    WHERE CODCOLIGADA = @coligada
                                                        AND substring(CODSECAO,1,11) IN (SELECT substring(PFUNC.CODSECAO,1,11)
                                                                                          FROM PFUNC
                                                                                          WHERE PFUNC.CODCOLIGADA = @coligada
                                                                                            AND PFUNC.CHAPA IN (SELECT PSUBSTCHEFE.CHAPASUBST
                                                                                                                 FROM PSUBSTCHEFE
                                                                                                              INNER JOIN PFUNC ON PFUNC.CODCOLIGADA = PSUBSTCHEFE.CODCOLSUBST AND PFUNC.CHAPA = PSUBSTCHEFE.CHAPASUBST
                                                                                                           WHERE PSUBSTCHEFE.CODCOLIGADA = @coligada
                                                                                                                 AND PSUBSTCHEFE.CODSECAO IN (SELECT PFUNC.CODSECAO
                                                                                                                                              FROM PFUNC
                                                                                                                                              INNER JOIN PPESSOA ON PPESSOA.CODIGO = PFUNC.CODPESSOA
                                                                                                                                              WHERE PFUNC.CODCOLIGADA = @coligada
                                                                                                                                                AND PFUNC.CODSITUACAO <> 'D'
                                                                                                                                                AND PPESSOA.CPF = @cpf)
                                                                                                                 AND PSUBSTCHEFE.DATAINICIO <= GETDATE()
                                                                                                                 AND PSUBSTCHEFE.DATAFIM IS NULL)
                                                                                           AND PFUNC.CODSITUACAO <> 'D')))

UNION ALL

SELECT PFUNC.NOME, PSUBSTCHEFE.DATAINICIO, PSUBSTCHEFE.CODSECAO, PSUBSTCHEFE.MASTER CHEFE_MASTER
FROM PSUBSTCHEFE
INNER JOIN PFUNC ON PFUNC.CODCOLIGADA = PSUBSTCHEFE.CODCOLSUBST AND PFUNC.CHAPA = PSUBSTCHEFE.CHAPASUBST
WHERE PSUBSTCHEFE.CODCOLIGADA = @coligada
  AND substring(PSUBSTCHEFE.CODSECAO,1,11) IN (SELECT substring(PFUNC.CODSECAO,1,11)
                                 FROM PFUNC
                                 WHERE PFUNC.CODCOLIGADA = @coligada
                                   AND PFUNC.CHAPA IN (SELECT PSUBSTCHEFE.CHAPASUBST
                                                        FROM PSUBSTCHEFE
                                                        INNER JOIN PFUNC ON PFUNC.CODCOLIGADA = PSUBSTCHEFE.CODCOLSUBST AND PFUNC.CHAPA = PSUBSTCHEFE.CHAPASUBST
                                                     WHERE PSUBSTCHEFE.CODCOLIGADA = @coligada
                                                         AND PSUBSTCHEFE.CODSECAO IN (SELECT PFUNC.CODSECAO
                                                                                         FROM PFUNC
                                                                                         INNER JOIN PPESSOA ON PPESSOA.CODIGO = PFUNC.CODPESSOA
                                                                                         WHERE PFUNC.CODCOLIGADA = @coligada
                                                                                         AND PFUNC.CODSITUACAO <> 'D'
                                                                                         AND PPESSOA.CPF = @cpf)
                                                         AND PSUBSTCHEFE.DATAINICIO <= GETDATE()
                                                         AND PSUBSTCHEFE.DATAFIM IS NULL)
                                   AND PFUNC.CODSITUACAO <> 'D')
  AND PSUBSTCHEFE.DATAINICIO <= GETDATE()
  AND PSUBSTCHEFE.DATAFIM IS NULL
  AND PSUBSTCHEFE.CODSECAO <> PFUNC.CODSECAO

UNION ALL

SELECT PFUNC.NOME, PSUBSTCHEFE.DATAINICIO, PSUBSTCHEFE.CODSECAO, PSUBSTCHEFE.MASTER CHEFE_MASTER
FROM PSUBSTCHEFE
INNER JOIN PFUNC ON PFUNC.CODCOLIGADA = PSUBSTCHEFE.CODCOLSUBST AND PFUNC.CHAPA = PSUBSTCHEFE.CHAPASUBST
WHERE PSUBSTCHEFE.CODCOLIGADA = @coligada
  AND PSUBSTCHEFE.CODSECAO IN (SELECT PFUNC.CODSECAO
                                 FROM PFUNC
                                 INNER JOIN PPESSOA ON PPESSOA.CODIGO = PFUNC.CODPESSOA
                                 WHERE PFUNC.CODCOLIGADA = @coligada
                                   AND PFUNC.CODSITUACAO <> 'D'
                                   AND PPESSOA.CPF = @cpf)
  AND PSUBSTCHEFE.DATAINICIO <= GETDATE()
  AND PSUBSTCHEFE.DATAFIM IS NULL

Versões (2):

Ver a versão formatada

Integração Fluig RM

Comentário

new question