Documento de BO
Produto: | Datasul |
Ocorrência: | Documentação de BO |
Nome Físico | dibo/bodi597.p |
Objetivo
Criação, Validação, Manutenção e acesso rápido a tabela “item-nf-ifrs”
Funcionamento
A BO irá criar, validar os dados, manutenir as tabelas e fazer a leitura dos registros da tabela “item-nf-ifrs”
Na forma padrão, realiza-se a chamada através de um comando RUN.
A sintaxe para a chamada BO é:
run dibo\bodi597.p.
A execução na forma persistente ...
A sintaxe para executar a BO em modo persistente é:
run dibo\bodi597.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 “item-nf-ifrs”. | Entrada/Saída |
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução | ||
cod-estabel | char | x(03) | Estabelecimento | Sim |
| ||
cod-serie | char | X(05) | Série Documento | Sim |
| ||
nr-nota-fis | char | X(16) | Número Documento | Sim |
| ||
nr-seq-fat | dec | >>,>>9 | Sequência | Sim |
| ||
it-codigo | char | X(16) | Item | Sim |
| ||
dt-entrega | date | 99/99/9999 | Data Entrega | Sim |
| ||
qtd-entreg | dec | >>>,>>>,>>9 | Quantidade Entregue | Sim |
| ||
val-perc-entreg | dec | >9.99 | Percentual Entrega | Não |
| ||
hr-entreg | char | 99:99 | Hora Entrega | Sim |
| ||
ind-sit-entreg-item | char | X(01) | Sit Entrega | Sim |
| ||
log-devol | Logi | Sim/Não | Devolução | 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 |
| ||
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 pcod-estabel LIKE item-nf-ifrs.cod-estabel NO-UNDO. DEFINE INPUT PARAMETER pcod-serie LIKE item-nf-ifrs.cod-serie NO-UNDO. DEFINE INPUT PARAMETER pnr-nota-fis LIKE item-nf-ifrs.nr-nota-fis NO-UNDO. DEFINE INPUT PARAMETER pnr-seq-fat LIKE item-nf-ifrs.nr-seq-fat NO-UNDO. DEFINE INPUT PARAMETER pit-codigo LIKE item-nf-ifrs.it-codigo NO-UNDO. DEFINE INPUT PARAMETER pdt-entrega LIKE item-nf-ifrs.dt-entrega NO-UNDO. DEFINE INPUT PARAMETER phr-entrega LIKE item-nf-ifrs.hr-entrega NO-UNDO. | |
| Parâmetros | Descrição |
| pcod-estabel pcod-serie pnr-nota-fis pnr-seq-fat pit-codigo pdt-entrega phr-entrega | Código do Estabelecimento Série do Documento Número do Documento Número da Sequência Código do Item Data de Entrega Hora de Entrega
|
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 pcod-serie pnr-nota-fis pnr-seq-fat pit-codigo pdt-entrega phr-entrega | Código do Estabelecimento Série do Documento Número do Documento Número da Sequência Código do Item Data de Entrega Hora de Entrega
|
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.
setConstraintOfNotaFiscal
Requisito | Nenhum | |
Sintaxe | run setConstraintOfNotaFiscal in h-handle (input <character>, input <character>). | |
Descrição | Carrega variáveis com código da Atividade inicial e final para openQueryOfNotaFiscal. | |
| Parâmetros | Descrição |
| pcod-estabel pcod-serie pnr-nota-fis | Código do Estabelecimento Série do Documento Número do Documento
|
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 item-nf-ifrs. |
openQueryOfNotaFiscal
Requisito | Executar o método setConstraintOfNotaFiscal. |
Sintaxe | run openQueryOfNotaFiscal in h-handle. |
Descrição | Busca conjunto de registros da tabela nota-fiscal.
|
|
|
Método Negócio
linkToNota-Fiscal
Requisito | Nenhum | |
Sintaxe |
RUN GetKey IN pHandle (OUTPUT c-cod-estabel, OUTPUT c-cod-serie, OUTPUT c-nr-nota-fis).
| |
Descrição | Retorna a chave da tabela Nota Fiscal |
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. |