Esta função permite de definir uma base de parâmetrios utilizados pelo software. Cada parâmetro é identificado pelo seu nome; é reafixado a um módulo funcional e no seio de cada módulo está classificado por grupo. Não dispõe de características como o tipo, o nível de definição, valores possíveis. Temos a possibilidade de lhe associar uma variável global; isso permite ao supervisor de alimentar esta variável global pelo valor do parâmetro, no momento da conexão ao dossier, ou no momento de uma alteração utilizador.

No caso de um carregamento de contexto (sociedade, estabelecimento) ou quando uma variável não foi associada ao parâmetro, o valor de um parâmetro pode ser lido não importa qual programa por um ou outro dos contextos seguintes:

Call PARAM(SITE,PARAM,VALEUR) From ADOVAL

Call PARAMUTIL(PARAM,VALEUR,USER,"") From SUBAUS

É importante de referir que o sub programa correspondente utiliza um tipo de dados que é sempre de tipo cadeia de caracteres ; quando o parâmetro de origem é de tipo data ou numérico, é necessário pensar a transcodificar se necessário o valor reenviado. Quando se trata de uma data, uma simples afectação chega : o motor sage gera com efeito a afectação de uma variável de tipo data por um valor de tipo cadeia de caracteres. No caso numérico, é necesário escrever VALNUM=val(VALEUR)

Pré-requisitos

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

Gestão do ecrã

Ecrã de registo

Apresentação

O registo dos parâmetros faz-se sobre um separador, a janela de selecção sendo uma janela com chaves arborescentes sobre 3 partes (o capítulo, o grupo, mais o código do parâmetro).

É possível de reacrescentar de novo parâmetros no quadro de desenvolvimentos específicos. Atenção, para conservar estes parâmetros em caso de evolução de versão ou de revalidação de dossier, é essêncial de os proteger por um código actividade específico (començando por X, Y, ou Z). Para evitar conflitos com eventuais parâmetros acrescentados, é necessário de utilizar a regra de nomeação habitual (fazer começar os nomes destes parâmetros por X,Y, ou Z).

Temos a possibilidade de acrescentar estes parâmetros específicos nos capítulos standard existentes ou bem num capítulo específico que se pretendeu criar anteriormente O acréscimo de um capítulo específico faz-se pelo acréscimo de um código começando por X, Y, ou Z na tabela diversa 901.

Os diferentes parãmetros existentes para todos os módulos "funcionais" são explicitados nos capítulos Pré-requisitos das documentações das funções que as utilizam. Cada parâmetro tem a sua ficha descritiva chamada da definição do parâmetro ou o registo do valor do parâmetro.

Fechar

 

Campos

Os seguintes campos estão presentes neste separador :

Bloco número 1

Le chapitre, défini dans la table diverse numéro 901, identifie le domaine fonctionnel auquel le paramètre est rattaché.

  • Parâmetro (campo PARAM)

Um parâmetro está caracterizado por :

  • Um capítulo (tabela diversa nº 901)
  • Um código (10 alfanuméricos)
  • Descr. (campo NAME)

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é.

Bloco número 2

Le code groupe, défini par la table diverse numéro 903, permet de regrouper entre eux des paramètres d'un même chapitre, afin de les organiser et de faciliter leur paramétrage. En effet, on a la possibilité de définir des jeux de valeurs par groupe de paramètres.

Características

  • Nível definição (campo NIVDEF)

O nível de definição permite caracterizar o nível de detalhe o mais fino possível para associar um valor a cada parâmetro. Se, num contexto dado, não existe valor ao nível definido, remonta-se sucessivamnete aos níveis superiores até encontrar um valor. Pode-se assim sempre possível de definir um valor por defeito aos níveis superiores do nível o mais baixo de definição, afim de não gerar que casos particulares ao nível mais baixo.

