Esta função permite de criar e de modificar as vistas, descrevendo as suas características no dicionário de dados do dossier. Será possível de criar vistas sobre as tabelas de diferentes dossiers.

A validação desta descrição permite então criar a vista na base de dados, ou de modificar as características.

Uma vista é em seguida utilizável em leitura apenas. A programação em volta de uma vista é similar aquela de uma tabela. Ela terá a sua própria classe [F]. As instruções seguintes estão disponíveis para as vistas :

  • (local) File, close (local) File, Filter, For ... Next, Read, Columns, Link

Uma vista está acessível por Crystal Report e pelo editor de fórmula.

A restauração, ou a validação de uma tabela destrói as vistas baseadas sobre esta tabela. Aquando da restauração, as vistas e os "triggers" são re-gerados automaticamente pelo supervisor. Pelo contrário, seguinte à validação forçada de uma tabela, deve-se lançar a validação das vistas do dossier corrente e dos outros dossiers portando sobre esta tabela.

Uma vista permite por exemplo :

  • evitar de abrir explicitamente uma tabela de outro dossier, por exemplo, para os dossiers históricos. Uma vista é criada para cada tabela não historizada ; desta maneira, as funções de consulta assim que as listas de funcionamneto indiferenciamente sobre o dossier principal ou o dossier histórico.
  • de desenvolver as listas acedendo aos dados de vários dossiers
  • de aceder com funcionalidades SQL até então inacessíveis : união, grupo by, funções SQL

Pré-requisitos

SEEREFERTTO Consulte a docuemntação de Implementação

Gestão do ecrã

A definição de uma vista faz-se com a ajuda de 3 separadores : um separador de definição do pedido, o seperador de definição dos campos, e o separador de definição das chaves.

Cabeçalho

Campos

Os seguintes campos estão presentes neste separador :

O código da vista deve ser composto de 1 a 10 caracteres (letras ou caracteres mas começando obrigatoriamente por uma letra). Este é um identificador único para o conjunto das tabelas do dicionário de dados. Uma vista não pode portar o mesmo nome que uma tabela do dicionário, poisque a validação, o supervisor gera os ficheiros *.srf e *.fde. as palavras reservadas de sage são interditas.

  • Abreviatura (campo ABRVUE)

A abreviação da vista deve ser composta de 1 a 3 caracteres (letras ou cifras mas começando obrigatoriamente por uma outra letra). Este identificador pode não ser para o conjunto das abreviações das vistas do dicionário de dados. As palavras reservadas de Sage são interditas.

  • Descr. (campo INTITSAI)

Saisissez la description de la fiche concernée.
Cette information va figurer sur les états et les écrans dans lesquels le code de la fiche peut être saisi ou sélectionné.

  • Activo (campo ENAFLG)

 

Fechar

 

Separador Geral

Apresentação

Este separador permite de escrever o pedido.

O pedido deve ser escrito no mínimo na linguagem da base de dados corrente do dossier. Mas para toda a vista standard entrega, um "script" está entregue para o parâmetro base. É no momento da validação da vista, que o ficheiro *.viw está criado com o script adaptado à base de dados do dossier corrente ; aquele é de criar no directório FIL, sobre o servidor de dados.

Se se pretende indicar no pedido dos campos submetidos submetidos a um código de actividade, do mesmo nome do dossier, é recomendável de utilizar uma fórmula. Com efeito, é preferível de não colocar o dossier em "duro" no pedido, afim de permitir um funcionamento num outro dossier, seguinte a uma cópia desta vista.

Exemplo, código actividade dimensionada de 1 a 3 para o campo LIEN, e a fórmula sobre dossier :

Select CLENUM1_0, CLENUM2_0, LIEN_0
%string$(find(func AFNC.ACTIV("ZZM"),2,3)<>0,", LIEN_1")%
%string$(find(func AFNC.ACTIV("ZZM"),3)<>0,", LIEN_2")%
From %nomap+"."%ZZMB

Para ter de mais amplas preenchidas sobre as regras de registo do pedido, ir sobre a ajuda do campo.

Fechar

 

Campos

Os seguintes campos estão presentes neste separador :

Características

O Código Actividade e o Módulo permitem de saber se a vista descrita no dicionário deve efectivamente ser criada na base de dados do dossier. Ela está se as duas condições em baixo são realizados simultâneamente :

O campo código actividade está vazio, ou bem o código de actividade (definida na vista correspondente) está efectivamente activado.

o módulo ao qual a vista está reafixada foi declarado activo para o dossier.

