Árvore de páginas

Documento de BO

Produto:

Datasul

Ocorrência:

Documentação de BO

Nome Físicodibo/bodi578.p

 

Objetivo

Criação, Validação, Manutenção e acesso rápido a tabela “sdo-fatur-antecip”

 

Funcionamento

A BO irá criar, validar os dados, manutenir as tabelas e fazer a leitura dos registros da tabela “sdo-fatur-antecip”

Na forma padrão, realiza-se a chamada através de um comando RUN.

A sintaxe para a chamada BO é:

run dibo\bodi578.p.

 

A execução na forma persistente ...

A sintaxe para executar a BO em modo persistente é:

run dibo\bodi578.p persistent set h-handle.

 

A variável denominada h-handle irá receber o “handle” do programa, permitindo o acesso aos “métodos” internos da BO.

 

Tabelas Temporárias

Nos atributos das tabelas temporárias:

Tabela Temporária

Descrição

Entrada/Saída

RowObject

Tabela de comunicação entre Interface e banco de dados da tabela “sdo-fatur-antecip”.

Entrada/Saída

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

cod-estabel

char

X(05)

Estabelecimento

Sim

 

serie-docto

char

X(05)

Série Documento

Sim

 

nr-nota-fis

char

X(16)

Número Documento

Sim

 

nat-operacao

char

X(06)

Natureza Operação

Sim

 

cod-emitente

int

>>>>>>>>9

Emitente

Sim

 

num-seq

int

>>>>9

Sequência

Sim

 

it-codigo

char

X(16)

Item

Sim

 

cod-refer

char

X(08)

Referência

Sim

 

qtd-saldo

dec

->>>>,>>9.9999

Quantidade Saldo

Sim

 

dt-atualiza

date

99/99/9999    

Data Saldo

Sim

 

cod-livre-1

char

X(100)

Livre 1

Não

 

cod-livre-2

char

X(100)

Livre 2

Não

 

log-livre-1

Log

Sim/Não

Livre 1

Não

 

log-livre-2

Log

Sim/Não

Livre 2

Não

 

num-livre-1

Int

->>>>>>>>>9

Livre 1

Não

 

num-livre-2

Int

->>>>>>>>>9

Livre 2

Não

 

val-livre-1

Dec

->>>>>>>>>>>9.9999

Livre 1

Não

 

val-livre-2

Dec

->>>>>>>>>>>9.9999

Livre 2

Não

 

dat-livre-1

date

99/99/9999

Livre 1

Não

 

dat-livre-2

date

99/99/9999

Livre 2

Não

 

 num-id-saldo

int

>>>,>>>,>>9

Id Saldo

Sim

 

qtd-recebe-fisic

dec

->,>>>,>>>,>>9.9999

Recebe Físico

Não

 

Tabela Temporária

Descrição

Entrada/Saída

RowErrors

Contém os erros ocorridos na BO.

Saída

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

ErrorSequence

integer

padrão

Seqüência dos erros

Sim

 

ErrorNumber

integer

padrão

Número do erro

Sim

 

ErrorDescription

char

padrão

Descrição do erro

Sim

 

ErrorParameters

char

padrão

Parâmetros passados para criar mensagem

Não

 

ErrorType

char

padrão

Tipo do erro:

WARNING: Aviso

ERROR: Erro

Sim

 

ErrorHelp

char

padrão

Texto de ajuda do erro

Sim

 

ErrorSubType

char

padrão

Sub Tipo da mensagem de erro

Não

 

Métodos

Quando a API/BO for executada em modo persistente, os seguintes métodos estarão disponíveis para execução:

 

Método Básico

goToKey

Requisito

Nenhum

Sintaxe

run goToKey in h-handle (input <character>).

Descrição

Reposiciona a query com base na chave primária da tabela.

 

Parâmetros

Descrição

 

pcod-estabel 

pserie-docto

pnr-nota-fis

pcod-emitente

pnat-operacao

pit-codigo   

pcod-refer 

pnum-seq 

Código do Estabelecimento

Série do Documento

Número do Documento

Código do Emitente

Código da Natureza de Operação

Código do Item

Código de Referência do Item

Número da Sequência

Retorno

A API/BO irá setar o return-value de forma a informar ao programa “chamador” se a execução foi realizada com sucesso ou não. Os valores possíveis para o return-value são: OK (execução correta) e NOK (execução com problemas). Os motivos para a rejeição do movimento de reporte são especificados na temp-table RowErrors.

getKey

Requisito

Nenhum