Os níveis de definição possíveis, definidos pelo menu local 987, são, na ordem descendente :

  • dossier : um único valor global está então definido para todo o dossier.
  • Legislação :um valor está definido pela legislação. Isto supõe que, no contexto de utilização do parâmetro, uma legislação corrente possa ser definida (ela está na prática pelo atalho da sociedade corrente no contexto de utilização).
  • Sociedade : um valor está definido pela sociedade. Isto supõe que, no contexto de utilização do parâmetro, uma sociedade corrente possa ser definida.
  • Estabelecimento : um valor está definido por estabelecimento. Isto supõe que, no contexto de utilização do parâmetro, um estabelecimento possa ser definido.
  • Utilizador : um valor para cada utilizador (e definido ao momento da conexão, sabendo que se ela não existe, pesquisa-se o valor associado ao estabelecimento por defeito do utilizador para o módulo ao qual o parâmetro está reafixado)
  • Tipo valor (campo TYPVAL)

Define-se aqui o tipo interno do valor e o número de menu local se existe lugar.

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é.
  • Nr.menu local (campo NOLIB)

Define-se aqui o tipo interno do valor e o número de menu local se existe lugar.

Um parâmetro pode ser a chave de uma ficha gerada por um objecto (por exemplo, um código país, um código cliente, um contador, uma família artigo, um utilizador, etc...). Se é o caso, da-se aqui o código do objecto ; isto permite de dispor automaticamente de todos os controlos associados no momento do registo do parâmetro.

Por outro lado, pode-se indicar o parâmetro a passar à gestão do objecto, quando este gera uma tabela com uma chave de dois componentes. O parâmetro CCEDSP1 "Secção eixo 1 para repartição" utiliza este campo para indicar o número do eixo analítico.

Mais, pode-se precisar de uma ou várias opções de seleção para filtrar os valores possíveis para o parâmetro. Estas opções são definidas no objeto, no separador "seleção". O parâmetro CPTRES utiliza a opção de filtro sobre o objeto das contas para não autorizar que as contas gerais.

  • Parâmetro (campo PAROBJ)

 

  • Opções de selecção (campo SELOPT)

 

  • Tratamen. de controlo (campo TRAIT)

A rubrica tratamento permite de definir o nome de um tratamento que será chamado para fazer os controlos complementares de validade no registo dos parâmetros. Se este tratamento está definido, deve então existir um sub-programa definido como se segue no tratamento :

Subprog VERF_PARAM(PARAM,VALEUR,OK)
Value Char PARAM     # Nome do parâmetro em curso de registo
Value Char VALEUR    # Valor registo a controlar
Variable Integer OK    # 1 se controlo satisfeito, 0 se registo incorrecto
                                 # Se OK=0, prencher a variável GMESSAGE com a mensagem de erro

End

Um exemplo de utilização está dado para as variáveis de tipo contadores de documentos. Quando não se pretende que eles apareçam um comprimento de 15 caracteres, pode-se fazer apelo ao tratamento SUBANM.

Por razões de facilidade de utilização, pode ser útil de estocar o valor do parâmetro numa variável global. Para razões de normalização, o nome desta variável começa pela letra "G" para o standard, por uma das letras "X", "Y" ou "Z" para o específico. Esta variável pertence à classe [V].

O facto de dar o nome de uma variável provoca a geração automática de um tratamento de declaração :

  • WWAGLOBVAR para parâmetro dossier, sociedade, estabelecimento ou legislação
  • WWAGLOBUSR para parâmetro utilizador

Assim, quando se conecta ao dossier, a variável global está alimnetada pelo valor do parâmetro.

Se a variável está definida a um nível inferior (estabelecimento, sociedade, legislação), ela é susceptível de alterar de valor desde logo que o estabelecimento ou a legislação altera ; é neste caso da responsabilidade do programador de reler os valores dos parâmetros e de modificar os valores das variáveis correspondentes. Dispõe para este facto de um sub-programa para cada módulo, que pode ser chamado por :

           Call GLOBVAR(SITE) From WWGLOBXXX

