Informações Gerais

Especificação

Produto

TOTVS12

Módulo

EXPORTAÇÃO

Segmento Executor

 

Projeto1

Tratamento SubProcesso de Exportação

IRM1

PCREQ-294

Requisito1

PCREQ-3523

Subtarefa1

PDRMAN-3036

Chamado2

 

Release de Entrega Planejada

12.1.8

Réplica

Não

País

(x) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Outros

<Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>.

  Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos). 

 

Objetivo

Possibilitar desmembrar o Processo de Exportação quando por exemplo, não for possível cumprir as quantidades acordadas na Proforma, porém serão enviadas para o cliente em algum momento, seja através do mesmo porto/aeroporto. Deverá possibilitar manter a rastreabilidade e a gestão com base no aceite inicial. 

Definição da Regra de Negócio

 

Para situações em que Processo de Exportação já teve parte da mercadoria embarcada para o exterior e o restante desta mercadoria permanecerá aguardando no mesmo porto/aeroporto para novo embarque.

    • Implementar no programa de Manutenção do Processo de Exportação e em sua consulta (EX3001/EX3101) uma flag para que seja possível identificar se aquele processo é um Subprocesso;
    • Implementar um campo novo no programa de Manutenção do Processo de Exportação ao lado da flag “Subprocesso”, um campo que seja permitido ao usuário informar o Processo de Exportação que dará origem ao SubProcesso, será possível pesquisar o seu conteúdo;
    • Implementar no EX3001 para quando a flag de “Subprocesso” estiver marcada, habilitar o campo “Processo de Exportação de Origem” para que seja informado a partir de qual registro o Subprocesso será gerado e as informações deste processo serão preenchidas automaticamente como se fosse uma cópia de registro;
    • Desenvolver uma nova tela que será executada ao confirmar a inclusão do SubProcesso onde:
      • Será permitido ao usuário selecionar a partir de qual informação ele deseja fazer a quebra do Processo de Exportação:Esta nova tela irá carregar todas as Notas Fiscais e Embarques (independentes de já faturados ou não) que existem no Processo de Exportação Origem;
        • A partir da Nota Fiscal do Processo de Origem;
        • A partir do Embarque do Processo de Origem;
      • Será permitido ao usuário selecionar quais registros (Notas Fiscais e/ou Embarques) deseja vincular ao Subprocesso, consequentemente irá desvincular no Processo de Exportação de Origem;
  • Ao salvar o registro deverá permitir também selecionar quais informações deverão ser replicadas e/ou geradas de forma automaticamente com base no Processo de Exportação de Origem:
    • SubProcesso de Exportação:
      • Declarações/Comunicações do Processo;
      • Acondicionamento;
      • Registro de Exportação; (obs.: O Número do RE Siscomex deverá ser informado manualmente na tela do EX5000).
      • Processo de Exportação de Origem:
        • Acondicionamento;
        • Registro de Exportação;
          • Elimina Informações de Exportação no Documento Fiscal em OF;

Observação: Esta tela somente será aberta ao cliente para seleção, caso o Processo de Exportação de Origem possua:

  • Declaração/Comunicação do Processo e/ou;
  • Acondicionamento e/ou;
  • Registro de Exportação;;

 

  • Com relação ao Processo de Exportação de Origem e SubProcesso, o mesmo terá que:
    • Ter seus valores recalculados;
    • Ter as informações do Acondicionamento (se houver) atualizados;
    • Ter as informações do RE e dos Anexos (se houver) atualizados;
      • Caso o usuário selecione a informação de Registro de Exportação, habilitar uma opção se o usuário deseja “eliminar” as informações de Exportação no Documento Fiscal em OF. Caso positivo, o mesmo será eliminado e o usuário poderá via EX5000 realizar a exportação dos dados para OF;
      • Título do Contas a Receber:
        • Geração do título com o número da nota fiscal:
          • Atualizar o número do Processo de Exportação;
        • Geração do título com o número do Processo de Exportação, será verificado:
          • Título já possui movimentações de valores;
          • Título vinculado a contrato de câmbio;

          • Título está estornado;

          • Título não possui saldo;

          • Comissão Representante enviado ao AP;

        • Em caso negativo será realizado Acerto de Valor a Menor no titulo e o título no CR será regerado com base nas duplicatas da NF.

  • Somente serão tratados os Processos de Exportação que estão na situação:
    • Aberto;
    • Faturado Parcial;
    • Faturado.

    • Desta forma, serão desconsiderados os Processos de Exportação que estão na situação Embarcados, e que poderão ter seus Log’s de contabilização gerados;
    • Não será permitido desvincular uma nota fiscal que seu Processo de Exportação já tenha tido seu Log de Geração de Tìtulos no CR e/ou Contabilização da Receita Processados com Sucesso;
    • Não será permitido desvincular uma nota fiscal que seu Processo de Exportação já tenha sido contabilizado (para clientes que realizam a contabilização pela Data do Embarque);
    • Não será permitido desvincular uma nota fiscal que já tenha sido contabilizada;

 

  • Implementar novo Folder no programa de Relacionamentos e Consulta dos Relacionamentos do Processo de Exportação (EX0190/EX1190) para que seja possível consultar todos os SubProcessos gerados a partir de um determinado Processo de Exportação;
  • Quando o Processo de Exportação tiver SubProcessos relacionados, o botão “Desvincular” dos folder’s “Nota Fiscal” e “Embarque” ficará habilitado, mesmo que o tipo do relacionamento for “Automático”.
    • Ao selecionar o botão “Desvincular” do EX0190, será executada a nova tela para que seja possível vincular a nota fiscal ao SubProcesso, onde o campo referente ao Processo de Exportação o qual as notas serão vinculadas, ficará habilitado para edição (mesma tela aberta quando confirmar a inclusão do Subprocesso de Exportação)
  • Cancelamento da Nota Fiscal:
    • Este procedimento não será afetado uma vez que uma Nota Fiscal será desvinculada total de um Processo para vinculação no Subprocesso de Exportação, portanto deverá realizar os mesmos cancelamentos já efetuados quando uma Nota Fiscal vinculada a um Processo é cancelada.
  • Registro de Exportação (EX5000):
    • Implementar um novo botão ao lado do “Anexos do RE” para que seja permitido “exportar” os dados de Exportação para o Documento Fiscal.
    • Este botão somente ficará habilitado se:
      • A Data da Emissão da Nota estiver dentro da Data de Congelamento dos Parâmetros de OF;
      • Existir o Documento Fiscal gerado em OF.
      • O Número do Registro de Exportação no Siscomex tiver sido informado no EX5000;
      • Ao clicar no botão para “exportar” os dados, deverá ser criado um novo registro de Documento Fiscal Exportação, que são as informações de Exportação que são vinculadas ao Documento em OF.

Diagrama de Ação


 

  • Todos os campos que utilizarão literais deverá ser utilizada a técnica de tradução.

 

  • EX0001 – USUÁRIO DE EXPORTAÇÃO

 Somente será possível desvincular uma Nota Fiscal e/ou Embarque que tenham sido vinculadas de forma “Automática”, caso o Usuário de Exportação possua permissão para realizar tal procedimento.

 Disponibilizar um novo parâmetro “Permite Desvincular NF/Embarque do Processo” (ver protótipo 10);

Deverá ser armazenada esta informação no campo de atributo livro lógico da tabela “usuar-export” e deverá vir inicialmente desmarcado.


 

  • EX3001/EX3101 – MANUTENÇÃO E CONSULTA DO PROCESSO DE EXPORTAÇÃO

 

    • Implementar no programa de Manutenção do Processo de Exportação e em sua consulta (EX3001/EX3101) uma flag para que seja possível identificar se aquele processo é um Subprocesso de acordo com o Protótipo 01 e Protótipo 02.
    • Implementar um campo novo no programa de Manutenção do Processo de Exportação e em sua consulta (EX3101) ao lado da flag “Subprocesso”, um campo que seja permitido ao usuário informar o Processo de Exportação que dará origem ao SubProcesso, será possível pesquisar o seu conteúdo (somente no EX3001).
    • Na navegação dos registros, para que a informação seja mostrada em tela, implementar na procedure “AfterDisplayFields” para que os dados referentes à Flag SubProcesso de Exportação e Processo de Exportação de Origem seja mostrado em tela corretamente.
    • Implementar na inclusão do registro de Processo de Exportação para quando a flag de “Subprocesso” estiver marcada, habilitar o campo “Processo de Exportação de Origem” para que seja informado a partir de qual registro o Subprocesso será gerado e as demais informações deste processo serão preenchidas automaticamente como se fosse uma cópia de registro;

 

  • EX3001: Manutenção Processo de Exportação

 

  • Flag “SubProcesso”

 

- Informações do campo:

 

    • Help do campo: Identifica se registro refere-se a SubProcesso de Exportação;
    • Gravação:

 

Marcado

Desmarcado

processo-exp.char-2,1,1 = “1’

processo-exp.char-2,1,1 = “”

 

 
 

  • Na criação de novo registro de Exportação, a mesma deverá vir Habilitada e Desmarcada;
  • Na modificação do registro, caso a flag estiver marcada deverá ficar “Desabilitada”;
  • Na modificação do registro, caso a flag estiver “desmarcada”, deverá ficar “Habilitada”;

 

 

 

  • Campo “Processo de Exportação de Origem”

 

- Informações do campo:

 

    • Tamanho: 16
    • Formato: x(12)
    • Help do campo: Informe o Processo de Exportação de Origem
    • Gravação:
      • Criar registro na tabela “proces-export-relacdo” conforme tabela abaixo:

 

 

 

Campo Tabela “proces-export-relacdo”

Valor a armazenar

Observação

cod-estabel                     

processo-exp.cod-estabel

 

nr-proc-exp                     

processo-exp.nr-proc-exp

 

 

 

 

cod-proces-export-orig          

processo-exp.nr-proc-exp

Screen-value do campo “Processo de Exportação de Origem” da tela EX3001;

cod-estabel-orig                

processo-exp.cod-estabel

Possuirá o mesmo estabelecimento do SubProcesso de Exportação;

hora                            

Hora Atual

STRING(TIME,"HH:MM:SS").

cod-usuario                     

Usuário logado no sistema

Definir a include ut-glob.i e utilizar o campo “c-seg-usuario”.

 

 

 

Exemplo de criação da tabela:

 

           Supondo que o Processo de Exportação de Origem “A” tenha gerado os SubProcessos “B” e “C” e o SubProcesso de Exportação “B” gerou os SubProcessos: “Z” e “Y”:

 

 

- Estabelecimento “1”

 

