05.22 Funções numéricas

L

Sintaxe: L(formato)

Utiliza o texto produzido por formato como um termo de busca no arquivo invertido e devolve o MFN do primeiro posting (se existir). Antes de uma busca no arquivo invertido, o termo é automaticamente transposto para maiúsculas. Se o termo não for encontrado, o valor de retorno da função é 0 (zero).

LR

Sintaxe1: LR((formato)) – extrai todos os postings produzidos pelo formato OU
Sintaxe2: LR((formato),de,até) – escolhe-se o intervalo de postings desejados.
É uma ampliação da função L, que permite extrair todos os MFN’s do termo.
Exemplos:

REF(LR((v10)),v1,v2)

Recuperará os campos 1 e 2 de todos os registros postados sob o termo contido no campo 10.

É possível limitar os postings a serem recuperados utilizando os parâmetros de e até(opcionais). Por exemplo:

LR((‘FLORA’),1,3) – recupera todos os postings entre o 1º e o 3º.
O número de apontadores é maior ou igual ao número de registros que contêm o termo. Quando não se limita o número de apontadores, pode obter-se uma quantidade de informação muito alta (no caso de termos mais comuns), provocando uma sobrecarga na memória do sistema.

  • Para a extração de dados de bases diferentes usar a ampliação da sintaxe:

LR->NOME DA BASE((formato)) ou LR->NOME DA BASE((formato), de, até)

NPST

Sintaxe: NPST(formato)

Como a função L, a NPST pesquisa o arquivo invertido em busca do termo definido porformato, e retorna o número de postings do termo.

Exemplo:
NPST (v70)

  • Para a extração de dados de bases diferentes usar a ampliação da sintaxe:

NPST->NOME DA BASE(formato)

NOCC

Sintaxe: NOCC(vtag)

Retorna o número de ocorrências do campo tag.

OCC

A função OCC retorna o número da ocorrência atual em um campo repetitivo. Pode ser usado para produzir listas numeradas. Por exemplo, o formato:

(v70/)

produz uma linha para cada ocorrência no campo 70. Usando a função OCC pode-se escrever:

(if p(v70) then f(occ,1,0), '. ' fi,v70 /)  

O resultado é uma lista numerada como a seguinte:

1. Primeiro Autor

2. Segundo Autor

3. Terceiro Autor

SIZE

Sintaxe: size(formato)

Retorna o tamanho da cadeia de caracteres gerada por <formato>. Note que esta função é sensível ao modo utilizado na geração da cadeia de caracteres. Por exemplo, se campo 10 contém 20 caracteres, então size(mpl,v10) retornará o valor 20, porémsize(mdl,v10) devolverá o valor 22 por levar em conta o ponto e o espaço gerados automaticamente em modo de dados.

VAL

Sintaxe: val(formato)

Retorna o valor numérico de formato, sendo que formato pode conter qualquer comando de formatação permitido. Por exemplo:

Formato Valor

VAL(’15.79’)		15.79
VAL(V10)			0
VAL(’água’)		0 

TAG

Esta função deve ser usada em grupos repetitivos e retorna os tags dos campos presentes no registro, ordenados por ordem de criação. Por Exemplo:

(if p(v0) then f(tag,0,0),' ',v0/ fi)/

Obs.: No Winisis, o seletor de campos V0 identifica qualquer campo do registro ativo.

TYPE

Esta função aceita duas sintaxes diferentes:

Sintaxe 1: type(padrão,formato)

Testa se a string produzida por formato corresponde ao padrão fornecido e retorna 1 se a condição é satisfeita, caso contrário retorna 0. Por exemplo:

if type('9999-99-99',v993) < 1 then
   'Campo 993 não esta de acordo com o padrão', 
fi,

Sintaxe 2: type(número,formato)

Testa se a string produzida por formato satisfaz a condição especificada pelo valor denúmero. Este argumento pode ser um número inteiro dentro do limite 1-5, sendo que as condições possíveis são as seguintes:

– a string contém somente caracteres alfabéticos ou numéricos;

– a string contém somente caracteres alfabéticos;

– a string contém somente caracteres numéricos;

– a string é um número inteiro;

– a string é um valor numérico (incluindo valores em notação científica);

A função retorna 1 se a condição é satisfeita, caso contrário retorna 0. Por exemplo:

if type(3,v1) < 1 then
   'Campo 1 deve ser preenchido somente com números', 
fi,

Deixe um comentário