Documento de BO
Produto: | Datasul |
Ocorrência: | Documentação de BO |
Nome Físico | dibo/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:
- 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:
- 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 |