Tipo Objeto
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.
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.
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