Processo de Exportação de Origem

SubProcesso de Exportação

A

B

A

C

B

Z

B

Y


  • Utilizar os métodos padrões da DBO para realizar gravação dos dados da tabela no dicionário de dados.
  • Na Criação e/ou Modificação de novo Registro, este campo deverá vir sempre desabilitado. Somente ficará habilitado quando marcar a flag “SubProcesso”.
  • Caso posicionado no campo, ao pressionar F5 ou dar duplo clique, deverá ser chamado o programa de Pesquisa de Processo de Exportação (Z10CX185);

  • Validação na confirmação da Inclusão/Alteração do Registro:

As validações deverão ser efetuadas na procedure “ValidateRecord” da BOCX185.

 

Observação: Realizar as validações abaixo somente se a flag “subProcesso” estiver marcado (processo-exp.char-2,1,1 = “1”)

 

 

- Somente será permitido informar “Processo de Exportação de Origem” que pertença ao mesmo estabelecimento do registro que está sendo inserido/modificado:

 

 

SubProcesso de Exportação

Processo de Exportação de Origem

tt-processo-exp.cod-estabel

bf-processo-exp.cod-estabel

 

 

- Somente será permitido informar “Processo de Exportação de Origem” que pertença ao mesmo Itinerário do registro que está sendo inserido/modificado. Caso não esteja, deverá ser emitida a mensagem: “158 - &1 inválido(a). Informe um(a) &1 válido(a). &2”.

 

Onde:        &1 = Processo de Exportação;

 

                  &2 = Itinerário do SubProcesso deve ser igual ao Itinerário do Processo de Exportação de Origem XXX (Informar no “XXX” o código do itinerário do Processo de Exportação de Origem).

 

- Se a flag “SubProcesso” estiver marcado, será obrigatório o usuário informar “Processo de Exportação de Origem”. Caso a informação esteja em branco, emitir a mensagem de validação “265 – Processo de Exportação de Origem deve ser informado”;

 

 

- Se a flag “SubProcesso” estiver marcado, e o usuário informar “Processo de Exportação de Origem”, a mesma deverá ser validada no sistema. E caso não encontrada, emitir a mensagem “2 - Não encontrado Processo de Exportação de Origem para chave informada”.

 

 

- Somente será possível informar no campo “Processo de Exportação de Origem” os processos que estiverem com a situação situação “Aberto”, “Faturado Parcial”, ou “Faturado” (processo-exp.cod-sit-proc = 1, 3, ou 7). Caso o “Processo de Exportação de Origem” informado for um diferente das 3 situações acima, o sistema deverá validar, emitindo a mensagem: “158 - &1 inválido(a).Informe um(a) &1 válido(a). &2

 

Onde:       &1 = Processo de Exportação

 

                  &2 = Deverá ser selecionado um Processo de Exportação que esteja com a situação: Aberto, Faturado Parcial ou Faturado.

 

 

 

- Ao confirmar a inclusão do registro, caso não tenha sido encontrado nenhum erro deverá ser aberto o programa EX3001C (Novo) para que seja permitido desvincular uma Nota Fiscal e/ou Embarque do Processo de Exportação de Origem para o Novo Processo de Exportação/SubProcesso.

 

 

  • Parâmetros a serem passados para o programa EX3001C:

 

Parâmetro

Tipo

Rowid processo-exp de Origem

Entrada

NO

Entrada

 

 

 

  • Validação de Eliminação do Registro

 

 

- Ao realizar a Eliminação de um Processo de Exportação (EX3001) que possua Processos Relacionados, emitir a mensagem abaixo questionando ao usuário se deseja eliminar o registro:

 

Mensagem: 17487 - &1 possui relacionamentos ativos.

 

Help: &1 possui relacionamento com a tabela &2. Confirma eliminação?

 

Parâmetros: &1 – Processo de Exportação

 

                      &2 – Processo de Exportação Relacionados. Caso a eliminação seja realizada, esse vinculo será desfeito.

 

Caso o usuário confirme a eliminação, o registro da tabela “proces-export-relacdo” deverá ser eliminado.

 

Consequentemente, as informações em tela do EX3001/EX3101 (flag e campo Processo de Exportação de Origem) e também nos Relacionamentos do Processo (EX0190/EX1190, novo Folder) não deverão ser mostrados.

 

 

  • BOCX358 – BO DA TABELA PROC-PED-ENT-DESP

 

  • Procedure AtualizaDespProcNota:

 

Dividir a procedure acima em duas etapas. O bloco existente após a execução da procedure “deleteDespProc” deverá ser colocado em outra procedure (ex.: AtualizaDespProcNotaAux) com os parâmetros de “ESTABELECIMENTO” E “NÚMERO DO PROCESSO DE EXPORTAÇÃO”. Isso pois temos que executar a criação das despesas no acompanhamento do procedure independente do valor recebido do parâmetro “pl-elimina-desp”, porém as despesas somente serão eliminadas caso o parâmetro “pl-elimina-desp” estiver igual a YES.

 

Portanto:

 

IF pl-elimina-desp THEN DO:

 

               Run deletedesproc................

 

               RUN AtualizaDespProcNotaAux (input p-cod-estabel,

 

                                                                  Input p-nr-proc-exp).

 

ELSE DO:

 

               RUN AtualizaDespProcNotaAux (input p-cod-estabel,

 

                                                                  Input p-nr-proc-exp).

 

END.

 

 

 

  • BOCX185 – BO DA TABELA PROCESSO-EXP

 

 

  • Definir a temp-table “tt_retorna_tit_acr_proc_exp” conforme definição efetuada na include ex0403b.i

 

 

 

  • Procedure pi-traducao-ems5:

 

Corrigir a acentuação da criação da tt_xml_input_output: “Função”.

 

 

  • Procedure “pi-cria-despesa-declaracao-novo-itiner”:
    • Inserir parâmetros para sua execução de acordo com a tabela abaixo:

 

Parâmetro

Tipo

Formato

pc-cod-estabel

Entrada

Like processo-exp.cod-estabel

pc-nr-proc-exp

Entrada

Like processo-exp.nr-proc-exp

pi-cod-itiner

Entrada

Like processo-exp.cod-itiner

pl-gera-despesa

Entrada

Lógico

pl-gera-declaracao

Entrada

Lógico

 

 

  • Alterar a chamada da procedure “pi-cria-despesa-declaracao-novo-itiner” realizada pela procedure “validateUpdate” para passar os novos parâmetros:
    • RowObject.cod-estabel;
    • RowObject.nr-proc-exp;
    • RowObject.i-cod-itiner;
    • Yes;
    • Yes.

 

  • Substituir os locais que utilizam os campos da tabela “RowObject” pelos parâmetros recebidos pela procedure;
  • Somente entrar no bloco referente às despesas quando a variável “pl-gera-despesa” for igual a YES;
  • Somente entrar no bloco referente às Declarações/Comunicações do Processo quando a variável “pl-gera-declaracao” for igual a YES;

 

 

 

  • Procedure pi-seta-atualiza-tit-ems5:

 

Colocar esse texto no objetivo da procedure:

 

“Essa procedure será responsável por identificar se deverá ou não ser zerado o titulo original para ser gerado novo titulo com o novo processo de exportação com o saldo restante.

 

Situações em que o título é gerado pelo número do Processo de Exportação.”

 

 

Deverá possuir o parâmetro abaixo que deverá atualizar uma variável do tipo lógica definida no inicio desta DBO:

 

 

Parâmetro

Tipo

Formato

pl-gera-novo-titulo

Entrada

Lógico

 

 

 

  • Procedure “pi-busca-titulos-ems5”:
    • Essa procedure deverá possuir o mesmo conteúdo da procedure “pi-busca-titulos-ems5” do programa EX0403B.p. Tem como objetivo retornar para o programa chamador todos os títulos do processo de Exportação que ainda possuem saldo.
    • Informações referentes aos parâmetros criados na temp-table “tt_leitura_tit_acr_proc_exp.”:

 

Parâmetro

Valor a receber

Empresa

“” (branco)

Empresa Externa

i-empresa

Estabelecimento

“” (branco)

Estabelecimento Externo

tt-serie.cod-estab-faturam

Número Processo

Nota-fiscal.nr-proc-exp

Cliente

Nota-fiscal.cod-emitente

Data Emissao Inicial

Da-dt-emis-nota-mais-antiga

Espécie

Parâmetro recebido na procedure (p-cod-esp)

Série

tt-serie.serie

 

  • i-empresa (exemplo do código no programa EX0403B):
    • Carregar inicialmente com o valor da param-global:

 

ASSIGN i-empresa = param-global.empresa-prin.

 

  • Acessar a tabela “estabelec” através do campo “nota-fiscal.cod-estabel”. Se o registro estiver disponível, executar o programa cd9970 conforme exemplo abaixo:

 

cdp/cd9970.p (INPUT  ROWID(estabelec),

 

                              OUTPUT i-empresa).

 

  • da-dt-emis-nota-mais-antiga (exemplo do código no programa EX0403B):
    • Com a tabela nota-fiscal posicionada, carregar inicialmente com a data de emissão da nota:

 

    ASSIGN da-dt-emis-nota-mais-antiga = nota-fiscal.dt-emis-nota.

 

  • Em seguida realizar acesso à tabela “proc-nota-fiscal” contra os campos abaixo:
    • Cod-estab-faturam;
    • Serie;
    • Nr-nota-fis.
    • Acessar novamente a tabela nota-fiscal através de um BUFFER contra os campos chaves da tabela (ver item acima) e se o valor armazenado na variável de data for MAIOR que a data da emissão da nota que está sendo lida, atualizar a informação:

 

        IF  nota-fiscal.dt-emis-nota < da-dt-emis-nota-mais-antiga THEN

 

            ASSIGN da-dt-emis-nota-mais-antiga = nota-fiscal.dt-emis-nota.

 

 

 

  • Procedure “atualizaProcessoTitulosCR”

 

 

    • Definir a variável “l-nr-processo” e carregá-la conforme está sendo feito hoje no programa ftapi001.p.

 

 

    • Caso o título tenha sido gerado com o número do Processo de Exportação (l-nr-processo), e Caso a variável que identifica se deve ou não gerar novo título recebida na procedure “pi-seta-atualiza-tit-ems5” = YES realizar os procedimentos descritos abaixo:

 

 

    • Antes de iniciar a integração com o Financeiro, realizar a criação da temp-table “tt-serie”. Sua definição e criação deverá ser feita como hoje é feito no programa EX0403B.p, procedure “pi-integra-ems5”;

 

 

  • Realizar acesso na tabela “tt-serie” com break by:

 

                      BREAK BY tt-serie.serie

 

                                   BY tt-serie.cod-estab-faturam

 

  • Dentro do for each da tt-serie, realizar acesso no buffer da tabela “fat-duplic” para buscar a “Espécie” da primeira duplicata da Nota Fiscal em questão. Executar a procedure  “pi-busca-titulos-ems5” passando como parâmetro espécie dessa duplicata para que seja retornada a temp-table “tt_retorna_tit_acr_proc_exp”.

 

 

  • No retorno da execução da procedure, executar o comando abaixo para que seja retornada a ultima parcela gerada dos títulos no CR para aquele processo de exportação:

 

