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