Histórico da Página
Índice
Índice | ||||||||
---|---|---|---|---|---|---|---|---|
|
Plataforma
Produto: fluigBanco de Dados: Oracle TOTVS Fluig Plataforma
Ocorrência
Percebemos que caso a grafia , se na declaração dos campos de um dataset o , a grafia do nome dos campos esteja está em minúsculo, quando consumido o dataset na o dataset é consumido normalmente na web ou no mobile online a grafia dos campos precisa ser minusculo e no consumo . Porém, quando consumindo no mobile jornalizado (offline) temos que usar o nome dos campos em maiúsculo para que a consulta não retorne 'null'.
Neste cenário, o que podemos fazer para sempre retornar os valores corretos?
Solução
Esse comportamento ocorre em virtude da criação das tabelas no banco de dados Oracle, que por padrão utiliza as colunas com nomes todo em maiúsculo. Em alguns pontos do desenvolvimento sobre a plataforma é possível que as colunas sejam acessadas somente usando a definição do nome da mesma no banco de dados, ou seja, todo em maiúsculo.
Para evitar esta situação é sugerido que a definição das colunas seja sempre em maiúsculo, assim indiferente de onde realizemos a consulta, estará sempre respeitando o “padrão“.
...
Veja os exemplos abaixo:
Note que
...
Forma de definição dos campos não recomendada, em minúsculonesta forma de definição, os campos estão em minúsculo portanto, não recomendada:
Bloco de código | ||||
---|---|---|---|---|
| ||||
function defineStructure() { addColumn("cod_cliente"); addColumn("nom_cliente"); setKey(["cod_cliente"]); } |
Recomendação de Recomendamos a definição das colunas de forma padronizada, com caracteres em MAIÚSCULO, veja:
Bloco de código | ||||
---|---|---|---|---|
| ||||
function defineStructure() { addColumn("COD_CLIENTE"); addColumn("NOM_CLIENTE"); setKey([ "COD_CLIENTE" ]); } |
Indiferente da funcionalidade usada, o acesso a coluna será sempre da mesma forma e, por esse motivo, é importante que a definição e a consulta estejam padronizadas.
Confira abaixo o exemplo de acesso Acesso a coluna via desenvolvimento sobre a plataforma, que funcionará tanto no mobile quanto na web quanto no mobile, online e offline:
Bloco de código | ||||
---|---|---|---|---|
| ||||
var dataset = DatasetFactory.getDataset('dataset', new Array(), new Array(), new Array()); var dados = dataset.values; for ( var i in dados ) { var dado= dados[i]; var codigo = dado["COD_CLIENTE"]; var nome = dado["NOM_CLIENTE"]; } | ||||
Nota | ||||
A definição e a consulta estão padronizadas. O acesso a coluna será sempre da mesma forma, indiferente da funcionalidade usada. |