ASSIGN i-nr-ultima-parcela-gerada = 0.

 

FOR EACH tt_retorna_tit_acr_proc_exp

 

            WHERE tt_retorna_tit_acr_proc_exp.tta_cod_tit_acr = tt-serie.serie:

 

 

            IF  INT(tt_retorna_tit_acr_proc_exp.tta_cod_parcela) > i-nr-ultima-parcela-gerada THEN

 

                ASSIGN i-nr-ultima-parcela-gerada = INT(tt_retorna_tit_acr_proc_exp.tta_cod_parcela).

 

      END.

 

 

 

 

  • Caso o título não tenha sido gerado com o número do Processo de Exportação, executar o comando existente a partir do FOR EACH abaixo:

 

FOR EACH fat-duplic FIELDS(cod-estabel cod-esp serie nr-fatura parcela dt-vencimen dt-emissao dt-desconto)

 


  • Procedure “pi-atualiza-cria-tit-ems5”: 

 

 Esta procedure será responsável por zerar o saldo do Título do Contas a Receber gerado com o número do Processo de Exportação de Origem para gerar NOVO título no Contas a Receber que deverá ser gerado com o número do SubProcesso de Exportação:

 

 

  • Deverá ser verificado se o movimento da comissão do representante já foi enviado ao contas a Pagar (temp-table referente ao campo “movto_comis_repres.log_movto_comis_envdo” retornado da ACR923za.py):
    • Caso negativo, o título original do Processo deverá ter seu saldo zerado e gerado novo título no Contas a Receber para o Subprocesso criado com o saldo restante;
    • Caso já tenha sido enviado ao Contas a pagar, será gerado um arquivo notificando ao usuário que o movimento da comissão do representante já foi enviada ao AP. Desta forma, o título deverá ter seus ajustes realizados de forma manual no Contas a Receber.

 

 

 

Parâmetro

Tipo

Formato

p-cod-estab

Entrada

Character

p-id-tit-acr

Entrada

Inteiro

p-nr-proc-exp-orig

Entrada

Character X(12)

p-nr-proc-exp-sub

Entrada

Character X(12)

 

                    * Este campo deverá corresponder ao Número do Processo de Exportação de Origem

 

    Definir as variáveis c-cod-refer e i-num-tit-acr conforme definido no programa

 

    

 

    DEF VAR p-cod-refer AS CHAR FORMAT 'X(10)':U NO-UNDO.

 

    DEF VAR p-num-tit-acr AS INT NO-UNDO.

 

 

 

Definir dois buffer’s para a tabela “processo-exp”, onde uma será para acessar o ROWID do Processo de Exportação Original e o segundo para acessar o ROWID do SubProcesso de Exportação.

 

 

 

    Acessar o buffer da tabela “processo-exp” referente ao Processo de Exportação Original.

 

    Executar o programa ftapi016.p para que seja criada a Referencia, conforme exemplo abaixo:

 

    RUN ftp/ftapi016.p(INPUT "F",

 

                       INPUT <estabelecimento_Processo_Original>,

 

                       OUTPUT p-cod-refer).

 

 

 

    Executar a procedure “pi-retorna-seq-tit-acr” conforme sugestão abaixo:

 

RUN pi-retorna-seq-tit-acr (INPUT p-cod-estab,

 

                                                INPUT p-id-tit-acr,

 

                                                INPUT TODAY,

 

                                                OUTPUT p-num-tit-acr).

 

 

 

  • Zerando o saldo do Título:

 

Para que possa ser zerado o saldo do título no Contas a Receber, executar a criação da temp-table “tt_alter_tit_acr_base_5” com as seguintes informações:

 

 

 

tta_cod_estab                 

p-cod-estab                                                            

tta_num_id_tit_acr            

p-id-tit-acr                                                           

tta_dat_transacao             

TODAY                                                                  

ttv_cod_motiv_movto_tit_acr_imp

?                                                                      

tta_val_sdo_tit_acr           

0                                                                     

ttv_cod_motiv_movto_tit_acr_alt

                                                                     

ttv_ind_motiv_acerto_val      

“Alteração”

tta_cod_portador              

?                                                                      

tta_cod_cart_bcia             

?                                                                      

tta_val_despes_bcia           

?                                                                      

tta_cod_agenc_cobr_bcia       

?                                                                       

tta_cod_tit_acr_bco           

?                                                                      

tta_dat_vencto_tit_acr        

&IF "{&ems_dbtype}":U = "MSS":U &THEN 01/01/1800 &ELSE 01/01/0001 &ENDIF

tta_dat_prev_liquidac         

&IF "{&ems_dbtype}":U = "MSS":U &THEN 01/01/1800 &ELSE 01/01/0001 &ENDIF

tta_dat_fluxo_tit_acr         

&IF "{&ems_dbtype}":U = "MSS":U &THEN 01/01/1800 &ELSE 01/01/0001 &ENDIF

tta_ind_sit_tit_acr           

?                                                                      

tta_cod_cond_cobr             

?                                                                      

tta_dat_abat_tit_acr          

&IF "{&ems_dbtype}":U = "MSS":U &THEN 01/01/1800 &ELSE 01/01/0001 &ENDIF

tta_val_abat_tit_acr          

?                                                                      

tta_val_perc_desc             

?                                                                      

tta_val_desc_tit_acr          

?                                                                      

tta_qtd_dias_carenc_juros_acr 

?                                                                      

tta_val_perc_juros_dia_atraso 

?                                                                      

tta_val_perc_multa_atraso     

?                                                                      

tta_qtd_dias_carenc_multa_acr 

?                                                                       

tta_ind_ender_cobr            

?                                                                      

tta_nom_abrev_contat          

?                                                                      

tta_val_liq_tit_acr           

?                                                                      

tta_log_tip_cr_perda_dedut_tit

?                                                                      

tta_cod_instruc_bcia_1_movto  

?                                                                       

tta_cod_instruc_bcia_2_movto  

?                                                                      

ttv_des_text_histor           

?                                                                       

tta_ind_tip_cobr_acr          

normal                                                               

tta_log_tit_acr_destndo       

?                                                                      

tta_des_obs_cobr              

?                                                                      

tta_cdn_repres                

?                                                                      

tta_val_perc_abat_acr         

?                                                                       

ttv_dat_base_fechto_vendor    

?                                                                      

tta_cod_proces_export         

p-nr-proc-exp-orig

tta_cod_refer                 

p-cod-refer                                                            

tta_num_seq_tit_acr           

p-num-tit-acr

 

 

 

Após criação da temp-table acima, executar os mesmos comandos existentes na procedure “pi-atualiza-tit-ems5” da BOCX185.

 

 

 

Caso não seja encontrado nenhum registro na temp-table de erros (tt_log_erros_alter_tit_acr), deverá ser criado o novo Título de Exportação com o número do SubProcesso com o saldo restante.

 

 

 

  • Criando o novo Título com o saldo do que foi zerado:

 

RUN pi_main_code_integr_acr_new_10 IN v_hdl_api_integr_acr (INPUT 11,

 

                                                                        INPUT v_cod_matriz_trad_org_ext,

 

                                                                        input yes,

 

                                                                        input no,

 

                                                                        INPUT TABLE tt_integr_acr_repres_comis_2,

 

                                                                        INPUT-OUTPUT TABLE tt_integr_acr_item_lote_impl_8,

 

                                                                        INPUT TABLE tt_integr_acr_aprop_relacto_2,

 

                                                                        INPUT-OUTPUT TABLE tt_params_generic_api).

 

 

 

                               Variável “v_cod_matriz_trad_org_ext”:

 

RUN prgint/ufn/ufn908za.py (input "1":u,

 

                                 INPUT "15":U,

 

                                 OUTPUT v_cod_matriz_trad_org_ext).

 

Criação da temp-table “tt_integr_acr_repres_comis_2”:

 

-          Verificar método da criação da tabela no programa FTAPI001 e FTAPI017;

 

Criação da temp-table “tt_integr_acr_item_lote_impl_8”:

 

-          Verificar método da criação da tabela no programa EX0403B.p, porém criar com o saldo restante do Título Original;

 

Criação da temp-table “tt_integr_acr_aprop_relacto_2”:

 

               - Não é necessária a criação dessa temp-table;

 

Criação da temp-table “tt_params_generic_api”:

 

               - Não é necessária a criação dessa temp-table;

 

  • BOCX285 – BO DA TABELA DECL-HIST-PROC-EXP

 

 

 

  • Criar a procedure “findDeclHistProcExp” que deverá possuir os parâmetros abaixo:

 

 

 

Parâmetro

Tipo

Formato

pcod-estabel

Entrada

Like decl-hist-proc-exp.cod-estabel

pnr-proc-exp

Entrada

Like decl-hist-proc-exp.nr-proc-exp

pcod-itiner

Entrada

Like decl-hist-proc-exp.cod-itiner

pc-return

Saída

Character

 

 

 

Deverá ser realizado acesso à tabela “decl-hist-proc-exp” de acordo com os parâmetros recebidos acima. O tratamento da variável “c-return” deverá ser o mesmo contido na procedure “findCh_emitida” da mesma DBO.

 

 

 

  • BOCX347 – BO DA TABELA REG-EXPORT

 

 

 

  • Criar a procedure “piCopiaRegistro” que deverá possuir os parâmetros abaixo:

 

 

 

Parâmetro

Tipo

Formato

pr-rowid-proc-orig

Entrada

Rowid

pr-rowid-proc-sub

Entrada

Rowid

 

 

 

Esta procedure deverá realizar a leitura da tabela “processo-exp” pelo parâmetrodo ROWID do Processo de Exportação de Origem recebido acima.

 

Deverá também acessar a tabela “processo-exp” pelo parâmetro ROWID do SubProcesso de Exportação recebido acima (para esta, criar um buffer para leitura).

 

 

 