Em criação de parâmetro, no caso onde a variável não está ainda criada no dicionário idóneo, o supervisor propõe da criar.

Em actualização de parâmetro, a variável não foi modificável. No entanto, a possibilidade de intervir sobre este campo depois o dicionário das variáveis, com a possibilidade :

  • de efectuar uma variável ao parâmetro, em afectando o código parâmetro, na ficha variável global.
  • de efectuar uma variável associada ao parâmetro, em suprimindo o código parâmetro, na ficha variável global.

Observação : a supressão de uma variável global associada a um parâmetro é possível. Neste caso, o parâmetro não está mais ligada a uma variável global.

  • de efectuar uma variável ao parâmetro, em afectando o código parâmetro, na ficha variável global.

Quadro Lista dos valores

  • Valores (campo VALUES)

É possível definir uma lista os valores possiveis que serão propostos no momento do registo do parâmetro com a ajuda da função de seleção, acessível a partir do clique direito do rato.

Propried.

  • Modificável (campo MODIF)

Permet de définir si une valeur peut être modifiée manuellement par l’utilisateur par la fonction Valeurs paramètres. Si ce n'est pas le cas, seul un programme est en mesure de le modifier ; par exemple, le paramètre TYPDBA, qui définit la base de données utilisée, n’est qu’un reflet de ce qui a été défini lors de la création ou de la mise à jour d’un dossier : il ne peut donc pas être modifié manuellement.

  • Fora de valor (campo VALFLG)

Lorsque la case à cocher Hors valeur est sélectionnée, vous pouvez saisir des valeurs hors de la liste indiquée au-dessus (à considérer comme un ensemble "conseillé de valeurs"). Lorsque la case est désactivée, une sélection stricte s'impose.

  • Modif. Utilizador (campo AUSMODIF)

Cet indicateur, modifiable uniquement si la variable a été définie au niveau Utilisateur, permet de savoir si un utilisateur peut modifier lui-même la valeur (via la fonction de gestion des choixpersonnels), ou si un utilisateur autre que l’administrateur général peut modifier ce paramètre en gestion des utilisateurs.

  • Valor por defeito dossier (campo VALDEF)

Este indicador, modificável unicamente se a variável foi definida ao nível Utilizador, permite de saber se uma herança está autorizada depois um nível superior, ou se não impõe que o valor não possa ser registado que ao nível utilizador (neste caso, estão não-preenchidas na ficha utilizador será interpretada como uma ausência de valor).

Ce code d'accès permet d'interdire l'accès à la fiche courante pour certains utilisateurs.

Si le champ est alimenté, seuls les utilisateurs qui ont des droits de lecture sur ce code d'accès peuvent visualiser l'enregistrement ; et seuls les utilisateurs avec des droits d'écriture peuvent le modifier.

Condição

  • Condição modificação (campo CNDMOD)

Permite de registar uma fórmula que é avaliada no momento do registo dos valores dos parâmetros.
Se o resultado da fórmula é nulo, o parâmetrro não pode ser modificado.

Encontra-se em anexo a definição das variáveis disponíveis, assim que os exemplos de parametrização.

Fechar

 

Botões específicos

Este botão permite de completar e compilar 2 tratamentos : AGLOBVAR e AGLOB+capítulo

Este botão permite copiar a definição do código actividade versus um outro dossier. Atenção, não há cópia do código actividade relacionado.

Barra de menu

Documentação / Parágrafos

Esta função permite aceder à gestão da documentação, sobre o primeiro parágrafo da documentação (se ela existe) associada à ficha corrente.

Documentação / Ligações

Esta função permite aceder à gestão das ligações. Ela permite definir as relações entre a ficha corrente e de outras fichas (por exemplo das ligações entre funções e parâmetros). Estas ligações, puramente documentários, permitindo alimentar o mecanismo de geração dos esqueletos de documentação.

Documentação / Geração

