Árvore de páginas

Documento de BO

Produto:

Datasul

Ocorrência:

Documentação de BO

Nome Físicodibo/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.