Caso o registro do Processo de Exportação de Origem tenha sido encontrado, realizar acesso na tabela “reg-export” e então realizar um “create” e em seguida buffer-copy para uma nova temp-table definida LIKE a tabela “reg-export” e com o campo r-rowid.

 

 

 

  • Exceção do buffer copy:
    • Campo “reg-export.nr-re-ems”:
      • Será atualizado com o conteúdo do valor retornado da execução da procedure “afterProxSeq” da própria DBO;

 

 

 

  • Campos abaixo que deverão ser atualizados com os dados do SubProcesso de Exportação:
    • Estabelecimento do Processo de Exportação
    • Número do Processo de Exportação

 

 

 

  • Os campos abaixo deverão ser atribuídos com valor “0” (zero):
    • reg-export.val-pagto-antec
    • reg-export.val-pagto-avista
    • reg-export.val-parcdo
    • reg-export.val-margem-nao-sacad
    • reg-export.val-consig
    • reg-export.val-sem-cobert-cambio
    • reg-export.val-financto-reg-cr
    • reg-export.num-parcelas
    • reg-export.num-periodic

 

 

 

  • Os campos abaixo deverão receber os seguintes valores:
    • reg-export.idi-sit-reg-export = 1
    • reg-export.dat-envio  = ?
    • reg-export.nr-re-siscomex = “”
    • reg-export.dat-reg-export = ?

 

 

 

  • Executar os métodos padrões para criação do Registro no DBO.

 

 

 

  • Criar a procedure “piVerificaProcesso” que deverá possuir os parâmetros abaixo:

 

 

 

Parâmetro

Tipo

Formato

pcod-estabel

Entrada

Like reg-export.cod-estabel

pnr-proc-exp

Entrada

Like reg-export.nr-proc-exp

p-sit-reg-export

Saída

Like reg-export.idi-sit-reg-export

 

 

 

  • Deverá ser realizado acesso à tabela “reg-export” de acordo com os parâmetros recebidos acima.
    • Caso o registro não seja encontrado, retornar “NOK”.
    • Caso contrário, carregar a variável “p-sit-reg-export” com a variável “reg-export.idi-sit-reg-export e retornar “OK”:
      • Caso “1” (Pendente) retornar “OK”;
      • Caso “2” (Enviado) retornar “NOK”;

 

 

  • BOCX355 – BO DA TABELA PROCES-ACOND

 

  • Criar a procedure “piVerificaRegistroByProcesso”  que deverá possuir os parâmetros abaixo:

 

 

 

Parâmetro

Tipo

Formato

pcod-estabel

Entrada

Like proces-acond.cod-estabel

pnr-proc-exp

Entrada

Like proces-acond.nr-proc-exp

 

 

 

  • Deverá ser realizado acesso à tabela “proces-acond” de acordo com os parâmetros recebidos acima.
    • Caso o registro não seja encontrado, retornar “NOK”.
    • Caso contrário, retornar “OK”.

 

 

 

  • BOCX00436 – BO DA TABELA PROCES-EXPORT-RELACDO

 

 

  • Criar a procedure “piRetornaProcesExportRelacdo” que seja retornada a temp-table “tt-proces-export-relacdo” para a tela EX0190/EX1190.

 

 

 

Parâmetros

Tipo

Formato

Observação

pr-rowid

Entrada

Rowid

 

tt-proces-export-relacdo

Saída

Temp-table

Like proces-export-relacdo

Field r-rowid as rowed

Field identific as char

 

 

  • Criação da temp-table:

 

 

Acessar a tabela “processo-exp” pelo rowid recebido como parâmetro.

 

Com a tabela “processo-exp” posicionada, realizar acesso via FOR EACH na tabela “proces-export-relacdo” contra os campos:

 

-          Proces-export-relacdo.cod-estabel

 

-          Proces-expor-relacdo.nr-proc-exp

 

Em seguida realizar o create na temp-table que será retornada como parâmetro conforme abaixo:

 

 

 

Create tt-process-export-relacdo.

 

Buffer-copy process-export-relacdo to tt-proces-export-relacdo.

 

If tt-proces-export-relacdo.cod-proces-export-orig = tt-proces-export-relacdo.nr-proc-exp then

 

    Assign tt-proces-export-relacdo.identific = “Processo de Origem”;

 

Else

 

    Assign tt-proces-export-relacdo.identific = “SubProcesso”;

 

 

 

 

  • BOCX355 – BO DA TABELA PROCES-ACOND

 

 

  • Criar a Procedure “piRetiraTodosVolumes” que será responsável por eliminar os volumes já realizados para o Acondicionamento de Origem.

 

Deverá conter os mesmos comandos existente na trigger de CHOOSE DO BOTÃO btRetiraTodosVolumes do programa EX3500g.w.

 

 

  • Criar a procedure “piCriaCopiaAcond” responsável pela criação dos registros nas tabelas “Proces-acond” e “proces-acond-volm” na BOCX355 que deverá possuir os parâmetros abaixo:

 

Parâmetro

Tipo

Formato

pr-rowid-subprocesso

Entrada

Rowid

pr-rowid-processo-orig

Entrada

Rowid

pl-cria-acond

Entrada

Lógico

pl-cria-embalagem

Entrada

Lógico

RowErrors

Saída

Temp-table

 

 

 

Deverá ser feito acesso às tabelas “Processo-exp” para deixar os dois registros posicionados (do SubProcesso e do Processo de Origem)

 

 

  • Quando o parâmetro “pl-cria-acond = NO” e o parâmetro “pl-cria-embalagem = YES”:

 

Executar a procedure “piRetiraTodosVolumes” desta mesma BOCX355. Para permitir esta execução, através da tabela “processo-exp” do Processo de Origem posicionada, acessar a tabela “proces-embal-volum” via FOR EACH, pelo campo chave das tabelas (proces-embal-volum.cod-estabel e proces-embal-volum.nr-proc-exp).

 

 

  • Criação da tabela “proces-acond”:

 

Quando o parâmetro “pl-cria-acond” = yes:

 

 

Com o registro do Processo de Origem e do SubProcesso de Exportação posicionado, realizar acesso via FOR EACH no buffer da tabela “proces-acond” pelos campos chaves em comum entre as tabelas “processo-exp” e “proces-acond”.

 

 

 

Com a tabela posicionada, realizar create e buffer-copy do registro do buffer da tabela “PROCES-ACOND” para a TEMP-TABLE “PROCES-ACOND” atualizando as informações de Estabelecimento e Número do Processo de Exportação que deverão ser carregados com as informações do SubProcesso de Exportação via assign logo após o buffer-copy.

 

 

 

Executar os métodos padrões da BOCX355 para criação do registro.

 

 

 

  • Criação da tabela “proces-acond-volum”:

 

Caso não tenha sido encontrado nenhum erro durante a criação da tabela “Proces-acond”:

 

 

Definir a temp-table “tt-itens-proc-exp” (verificar a definição no programa EX3500d.w)

 

 

Ainda dentro do FOR EACH do buffer da tabela “PROCES-ACOND”, realizar outro FOR EACH no buffer da tabela “PROCES-ACOND-VOLUM” através do campo chave entre as tabelas “proces-acond” e “proces-acond-volum” e realizar o mesmo CREATE e buffer-copy na TEMP-TABLE “PROCES-ACOND-VOLUM” atualizando as informações de Estabelecimento e Número do Processo de Exportação que deverão ser carregados com as informações do SubProcesso de Exportação via assign logo após o buffer-copy.

 

 

Executar os métodos padrões da BOCX356 para criação do registro.

 

 

Observação: Somente não deverão ser executados os métodos padrões da DBO para criação do registro para o registro da temp-table que o campo “num-volum-acond” for igual a zero (isso pois existe o método “afterCreateRecord” na BOCX355 que realiza a criação do registro acima com o valor zero).

 

 

Ao término deverá ser fechado o bloco da verificação do valor do parâmetro pl-cria-acond = yes.

 

 

 

  • Criação da tabela “proces-embal-resum” e tabela “proces-embal-volum”;

 

Somente deverá ser executado esse bloco quando o valor do parâmetro “pl-cria-embalagem” = yes:

 

 

Executar a procedure abaixo no HANDLE da BOCX353 passando como parâmetros os dados do SubProcesso de Exportação:

 

 

RUN retornaItensProcExp IN h-bocx353 (INPUT <Estabelecimento do SubProcesso>,

 

                                                                INPUT <Número do processo do SUbProcesso>,

 

                                                                OUTPUT TABLE tt-itens-proc-exp).

 

 

Acessar a temp-table “tt-itens-proc-exp” via FOR EACH e executar os mesmos códigos existentes na trigger de CHOOSE DO BOTÃO “btOK” do programa EX3500G.w

 

 

Ao término deverá ser fechado o bloco da verificação do valor do parâmetro “pl-cria-embalagem” = yes.

 

 

  • EX3001C – Manutenção SubProcesso de Exportação

 

 

    • Desenvolver uma nova tela conforme Protótipo 03 que será executada ao confirmar a inclusão do SubProcesso onde:
      • Deverá ser do tipo “MasterDetail”;
      • Deverá possuir os parâmetros abaixo:

 

Parâmetro

Tipo

Formato

Observação

prowid-proc-orig

Entrada

Rowid

Rowid referente à tabela “processo-exp” do Processo de Exportação de Origem;

pl-habilita-sub-proc

Entrada

Lógico

Responsável por habilitar ou não o campo de SubProcesso de Exportação dependendo do programa chamador

 

 

 

  • Os browsers deverão conter as seguintes colunas:
    • Browser de Notas Fiscais:

 

Coluna

Valor Atribuído

Nota Fiscal

Nota-fiscal.nr-nota-fis

Série

Nota-fiscal.serie

Estab

Nota-fiscal.cod-estabel

Embarque

Nota-fiscal.cdd-embarq

Data Emissão

Nota-fiscal.dt-emis-nota

NatOperação

Nota-fiscal.nat-operacao

Embarque

Nota-fiscal.cdd-embarq

Tipo Nota Fiscal

Nota-fiscal.ind-tip-nota (diinc/i09di037.i 03).

Data Saída

Nota-fiscal.dt-saida

 

 

 

  • Browser de Embarques:

 

Coluna

Valor Atribuído

Embarque

Embarque.cdd-embarq

Situação

{diinc/i01di162.i 04 embarque.cod-sit-pre}

Estab

Nota-fiscal.cod-estabel

Série

Nota-fiscal.serie

Nota Fiscal

Nota-fiscal.nr-nota-fis

DtEmbarque

Embarque.dt-embarque

Preparador