Apresentação

Este menu permite lançar uma geração de documentação. A geração pode-se lançar igualmente a partir do botão [Génération] em baixo da janela.

Três tipo de geração podem ser lançadas, separadamte ou simultaneamente :

  • a geração do esqueleto de documentação a partir do dicionário (tabelas ADOCUMENT, ADOCBLB, ADOCCLB).
  • a geração da documentação a partir das tabels precedentes.
  • a geração da documentação sobre campo.

Os limites propostos por defeito têm em conta da ficha em curso, mas elas podem ser modificados ao lançamento.

Fechar

 

Campos

Os seguintes campos estão presentes neste separador :

Selecções

  • Todas as línguas existentes (campo ALLLAN)

Se esta check box está assinalada, todas as línguas são tomadas em conta pela operação.

Se a check box não foi assinalada, tomar-se-á segundo o caso :

  • A língua por defeito do utilizador, se nenhum código língua não foi registado.
  • A língua registada por outro lado senão.

Permite de definir a língua de geração (quando a check box permitindo de gerar em todas as línguas não foi assinalada).

  • Todos os tipos (campo ALLTYP)

Se esta check box está assinalada, todos os tipos de documentação são tomados em conta para a geração. Deve-se referir que, neste caso, limita-se a geração às documentações standard (apenas as documentações de código inferior a X são tomados em conta).

Permite definir o tipo de documentação a tomar em conta no tratamento (quando não se assinalou a check box para os tomar todos em conta).

  • Desde códigos documentos (campo FUNDEB)

Permite de dar um limite sobre os códigos a ter em conta para a geração de documentação.

  • Cód. documentação fim (campo FUNFIN)

 

Geração ADOCUMENT

  • campo GENDOC

Este botão redondo permite criar/atualizar a parametrização da documentação (hierarquia dos parágrafos) a partir dos elementos técnicos encontrados no dicionário dos dados. Pode-se escolher de retomar unicamente as documentações existentes ou criar novas documentações se necessário

As relações de documentação são igualmente tomados em conta. Os parágrafos susceptíveis de serem criados são definidos no anexo técnico correspondante.

  • Para todos os grupos (campo ALLCREGRP)

Este campo permite escolher entre :

  • Tratar todas as documentações ou ajudas sobre campo indeferentemente do grupo de pertença de utilizador.
  • Tratar unicamente as documentações ou ajudas sobre campos cujo grupo de utilizador é equivalente ao grupo criador da documentação encontrada na tabela AOBJGRPDEV

Geração documento final

  • campo GENFIN

Este botão redondo permite gerar a documentação final a partir do conteúdo dos parágrafos de documentação. Esta documentação foi criada em diferentes sub-directórios do directório definido pelo parâmetro utilizador DIRDOC.

A geração "Completa" trata o conjunto das documentações não tendo código de atividade mas também aquelas tendo os códigos atividades standards (código atividade < "X")

Falta utilizar a geração "segundo o código atividade" para obter a geração das documentações das funções tendo os códigos atividades ativos (quer sejam standards ou específicos).

  • Somente as documentações validadas (campo HLPVLD)

Permite gerar o documento final unicamente para as documentações válidas.

  • Ajudas sobre campos ligados às documentações (campo HLPLNKFLD)

Si cette case est cochée, sont traitées spécifiquement les aides sur champs relatives aux documentations sur fonction ou objet traitées par ailleurs. Pour savoir quelles sont les aides sur champ à traiter, explorez les écrans associés aux paragraphes de documentation correspondants.

  • Outras ajudas sobre campos (campo HLPFLD)

Se esta check box assinalada, cria-se a documentação final a partir do conteúdo dos parágrafos de documentação. Esta documentação foi criada em diferentes sub-directórios FLD do directório definido pelo parâmetro utilizador DIRDOC.

  • Códigos ajuda campos inicio (campo HLPDEB)

