Árvore de páginas

Documento de BO

Produto:

Datasul

Ocorrência:

Documentação de BO

Nome Físicodibo/bodi593.p

 

Objetivo

Criação, Validação, Manutenção e acesso rápido a tabela “ped-repres-item”

 

Funcionamento

A BO irá criar, validar os dados, manutenir as tabelas e fazer a leitura dos registros da tabela “ped-repres-item”

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

A sintaxe para a chamada BO é:

run dibo\bodi593.p.

 

A execução na forma persistente ...

A sintaxe para executar a BO em modo persistente é:

run dibo\bodi593.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 “ped-repres-item”.

Entrada/Saída

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

nr-pedido

Int

>>>,>>>,>>9

Número do Pedido

Sim

 

nome-ab-rep

char

X(12)

Representante

Sim

 

ind-repbase

logi

Sim/Não

Representante Base

Sim

 

it-codigo

char

X(16)

Item

Sim

 

perc-comis

dec

>>9.999

% Comissao

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

 

val-base-comis

dec

>>,>>>,>>9.99

Base Comissão

Não

 

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

 

cod-classificador    

char

X(08)

Cod Classificador

Sim

 

val-perc-comis-emis

dec

>>9.99

% Comis Emis

Não

 

val-comis

dec

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

Valor ComissÆo  

Não

 

val-comis-emis

dec

>>9.99999999

Comissão Emissão

Não

 

des-checksum

char

X(20)

Check -sum

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 pnr-pedido LIKE ped-repres-item.nr-pedido NO-UNDO.

DEFINE INPUT PARAMETER pnome-ab-rep LIKE ped-repres-item.nome-ab-rep NO-UNDO.

DEFINE INPUT PARAMETER pit-codigo LIKE ped-repres-item.it-codigo NO-UNDO.

DEFINE INPUT PARAMETER pnum-seq LIKE ped-repres-item.num-seq NO-UNDO.

DEFINE INPUT PARAMETER pcod-refer LIKE ped-repres-item.cod-refer NO-UNDO.

DEFINE INPUT PARAMETER pcod-classificador LIKE ped-repres-item.cod-classificador NO-UNDO.

 

Parâmetros

Descrição

 

pnr-pedido 

pnome-ab-rep

pit-codigo

pnum-seq

pcod-refer

pcod-classificador

Número do Pedido

Representante

Item do Pedido

Sequência do Item no Pedido

Referência 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

 

pnr-pedido 

pnome-ab-rep

pit-codigo

Número do Pedido

Representante

Item do Pedido

 

pnum-seq

Sequêcia do Item no Pedido

 

pcod-refer

Referência 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.

 

setConstraintByPedRepresItem

Requisito

Nenhum

Sintaxe

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

                                              input <character>).

Descrição

Carrega a tabela ped-repres-item para openQueryByPedRepresItem.

 

Parâmetros

Descrição

 

pnr-pedido 

pnome-ab-rep

pit-codigo

pnum-seq

pcod-refer

pcod-classificador

Número do Pedido

Representante

Item do Pedido

Sequência do Item no Pedido

Referência 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.

setConstraintByPedRepresItem2

Requisito

Nenhum

Sintaxe

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

                                              input <character>).

Descrição

Carrega o número do Pedido para openQueryByPedRepresItem2.

 

Parâmetros

Descrição

 

pnr-pedido 

Número do Pedido

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.

setConstraintByPedRepresItem3

Requisito

Nenhum

Sintaxe

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

                                               input <character>).

Descrição

Carrega variáveis para openQueryByPedRepresItem3.

 

Parâmetros

Descrição

 

pnr-pedido 

pit-codigo

pnum-seq

Número do Pedido

Item do Pedido

Sequência do Item no Pedido

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.

setConstraintByPedido

Requisito

Nenhum

Sintaxe

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

                                       input <character>).

Descrição

Carrega o número do Pedido para openQueryByPedido.

 

Parâmetros

Descrição

 

pnr-pedido 

Número do Pedido

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 ped-repres-item

openQueryByPedRepresItem

Requisito

Nenhum

Sintaxe

run openQueryByPedRepresItem in h-handle.

Descrição

Busca conjunto de registros da tabela ped-repres-item.

openQueryByPedRepresItem2

Requisito

Nenhum

Sintaxe

run openQueryByPedRepresItem2 in h-handle.

Descrição