Embarque.identific

 

 

 

  • Os campos de tela abaixo deverão ser carregados como hoje é feito nos programas “EX0190” e “EX0200”, porém com base nos dados referentes ao Processo de Exportação de Origem:

 

 

  • Ao clicar o botão “Marca Todos”, deverá marcar todos os registros e o “Label” do botão mudará para “Desmarca Todos”, que se clicado deverá desmarcar todos os registros selecionados (ver exemplo do funcionamento do botão no programa MLA0122);
  • Campo “SubProcesso de Exportação”: ficará habilitado somente quando executado via programa EX0190 através do botão “Desvincular” (variável “pl-habilita-sub-proc” = yes) para selecionar o Processo de Exportação que irá receber as notas/embarques vinculados. Somente Processos com as situações: Abertos, Faturados Parciais e Faturados.
    • Caso posicionado no campo, ao pressionar F5 ou dar duplo clique, deverá ser chamado o programa de Pesquisa de Processo de Exportação (Z10CX185);
    • Uma vez já vinculada Nota Fiscal e/ou Embarque ao SubProcesso de Exportação via EX3001C, o campo de SubProcesso de Exportação deverá ficar “desabilitado”.

 

 

  • Será permitido ao usuário selecionar a partir de qual informação ele deseja fazer a quebra do Processo de Exportação:
    • A partir da Nota Fiscal do Processo de Origem (Protótipo 03);
    • A partir do Embarque do Processo de Origem (Protótipo 04);

 

 

  • Esta nova tela irá carregar todas as Notas Fiscais e Embarques (independentes de já Confirmados ou não) que existem no Processo de Exportação Origem (browser 1) e todas as Notas Fiscais e Embarques que existem (se existirem) no SubProcesso conforme seleção do Usuário através do Radio-set do programa (ver nos protótipos 03 e 04);
    • Processo de Exportação de Origem:
      • Carregar Notas Fiscais (opção padrão do radio-set):
        • Definir as temp-tables “tt-proc-nota-fiscal-orig” e “tt-proc-nota-fiscal-sub” utilizando a include “BOCX260.i”.
        • Criar dois métodos na BOCX260NA:
          • Uma será a SetConstraint que irá receber a chave da tabela Processo de Exportação (processo-exp);
          • A outra será um OpenQuery na tabela {&TableName} com os campos recebidos pela SetConstraint criada acima;
          • Para abertura das queries nos Browsers, executar os métodos SetConstraint passando a chave da tabela Processo de Exportação de Origem, executar o método OpenQuery e em seguida executar o método “getBatchRecords” (ver exemplo da execução através do programa “ex3500c.w”) retornando as temp-tables acima (todos os métodos deverão estar na BOCX260na).
          • Executar novamente os métodos acima porém passando como parâmetros os dados referentes ao SubProcesso de Exportação para retornar a temp-table “tt-proc-nota-fiscal-sub”;

 

OBSERVAÇÃO: Deverão ser desconsideradas as Notas Fiscais que estiverem Canceladas e Devolvidas Totais (nota-fiscal.dt-cancela <> ? E proc-nota-fiscal.log-nf-devolvid = yes)

 

 

  • Carregar Embarques Relacionados (quando selecionado no radio-set a opção “Embarques”):
    • Definir as temp-tables “tt-embarque-orig” e “tt-embarque-sub” conforme definição da temp-table “tt-embarque” que consta no programa EX0190.w:
    • Executar o método abaixo da BOCX190 que deverá ser instanciada de forma persistente em um avariável do tipo “Handle” que será responsável por retornar os Embarques Relacionados ao “Processo de Exportação de Origem”:

 

RUN EmbarquesRelacionados IN h-bocx190(INPUT <nr_proc_exp_origem>,

 

                                                                       INPUT <cod_estab_origem>,

 

                                                                       OUTPUT TABLE tt-embarque-orig).

 

  • Executar novamente o método “EmbarquesRelacionados” na BOCX190 porém passando como parâmetros os dados referentes ao SubProcesso de Exportação para retornar a temp-table “tt-embarque-sub”;

 

 

  • Tela dos botões do programa de “Filtro” (Protótipo 05):

 

 Habilitará os campos de acordo com a opção marcada no Radio-set (Nota Fiscal ou Embarque).

 

Se estiver selecionado “Nota Fiscal”, os campos referentes ao Embarque deverão ser desabilitados. Caso selecionado “Embarque”, os campos referentes à Nota Fiscal deverão ser desabilitados;

 

  • Filtros Nota Fiscal:
    • Realizar leitura através da tabela proc-nota-fiscal (conforme o browser do botão de filtro de seleção – Processo de Exportação de Origem e/ou SubProcessos) e conforme a faixa de seleção informada em tela. Com relação ao campo de Emissão da Nota fiscal, após FOR EACH a tabela “proc-nota-fiscal”, realizar FOR FIRST na tabela “nota-fiscal” pelos campos chaves conforme tabela abaixo e caso o campo “dt-emis-nota” estiver fora da faixa de seleção, o registro deverá ser desconsiderado:

 

NOTA-FISCAL

PROC-NOTA-FISCAL

cod-estabel

cod-estab-faturam

serie

serie

nr-nota-fis

nr-nota-fis

 

 

 

  • Filtros Embarque: Realizar leitura através da tabela “Embarque” (conforme o browser do botão de filtro de seleção – Processo de Exportação de Origem e/ou SubProcessos) e conforme a faixa de seleção informada em tela. Pelos campos chaves e campo de Situação do Embarque conforme tabela abaixo:

 

EMBARQUE

PROCESSO-EXP

nr-proc-exp

nr-proc-exp

cdd-embarq

cdd-embarq

 

 

 

Acessar tabela “pre-fatur” para verificar a “Situação do Embarque conforme abaixo e caso o registro não seja encontrado, o mesmo deverá ser desconsiderado:

 

PRE-FATUR

EMBARQUE

cdd-embarq

cdd-embarq

 

 

       Pre-fatur.cod-sit-pre:

 

  • 1 Alocado
  • 2 Calculado
  • 3 Confirmado

 

 

 

  • Botão “Vincula Nota fiscal/Embarque” ao SubProcesso:

 

 

  • Definir a temp-table “tt-row-notas-geradas” que deverá possuir apenas um campo: “r-rowid-nota”.

 

Esta temp-table deverá conter todas os ROWIDs do registro da tabela “nota-fiscal” que foram vinculadas por intermédio da tela EX3001C para o SubProcesso de Exportação.

 

 

  • Ao desvincular a Nota Fiscal/Embarque do Processo de Exportação de Origem para vincular ao SubProcesso (na trigger do botão de vincular – seta para baixo):

 

 

  • Definir a variável “l-elimina-despesa” do tipo lógica;
  • Definir a temp-table “tt-bo-erro” (include {include/boini.i});
  • Definir a temp-table “tt-bo-erro-5” like tt-bo-erro;
  • Executar de forma persistente as seguintes BOs:
    • BOCX185.p;
    • BOCX190.p;
    • BOCX358.p.

 

 

COLOCAR TODO O TRECHO ABAIXO EM UMA TRANSAÇÃO, POIS CASO OCORRA ALGUMA  VALIDAÇÃO, O BLOCO INTEIRO TERÁ QUE SER DESFEITO:

 

 

  • Realizar as mesmas execuções existentes no botão “Desvincula” do folder “Nota Fiscal” e no botão “Desvincula” do folder “Embarque” do programa “EX0190” para que a Nota Fiscal/Embarque seja “Desvinculado” do processo de Exportação de Origem e tenha seus valores atualizados para que seja realizada a vinculação para o SubProcesso de Exportação:

 

 

 

  • Criar uma nova Procedure: “pi-desvincula-nota-embarque” que receberá como parâmetro as seguintes informações:
    • Estabelecimento do Processo de Exportação de Origem;
    • Número do Processo de Exportação de Origem;
    • Estabelecimento da Nota Fiscal;
    • Série da Nota Fiscal.
    • Número da Nota Fiscal;
    • Embarque
    • Origem das informações (radio-set: 1 – Nota Fiscal, 2 – Embarque).

 

 

 

Caso a origem das informações seja “1 – Nota Fiscal”:

 

Aqui deverá existir o conteúdo da trigger de choose do botão “btDesvinculaSon3” do EX0190.w (com exceção da procedure referente ao Contas a Receber – PiValidaCR).

 

 

 

Caso a origem das informações seja “2 – Embarque”:

 

Aqui deverá existir o conteúdo da trigger de choose do botão “btDesvinculaSon5” do EX0190.w (com exceção da procedure referente ao Contas a Receber – PiValidaCR).

 

Caso o Embarque possua mais de uma Nota Fiscal a vincular, deverá ser emitida uma mensagem de alerta ao usuário notificando as notas fiscais já calculadas e se deseja continuar.

 

 

 

Caso não seja encontrado nenhum erro durante a execução das procedures acima, seguir com o descrito abaixo:

 

 

 

  • Realizar as mesmas execuções da procedure “piGeracao” do programa EX0190L.w para que sejam criados os relacionamentos do SubProcesso de Exportação:
    • Criar uma nova Procedure: “pi-vincula-nota-embarque” que receberá como parâmetro as seguintes informações:
      • Estabelecimento do Processo de Exportação de Origem;
      • Número do Processo de Exportação de Origem;
      • Estabelecimento do SubProcesso de Exportação;
      • Número do Processo de Exportação do SubProcesso;
      • Origem das informações (radio-set da tela):
        • 1 – Nota Fiscal
        • 2 – Embarque
        • Estabelecimento da Nota Fiscal;
        • Série da Nota Fiscal.
        • Número da Nota Fiscal;
        • Embarque;

 

 

 

  • Parâmetros a serem passados para a Procedure “piValidaRelacionametnos”:
    • Estabelecimento da Nota Fiscal;
    • Série da Nota Fiscal;
    • Número da Nota Fiscal;
    • Embarque;
    • Origem do Relacionamento;
    • Número do SubProcesso de Exportação;
    • Estabelecimento do SubProcesso de Exportação.
    • Retorno da temp-table tt-bo-erro

 

 

 

  • Parâmetros a serem passados para a Procedure “piGeraRelacionamentos”:
    • Estabelecimento da Nota Fiscal;
    • Série da Nota Fiscal;
    • Número da Nota Fiscal;
    • Embarque;
    • Origem do Relacionamento;
    • Número do SubProcesso de Exportação;
    • Estabelecimento do SubProcesso de Exportação;
    • Retorno da Temp-table tt-bo-erro.

 

 

 

  • Executar a procedure “pi-seta-atualiza-tit-ems5” passando como parâmetro “YES”;

 

 

 

  • Se a Origem da seleção de registros for pela Nota Fiscal:
    • Parâmetros a serem passados para a Procedure “atualizaProcessoPelaNotaFiscal”:
      • Estabelecimento da Nota Fiscal;
      • Série da Nota Fiscal;
      • Número da Nota Fiscal;
      • Número do SubProcesso de Exportação;
      • Retorno da Temp-table tt-bo-erro-5;
      • Retorno da Temp-table tt-bo-erro.

 

 

 

  • Se a Origem da seleção de registros for pelo Embarque:
    • Parâmetros a serem passados para a Procedure “atualizaProcessoPeloEmbarque”:
      • Embarque;
      • Número do SubProcesso de Exportação;
      • Retorno da Temp-table tt-bo-erro-5;

 

