Importante

Esse manual é específico das versões anteriores e legadas dos produtos Orquestra BPMS 3 e Orquestra ECM 2.

Para o novo produto Zeev, acesse kb.zeev.it. Para o novo produto Zeev docs, kb.zeev.it/v/docs.

Configuração de fonte de dados de comando SQL

Atenção! Para usar esse recurso, você deverá ter conhecimento de: banco de dados relacional, comandos SQL.

Atenção! Apesar de amplamente disponível, esse método de integração é o menos recomendado dentre todas as demais opções. A integração via comandos SQL não é uma boa prática de integração de sistemas e dificulta o desacoplamento de sistemas.

Veja como fazer para que campos interligados sejam populados sem necessidade de programação. Neste vídeo serão utilizadas fontes de dados SQL para listar Países, estados e cidades em campos interligados:

"Structured Query Language", ou "Linguagem de Consulta Estruturada" ou SQL, é a linguagem de pesquisa declarativa padrão para banco de dados relacional (base de dados relacional). Esse tipo de integração permite a execução de comandos em bancos de dados externos. Apesar de geralmente a forma mais simples de integração, é a menos recomendada, devido a problemas de manutenção e organização.

Se os dados de sua fonte de dados estão em um banco de dados externo, você poderá cadastrar um comando SQL que vai recuperar essas informações, preenchendo:

  1. Conexão: selecione a conexão com banco de dados externo ao Orquestra, caso a consulta SQL deva ser executada em outro banco de dados. Para criar essas conexões, você pode usar o módulo de conexões.
  2. Comando SQL: possibilidade de cadastro de um comando SQL que poderá ir buscar as informações da fonte de dados em outra tabela do banco de dados ou até mesmo em outro banco de dados. Este comando deve ser utilizado por pessoal técnico somente.

Se você deseja exibir uma lista de cidades ao usuário você pode utilizar um dos comandos SQL abaixo:

  1. SELECT DsCityTitle DsAttributeValueName FROM wCity
  2. SELECT CodCity CodAttributeCustomValue, DsCityTitle DsAttributeValueName FROM wCity
  3. SELECT CodCity CodAttributeCustomValue, DsCityTitle DsAttributeValueName FROM wCity WHERE Uf = "{Formulario.UF}"

O comando SQL descrito na primeira opção retornará uma lista de nomes de cidades. Quando o usuário utilizar essa informação em uma caixa de seleção, por exemplo, então o nome dessa cidade será armazenado no formulário do sistema.

O comando SQL descrito na segunda opção retornará uma lista de códigos e nomes de cidades. Quando o usuário utilizar essa informação em uma caixa de seleção, por exemplo, então o nome dessa cidade será apresentado ao usuário mas a informação que será salva no sistema será o código da cidade.

O comando SQL descrito na terceira opção igualmente retornará uma lista de códigos e nomes de cidades. Porém, ele utiliza um token, correspondente a um campo do formulário do processo onde essa fonte de dados é usada, para filtrar somente as cidades de um determinado Estado.

Note que nos exemplos foram utilizados ALIAS nas colunas do SQL. A consulta SQL utilizada precisa obrigatoriamente ter pelo menos o alias DsAttributeValueName para que o Orquestra consiga interpretar a coluna a ser apresentada na tela de execução de tarefa. Esse campo irá preencher o atributo "txt" da fonte de dados transformada. Já o alias CodAttributeCustomValue identifica o valor do atributo o "cod" da fonte de dados transformada.

Não há problema algum em utilizar comandos SQL que incluam clausulas tais como DISTINCT, JOIN, INNER JOIN,  WHERE, etc, além de tokens diversos.

Por segurança, entretanto, neste campo não são aceitos comandos T-SQL ou PL/SQL, tais como UPDATE, INSERT ou DELETE.  Nesse caso, recomenda-se o encapsulamento dos comandos em Stored Procedures, e a configuração, na fonte de dados, de chamadas para a stored procedure.

Mapeamento de campos acessórios

A integração via comandos SQL também permite a configuração de campos acessórios, conforme visto no manual de fontes de dados. Considere o seguinte comando SQL:

SELECT CodUser CodAttributeCustomValue, DsName DsAttributeValueName, DsEmail, DsUsername FROM wUser

Como foi visto acima, o código do usuário representará o atributo "cod" da fonte de dados transformada, o nome do usuário será o atributo "txt". Entretanto, o comando SQL traz mais 2 colunas, sem alias: DsEmail e DsUsername. Essas colunas adicionais podem ser usadas na configuração de mapeamento acessório.