Busca conjunto de registros da tabela ped-repres-item.

openQueryByPedRepresItem3

Requisito

Nenhum

Sintaxe

run openQueryByPedRepresItem3 in h-handle.

Descrição

Busca conjunto de registros da tabela ped-repres-item.

openQueryByPedido

Requisito

Nenhum

Sintaxe

run openQueryByPedido in h-handle.

Descrição

Busca conjunto de registros da tabela pedido.

 


Método Negócio

PROCEDURE buscaValoresComissaoItemPedido

Descrição

Calcula valores de comissão por representante e item do Pedido.

DEFINE INPUT  PARAM p-nr-pedido       LIKE ped-venda.nr-pedido                 NO-UNDO.

DEFINE INPUT  PARAM p-it-codigo        LIKE ped-item.it-codigo                  NO-UNDO.

DEFINE INPUT  PARAM p-cod-refer        LIKE ped-item.cod-refer                  NO-UNDO.

DEFINE INPUT  PARAM p-sequencia      LIKE ped-item.nr-sequencia               NO-UNDO.

DEFINE INPUT  PARAM p-cod-rep          LIKE repres.cod-rep                      NO-UNDO.

DEFINE OUTPUT PARAM p-perc-comis   LIKE ped-repres-item.perc-comis          NO-UNDO.

DEFINE OUTPUT PARAM p-perc-comis-emis LIKE ped-repres-item.val-perc-comis-emis NO-UNDO.

PROCEDURE acumulaRepresPorItem

Descrição

Acumula valores de comissão por representante e item do Pedido.

DEFINE INPUT  PARAM p-nr-pedido       LIKE ped-venda.nr-pedido                 NO-UNDO.

DEFINE INPUT  PARAM p-it-codigo         LIKE ped-item.it-codigo                  NO-UNDO.

DEFINE INPUT  PARAM p-cod-refer        LIKE ped-item.cod-refer                  NO-UNDO.

DEFINE INPUT  PARAM p-sequencia      LIKE ped-item.nr-sequencia               NO-UNDO.

DEFINE INPUT  PARAM p-cod-rep          LIKE repres.cod-rep                      NO-UNDO.

DEFINE OUTPUT PARAM p-perc-comis   LIKE ped-repres-item.perc-comis          NO-UNDO.

DEFINE OUTPUT PARAM p-perc-comis-emis LIKE ped-repres-item.val-perc-comis-emis NO-UNDO.

PROCEDURE verificaValorFormula

Descrição

Verifica a fórmula parametrizada para cálculo da base de comissão e retorna a base de comissão por item do pedido.

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 criaPedRepresItem

Descrição

Cria registro na tabela ped-repres-item.

DEFINE INPUT PARAM p-rw-pedido AS ROWID NO-UNDO.

DEFINE INPUT PARAM p-it-codigo    LIKE ped-item.it-codigo    NO-UNDO.     

DEFINE INPUT PARAM p-nr-sequencia LIKE ped-item.nr-sequencia NO-UNDO.     

DEFINE INPUT PARAM p-cod-refer    LIKE ped-item.cod-refer    NO-UNDO.  

 

PROCEDURE createNewRepresentative

Descrição

Inclui nova representante para o item do Pedido.

DEFINE INPUT PARAM p-nr-pedido   LIKE ped-venda.nr-pedido                 NO-UNDO.

DEFINE INPUT PARAM p-nome-ab-rep LIKE ped-repres.nome-ab-rep              NO-UNDO.

DEFINE INPUT PARAM p-comis       LIKE ped-repres-item.perc-comis          NO-UNDO.

DEFINE INPUT PARAM p-comis-emis  LIKE ped-repres-item.val-perc-comis-emis NO-UNDO.

 

PROCEDURE acumulaRepresPorNota

Descrição

Calcula valores de Comissão por Representante e Pedido.

DEF INPUT PARAM p-nr-pedido LIKE ped-venda.nr-pedido NO-UNDO.  

PROCEDURE criaPedReprePorRepresentante

Descrição

Cria registro na tabela ped-repre.

DEF INPUT PARAM p-nr-pedido LIKE ped-venda.nr-pedido NO-UNDO.   

 

PROCEDURE buscaPedReprePorRepresentante

Descrição

Localiza registro na tabela ped-repre.

DEF INPUT PARAM p-nr-pedido LIKE ped-venda.nr-pedido 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.