Uma vista afectada de um código actividade começando por X, Y, ou Z, está reputado ser especificado e não será em nenhum caso afectado por uma alteração de versão (estes códigos de actividade podem ser colocados ao nível das linhas).

  • Acesso não seguro (campo SECURE)

Esta check box a assinalar permite de restringir o acesso à tabela de dados no único dossier proprietário da tabela e a certos dossiers autorizados. Esta noção é idêntica para a vista. Uma modificação deste campo necessita uma revalidação da tabela, para ser tomado em conta na base de dados.

  • não protegido : todos os dossiers da solução poderão aceder à tabela para ler ou escrever os dados desta tabela. É o caso :
    • das tabelas sistema,
    • das tabelas dicionário,
    • de certas tabelas supervisor,
  • protegido : o acesso a esta tabela se faz em função dos direitos do dossier de chamada. Um dossier pode ser:
    • não habilitado,
    • habilitado em leitura,
    • habilitado em leitura de registo. É o caso das tabelas funcionais e da maior parte das tabelas supervisor.

Os dossiers habilitados são :

  • o dossier no qual a tabela está definida (as tabelas sistema estando no dossier de referência da solução : no caso de Sage X3, este dossier chama-se X3).
  • os dossiers pais do dossier,
  • um dossier habilitado (via a função Gestão dos dossiers, separador "Ligações", bloco "Dossiers da solução").
  • os dossiers de outras soluções tendo um acesso por relações (via a mesma função).

SEEINFOA politica de proteção para a tabela sendo considerada como parametrização, esta check box a assinalar não é atualizada por patch. A validação da tabela, o facto de que esta check box provoque a criação de um ficheiro de configuração (de extensão ".cfg") com o código seguinte :

$SECURITY
{  "LEVEL0" }
End

Se outras directivas manuais existem no ficheiro de configuração, elas são respeitadas. Directivas podem ser efetuadas para acrescentar por atualização do bloco "Ficheiro de configuração"no separador correspondentes da Gestão das tabelas)

  • Módulo (campo MODULE)

O Código Actividade e o Módulo permitem de saber se a vista descrita no dicionário deve efectivamente ser criada na base de dados do dossier. Ela está se as duas condições em baixo são realizados simultâneamente :

O campo código actividade está vazio, ou bem o código de actividade (definida na vista correspondente) está efectivamente activado.

o módulo ao qual a vista está reafixada foi declarado activo para o dossier.

Uma vista afectada de um código actividade começando por X, Y, ou Z, está reputado ser especificado e não será em nenhum caso afectado por uma alteração de versão (estes códigos de actividade podem ser colocados ao nível das linhas).

  • Grupo validação (campo GRUCFM)

 

Quadro Tabelas e views utizadas

  • Cód. (campo OBCCOD)

 

 

Oracle

  • campo TEX1

 

Sql Server

  • campo TEX2

 

Fechar

 

Separador Campos

Apresentação

Este separador permite de definir o conjunto dos campos na vista num quadro deslizante. Deve haver inteira contabilidade entre a descrição dos campos no pedido do pedido e neste separador (número, ordem e tipo dos campos). Este controlo é efetuado no momento da validação da vista. Estes campos podem existir no dicionário das tabelas; não é todavia uma obrigação.

Fechar

 

Campos

Os seguintes campos estão presentes neste separador :

Quadro Campos

  • Campos (campo FLDVUE)

Define-se nesta coluna o nome da zona da vista tal que ela será definida no software (um campo de nome NOMCHAMP definido numa abreviação ABV poderá ser acedido pela sintaxe [F:ABV]NOMCHAMP).

Para os campos criados em específico, o nome de zona deve começar por X_, Y_ ou Z_.

Para umcampo dimnesionado (NOMCHAMP_0, NOMCHAMP_1, NOMCHAMP_2…), não se define que uma única zona NOMCHAMP.

Você deve definir aqui o tipo da zona. Os principais tipos são :

A : Alfanumérico
C : Inteiro curto
L : Inteiro longo
DCB : Decimal
D : Data
M : Menu local
MM : Menu local com filtro
ACB : clob
ABB : blob

Outros tipos predefinidos existem. Fazem frequentemente referência a uma tabela anexa (divisa, secção,...) A tecla F12 permite de obter a lista.

Não é possível de utilizar aqui, os tipos de dados relativos aos textos traduzidos : AX1, AX2, AX3.

  • Menu (campo NOLIB)

Define o número de menu local associado ao campo definido sobre a linha

Quando um campo é de tipo menu local, é guardado sob a forma de um valor numérico (de 1 a 255) correspondente à fila de um título numa tabela chamada menu local, guardado na tabela das mensagens APLSTD.