Sintaxe

run getKey in h-handle (output <character>).

Descrição

Retorna os campos da chave primária da tabela.

 

Parâmetros

Descrição

 

pcod-estabel 

pserie-docto

pnr-nota-fis

pcod-emitente

pnat-operacao

pit-codigo   

pcod-refer 

pnum-seq 

Código do Estabelecimento

Série do Documento

Número do Documento

Código do Emitente

Código da Natureza de Operação

Código do Item

Código de Referência do Item

Número da Sequência

Retorno

A API/BO irá setar o return-value de forma a informar ao programa “chamador” se a execução foi realizada com sucesso ou não. Os valores possíveis para o return-value são: OK (execução correta) e NOK (execução com problemas). Os motivos para a rejeição do movimento de reporte são especificados na temp-table RowErrors.

getCharField

Requisito

Nenhum

Sintaxe

run getCharField in h-handle (input  <character>,

                              output <character>).

Descrição

Retorna os valores dos campos da tabela que são caracteres.

 

Parâmetros

Descrição

 

pFieldName

Nome do campo a ser retornado

 

pFieldValue

Valor do campo.

Retorno

A API/BO irá setar o return-value de forma a informar ao programa “chamador” se a execução foi realizada com sucesso ou não. Os valores possíveis para o return-value são: OK (execução correta) e NOK (execução com problemas). Os motivos para a rejeição do movimento de reporte são especificados na temp-table RowErrors.

getDateField

Requisito

Nenhum

Sintaxe

run getDateField in h-handle (input  <character>,

                              output <date>).

Descrição

Retorna os valores dos campos da tabela que são data.

 

Parâmetros

Descrição

 

pFieldName

Nome do campo a ser retornado

 

pFieldValue

Valor do campo.

Retorno

A API/BO irá setar o return-value de forma a informar ao programa “chamador” se a execução foi realizada com sucesso ou não. Os valores possíveis para o return-value são: OK (execução correta) e NOK (execução com problemas). Os motivos para a rejeição do movimento de reporte são especificados na temp-table RowErrors.

getDecField

Requisito

Nenhum

Sintaxe

run getDecField in h-handle (input  <character>,

                             output <decimal>).

Descrição

Retorna os valores dos campos da tabela que são decimais.

 

Parâmetros

Descrição

 

pFieldName

Nome do campo a ser retornado

 

pFieldValue

Valor do campo.

Retorno

A API/BO irá setar o return-value de forma a informar ao programa “chamador” se a execução foi realizada com sucesso ou não. Os valores possíveis para o return-value são: OK (execução correta) e NOK (execução com problemas). Os motivos para a rejeição do movimento de reporte são especificados na temp-table RowErrors.

getIntField

Requisito

Nenhum

Sintaxe

run getIntField in h-handle (input  <character>,

                             output <integer>).

Descrição

Retorna os valores dos campos da tabela que são inteiros.

 

Parâmetros

Descrição

 

pFieldName

Nome do campo a ser retornado

 

pFieldValue

Valor do campo.

Retorno

A API/BO irá setar o return-value de forma a informar ao programa “chamador” se a execução foi realizada com sucesso ou não. Os valores possíveis para o return-value são: OK (execução correta) e NOK (execução com problemas). Os motivos para a rejeição do movimento de reporte são especificados na temp-table RowErrors.

getLogField

Requisito

Nenhum

Sintaxe

run getLogField in h-handle (input  <character>,

                             output <logical>).

Descrição

Retorna os valores dos campos da tabela que são Lógicos.

 

Parâmetros

Descrição

 

pFieldName

Nome do campo a ser retornado

 

pFieldValue

Valor do campo.

Retorno

A API/BO irá setar o return-value de forma a informar ao programa “chamador” se a execução foi realizada com sucesso ou não. Os valores possíveis para o return-value são: OK (execução correta) e NOK (execução com problemas). Os motivos para a rejeição do movimento de reporte são especificados na temp-table RowErrors.

getRawField

Requisito

Nenhum

Sintaxe

run getRawField in h-handle (input  <character>,

                             output <raw>).

Descrição

Retorna os valores dos campos da tabela que são caracteres longos.

 

Parâmetros

Descrição

 

pFieldName

Nome do campo a ser retornado

 

pFieldValue

Valor do campo.

Retorno

A API/BO irá setar o return-value de forma a informar ao programa “chamador” se a execução foi realizada com sucesso ou não. Os valores possíveis para o return-value são: OK (execução correta) e NOK (execução com problemas). Os motivos para a rejeição do movimento de reporte são especificados na temp-table RowErrors.

