Documento de BO
Produto: | Datasul |
Ocorrência: | Documentação de BO |
Nome Físico | dibo/bodi704.p |
Objetivo
Esta BO tem como objetivo a manipulação dos dados referentes a tabela mdfe-docto (MDF-e Manifesto de Documentos Fiscais).
MDF-e Manifesto de Documentos Fiscais
Atributo | Tipo | Formato | Descrição | Obrigatório |
cod-estab | char | x(5) | Estabelecimento | Sim |
cod-ser-mdfe | char | x(5) | Serie MDF-e | Sim |
cod-num-mdfe | char | x(20) | Numero MDF-e | Sim |
dat-emis-mdfe | date | 99/99/9999 | Data Emissão MDF-e | |
hra-emis-mdfe | char | 99:99:99 | Hora Emissao MDF-e | |
idi-ambien-mdfe | inte | 9 | Ambiente MDF-e | |
ind-tip-emit | char | X(02) | Tipo Emitente | |
cod-uf-orig | char | x(2) | UF Origem | |
cod-uf-dest | char | X(4) | UF Destino | |
cod-un-medid | char | x(12) | Unidade Medida | |
num-aleat-mdfe | inte | >>>>>>>>9 | Número Aleatório MDF-e | |
idi-sit-mdfe | inte | >9 | Situação MDF-e | |
idi-tip-emis-mdfe | inte | >9 | Tipo Emissão MDF-e | |
cod-chave-mdfe | char | x(60) | Chave MDF-e | |
cod-mod-frete | char | x(2) | Modalidade Frete | |
cod-num-modal | char | x(20) | Número Modal | |
cod-munpio-ibge-carreg | char | x(8) | Municipio IBGE Carregamento | |
nom-munpio-carreg | char | x(100) | Municipio Carregamento | |
cod-protoc-autoriz | char | x(50) | Protocolo Autorização | |
dat-autoriz | date | 99/99/9999 | Ultima data da autorizacao do procedimento | |
hra-autoriz | char | 99:99:99 | Hora Autorização | |
cod-protoc-cancel | char | x(50) | Protocolo Cancelamento | |
dat-cancel | date | 99/99/9999 | Data Cancelamento | |
hra-cancel | char | 99:99:99 | Hora Cancelamento | |
cod-protoc-encert | char | x(50) | Protocolo Encerramento | |
dat-encert | date | 99/99/9999 | Data de Encerramento no sistema | |
hra-encert | char | 99:99:99 | Hora Encerramento | |
dsl-xml-sefaz | char | x(30000) | Xml Sefaz | |
cod-livre-1 | char | x(500) | Código Livre 1 | |
cod-livre-2 | char | x(500) | Código Livre 2 | |
cod-livre-3 | char | x(500) | Código Livre 3 | |
cod-livre-4 | char | x(500) | Código Livre 4 | |
cod-livre-5 | char | x(500) | Código Livre 5 | |
dat-livre-1 | date | 99/99/9999 | Data Livre 1 | |
dat-livre-2 | date | 99/99/9999 | Data Livre 2 | |
dat-livre-3 | date | 99/99/9999 | Data Livre 3 | |
dat-livre-4 | date | 99/99/9999 | Data Livre 4 | |
dat-livre-5 | date | 99/99/9999 | Data Livre 5 | |
val-livre-1 | deci-10 | ->>>>>>>>>>>9.9999 | Valor Livre 1 | |
val-livre-2 | deci-10 | ->>>>>>>>>>>9.9999 | Valor Livre 2 | |
val-livre-3 | deci-8 | ->>>>>>>>>>>9.99999999 | Valor Livre 3 | |
val-livre-4 | deci-8 | ->>>>>>>>>>>9.99999999 | Valor Livre 4 | |
val-livre-5 | deci-8 | ->>>>>>>>>>>9.99999999 | Valor Livre 5 | |
log-livre-1 | logi | Sim/Não | Logico Livre 1 | |
log-livre-2 | logi | Sim/Não | Logico Livre 2 | |
log-livre-3 | logi | Sim/Não | Logico Livre 3 | |
log-livre-4 | logi | Sim/Não | Logico Livre 4 | |
log-livre-5 | logi | Sim/Não | Logico Livre 5 | |
num-livre-1 | inte | ->>>>>>>>9 | Numero Livre 1 | |
num-livre-2 | inte | ->>>>>>>>9 | Numero Livre 2 | |
num-livre-3 | inte | ->>>>>>>>9 | Numero Livre 3 | |
num-livre-4 | inte | ->>>>>>>>9 | Numero Livre 4 | |
num-livre-5 | inte | ->>>>>>>>9 | Numero Livre 5 |
Métodos Básicos
goToKey | |||||||
Requisito | Nenhum | ||||||
Descrição
| Reposiciona o registro da tabela mdfe-docto por meio de sua chave primária (mdfdct-id). | ||||||
Parâmetros | Tipo | Formato | I | O | IO | Descrição | |
pcod-estab | char | x(05) | X | Estabelecimento | |||
pcod-ser-mdfe | char | x(05) | X | Serie MDF-e | |||
pcod-num-mdfe | char | x(20) | X | Número MDF-e |
Queries e Constraints
setConstraintMDFE | |||||||
Requisito | Nenhum | ||||||
Descrição | Solicita a faixa do código do estabelecimento, série e número da MDF-e. | ||||||
Parâmetros | Tipo | Formato | I | O | IO | Descrição | |
p-cod-estab-ini | char | X(05) | X | Estabelecimento Inicial | |||
p-cod-estab-fim | char | X(05) | X | Estabelecimento Final | |||
p-cod-ser-mdfe-ini | char | X(08) | X | Serie MDF-e Inicial | |||
p-cod-ser-mdfe-fim | char | X(08) | X | Serie MDF-e Final | |||
p-cod-num-mdfe-ini | char | X(20) | X | Numero da MDF-e Inicial | |||
p-cod-num-mdfe-fim | char | X(20) | X | Numero da MDF-e Final |
setConstraintDatEmis | |||||||
Requisito | Nenhum | ||||||
Descrição | Solicita faixa do código do estabelecimento, série, número e data de emissão da MDF-e. | ||||||
Parâmetros | Tipo | Formato | I | O | IO | Descrição | |
p-cod-estab-ini | char | X(05) | X | Estabelecimento Inicial | |||
p-cod-estab-fim | char | X(05) | X | Estabelecimento Final | |||
p-cod-ser-mdfe-ini | char | X(08) | X | Serie MDF-e Inicial | |||
p-cod-ser-mdfe-fim | char | X(08) | X | Serie MDF-e Final | |||
p-cod-num-mdfe-ini | char | X(20) | X | Numero da MDF-e Inicial | |||
p-cod-num-mdfe-fim | char | X(20) | X | Numero da MDF-e Final | |||
p-dat-emis-mdfe-ini | date | 99/99/9999 | X | Data de Emissao da MDF-e Inicial | |||
p-dat-emis-mdfe-fim | date | 99/99/9999 | X | Data de Emissao da MDF-e Final |
setConstraintChaveMDFE | |||||||
Requisito | Nenhum | ||||||
Descrição | Solicita a faixa de chave da MDF-e. | ||||||
Parâmetros | Tipo | Formato | I | O | IO | Descrição | |
p-cod-chave-mdfe-ini | char | X(60) | X | Chave de Acesso da MDF-e Inicial | |||
p-cod-chave-mdfe-fim | char | X(60) | X | Chave de Acesso da MDF-e Final |
openQueryMain | ||
Requisito | Nenhum | |
Descrição | Disponibiliza todos os MDF-e existentes. |
openQueryChaveMDFE | ||
Requisito | Nenhum | |
Descrição | Disponibiliza todos os MDF-e de uma determinada faixa de chave de acesso. |
Constraints Associados - setConstraintChaveMDFE
openQueryDatEmis | ||
Requisito | Nenhum | |
Descrição | Disponibiliza todos os MDF-e de uma determinada faixa que estejam dentro da faixa de data de emissão informada. |
Constraints Associados - setConstraintDatEmis
openQueryMdfe | ||
Requisito | Nenhum | |
Descrição | Disponibiliza todos os MDF-e de uma determinada faixa. |
Constraints Associados - setConstraintMDFE
Métodos Negócio
pi-Atualiza-Sit-Mdfe | |||||||
Requisito | Utilização da temp-table tt-jurisdic-aliq-aux. | ||||||
Descrição | Efetua a consulta do retorno da MDF-e e atualiza a situação da mesma de acordo com o retorno. Este método é chamado ao acionar o botão “Atualiza” do programa FT0921. | ||||||
Parâmetros | Tipo | Formato | I | O | IO | Descrição | |
tt-mdfe-docto | temp-table | like mdfe-docto | X | Tabela temporária contendo todas as MDF-e que se deseja consultar. | |||
h-acomp | handle | X | Variável contendo o handle de acompanhamento. Caso não houver enviar?. | ||||
rowErrors | table | X | Tabela de erros que a procedure irá retornar para o programa chamador. |
TransmiteDocto | |||||||
Requisito | Executar o método openQueryMain. Executar o método goToKey enviando a chave da MDF-e que deseja transmitir. Exemplo de utilização: RUN openQueryStatic IN h-bodi704 (INPUT "Main":U). | ||||||
Descrição | Efetua a transmissão da MDF-e. Este método é chamado ao acionar o botão “Enviar” do programa FT0921. |
pi_Cancela_Encerra | |||||||
Requisito | Criar registro na temp-table tt-select-docto contendo as informações do documento que se se deseja cancelar ou encerrar para ser passada por parâmetro. | ||||||
Descrição | Efetua o cancelamento e/ou encerramento da MDF-e. Este método é chamado ao acionar os botões “Cancelar” e “Encerrar” do programa FT0921. | ||||||
Parâmetros | Tipo | Formato | I | O | IO | Descrição | |
tt-selec-docto | temp-table | X | Tabela temporária contendo todas as MDF-e que se deseja cancelar ou encerrar. |
Definição da temp-table:
DEFINE TEMP-TABLE tt-selec-docto NO-UNDO
FIELD cod-versao AS CHARACTER
FIELD cod-estabel AS CHARACTER
FIELD ident AS CHARACTER
FIELD ambiente AS INTEGER
FIELD chave-nfe AS CHARACTER
FIELD tp-evento AS CHARACTER
FIELD justificativa AS CHARACTER FORMAT "x(1000)"
FIELD des-dat-hora-event AS CHARACTER.
Exemplo de Uso Cancelamento:
OBS: O campo tp-evento da temp-table sempre deverá ser preenchido com valor “110111” para Cancelamento.
DEFINE VARIABLE h-bodi704 AS HANDLE NO-UNDO.
RUN dibo/bodi704.p PERSISTENT SET h-bodi704.
CREATE tt-selec-docto.
ASSIGN tt-selec-docto.cod-versao = “3.00”
tt-selec-docto.cod-estab = tt-mdfe-docto.cod-estab
tt-selec-docto.ambiente = tt-mdfe-docto.idi-ambien-mdfe
tt-selec-docto.chave-nfe = tt-mdfe-docto.cod-chave-mdfe
tt-selec-docto.justificativa = “Justificativa”
tt-selec-docto.des-dat-hora-event = STRING(TODAY,"99/99/9999") + " " + STRING(TIME,"HH:MM:SS")
tt-selec-docto.tp-evento = "110111".
RUN pi_Cancela_Encerra IN h-bodi704 (INPUT TABLE tt-selec-docto).
IF VALID-HANDLE(h-bodi704) THEN DO:
DELETE PROCEDURE h-bodi704.
ASSIGN h-bodi704 = ?.
END.
Exemplo de Uso Encerramento:
OBS: O campo tp-evento da temp-table sempre deverá ser preenchido com valor “110112” para Encerramento.
DEFINE VARIABLE h-bodi704 AS HANDLE NO-UNDO.
RUN dibo/bodi704.p PERSISTENT SET h-bodi704.
CREATE tt-selec-docto.
ASSIGN tt-selec-docto.cod-versao = “3.00”
tt-selec-docto.cod-estab = tt-mdfe-docto.cod-estab
tt-selec-docto.ambiente = tt-mdfe-docto.idi-ambien-mdfe
tt-selec-docto.chave-nfe = tt-mdfe-docto.cod-chave-mdfe
tt-selec-docto.justificativa = “Justificativa”
tt-selec-docto.des-dat-hora-event = STRING(TODAY,"99/99/9999") + " " + STRING(TIME,"HH:MM:SS")
tt-selec-docto.tp-evento = "110112".
RUN pi_Cancela_Encerra IN h-bodi704 (INPUT TABLE tt-selec-docto).
IF VALID-HANDLE(h-bodi704) THEN DO:
DELETE PROCEDURE h-bodi704.
ASSIGN h-bodi704 = ?.
END.