Em registo ou em afixação, vê-se, segundo as escolhas feitas sobre interface :

  • seja um intitulado podendo ser escolhido numa lista deslizante comummente chamada combo box
  • seja uma lista de botões de escolha.

O interesse deste tipo de registo é que a lista das escolhas está apresentada na língua de conexão do utilizador.

Cada número de menu local caracteriza a lista dos intitulados possíveis. Por exemplo, o menu local 1 correspondente à escolha Não / Sim nesta ordem. Neste caso particular, o interface utilizador pode ser assim a check box a assinalar.

  • Comp. (campo LNG)

Permite definir o comprimento de um campo este campo utiliza o tipo de dados genérico cujo comprimento não está fixado. É o caso nomeadamnete para os tipos A e DCB.

Para os blob, como para os clob, falta registar o comprimento que será um comprimento máximo de armazenagem. A codificação é a seguinte :

Comprimento,

Tamanho memória

Carateres máximo

 0

 1020

 510

 1

 2044

 1022

 2

 4092

 2046

 3

 8188

 4094

 n

 1024*(2^n) - 4

 512*(2^n) - 2

Un code activité vous permet de :

  • rendre optionnel un élément du dictionnaire si la valeur associée au code activité est nulle,
  • signer les éléments spécifiques dès lors qu'ils sont marqués par un code commençant par X, Y ou Z,
  • dimensionner un nombre de lignes maximum lorsque le code activité marque des éléments d'un tableau,

Si le code activité est désactivé :

  • l'élément marqué n'est pas utilisable,
  • le code associé n'est pas généré ou activé.
  • Dim (campo DIME)

Dimensão da zona na vista. A dimensão pode igualmente ser afetada em função do código atividade.

  • Descr. (campo FLDINTSAI)

Saisissez la description de la fiche concernée.
Cette information va figurer sur les états et les écrans dans lesquels le code de la fiche peut être saisi ou sélectionné.

  • Opções (campo OPTION)

Ces options sont matérialisées par des caractères qui peuvent se concaténer lorsque plusieurs options sont nécessaires. Il est possible de choisir ces options grâce à une fenêtre de sélection. Une description détaillée de toutes les options possibles est disponible.

Fechar

 

Funções acessíveis por clique direito no quadro

Acresc.

 

Fechar

 

Separador Chaves

Apresentação

Este separador permite de definir o conjunto das chaves disponíveis para uma order by sobre a vista. Atenção , não existe criação de índice para a vista.

Fechar

 

Campos

Os seguintes campos estão presentes neste separador :

Quadro Chaves

  • Nr. (campo NUMLIG)

 

  • Cód. chave (campo CODCLE)

Este campo corresponde ao nome sob o qual a chave está conhecida na ordem Order By. Uma noma está utilizado em todas as vistas de aplicativo : ela consiste a nomear as chaves em utilizando a abreviação da vista, seguido de 0 para a primeira chave, de 1 para a segunda chave, etc...Para o específico, feitas começar se é este código por uma das três letras : X,Y ou Z.

  • Descritor chave (campo DESCLE)

Regista-se aqui a lista dos campos compondo o índice, separado por um "+" se existirem vários campos.
Um campo triado em descenfente está precedido do sinal "-".
O primeiro campo componente um índice está sem sinal e está forçosamente ascendente.

  • Homónimos (campo KEYDUP)

Este campo é por defeito inicializado a Sim. É possível de colocar a Não. Neste caso, uma mensagem de advertência prevê que não deve haver chaves em duplo sobre o índice desta vista. se é o caso, não haverá erro mas um simples anel For não detectará aos homónimos.

É recomendado de deixar a Sim excepto nestes casos muito particulares ou opção Não permite suportar as instruções "Read Next/Prev" sobre as vistas

Un code activité vous permet de :

  • rendre optionnel un élément du dictionnaire si la valeur associée au code activité est nulle,
  • signer les éléments spécifiques dès lors qu'ils sont marqués par un code commençant par X, Y ou Z,
  • dimensionner un nombre de lignes maximum lorsque le code activité marque des éléments d'un tableau,

Si le code activité est désactivé :

  • l'élément marqué n'est pas utilisable,
  • le code associé n'est pas généré ou activé.

Ficheiro de configuração

  • campo FICCFG

Pode-se registar neste bloco um texto descrevendo a configuração técnica de vista na base de dados. Este texto está registado num ficheiro "nome de vista.cfg" no directório FIL da aplicação. Este ficheiro está utilizado pela instrução "valfil". Consultar-se-á o anexo técnico dedicado para mais informações.

Fechar

 