getRecidField

Requisito

Nenhum

Sintaxe

run getRecidField in h-handle (input  <character>,

                               output <recid>).

Descrição

Retorna os valores dos campos da tabela que são numéricos e definem uma seqüência única para a tabela dentro do database.

 

Parâmetros

Descrição

 

pFieldName

Nome do campo a ser retornado

 

pFieldValue

Valor do campo.

Retorno

A API/BO irá setar o return-value de forma a informar ao programa “chamador” se a execução foi realizada com sucesso ou não. Os valores possíveis para o return-value são: OK (execução correta) e NOK (execução com problemas). Os motivos para a rejeição do movimento de reporte são especificados na temp-table RowErrors.

getRowid

Requisito

Nenhum

Sintaxe

run getRowid in h-handle (output <rowid>).

Descrição

Retorna o ROWID do registro corrente da Query que está aberta na BO. Este método não aparece para ser manutenido.

 

Parâmetros

Descrição

 

pRowid

Rowid da tabela.

Retorno

A API/BO irá setar o return-value de forma a informar ao programa “chamador” se a execução foi realizada com sucesso ou não. Os valores possíveis para o return-value são: OK (execução correta) e NOK (execução com problemas). Os motivos para a rejeição do movimento de reporte são especificados na temp-table RowErrors.

 

OpenQuery / SetConstraint

Definição das Queries (acesso ao banco de dados) e Contraints (regras de leitura)  utilizadas para buscar grupos de registros da base de dados.

 

setConstraintOfSdoFaturAntecip

Requisito

Nenhum

Sintaxe

run setConstraintOfSdoFaturAntecip in h-handle (input <character>,

                                                input <character>).

Descrição

Carrega variáveis com código da Atividade inicial e final  para openQueryOfSdoFaturAntecip.

 

Parâmetros

Descrição

 

pcod-estabel 

pserie-docto

pnr-nota-fis

pit-codigo   

pcod-refer 

pnum-seq 

Código do Estabelecimento

Série do Documento

Número do Documento

Código do Item

Código de Referência do Item

Número da Sequência

Retorno

A API/BO irá setar o return-value de forma a informar ao programa “chamador” se a execução foi realizada com sucesso ou não. Os valores possíveis para o return-value são: OK (execução correta) e NOK (execução com problemas). Os motivos para a rejeição do movimento de reporte são especificados na temp-table RowErrors.

openQueryStatic(“Main”)

Requisito

Nenhum

Sintaxe

run openQueryMain in h-handle.

Descrição

Busca conjunto de registros da tabela sdo-fatur-antecip.

 

 

 

 

openQueryStatic(“SdoFaturAntecip”)

Requisito

Executar o método setConstraintOfSdoFaturAntecip.

Sintaxe

run openQueryOfSdoFaturAntecip in h-handle.

Descrição

Busca conjunto de registros da tabela sdo-fatur-antecip.

 

 

 


Método Negócio

validaSaldoItem

Descrição

Valida o saldo de Faturamento Antecipado para o Item

 

Parâmetros

Descrição

 

p-c-cod-estabel 

p-c-serie  

p-c-nr-nota-fis  

p-i-cod-emitente   

p-c-it-codigo 

p-c-cod-refer

p-i-sequencia   

p-d-qtd-saldo        

Código do Estabelecimento

Série do Documento                

Número do Documento

Código do Emitente

Código do Item

Código de Referência do Item

Número da Sequência

Quantidade a ser validada contra Saldo


PROCEDURE validaSaldoItem  - Valida saldo de faturamento antecipado para o item

A procedure irá ler o saldo de faturamento antecipado e se o saldo for menor que a quantidade informada, o sistema irá retornar a mensagem 51666 e a flag "NOK":U

retornaSaldoItem

Descrição

Retorna o saldo de Faturamento Antecipado para o Item

 

Parâmetros

Descrição

 

p-c-cod-estabel 

p-c-serie  

p-c-nr-nota-fis  

p-i-cod-emitente   

p-c-it-codigo 

p-c-cod-refer

p-i-sequencia 

Código do Estabelecimento

Série do Documento

Número do Documento

Código do Emitente

Código do Item

Código de Referência do Item

Número da Sequência

 

PROCEDURE retornaSaldoItem  -  Retorna o saldo de faturamento antecipado para o item

A procedure irá ler o saldo de faturamento antecipado para o item e retornar o valor através do parâmetro p-d-qtd-saldo.

