Ponto entrada > Módulo Tronco comum > Tratamento standard SUBBPT 

CARPRIFLD : Acréscimo de campos específicos na grelha tarifária transportadores

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.

Contexto e modo de funcionamento.

Transação

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.

Ficheiro rasto

Não existe ficheiro rasto aberto.

Diferentes casos de chamada

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

Variáveis e máscaras disponíveis

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