Botões específicos

Criado ou atualizado a vista da base de dados a partir do dicionário, por instrução "create view". Um controlo sintaxico do pedido está efetuado por relação à base de dados do dossier.

Os ficheiros criados no directório FIL são :

  • *.srf : contém a lista dos campos. uma "flag" "#V" é posicionada na linha 3 para distinguir a visualização, das tabelas.
  • *.fde : gerado por valfil -n
  • *.viw : contém a descrição do pedido com o script correspondente à base de dados do dossier.
  • *.cfg : ficheiro de configuração, gerado se o clob associado está preenchido ou se o acesso está feito com segurança.

Os seguintes campos estão presentes na janela aberta por este botão :

Bloco número 1

  • campo OBJET

 

  • campo CLES

 

Bloco número 2

  • A partir do dossier (campo DOSORG)

Use this field to define the folder from which the record will be copied. The possible syntaxes are described in the Dedicated appendix.

  • Todos dossiers (campo TOUDOS)

Use this option to copy the record to all the folders defined in the dictionary (ADOSSIER table of the current solution).

  • Para o dossier (campo DOSDES)

Use this field to define the folder to which the record will be copied. The possible syntaxes are described in the Dedicated appendix.

Fechar

Permite recopiar a estrutura da visualização versus um outro dossier Atenção, apenas a descrição da visualização no dicionário é recopiada : A vista não é criada no dossier destinatário (será necessário validar esta descrição para que a vista seja criada).

Barra de menu

Opção / Fonte .srf

Isso permite visualizar o ficheiro *.srf correspondente na tabela corrente na aplicação corrente.
Esta opção está nomeadamente interessante quando se está sobre um servidor sobre o qual não tem os direitos sobre o directório FIL.

Opção / Fonte .viw

Isso permite visualizar o ficheiro "*.viw" correspondente na tabela corrente na aplicação corrente.
Esta opção está nomeadamente interessante quando se está sobre um servidor sobre o qual não tem os direitos sobre o directório FIL.

Mensagens de erro

Para além das mensagens genéricas, as seguintes mensagens de erro podem aparecer durante o reg. :

Existe já uma tabela com o mesmo nome

Não se pode criar uma visualização cujo nome já foi dado por uma tabela. Com efeito, é necessário uma unicidade toda a tabela e visualização porque o sistema cria um ficheiro *.srf e *.fde.

Tamanho do ficheiro muito grande

Tamanho limitado sobre o ficheiro de configuração.

Tipo de dado não gerido

não se pode criar uma visualização com um campo de tipo AXX (texto traduzível)

Comprimento incorrecto

O comprimento está incorreto em função do tipo interno do campo.

  • literal : comprimento deve ser <= 30
  • inteiro curto : comprimento deve ser <= 4
  • inteiro longo : comprimento deve ser <= 8
  • decimal : parte inteira + parte decimal <= 32
  • alfanumérico : comprimento deve ser <= 250
  • blob, clob : comprimento deve ser <= 20


Opção incorreta

tentou-se de registar uma opção que não existe.

Opção incompatível com o formato x (Tipo de dado y)

Quando se regista um formato sobre um tipo de dados alfa, não é necessário utilizar as opções A e #.

Abreviação já existente ...

mensagem de advertência, quando se tenta de registar uma abreviação sobre uma visualização que está já existente para uma outra visualização ou uma tabela. É efetivamente recomendado de ter abreviações únicas.

Observações

Uma vista está criada na base de dados do dossier onde está instalado no momento da sua validação. Todas as funções X3 utilizadas numa tal vista (pela sintaxe %formule%) são avaliados no momento de validação da vista e transmitida na base como constantes.

Na criaação de um dossier onde a sua validação, a operação que vai validar as vistas está desencadeada depois o dossier X3 que é diferente daquele onde a vista está instalada. Falta então tomar as precauções seguintes :

  • nas fórmulas, evitar de utilizar as funções (sintaxe func) para calcular as constantes que serão em seguida inseridos na criação da vista, a menos de ser absolutamente certo que a função em questão está disponível em todos os dossiers (compreendendo o dossier X3) e a torna ao mesmo valor.
  • previligiar a declaração de tabelas ou de vista sem indicar no qual dossier ela se encontra (e nomedamente sem nomap ou adxmother cuja definição pode variar em função do dossier.

SEEWARNING Se estas precauções não podem ser evitadas, falta absolutamente pensar a revalidar manualmente as vistas que coloquem problema no dossier ele mesmo após as operações de validação de dossier.

Tabelas consideradas

SEEREFERTTO Consulte a docuemntação de Implementação