Documento de BO
Produto: | Datasul |
Ocorrência: | Documentação de BO |
Nome Físico | dibo/bodi595.p |
Objetivo
Criação, Validação, Manutenção e acesso rápido a tabela “wt-repres-fatur-item”
Funcionamento
A BO irá criar, validar os dados, manutenir as tabelas e fazer a leitura dos registros da tabela “wt-repres-fatur-item”
Na forma padrão, realiza-se a chamada através de um comando RUN.
A sintaxe para a chamada BO é:
run dibo\bodi595.p.
A execução na forma persistente ...
A sintaxe para executar a BO em modo persistente é:
run dibo\bodi595.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 “wt-repres-fatur-item”. | Entrada/Saída |
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução | ||
Cod-rep | Int | >>>>9 | Representante | Sim |
| ||
perc-comis | dec | >>9.999 | % Comissao | Sim |
| ||
Comis-emis | Int | >>9 | Comissão Emissão | Sim |
| ||
Seq-wt-docto | dec | >>>,>>>,>>9 | Seq Docto | Sim |
| ||
Nr-seq-nota | Int | >>>,>>9 | Nr Seq Nota | Sim |
| ||
cod-classificador | char | X(08) | Cod Classificador | Sim |
| ||
val-base-calc-comis | dec | >>>,>>>,>>>,>>9.99 | Base Cálculo Comissão | Sim |
| ||
idi-tip-comis-agent | int | 9 | Tipo Comissão Agente | Sim |
| ||
idi-tip-base-comis-agent | Int | 9 | Tipo Base Comis Agente | Sim |
| ||
idi-liber-pagto-comis-agent | Int | 9 | Liberação Pagto Comiss | 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 |
| ||
Check-sum | char | X(20) | Check -sum | Não |
| ||
It-codigo | char | X(16) | Item | Sim |
| ||
Val-comis | Dec | ->>>,>>>,>>>,>>9.9999 | Valor Comissão | Não |
| ||
val-comis-emis | Dec | >>9.99999999 | Comissão Emissão | Não |
| ||
num-seq | dec | >>,>>9 | Nr Sequência | Sim |
| ||
cod-refer | char | X(08) | Referência | Sim |
| ||
|
|
|
|
|
| ||
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. DEFINE INPUT PARAMETER pseq-wt-docto LIKE wt-repres-fatur-item.seq-wt-docto NO-UNDO. DEFINE INPUT PARAMETER pnr-seq-nota LIKE wt-repres-fatur-item.nr-seq-nota NO-UNDO. DEFINE INPUT PARAMETER pnum-seq LIKE wt-repres-fatur-item.num-seq NO-UNDO. DEFINE INPUT PARAMETER pit-codigo LIKE wt-repres-fatur-item.it-codigo NO-UNDO. DEFINE INPUT PARAMETER pcod-classificador LIKE wt-repres-fatur-item.cod-classificador NO-UNDO.
| |
| Parâmetros | Descrição |
| pseq-wt-docto pnr-seq-nota pnum-seq pit-codigo pcod-classificador | Sequência do Documento Sequência da Nota Sequência Código do Item Código Classificador |
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 |
| pseq-wt-docto pnr-seq-nota pnum-seq | Sequência do Documento Sequência da Nota Sequência |
| pit-codigo | Código do Item |
| pcod-classificador | Código classificador |
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. |
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.
setConstraintByFaturRepresItem
Requisito | Nenhum | |
Sintaxe | run setConstraintByFaturRepresItem in h-handle (input <character>, input <character>). | |
Descrição | Carrega a tabela wt-fatur-repres-item para openQueryByFaturRepresItem. | |
| Parâmetros | Descrição |
| p-i-seq-wt-docto p-i-nr-seq-nota p-i-num-seq p-c-it-codigo p-c-cod-classificador | Sequência do Documento Sequência da Nota Sequência Código do Item Código Classificador |
setConstraintByFaturRepresItem2
Requisito | Nenhum | |
Sintaxe | run setConstraintByFaturRepresItem2 in h-handle (input <character>, input <character>). | |
Descrição | Carrega a tabela wt-fatur-repres-item para openQueryByFaturRepresItem2. | |
| Parâmetros | Descrição |
| p-i-seq-wt-docto p-i-nr-seq-nota p-c-it-codigo p-c-cod-classificador | Sequência do Documento Sequência da Nota Código do Item Código Classificador |
setConstraintByFaturRepresItemAux
Requisito | Nenhum | |
Sintaxe | run setConstraintByFaturRepresItemAux in h-handle (input <character>, input <character>). | |
Descrição | Carrega a tabela wt-fatur-repres-item para setConstraintByFaturRepresItemAux. | |
| Parâmetros | Descrição |
| p-i-seq-wt-docto p-i-cod-rep p-c-it-codigo | Sequência do Documento Representante Código do Item |
setConstraintByDocto
Requisito | Nenhum | |
Sintaxe | run setConstraintByDocto in h-handle (input <character>, input <character>). | |
Descrição | Carrega a tabela wt-fatur-repres-item para setConstraintByFaturRepresItemAux. | |
| Parâmetros | Descrição |
| p-nr-seq-nota | Sequência da Nota |
openQueryStatic(“Main”)
Requisito | Nenhum |
Sintaxe | run openQueryMain in h-handle. |
Descrição | Busca conjunto de registros da tabela wt-fatur-repres-item |
openQueryByFaturRepresItem
Requisito | Nenhum |
Sintaxe | run openQueryByFaturRepresItem in h-handle. |
Descrição | Busca conjunto de registros da tabela wt-fatur-repres-item. |
openQueryByFaturRepresItem2
Requisito | Nenhum |
Sintaxe | run openQueryByFaturRepresItem2 in h-handle. |
Descrição | Busca conjunto de registros da tabela wt-fatur-repres-item. |
openQueryByFaturRepresItemAux
Requisito | Nenhum |
Sintaxe | run openQueryByFaturRepresItemAux in h-handle. |
Descrição | Busca conjunto de registros da tabela wt-fatur-repres-item. |
openQueryByDocto
Requisito | Nenhum |
Sintaxe | run openQueryByDocto in h-handle. |
Descrição | Busca conjunto de registros da tabela wt-docto. |
Método Negócio
PROCEDURE retornaNomeRepre
Descrição | Lê o Representante através do código e retorna nome do Representante. def input param pi-cod-repre like repres.cod-rep no-undo. def output param pi-nome-repre like repres.nome-abrev no-undo. |
PROCEDURE buscaValoresFaturamento
Descrição | Retorna valores de comissão. DEF INPUT PARAM p-seq-wt-docto LIKE wt-docto.seq-wt-docto NO-UNDO. DEF INPUT PARAM p-it-codigo LIKE wt-it-docto.it-codigo NO-UNDO. DEF INPUT PARAM p-sequence AS INTEGER NO-UNDO. DEF INPUT PARAM p-cod-rep LIKE RowObject.cod-rep NO-UNDO. DEF OUTPUT PARAM p-perc-comis LIKE RowObject.perc-comis NO-UNDO. DEF OUTPUT PARAM p-perc-comis-emis LIKE RowObject.comis-emis NO-UNDO. |
PROCEDURE calculaWtFatRepresItem
Descrição | Calcula valores de comissão por item para Nota Fiscal. DEF INPUT PARAM p-i-seq-wt-docto LIKE wt-docto.seq-wt-docto NO-UNDO. |
PROCEDURE verificaValorFormula
Descrição | Verifica a fórmula parametrizada para cálculo da base de comissão e retorna o valor base para o item. DEF INPUT PARAM p-i-seq-wt-docto AS INTEGER. DEF INPUT-OUTPUT PARAMETER p-valor-item LIKE it-nota-fisc.vl-merc-liq. |
PROCEDURE calculaWtFatRepre
Descrição | Calcula os valores de comissão para nota. DEF INPUT PARAM p-i-seq-wt-docto LIKE wt-docto.seq-wt-docto NO-UNDO. |
PROCEDURE geraWtFatRepreItem
Descrição | Calcula os valores de comissão para os itens da Nota. DEF INPUT PARAM p-i-seq-wt-docto LIKE wt-fat-duplic.seq-wt-docto NO-UNDO. DEF INPUT PARAM p-i-seq-wt-it-docto LIKE wt-it-docto.seq-wt-it-docto NO-UNDO. DEF OUTPUT PARAM p-l-procedimento-ok AS LOG NO-UNDO. |
PROCEDURE geraWtFatRepreItem
Descrição | Calcula os valores de comissão para os itens da Nota. DEF INPUT PARAM p-seq-wt-docto LIKE wt-repres-fatur-item.seq-wt-docto NO-UNDO. DEF OUTPUT PARAM p-l-procedimento-ok AS LOG NO-UNDO. |
PROCEDURE TotalizaComis
Descrição | Método criado para totalizar a Comissão def output param de-tot-comis like wt-repres-fatur-item.perc-comis no-undo. |
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. |