Tipo Objeto

De CIGAM WIKI
Revisão de 13h28min de 2 de agosto de 2024 por Ana.nicol (discussão | contribs) (Funções Genéricas)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)


Voltar
BI > BI Desenvolvedor > GDI > Tipo Objeto

Define o tipo da Tabela do GDI a ser utilizada pelo sistema ao fazer consultas, tendo como opções Tabela, View e Consulta.
Tabela ou View

Necessário informar o nome da Tabela ou View correspondente no Banco de Dados para a sua utilização.
Consulta

Informa a consulta que servirá como base para ser utilizada como Tabela no Sistema.

ConsultaBI

Nome da Base de Dados: Conteúdo que será inserido antes do nome de cada tabela declarada no select, caso a tabela ainda não possua o nome da base de dados.

Owner: Conteúdo que será inserido antes do nome de cada tabela declarada no select, caso a tabela ainda não possua o Owner especificado..

Consulta Protegida: Se marcado será criptografada a consulta impossibilitando a sua visualização e edição, caso o usuário queira modificar algo na consulta deverá informa-lá novamente.

Sql Server / Oracle: Exibe a cláusula informada convertendo as funções genéricas para o banco de dados específico.

Dados: Permite visualizar os dados que esta tabela retorna do banco de dados. Por padrão é obtido apenas os 100 primeiros registros, porém é possível alterar o número de registros a serem apresentados.

Funções
Funções do sistema disponíveis para a utilização no script.

CustomizaBI2

Funções Genéricas

Quando a tabela for de consulta é possível colocar chamadas para algumas funções genéricas, o sistema interpreta estas funções e as converte de modo adequado para os Banco de Dados MsSql e Oracle. Dentre as opções de funções estão:

GDI_NumberToChar({CAMPO}, {TAMANHO})
Esta função recebe um campo numérico e converte o seu valor para um char do tamanho especificado.