geraMovimentoSaida

Descrição

Gera movimento de saída, subtraindo o saldo de Faturamento Antecipado para o Item

 

Parâmetros

Descrição

 

p-c-cod-estabel 

p-c-serie 

p-c-serie-ant

p-c-nr-nota-fis 

p-c-nr-nota-ant

p-c-nat-operacao 

p-i-cod-emitente   

p-c-it-codigo 

p-c-cod-refer

p-i-sequencia

p-i-tp-movto     

p-i-cod-descricao

p-d-qtd-saldo

Código do Estabelecimento

Série do Documento

Série do Documento Origem

Número do Documento

Número do Documento Origem

Natureza de Operação Origem

Código do Emitente

Código do Item

Código de Referência do Item

Número da Sequência

Tipo de Movimento, Entrada/Saída

Descrição do Movimento

Quantidade a ser subtraída do saldo

 

 

PROCEDURE geraMovimentoSaida  -  Gera movimento de saída, subtraindo o saldo de Faturamento Antecipado para o Item.

 

A procedure irá localizar o saldo de faturamento antecipado para o item, subtrair a quantidade informada (parâmetro) do saldo e criará um movimento de saída, atualizando a tabela movto-fatur-antecip. 

Nota: Para criação da tabela movto-fatur-antecip será executada a bodi580.p a partir da bodi578.p.

geraMovimentoEntrada

Descrição

Gera movimento de entrada, somando o saldo de Faturamento Antecipado para o Item

 

Parâmetros

Descrição

 

p-c-cod-estabel 

p-c-serie 

p-c-serie-ant

p-c-nr-nota-fis 

p-c-nr-nota-ant

p-c-nat-operacao 

p-i-cod-emitente   

p-c-it-codigo 

p-c-cod-refer

p-i-sequencia

p-i-tp-movto     

p-i-cod-descricao

p-d-qtd-saldo

Código do Estabelecimento

Série do Documento

Série do Documento Origem

Número do Documento

Número do Documento Origem

Natureza de Operação Origem

Código do Emitente

Código do Item

Código de Referência do Item

Número da Sequência

Tipo de Movimento, Entrada/Saída

Descrição do Movimento

Quantidade a ser somada no saldo

 


PROCEDURE geraMovimentoEntrada  -  Gera movimento de entrada, somando o saldo de Faturamento Antecipado para o Item.

 

A procedure irá localizar o saldo de faturamento antecipado para o item, somar a quantidade informada (parâmetro) no saldo e criará um movimento de entrada, atualizando a tabela movto-fatur-antecip.

Nota: Para criação da tabela movto-fatur-antecip será executada a bodi580.p a partir da bodi578.p.

 

As procedures geraMovimentoSaída e geraMovimentoEntrada recebem parâmetros com o Tipo de Movimento e Descrição do Movimento.  Abaixo está a documentação necessária para o envio destes conteúdos:


/***********************************************************************
** diinc/i01di580.i - movdis.movto-fat-antecip.tp-movto
***********************************************************************/
1 - Entrada
2 - Saída


/***********************************************************************
** diinc/i02di580.i - movdis.movto-fat-antecip.idi-det-trans
***********************************************************************/
1 - Faturamento Antecipado
2 - Remessa Faturamento Antecipado
3 - Cancela Faturamento Antecipado
4 - Cancela Remessa Faturamento Antecipado
5 - Devolução Faturamento Antecipado
6 - Devolução Remessa Faturamento Antecipado
7 - Recebimento Faturamento Antecipado
8 - Recebimento Remessa Faturamento Antecipado
9 - Recebimento da Devolução Faturamento Antecipado
10 - Recebimento da Devolução Remessa Faturamento Antecipado

validateRecord

Requisito

Ter sido executada alguma ação para manutenção do registro da tabela. Esta procedure é executada somente internamente pela BO.

Sintaxe

run validate in this-procedure (input <character>).

Descrição

Valida as ações feitas em cima do registro da tabela corrente da BO. Estas ações podem ser: “CREATE”, “UPDATE” e “DELETE”.

 

Parâmetros

Descrição

 

pType

 

 

Tipo de ação:

“CREATE”

“UPDATE”

“DELETE”

Retorno

A API/BO irá setar o return-value de forma a informar ao programa “chamador” se a execução foi realizada com sucesso ou não. Os valores possíveis para o return-value são: OK (execução correta) e NOK (execução com problemas). Os motivos para a rejeição do movimento de reporte são especificados na temp-table RowErrors.