Permite de dar um limite sobre os códigos a ter em conta para a geração de documentação.

  • Cód. ajuda campos fim (campo HLPFIN)

 

  • Directorio de geração (campo REPERT)

 

Fechar

 

Mensagens de erro

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

Parâmetro já existente

Tentou-se criar um parâmetro que existe já sob o mensmo nome num outro capítulo.

A variável deve começar por G

As variáveis globais são normalizadas e devem começar pela letra G.

Variável já existente

A variável global está já inicializada por um outro parâmetro.

Valor incorrecto

Um valor incompatível com o tipo de dados já registados no quadro o valor dos valores.

Tratamento inexistente

Registou-se o nome de um tratamento de controlo inexistente.

Tabelas consideradas

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

Anexo técnico : fórmulas utilizáveis para fechar o registo

A fórmula registada no campo permitem controlar a modificação está particularmente importante quando se deseja fechar os valores de parêmetros a um nível dado, mesmo se por outro lado este parâmetro poderá ser modificado.

Esta condição está nomeadamente interessante para certas legislações que impõem as restrições aos parâmetros possíveis.

Neste estado, dispõe-se nomeadamnte das variáveis seguintes:

  • LEG é a legislação corrente. Este valor está vazio se se regista um valor de parâmetro ao nível geral; em todos os casos, ela está determinada (seja porque se regista o parâmetro ao nível da legislação, seja porque se definiu ao nível sociedade (uma sociedade está anexado a uma legislação), ou estabelecimento (um estabelecimento anexado a uma sociedade que está anexada a uma legislação), utilizador (anexado por defeito pelo modo correspondente)).
  • SOC é a sociedade corrente. Este valor está vazio se se regista um valor de parâmetro ao nível geral ou ao nível legislação, senão ela está preenchida segundo o mesmo princípio que precedentemente
  • SIT é o estabelecimento corrente. Este valor está vazio se se regista um valor de parâmetro ao nível geral, legislação ou sociedade, senão ela está preenchida segundo o mesmo princípio que precedentemente.
  • USR é o utilizador para o qual se regista as habilitações (a não confundir com GUSER, que é o utilizador corrente - aquele que regista estas habilitações).

Dispõe-se por outro lado da variável GNBLEG, que dá o número de legislações activas sobre o dossier. Estas legislações activas são dados pelo quadro GDOSLEG (indices variando de 1 a GNBLEG).

Tomemos alguns exemplos de condições que permitem melhor compreender como fechar o registo dos parâmetros :

Se se deseja levar ao valor de registo de um valor parâmetro, qualquer que seja o nível de definição, se a legislação alemã foi utilizada no dossier, a fórmula será :
find("GER",GDOSLEG(1..GNBLEG))=0
Com efeito, se encontramos "GER" no quadro das legislações, a função find reenviará um valor não nulo; a condição será falsa, e o registo não será possível.

Se se deseja que, para as legislações italianas e espanholas, um parâmetro normalmente definido ao nível de cada estabelecimento não possa ter valores diferentes por estabelecimento, utilzar-se-á a fórmula seguinte :
find(LEG,"ITA","SPA")=0 or SIT=""
Se LEG está definido e vale "ITA" ou "SPA", a primeira parte da condição é falsa; é então necessário que SIT seja vazia (i.e que se seja ao nível sociedade ou acima) para que o parâmetro possa ser modificado.

Se se deseja que um parâmetro definido ao nível dos utilizadores não pode ser modificado que um nível geral, ou pelo administrador, utilizar-se-á da fórmula seguinte :
LEG="" ouUSR=GSUPER
Se LEG está vazio,estamos ao nível geral; se USR está definido e vale GSUPER (o superutilizador) regista-se o valor de administrador geral; nos dois casos, a fórmula está em verdade, e o parâmetro pode ser registado.

Se um único administrador está habilitado a modificar um valor utilizador, utilizar-se-á a fórmula seguinte :
GUSER=GSUPER