No Oracle esta função é substituída por TO_CHAR({CAMPO}, {TAMANHO}), no tamanho é colocado o número nove de acordo com a quantidade que foi informado no tamanho, como por exemplo, se for informado 5, o sistema colocará 99999.
No MsSql esta função é substituída por CAST({CAMPO} AS CHAR(({{CAMPO}})).

  • Campo: Recebe um campo numérico.
  • Tamanho: Recebe o tamanho do char.



GDI_DateToChar ({CAMPO})

Esta função recebe um campo data e converte o seu valor para char.

No Oracle esta função é substituída por TO_CHAR(I.DT_APROVACAO, 'YYYY/MM/DD').

No MsSql esta função é substituída por CONVERT(CHAR(10), I.DT_APROVACAO, 111), onde o 111 representa o formato 'YYYY/MM/DD'.

  • Campo: Recebe um campo data.
  • Exemplo de retorno: Considerando que está função receberá uma data com este valor 23/09/2000, a mesma retornará 2000/09/23.



GDI_DateToDays({CAMPO})

Esta função recebe um campo data e retorna a quantidade de dias.

No Oracle esta função é substituída por TRUNC({CAMPO}) - TO_DATE('1900/01/01','YYYY/MM/DD').

No MsSql esta função é substituída por CAST(DATEADD(dd, DATEDIFF(dd, 0 ,{CAMPO}), 0) AS INT).

  • Campo: Recebe um campo data.



GDI_DataAtualToDays()

Esta função retorna a quantidade de dias da data atual.

No Oracle esta função é substituída por TRUNC(SISDATE) - TO_DATE('1900/01/01','YYYY/MM/DD').

No MsSql esta função é substituída por CAST(DATEADD(dd, DATEDIFF(dd, 0 , GETDATE()), 0) AS INT).

GDI_DateDiff({CAMPOINIT}, {CAMPOFINAL})

Esta função recebe um campo data inicial e outro final e retorna a quantidade de dias entre estas datas.

No Oracle esta função é substituída por TRUNC({CAMPOFINAL}) - TRUNC({CAMPOINIT}).

No MsSql esta função é substituída por DATEDIFF(DAY, {CAMPOINIT}, {CAMPOFINAL}).

No PostgreSQL esta função é substituída por extract('day' from date_trunc('day', {CAMPOFINAL}) - date_trunc('day', {CAMPOINIT}))

No MySQL esta função é substituída por datediff({CAMPOFINAL}, {CAMPOINIT})

  • CampoInit: Recebe um campo de data inicial.
  • CampoFinal: Recebe um campo de data final.



GDI_DateDiffWd({CAMPOINIT}, {CAMPOFINAL})

Esta função recebe um campo de data inicial e outro de data final, retornando o número de dias úteis(segunda a sexta) entre as datas inicial e final.

  • CampoInit: Recebe um campo de data inicial.
  • CampoFinal: Recebe um campo de data final.



GDI_TruncDate({CAMPO})

Esta função recebe um campo data.

No Oracle esta função é substituída por TRUNC({CAMPO}).

No MsSql esta função é substituída por CAST({CAMPO} AS DATE).

  • Campo: Recebe um campo data.



GDI_TrataDataFinalSemana({CAMPO})

Esta função recebe uma data e verifica se ela cai no final de semana e então avança para a segunda-feira, caso contrário retorna a própria data.

  • Campo: Recebe um campo data.



GDI_DataAtual()

Esta função retorna a data atual.

No Oracle esta função é substituída por TRUNC(SYSDATE).

No MsSql esta função é substituída por CAST(GETDATE() AS DATE).

GDI_ToDate({CAMPO})

Esta função converte um texto em data, utilizando a máscara 'dd/mm/yyyy'.

No Oracle esta função é substituída por TO_DATE({CAMPO}, 'dd/mm/yyyy').

No MsSql esta função é substituída por CONVERT(date, {CAMPO}, 103).

  • Campo: Recebe uma data do tipo texto.



GDI_VarcharToChar({CAMPO}, {TAMANHO})

Esta função converte o campo para char

No Oracle esta função é substituída por CAST({CAMPO} as CHAR({TAMANHO})).

No MsSql esta função é substituída por {CAMPO}.

  • Campo: Recebe um campo varchar.
  • Tamanho: Recebe o tamanho do char.



GDI_CharToVarchar({CAMPO})

Esta função converte o campo para varchar

No Oracle esta função é substituída por NVL(RTRIM({CAMPO}), ' ').

No MsSql esta função é substituída por {CAMPO}.

  • Campo: Recebe um campo char.



GDI_CastBigInt({CAMPO})

Recebe um conteúdo e converte para um valor do tipo BigInt.

  • Campo: Recebe o campo que terá o valor convertido.



GDI_Owner()

Esta função retorna o nome da base de dados juntamente com o owner, caso existam.

Substr({STRING}, {POSIÇÃO INÍCIO} [, TAMANHO]}

Esta função faz o substring tanto para Oracle como para MsSql.

From Dual

No MsSql, estas palavras são removidas da cláusula.

NVL({CAMPO}, {RETORNO})

Esta função recebe um campo o qual será testado se o seu valor é igual a null, sendo igual é retornado o que foi informado no 'retorno'.

No Oracle é aplicado a própria função.

No MsSql esta função é convertida para ISNULL({CAMPO}, {RETORNO}).

  • Campo: Recebe um campo o qual será feito o teste.
  • Retorno: Retorna este valor caso o valor do campo seja null.



||

Concatena valores dos campos ou valores fixos.

No Oracle é mantido esses caracteres.

No MsSql esses caracteres são substituídos pelo sinal de '+'.

TAGS

Caso não exista uma função genérica, é possível utilizar as TAGS para incluir código especifico para cada banco de dados.

As TAGS disponíveis são:

  • <oracle></oracle>
  • <mssql></mssql>
  • <postgre></postgre>
  • <mysql></mysql>

Exemplo

select campo1, <oracle>abc</oracle><mssql>xyz</mssql> from tabela

Quando o select for executado em um banco de dados Oracle, ele será traduzido para:

select campo1, abc from tabela

Quando o select for executado em um banco de dados MsSQL, ele será traduzido para:

select campo1, xyz from tabela