Deverão ser vinculadas e atualizadas todas as notas fiscais que estão calculadas para o Embarque em questão.

 

 

 

  • Abaixo das execuções acima, realizar as demais execuções existentes na procedure “PiGeracao” do EX0190L.w

 

 

 

  • Antes de executar a procedure “PiAtualizaValoresProcesso”, realizar as execuções abaixo:
    • Executar a procedure “AtualizaDespProcNota” no Handle da BOCX358 passando os parâmetros abaixo:
      • Estabelecimento do SubProcesso de Exportação;
      • Número do SubProcesso de Exportação;
      • NO;

 

 

 

  • Após a execução da procedure acima, voltar a executar o mesmo código da procedure “PiGeracao” do programa EX0190L:

 

 

 

  • Sobre a procedure “PiAtualizaValoresProcesso”, passar os seguintes parâmetros:
    • Número do SubProcesso de Exportação;
    • Estabelecimento do SubProcesso de Exportação;
    • Retorno da Temp-table tt-bo-erro;

 

 

 

  • Procedure “atualizaSituacaoProcesso”, passar os seguintes parâmetros:
    • Estabelecimento do SubProcesso de Exportação;
    • Número do SubProcesso de Exportação;

 

 

 

  • Realizar a criação da temp-table “tt-row-notas” a partir do registro da nota fiscal vinculada ao SubProcesso de Exportação.
    • Executar a procedure “find_codigo” no handle da BODI135NA passando como parâmetros as informações abaixo de todas as notas Fiscais vinculada ao SubProcesso de Exportação:
    • Estabelecimento da Nota Fiscal Vinculada;
    • Série da Nota Fiscal Vinculada;
    • Número da Nota Fiscal Vinculada;

 

Se o parâmetro recebido “c-return” for igual a branco, executar a procedure abaixo no handle da BODI135NA:

 

       - getRowid e retornar o parâmetro "r-rowid-nota" que deverá ser utilizado para criação da temp-table “tt-row-notas”.

 

 

 

  • Atualização das informações do Títulos do Contas a Receber
    • Geração do título com o número da nota fiscal:
      • Atualização do número do Processo de Exportação no título do CR;
        • As procedures “atualizaProcessoPeloEmbarque” e “atualizaProcessoPelaNotaFiscal” também são responsáveis pela atualização o número do Processo de Exportação no título do Contas a Receber, portanto já irá atualizar esta informação no título.

 

 

 

  • Geração do título com o número do Processo de Exportação:
    • Se o título no Contas a Receber foi gerado com o número do Processo de Exportação, o título original do Processo deverá ter seu saldo zerado e deverá ser gerado novo título no Contas a Receber para o Subprocesso criado;

 

 

 

  • Botão “Desvincula Nota Fiscal/Embarque” do SubProcesso:

 

Realizar as execuções das procedures  “pi-desvincula-nota-embarque” e “pi-vincula-nota-embarque”, porém invertendo as informações:

 

  • Aonde eram enviados os parâmetros referentes ao Processo de Exportação de Origem, deverá ser passado os parâmetros do SubProcesso de Exportação e vice-versa.

 

 

 

  • Ao salvar o registro (clicar no botão “Sair” ou no “X” do programa EX3001C) deverá permitir também selecionar quais informações deverão ser replicadas e/ou geradas de forma automaticamente com base no Processo de Exportação de Origem, para isso realizar as seguintes verificações para execução do programa EX3001C1:

 

 

 

1) Seja localizado pelo menos uma Declaração/Comunicação do Processo e/ou;

 

  • Executar a procedure “findDeclHistProcExp” no handle da BOCX285 passando como parâmetros:
    • Estabelecimento do Processo de Exportação de Origem;
    • Número do Processo de Exportação de Origem;
    • Itinerário do Processo de Exportação de Origem;
    • Verificar o retorno “c-return”:
      • Carregar a variável “l-habilita-decl” de acordo com o c-return (se “diferente de branco”: no, se “branco”: yes)
      • Caso “l-habilita-decl = yes”, foi encontrado registro e deverá ser aberta a tela EX3001C1.w.

 

 

 

2) Exista Registro de Exportação criado para o Processo de Exportação e/ou;

 

  • Executar a procedure “piVerificaProcesso” no handle da BOCX347 passando como parâmetros:
    • Estabelecimento do Processo de Exportação de Origem;
    • Número do Processo de Exportação de Origem;
    • Será retornado o parâmetro “p-sit-reg-export”
    • Verificar o retorno “RETURN-VALUE”:
      • Carregar a variável “l-habilita-re” de acordo com o return-value (se NOK = no, se OK = yes)
      • Caso “l-habilita-re = yes”, foi encontrado registro e deverá ser aberta a tela EX3001C1.w.

 

 

 

3) O Documento fiscal que está sendo desvinculado do Processo de Exportação de Origem para vincular ao SubProcesso de Exportação esteja atualizado em OF:

 

  • Executar a procedure “find_codigo” no handle da BODI135NA passando como parâmetros as informações abaixo de todas as notas Fiscais vinculada ao SubProcesso de Exportação:
  • Estabelecimento da Nota Fiscal;
  • Série da Nota Fiscal
  • Número da Nota Fiscal;

 

Se o parâmetro recebido “c-return” for igual a branco, executar as procedures abaixo no handle da BODI135NA:

 

               - getRowid e retornar o parâmetro "r-rowid-nota" que deverá ser utilizado para passar como parâmetro na execução do programa EX3001C1.w[MMdS3] 

 

               - getDateField passando como parâmetro a literal “dt-at-ofest” e retornando a variável dt-at-of. Atualizar a variável “l-possui-nota-of” da segunte forma:

 

Assign l-possui-nota-of = if  dt-at-of  <> ? then yes else no.

 

 

 

Observação: Este será o único parâmetro que não irá influenciar na abertura do programa EX3001C1.w.

 

 

 

4) Exista Acondicionamento criado para o Processo de Exportação:

 

  • Executar a procedure “piVerificaRegistroByProcesso” no handle da BOCX355 passando como parâmetros:
    • Estabelecimento do Processo de Exportação de Origem;
    • Número do Processo de Exportação de Origem;
    • Verificar o retorno “RETURN-VALUE”:
      • Carregar a variável “l-habilita-acond” de acordo com o return-value (se NOK = no, se OK = yes)
      • Caso “l-habilita-acond = yes”, foi encontrado registro e deverá ser aberta a tela EX3001C1.w.

 

 

 

  • Parâmetros para execução do programa EX3001C1:

 

 

 

Parâmetros

Tipo

Formato

pr-rowid-subprocesso

Entrada

Rowid

pr-rowid-procorigem

Entrada

Rowid

pl-habilita-decl

Entrada

Lógico

pl-habilita-re

Entrada

Lógico

pl-habilita-acond

Entrada

Lógico

pl-possui-nota-of

Entrada

Lógico

pr-rowid-nota-fiscal

Entrada

Rowid

 

 

 

 

  • EX3001C1 – ATUALIZAÇÃO DE INFORMAÇÕES

 

 

 

Criar uma nova tela (EX3001C1) com os seguintes parâmetros e informações (ver Protótipo 06):

 

  • O programa deverá ser do tipo “Detail”, semelhante ao EX0190N.w.
  • Enquanto esta tela estiver aberta, não será possível acessar a tela EX3001C.
  • Sua execução e chamadas de parâmetros deverá ser semelhante ao programa EX0190N.w executado pelo programa principal EX0190.w;
    • Receber como parâmetros (Entrada):
      • Rowid da tabela “processo-exp” referente ao SubProcesso de Exportação;
      • Rowid da tabela “processo-exp” referente ao Processo de Exportação de Origem;
      • l-habilita-decl do tipo lógico;
      • l-habilita-re do tipo lógico;
      • l-habilita-acond do tipo lógico;
      • l-possui-nota-of do tipo lógico;

 

 

 

  • Regra de Negócio dos campos da tela EX3001C1:

 

 

  • Parâmetros referentes ao SubProcesso de Exportação
    • Declaração/Comunicação do Processo:
      • Regra do campo estar habilitado: Somente Habilita quando encontrar pelo menos uma declaração/comunicação no Processo de Exportação de Origem (verificar valor recebido do parâmetro “l-habilita-decl” = yes);
      • Acondicionamento:
        • Regra do campo estar habilitado: Somente habilita quando encontrar um Acondicionamento gerado para o Processo de Exportação de Origem (verificar valor recebido do parâmetro “l-habilita-acond” = yes);
        • Registro de Exportação:
          •  Regra do campo estar habilitado: Somente habilita quando encontrar pelo menos um Registro de Exportação no Processo de Exportação de Origem (verificar valor recebido do parâmetro “l-habilita-re” = yes).

 

 

 

  • Parâmetros referentes ao Processo de Exportação de Origem:
    • Acondicionamento:
      • Regra do campo estar habilitado: Somente habilita quando encontrar um Acondicionamento gerado para o Processo de Exportação de Origem (verificar valor recebido do parâmetro “l-habilita-acond” = yes);
      • Registro de Exportação:
        •  Regra do campo estar habilitado: Somente habilita quando encontrar pelo menos um Registro de Exportação no Processo de Exportação de Origem (verificar valor recebido do parâmetro “l-habilita-re” = yes)
        • Elimina Informações de Exportação do Documento Fiscal em OF:
          • Regra do campo estar habilitado: Somente habilita quando o usuário marcar a opção “Registro de Exportação” e a variável “l-habilita-of” = yes;

 

 

 

  • Trigger de Choose do botão “OK” da tela EX3001C1 (criar uma procedure para cada atualização):

 

 

  • SubProcesso de Exportação

 

 

 

- Declaração/Comunicação do Processo:

 

