Árvore de páginas

Documento de BO

Produto:

Datasul

Ocorrência:

Documentação de BO

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

TipoFormatoIOIO

Descrição

pcod-estab

charx(05)X

Estabelecimento

pcod-ser-mdfe

charx(05)X

Serie MDF-e

pcod-num-mdfecharx(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

TipoFormatoIOIO

Descrição

p-cod-estab-inicharX(05)X

Estabelecimento Inicial
p-cod-estab-fimcharX(05)X

Estabelecimento Final
p-cod-ser-mdfe-inicharX(08)X

Serie MDF-e Inicial
p-cod-ser-mdfe-fimcharX(08)X

Serie MDF-e Final
p-cod-num-mdfe-inicharX(20)X

Numero da MDF-e Inicial
p-cod-num-mdfe-fimcharX(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

TipoFormatoIOIO

Descrição

p-cod-estab-ini

charX(05)X

Estabelecimento Inicial

p-cod-estab-fimcharX(05)X

Estabelecimento Final
p-cod-ser-mdfe-inicharX(08)X

Serie MDF-e Inicial
p-cod-ser-mdfe-fimcharX(08)X

Serie MDF-e Final
p-cod-num-mdfe-inicharX(20)X

Numero da MDF-e Inicial
p-cod-num-mdfe-fimcharX(20)X

Numero da MDF-e Final
p-dat-emis-mdfe-inidate99/99/9999X

Data de Emissao da MDF-e Inicial
p-dat-emis-mdfe-fimdate99/99/9999X

Data de Emissao da MDF-e Final

                        

setConstraintChaveMDFE

Requisito

Nenhum

Descrição

Solicita a faixa de chave da MDF-e.

Parâmetros

TipoFormatoIOIO

Descrição

p-cod-chave-mdfe-ini

charX(60)X

Chave de Acesso da MDF-e Inicial

p-cod-chave-mdfe-fimcharX(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

TipoFormatoIOIO

Descrição

tt-mdfe-doctotemp-tablelike mdfe-doctoX

Tabela temporária contendo todas as MDF-e que se deseja consultar.
h-acomphandle
X

Variável contendo o handle de acompanhamento. Caso não houver enviar?.
rowErrorstable

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).
RUN goToKey IN h-bodi704 (INPUT tt-mdfe-docto.cod-estab,
                                              INPUT tt-mdfe-docto.cod-ser-mdfe,
                                              INPUT tt-mdfe-docto.cod-num-mdfe ).
RUN TransmiteDocto IN h-bodi704.

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

TipoFormatoIOIO

Descrição

tt-selec-doctotemp-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.