Árvore de páginas

Documento de BO

Produto:

Datasul

Ocorrência:

Documentação de BO

Nome Físicodibo/bodi317pd.p

 

RecordSet

 

No caso dessa BO é utilizada a tabela wt-docto, mas não poderão ser utilizados os métodos padrões para navegação e geração de informações padrões para essa tabela. Para isso, existe a BODI317, que é a BO principal dessa tabela. Mesmo assim, será demonstrado abaixo a definição das tabelas anteriormente citadas com a devida descrição de cada campo.

Exemplos

 

Exemplos de utilização das BO´s de calculo de notas podem ser encontrados no arquivo BODI317IN.DOC.

 

Súmário dos Métodos

setaHandlesBOS. 3

devolveErrosBodi317pd. 3

emptyRowErrorsBodi317pd. 3

inicializaAcompanhamento. 3

finalizaAcompanhamento. 4

localizaWtDocto. 4

localizaWtItDocto. 4

recalculaPedidoDaNota. 5

calculaPedidoVenda. 5

 

Métodos Básicos

 

Métodos básicos de disponibilização de registros e inicialização das informações para BO.



Método 1:

setaHandlesBOS

 

Descrição: 

Recebe os handles das BOS relacionadas para o cálculo de notas fiscais, conforme lista de parâmetros abaixo. Desta forma, sempre que for utilizada essa BO, deverão ser executados quatro BOS, passando os handles dessas BOS para a BODI317SD, pois essa BO utiliza métodos dessas outras BOS. Todas as BOS deverão ser executadas de forma persistente.

 

Requisitos: 

Nenhum

 

Parâmetros:

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-h-bodi317pr

Hand

 

X

 

 

Handle da BODI317PR.P

p-h-bodi317sd

Hand

 

X

 

 

Handle da BODI317SD.P

p-h-bodi317im1br

Hand

 

X

 

 

Handle da BODI317IM1BR.P

p-h-bodi317va

Hand

 

X

 

 

Handle da BODI317VA.P

 

 

Método 2:

devolveErrosBodi317pd

 

Descrição: 

Devolve os erros ou advertências que ocorreram durante a execução de algum método dessas BO. Importante lembrar que para essa BO não deverá ser utilizado o método padrão de retorno da tabela temporária RowErrors, pois ela foi desenvolvida numa nomenclatura para diferente, visando principalmente melhoria de performance.

 

Requisitos: 

Nenhum

 

Parâmetros:

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-c-ultimo-metodo-exec

Char

 

 

X

 

Último método executado

RowErrors

Table

 

 

X

 

Temp-table de erros RowErrors

 

 

Método 3:

emptyRowErrorsBodi317pd

 

Descrição:

Elimina os registros da tabela temporária RowErrors que ocorreram nessa BO.

 

Requisitos:

Nenhum

 

Parâmetros:

Nenhum

 


Método 4:

inicializaAcompanhamento

 

Descrição:

Esse método serve para que a BO mostre uma tela de acompanhamento executada a cada intervalo de 1 segundo, demonstrando em que etapa está sendo processado o programa. Esse método não degrada a performance do programa.

 

Requisitos:

Sempre que for utilizado esse método, não esquecer de executar o método finalizaAcompanhamento antes de finalizar a BO.

 

Parâmetros:

Nenhum

 


Método 5:

finalizaAcompanhamento

 

Descrição:

Esse método serve para finalizar a tela de acompanhamento que é executada a cada intervalo de 1 segundo, onde é demonstrando em que etapa está sendo processado o programa.

 

Requisitos:

Para utilizar esse método, deverá antes ter sido utilizado o método inicializaAcompanhamento.

 

Parâmetros:

Nenhum

 

 

Método 6:

localizaWtDocto

 

Descrição:

Localiza e disponibiliza o registro da tabela WT-DOCTO para a BO, através da chave principal e única. Esse método deverá ser utilizado quando existir algum método cujo requisito é disponibilizar o registro WT-DOCTO antes de utilizar esse outro método.


Requisitos: 

Nenhum

 

Parâmetros:

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-i-seq-wt-docto

Int

 

X

 

 

Seqüência do documento

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

 

 

Método 7:

localizaWtItDocto

 

Descrição: 

Localiza e disponibiliza o registro da tabela WT-IT-DOCTO para a BO, através da chave principal e única. Esse método deverá ser utilizado quando existir algum método cujo requisito é disponibilizar o registro WT-IT-DOCTO antes de utilizar esse outro método.


Requisitos: 

Nenhum

 

Parâmetros:

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-i-seq-wt-docto

Int

 

X

 

 

Seqüência do documento

p-i-seq-wt-it-docto

Int

 

X

 

 

Seqüência do item do documento

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

 

Processamento de Informações de Pedidos

 


Processamento e cálculo das informações dos pedidos de venda.

 


Método 8:

recalculaPedidoDaNota

 

Descrição: 

Recalcula um pedido de venda que tenha sido atendido por um nota fiscal, para acertar a quantidade atendida do pedido de venda e os valores em aberto do pedido de venda.


Requisitos:

  1. Ter executado o método setaHandlesBOS, para setar as quatro BOs.


Parâmetros:

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-i-seq-wt-docto

Int

 

X

 

 

Seqüência do documento

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

 

 

Método 9:

calculaPedidoVenda

 

Descrição:

Efetua o cálculo dos valores de um pedido de venda, onde existe a possibilidade de calcular somente os valores em aberto ou poder calcular todos os valores de preços e mercadorias do pedido de venda passado para o método.

 

Requisitos:

  1. Ter executado o método setaHandlesBOS, para setar as quatro BOs.

Parâmetros:

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-rw-ped-venda

Row

 

X

 

 

Rowid do pedido de venda a ser recalculado

p-l-somente-vl-aberto

Log

 

X

 

 

Indica se irá apenas calcular o valor em aberto do pedido ou todos as valores do pedido.

Valores possíveis:

Yes - Cálculo somento os valores em aberto

No - Cálculo todos os valores do pedido

tt-ped-item

Table

 

X

 

 

Temp-table com se seguinte definição:

def temp-table tt-ped-item no-undo

    field rw-ped-item as rowid.

Essa temp-table apenas contém o rowid dos registros ped-item que deverão ser realculado. Desta forma, caso se deseje apenas calcular alguns itens do pedido, preencher essa temp-table e passar como parâmetro com os registros desejados. Caso contrário, para calcular todos os itens do pedido, deixar a temp-table sem nenhum registro.

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não