Caso o usuário tenha selecionado a opção “Declaração/Comunicação do Processo” para que seja gerado de forma automática realizar o descrito abaixo:

 

  • Nesta procedure, deverá ser executada a procedure “pi-seta-itinerario-anterior” no handle da BOCX185 passando como parâmetro o “Itinerário” do Processo de Exportação de Origem;
  • Em seguida realizar a execução da procedure “pi-cria-despesa-declaracao-novo-itiner” no handle da BOCX185, passando como parâmetros:
    • Estabelecimento do SubProcesso de Exportação;
    • Número do Processo do SubProcesso de Exportação;
    • Itinerário do SubProcesso de Exportação (que será igual ao do Processo de Exportação de Origem);
    • “NO” (para não gerar as despesas)
    • “YES” (para gerar as Declarações/Comunicações do Processo);

 

 

 

- Registro de Exportação:

 

Caso o usuário tenha selecionado a opção “Registro de Exportação” para que seja gerado de forma automática:

 

  • Executar a procedure “piCopiaRegistro” no handle da BOCX347 passando como parâmetros:
    • Rowid da tabela Processo-exp referente ao Processo de Exportação de Origem;
    • Rowid da tabela Processo-exp referente ao SubProcesso de Exportação;
    • Criação dos Itens dos Anexos:
      • Executar o mesmo código existente na trigger de choose do botão “btGerarItens” do programa EX5100E.w.
      • Criação dos Anexos e atualização dos valores do Registro de Exportação:
        • Executar o mesmo código existente na trigger de choose do botão “btGeranexos” do programa EX5100E.w, porém no lugar das variáveis abaixo, passar os seguintes valores:

 

Variáveis

Novos Valores

i-idi-desc-anex

1

i-idi-quant-col

1

l-idi-consid-cfop

no

 

 

 

- Acondicionamento:

 

Caso o usuário tenha selecionado a opção “Acondicionamento”, para que seja gerado de forma automática:

 

  • Deverão ser criados os registros nas tabelas abaixo como sendo “cópia” do processo de exportação de Origem e o que irá mudar são os volumes relacionados. Ou sejam,  os registros da tabela abaixo deverão ser iguais
    • proces-acond
    • proces-acond-volum

 

 

 

Para isso, executar o método “piCriaCopiaAcond” no Handle da BOCX355 passando como parâmetros:

 

 

Parâmetro

Tipo

Formato

Observação

pr-rowid-subprocesso

Entrada

Rowid

 

pr-rowid-processo-orig

Entrada

Rowid

 

YES

Entrada

Lógico

Criar Acondicionamento?

YES

Entrada

Lógico

Embalar as entregas?

RowErrors

Saída

Temp-table de Erros

 

 

 

 

 

 

  • Parâmetros referentes ao Processo de Exportação de Origem:
    • Registro de Exportação

 

Caso selecionada a opção referente ao Registro de Exportação (Itens e Anexos), realizar os procedimentos descritos abaixo;

 

  • Atualização dos Itens dos Anexos:
    • Executar o mesmo código existente na trigger de choose do botão “btGerarItens” do programa EX5100E.w.
    • Atualização dos Anexos e atualização dos valores do Registro de Exportação:
      • Executar o mesmo código existente na trigger de choose do botão “btGeranexos” do programa EX5100E.w, porém no lugar das variáveis abaixo, passar os seguintes valores:

 

Variáveis

Novos Valores

i-idi-desc-anex

1

i-idi-quant-col

1

l-idi-consid-cfop

no

 

 

 

  • Eliminar informações de Exportação do Documento Fiscal em OF:

 

Caso selecionada a opção para eliminar os dados de Exportação do documento em Obrigações Fiscais, deverão ser executados os comandos abaixo:

 

 

 

Posicionar na tabela “NOTA-FISCAL” através do ROWID recebido como parâmetro através do programa EX3001C e implementar também os mesmos comandos localizados nos programas e procedures abaixo:

 

  • Trigger de choose do botão “bt-eliminar” do programa OF0305A-v05.w;
  • Procedure “pi-grava-registro” do programa OF0305A-v05.w a partir do comentário “/*Elimina registros docto-fisc-export*/” até fechar o FOR EACH na tabela “tt-docto-fisc-exporta-elimina”.
  • Na listagem do relatório, informar que o registro foi eliminado e que caso deseja atualizar com base no SubProcesso de Exportação, utilizar o botão do EX5000.

 

 

 

  • Acondicionamento

 

Caso selecionada a opção referente ao Acondicionamento (Itens e Anexos), realizar os procedimentos descritos abaixo;

 

 

Para isso, executar o método “piCriaCopiaAcond” no Handle da BOCX355 passando como parâmetros:

 

 

Parâmetro

Tipo

Formato

Observação

pr-rowid-subprocesso

Entrada

Rowid

 

pr-rowid-processo-orig

Entrada

Rowid

 

NO

Entrada

Lógico

Criar Acondicionamento?

YES

Entrada

Lógico

Embalar as entregas?

RowErrors

Saída

Temp-table de Erros

 

 


 

  • Título do Contas a Receber (contabilização pela data de emissão da nota):
    • Geração do título com o número da nota fiscal:
      • Deverá ser atualizado o número do Processo de Exportação no Título do Contas a Receber.
      • Geração do título com o número do Processo de Exportação:
        • Se o título no Contas a Receber foi gerado com o número do Processo de Exportação, o título original do Processo deverá ser baixado e gerado novo título no Contas a Receber para o Subprocesso criado;
        • Não será permitido desvincular uma nota fiscal que seu Processo de Exportação já tenha tido seu Log de Geração de Tìtulos no CR e/ou Contabilização da Receita Processados com Sucesso;
        • Não será permitido desvincular uma nota fiscal que seu Processo de Exportação já tenha sido contabilizado (para clientes que realizam a contabilização pela Data do Embarque);
        • Não será permitido desvincular uma nota fiscal que já tenha sido contabilizada;

 

 

 

  • EX0190/EX1190 – Relacionamentos do Processo de Exportação/Consulta dos Relacionamentos do Processo de Exportação

 

  • Implementar novo Folder conforme Protótipos 07 e 08 no programa de Relacionamentos e Consulta dos Relacionamentos do Processo de Exportação (EX0190/EX1190) para que seja possível consultar todos os SubProcessos gerados a partir de um determinado Processo de Exportação;

 

 

  • Esse folder corresponderá à tabela “proces-export-relacdo”;
  • Informações das colunas do Browser:

 

 

 

Coluna

Valor

Estabelecimento

tt-proces-export-relacdo.cod-estabel

Processo de Exportação

tt-proces-export-relacdo.nr-proc-exp

Identificador

SubProcesso de Exportação e/ou Processo de Exportação de Origem

 

 

Para retornar os valores do browser, deverá ser executada a procedure abaixo e os seguintes parâmetros, em seguida realizar a abertura da query do Browser em questão:

 

 

Procedure: piRetornaProcesExportRelacdo

 

 

 

Parâmetros

Tipo

Formato

Observação

pr-rowid

Entrada

Rowid

 

tt-proces-export-relacdo

Saída

Temp-table

Like proces-export-relacdo

Field r-rowid as rowed

Field identific as char

 

 

 

  • Antes de efetuar a chamada das procedures “atualizaProcessoPelaNotaFiscal” e “atualizaProcessoPeloEmbarque”, executar a procedure “pi-seta-atualiza-tit-ems5” passando como parâmetro “NO”;

 

 

  • Botão “Desvincular” dos folder’s “Nota Fiscal” e “Embarque”:

 

 

  • O botão “Desvincular” dos folder’s “Nota Fiscal” e “Embarque” ficarão habilitados, mesmo que o tipo do relacionamento seja  “Automático”.
  • Ao selecionar o botão “Desvincular” do EX0190, será executada a nova tela para que seja possível vincular a nota fiscal ao SubProcesso, onde o campo referente ao SubProcesso de Exportação o qual as notas serão vinculadas, ficará habilitado para edição (mesma tela aberta quando confirmar a inclusão do Subprocesso de Exportação):
  • Parâmetros a serem passados para o programa EX3001C:

 

Parâmetro

Tipo

Rowid processo-exp de Origem

Entrada

YES

Entrada

 

 

 

  • Caso uma Nota Fiscal e/ou Embarque seja desvinculado do Processo de Exportação e vinculado ao SubProcesso de Exportação informado na tela do EX3001C, deverá:
    • Ser criado registro na tabela “proces-export-relacdo” (ver regra de gravação da tabela no diagrama de ação do programa EX3001);
    • SubProcesso de Exportação terá que ter a flag marcada (processo-exp.char-2,1,1 = “1’);
    • Ao consultar o Processo de Exportação via EX3001/EX3101 e/ou consulta e manutenção dos relacionamentos (EX0190/EX1190) essa informação precisará estar disponível;

 

 

 

  • EX0190L – Relacionamento Embarques/Notas Fiscais
    • Antes de efetuar a chamada das procedures “atualizaProcessoPelaNotaFiscal” e “atualizaProcessoPeloEmbarque”, executar a procedure “pi-seta-atualiza-tit-ems5” passando como parâmetro “NO”;

 

 

 

  • EX5000 – REGISTRO DE EXPORTAÇÃO

 

 

  • Os dados de Exportação somente serão atualizados em Obrigações Fiscais caso a Data da Emissão da Nota estiver dentro da Data de Congelamento dos Parâmetros de OF;

 

 

  • Implementar um novo botão ao lado do botão “Anexos do RE” para que seja permitido “exportar” os dados de Exportação para o Documento Fiscal. Verificar no Protótipo 08 a localização do botão.
    • Informações referentes ao botão:
      • IMAGE-UP FILE "image~\im-exp":U
      • IMAGE-INSENSITIVE FILE "image~\ii-exp":U
      • Tooltip: Atualiza Documento em OF;

 

 

  • Este botão somente deverá estar habilitado se (criar uma procedure):
    • Existir o Documento Fiscal gerado em OF:
      • Lógica do botão para HABILITAR/DESABILITAR:
        • Será necessário definir a temp-table “tt-row-doc-fisc” que conterá apenas um campo do tipo ROWID: r-rowid.
        • Através da tabela “reg-export”, acessar a tabela “proc-nota-fiscal”  através dos campos de Estabelecimento e Número do processo de Exportação de forma que sejam consideradas todas as notas fiscais vinculadas a esse Processo, mas este acesso somente deverá ser efetuado se existir informação no Número do Registro de Exportação (reg-export.nr-re-siscomex). Deverá ser definido nome para esta transação.
        • Validar a Data de Congelamento dos Parâmetros de Obrigações Fiscais (OF0301)
          • Através da tabela “proc-nota-fiscal”, acessar a tabela “nota-fiscal” através dos campos da tabela abaixo:

 

