Na gestão dos transportadores, o separador permite registar a grelha tarifária de cada região. Este grelha tarifária está composta de dois campos "despesas fixas" e "+ por tranche".
Este ponto de entrada situado no tratamento SUBBPT permite acrescentar um campo em específico a esta grelha que será registada na máscara BPT3 e guardada na tabela CARPRICE.
No desenrolamento da acção CREATION, existe uma transacção em curso. A variável GOK está utilizada e testada. Ela é igual a 1. Ela pode ser posicionada a 0 se se deseja abandonar a transacção.
Não existe ficheiro rasto aberto.
Este ponto de entrada deve ser chamado nos dois contextos :
- na acção LIENS, no momento de carregamento da máscara BPT3 a partir da tabela CARPRICE
- na acção CREATION, para escrever a tabela CARPRICE a partir da máscara BPT3
A variável PE_CARPRIFLD permite conhecer a origem de chmada do ponto de entrada.
Se PE_CARPRIFLD="LECTAR" , está-se na acção LIENS
Se PE_CARPRIFLD="CRETAR", está-se a acção CREATION
É imperativo de não modificar o valor das variáveis : RGARE, I, J
A gestão da máscara BPT3 é particular a causa do armazenamento em invisível da grelha tarifária completa de uma região (quadro da direita) na linha da região (quadro de esquerda).
Os códigos actividades tendo uma influência são os seguintes:
- BPW : número de garfos de pesos nas grelhas de tarifas (50 máximo)
- BPY : número de regiões por transportador (100 máximo)
Registo e armazenamento na máscara BPT3 :
Para uma região, cada linha tarifária foi registado nas variáveis TARPRI e TARADL (quadro NBTAR) e está guardada nas variáveis PRI1 à PRI51 e ADL1 à ADL51 (quadro NBARE) em função do nº de linha do quadro de registo.
Exemplo : para a linha 20 do quadro da grelha tarifária
TARPRI(19) está guardada em PRI20 (campo invisível do quadro NBARE das regiões)
TARADL(19) está guardado em ADL20 (campo invisível do quadro NBARE das regiões)
Estrutura da tabela CARPRICE
Cada registo da tabela contém uma linha tarifária de uma região.
A chave está constituida :
Transportador (BPTNUM) + Região (BPTARE) + Rang (RANG: nº linha do quadro de registo)
Por preocupação de claridade, é aconselhável de gerar este novo campo exactamente na mesma maneira que os dois campos standards.
Exemplo de acréscimo de um novo campo :
Seja o campo decimal AAA acrescentado na tabela CARPRICE.
Falta criar o campo TARAAA no quadro NBTAR e os campos AAA1 a AAA51 em invisível no quadro NBARE.
NOTA: Numa máscara, o númeor de referências campo está limitado a 500. Cada novo campo definido impede a criação de 52 referências na máscara. Falta neste caso limitar o número de linhas tarifárias (por exemplo BPW=30) e não criar que AAA1 a AAA31 etc ...
No ponto de entrada:
$ACTION
Check box ACTION
When "CARPRIFLD" : Gosub CARPRIFLD
Endcase
Return
$CARPRIFLD
If PE_CARPRIFLD="LECTAR"
If evalue("dim([M:BPT3]AAA"+num$([F:CAP]RANG+")")>0
Assign "[M:BPT3]AAA"+num$([F:CAP]RANG)+"("+num$(RGARE-1)+")" With [F:CAP]AAA
Endif
Endif
If PE_CARPRIFLD="CRETAR"
[F:CAP]AAA = evalue ("[M:BPT3]AAA"+num$(J+1)+"("+num$(I)+")")
Endif
Return
Lista das variáveis, signidificação, lista das classes de máscaras abertas, elementos que podem ser modificados... Um quadro deste tipo pode ser fornecido :
Variável ou máscara | Definição |
BPT0 [BPT0] | Transportadores, |
BPRBPT [BPRT] | Identidades |
BPABPT [BPAT] | Endereços |
BPT1 [BPT1] | Gestão |
BPT2 [BPT2] | Regiões |
BPT3 [BPT3] | Tarifas |
BIDBPT [BIDT] | Rib (s) |
CNTBPT [CNTT] | Contactos |
|
|
| Não modificar o valor das variáveis |
Char PE_CARPRIFLD | Origem da chmada do ponto de entrada. |
Inteiro RGARE | Indice |
Integer I | Indice |
Inteiro J | Indice |
|
|