PROC-NOTA-FISCAL

NOTA-FISCAL

cod-estab-faturam

cod-estabel

serie

serie

nr-nota-fis

nr-nota-fis

 

 

 

Exemplo: find param-of where

 

             param-of.cod-estabel = nota-fiscal.cod-estabel no-lock no-error.

 

         FIND estabelec WHERE

 

              estabelec.cod-estabel = nota-fiscal.cod-estabel NO-LOCK NO-ERROR.

 

         if  avail param-of

 

             and param-of.dt-congela <> ? then

 

 

 

             if  nota-fiscal.dt-emis-nota <= param-of.dt-congela

 

             and param-of.dt-congela <> ? then do:

 

             end.

 

Se a afirmação acima for verdadeira, o botão também deverá estar desabilitado;

 

 

  • Dentro da leitura da tabela “proc-nota-fiscal”, acessar a tabela “reg-export-anexo” contra a tabela “reg-export” utilizando o índice primário e único desta última tabela.
  • Carregar a variável do tipo caracter “c-num-re” com as mesmas informações que hoje esta variável recebe na OFAPI002.P.
  • Acessar a tabela “doc-fiscal” contra a tabela “proc-nota-fiscal” de acordo com a tabela abaixo e caso a tabela não esteja disponível, desconsiderar este registro para que seja considerado novo registro da transação de acesso à tabela “proc-nota-fiscal”.

 

DOC-FISCAL

PROC-NOTA-FISCAL

cod-estabel

cod-estab-faturam

serie

serie

nr-nota-fis

nr-nota-fis

 

 

 

  • Realizar verificação da existência do registro do Documento Fiscal de Exportação (docto-fisc-export) contra a tabela “doc-fiscal” conforme abaixo:

 

DOCTO-FISC-EXPORT

DOC-FISCAL

docto-fisc-export.cod-estab      

doc-fiscal.cod-estabel        

docto-fisc-export.cod-serie      

doc-fiscal.serie              

docto-fisc-export.cod-docto-fisc 

doc-fiscal.nr-doc-fis         

docto-fisc-export.cdn-emitente   

doc-fiscal.cod-emitente       

docto-fisc-export.cod-natur-operac

doc-fiscal.nat-operacao       

docto-fisc-export.cod-reg-export 

trim(substring(c-num-re,1,12)))

 

 

  • Caso o registro na tabela “docto-fisc-export” não exista, o botão deverá ficar HABILITADO. Caso contrário deverá permanecer DESABILITADO.

 

 

  • Atualização dos dados de Exportação em Obrigações Fiscais:
    • Deverá ser utilizada a mesma lógica para HABILITAR E/OU DESABILITAR o botão de Exportação de dados e acrescentar o tratamento abaixo após o item “caso o registro na tabela “docto-fisc-export” não exista”:
    • Criar um registro na temp-table “tt-row-doc-fisc” e o campo “r-rowid” deve ser atualizado com o ROWID da tabela “doc-fiscal”.
    • Em seguida executar a API de OF responsável pela atualização dos dados de Exportação no Documento fiscal de acordo com as informações abaixo:
      • RUN ofp/ofapi002.p (INPUT TABLE tt-row-doc-fiscal,

 

   INPUT h-acomp).

 

  • Observação h-acomp:
    • Para o handle h-acomp, instanciar com a informação “Atualizando Documento em OF”.
    • Desabilitar o botão “cancelar”;
    • Eliminar o handle instanciado antes do bloco principal da lógica acima.
    • Ao término da execução da atualização (OFAPI002), emitir uma mensagem em tela “34644 Atualização Efetuada com Sucesso. Help: Atualização &1 foi concluída com sucesso.” (&1 = “dos dados em OF”)

 

 

  • ACR923ZA.py – BUSCA TÍTULOS DO EMS5

 

 

 

Alterar a API de busca de títulos do EMS5 para que também seja retornada a temp-table referente às comissões dos representantes;

 



Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

EX3001 – Manutenção Processo de Exportação

[Alteração]

Logística -> Exportação -> Tarefas

-

EX3101 - Consulta Processo de Exportação

[Alteração]

Logística -> Exportação -> Consultas

-

EX3001C - Manutenção NF/Embarque SubProcesso de Exportação

[Criação]

Executado via EX3001/EX0190

-

EX3001C1 - Atualizações SubProcesso e Processo de origem

[Criação]

Executado via EX3001C

-

EX3001C2 - Seleção de NF/Embarques

[Criação]

Executado via EX3001C

-

EX0190 - Relacionamentos do Processo de Exportação

[Alteração]

Logística -> Exportação -> Tarefas

-

EX0190L - Relacionamento Embarques/Notas Fiscais

[Alteração]

Executado via EX0190

-

EX1190 - Consulta Relacionamentos do Processo

[Alteração]

Logística -> Exportação -> Consultas

-

BOCX185

[Alteração]

BO tabela processo-exp

-

BOCX260NA

[Alteração]

BO tabela proc-nota-fiscal

-

BOCX355

[Alteração]

BO tabela proces-acond

-

BOCX358

[Alteração]

BO tabela proc-ped-ent-desp

-

BOCX347

[Alteração]

BO tabela reg-export

-

BOCX00436

[Criação]

BO tabela proces-export-relacdo

-

database/tgcx/tcp/tccx00436.p

[Criação]

Trigger de Create da tabela proces-export-relacdo

-

database/tgcx/tdp/tdcx00436.p

[Criação]

Trigger de Delete da tabela proces-export-relacdo

-

database/tgcx/twp/twcx00436.p

[Criação]Trigger de Write da tabela proces-export-relacdo 

ACR923ZA.PY

[Alteração]

API de busca de títulos de Exportação com saldo no EMS5

-

Protótipo de Tela

 

Protótipo 01


Protótipo 02


Protótipo 03


Protótipo 04


Protótipo 05


Protótipo 06


Protótipo 07


Protótipo 08

 

Protótipo 09

 

 

 

 

 

 

 

Fluxo do Processo

 N/A


Dicionário de Dados


 

  • Reserva de Campos livres

 

 

  • Tabela: processo-exp

    Campo

    Pos Ini

    Pos Fim

    Atributo Substituto

    Descrição

    Char-2

    1

    2

    ?

    Identifica se refere-se a SubProcesso de Exportação

 

Tabela

proces-export-relacdo

Banco

mgcex

Label

Processo Exp Relacionado

Descrição

Processos de Exportação Relacionados

Dump-name

cx00436

Trigger create

database/tgcx/tcp/tccx00436.p

Trigger delete

database/tgcx/tdp/tdcx00436.p

Trigger write

database/tgcx/twp/twcx00436.p


Índice

Chave

prcsxprt_ix3

cod-estabel-orig + cod-proces-export-orig

prcsxprt_ix4 (primário e único)

cod-estabel + cod-proces-export + cod-estabel-orig + cod-proces-export-orig

prcsxprt_ix5

cod-estabel + cod-proces-export + cod-usuario + data + hora

Campo

Tipo

Tamanho/FormatoDescriçãoTítuloPictureHelp de Campo

cod-estabel

character

x(5)

Código do Estabelecimento

Estabelecimento

 

 

cod-proces-export

character

x(12)

Número  Processo Exportação

Processo Exportação

 

 

cod-estabel-orig

character

x(5)

Código do Estabelecimento de Origem

Estabelecimento Origem

 

 

cod-proces-export-orig

character

x(12)

Número Processo Exportação de Origem

Processo Exportação Origem

 

 

data

date

99/99/9999

Data da Criação do Relacionamento

Data

 

 

hora

character

x(8)

Horário da criação do Relacionamento

Hora Transação

 

 

cod-usuario

character

x(12)

Usuário Responsável pela criação do Relacionamento

Código Usuário

 

 

observacao

character

x(2000)

Observação

Observação

 

 

cod-livre-1     

character 

x(500)                 

Código Livre 1          

Livre 1  

 

Atributo livre para uso interno

cod-livre-2     

character

x(500)                 

Código Livre 2          

Livre 2  

 

Atributo livre para uso interno

val-livre-1     

decimal

->>>>>>>>>>>9.99999999 

Valor Livre 1

Livre 1  

 

Atributo livre para uso interno

val-livre-2

decimal

->>>>>>>>>>>9.99999999 

Valor Livre 2

Livre 2

 

Atributo livre para uso interno

num-livre-1

integer 

->>>>>>>>>9            

Número Livre 1

Livre 1

 

Atributo livre para uso interno

num-livre-2

integer 

->>>>>>>>>9            

Número Livre 1

Livre 2

 

Atributo livre para uso interno

log-livre-1

logical 

Sim/Não                

Lógico Livre 1

Livre 1

 

Atributo livre para uso interno

log-livre-2

logical 

Sim/Não                

Lógico Livre 2

Livre 2

 

Atributo livre para uso interno

dat-livre-1

date 

99/99/99               

Data Livre 1

Livre 1

 

Atributo livre para uso interno

dat-livre-2

date 

99/99/99               

Data Livre 2  

Livre 2

 

Atributo livre para uso interno

 

 

Grupo de Perguntas

N/A

Consulta Padrão

N/A

Estrutura de Menu

 

Programas

Programa

EX3001C

EX3001C1

EX3001C2

Descrição

Manutenção NF/Embarque SubProcesso de Exportação

Atualizações SubProcesso e Processo de origem

Seleção de NF/Embarques

Nome Externo

exp/ex3001c.w

exp/ex3001c1.w

exp/ex3001c2.w

Nome Menu

Manut NF/Embarque SubProcesso Exportação

Atualizações SubProcesso e Processo de origem

Seleção de NF/Embarques

Nome Verbalizado[1]

 

 

 

Programa UPC

 

 

 

Procedimento

EX3001

EX3001

EX3001

Template

Cadastro Simples

Cadastro Simples

Janela Detalhe

Tipo[2]

Manutenção

Manutenção

Consulta

Interface

GUI

GUI

GUI

Categoria[3]

 

 

 

Executa via RPC

Sim/Não

Sim/Não

Sim/Não

Registro padrão

Sim

Sim

Sim

Outro Produto

Não

Não

Não

Visualiza Menu

Não

Não

Não

Query on-line

Não

Não

Não

Log Exec.

Não

Não

Não



[1] Nome Verbalizado é obrigatório para desenvolvimentos no Datasul 10 em diante.

[2] Tipo é obrigatório para desenvolvimento no Datasul 10 em diante

[3] Categorias são obrigatórias para os programas FLEX.

 

Cadastro de Papéis

N/A

 


#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))