01. DADOS GERAIS

Produto:

Linha de Produto:

Segmento:

Módulo:

EGP

Função:Extrator UNICOO
País:Brasil
Ticket:


02. SITUAÇÃO/REQUISITO

O processo de extração deve gerar o arquivo JSON para exportação das autorizações em aberto autorizadas do sistema para que sejam importadas no TOTVS 12.

03. SOLUÇÃO

Foi implementado o processo de exportação das autorizações em aberto do sistema UNICOO para o TOTVS 12.

O processo é dividido em quatro etapas: Seleção, Processamento, Geração dos arquivos e Retorno do Processamento.

03.1 SELEÇÃO

A seleção fará a carga da tabela IMPORT_AUTORIZACAO_GPS, nela serão carregados todas as autorizações e serviços que deverão ser exportados e servirá de base para o processamento.

A view V_IMPORT_AUTORIZACAO_GPS possui blocos de seleção para buscar as autorizações de beneficiários locais e de intercâmbio. Para realizar a carga com base nesta view, é necessário executar o seguinte processamento:

begin
  pck_extrator_autorizacao.p_carrega_autorizacao(plimpadados => :plimpadados);
end;

O processamento somente irá adicionar as autorizações que ainda não existem na tabela; o parâmetro plimpadados pode ter os seguintes  conteúdos:


A view V_IMPORT_AUTORIZACAO_GPS é uma sugestão de carga de autorizações. Se identificado necessidades específicas, basta adicionar à tabela IMPORT_AUTORIZACAO_GPS as autorizações que necessitam também ser exportadas, respeitando a estrutura da tabela - verifique o fonte da view para melhor entendimento.

As falhas de processamento serão apresentadas na tabela ERRO_PROCESS_IMPORT e serão sempre atualizadas a cada processamento.

03.2 PROCESSAMENTO

O processamento irá preparar os dados para exportação do arquivo JSON. para isso, execute através da procedure abaixo:

begin
  pck_extrator_autorizacao.p_import_guia_autorizacao(preprocessa => :preprocessa);
end;

O parâmetro preprocessa informa a ação a ser tomada ao realizar um reprocessamento:

Caso campo AOAPAGA_GUIA na tabela IMPORT_AUTORIZACAO_GPS estiver como S, a autorização será ignorada no processamento.

03.3 GERAÇÃO DO ARQUIVO

Finalizado o processamento, o arquivo deverá ser gerado através do módulo SDP.

Crie uma nova estrutura do módulo em sua base e ajuste o totvs.ini para a conexão com o banco UNICOOGPS e parametrizações obrigatórias:

totvs.conexaodb.tipoID = SERVICE_NAME
totvs.conexaodb.server = 10.20.30.40:1521
totvs.conexaodb.database = UNICOO
totvs.conexaodb.username = unicoogps
totvs.conexaodb.password = $$$$$$

ptu.xml.debug = S
ptu.xml.Log = C:\LOGS

Não utilize a mesma pasta do SDP dos demais processos pois a configuração de conexão de base no totvs.ini será diferente e poderá interferir nas outras rotinas.


Crie um atalho e adicione os parâmetros indicados ou execute via prompt de comando o sdp:

c:\SDP_Extrator>sdp.exe EXTRATOR_AUTORIZACAO "C:\EXTRATOR_JSON" G 1000

O segundo parâmetro entre aspas é a pasta onde os arquivos json serão salvos. O quarto parâmetro define a quantidade de guias por arquivo JSON, se não informado gerará um arquivo a cada 1000 guias.


Os arquivos serão salvos com o seguinte nomenclatura:

EXTRATOR_JSON_AUTORIZACAO_AAAAMMDD_HHMMSS_N.json

AAMMDD_HHMMSS - Data e hora atual

N - Sequencial do arquivo

03.3 RETORNO DO PROCESSAMENTO

Após a importação no TOTVS 12 do arquivo json, serão gerados dois arquivos CSV, um contendo as autorizações processadas com sucesso e outro com as falhas de processamento.

Ambos deverão ser importados via SDP para atualizar as informações no UNICOO, para que sejam analisadas e reprocessadas as falhas.

Para isto, deve-se executar no prompt de comando ou via atalho o seguinte comando:

c:\SDP_Extrator>sdp.exe EXTRATOR_AUTORIZACAO "C:\EXTRATOR_JSON\ERROS-M.CSV" R

O segundo parâmetro deve ser informado o caminho onde o arquivo de erro ou sucesso estará salvo.

As autorizações importadas com sucesso ficarão com o status "MI" (migrado) no campo IND_SIT_IMPORT das tabelas IMPORT_GUIA e CONTROLE_MIGRAC ou "ER" para erro e as falhas serão carregadas na tabela ERRO_PROCESS_IMPORT

Importar os arquivos de retorno fará com que a próxima massa de dados seja otimizado, pois as guias com erro serão reprocessadas e as migradas excluídas do processamento/geração

04. PARAMETRIZAÇÃO

Para a seleção e processamento das autorizações, serão necessários configurar os seguintes parâmetros, que devem ser configurados na tabela de conversão EXTRATOR_PARAMETRO:

05. TABELAS DE CONVERSÃO

Tabelas cadastradas na Adm Sistema > Protocolos > Configurações > Tabelas de Conversão

05. TABELAS DE APOIO

Tabelas criadas na base de dados


select p.cd_modalidade,
       p.cd_plano,
       p.cd_tipo_plano,
       p.cd_modulo,
       'A' tp_procedimento,
       p.cd_amb cd_procedimento,
       t.cd_transacao,
       t.cd_modulo
  from pl_mo_am p, ambproce amb, trmodamb t
 where t.cd_esp_amb = amb.cd_esp_amb
   and t.cd_grupo_proc_amb = amb.cd_grupo_proc_amb
   and t.cd_procedimento = amb.cd_procedimento
   and t.dv_procedimento = amb.dv_procedimento
   and p.cd_amb = amb.cdprocedimentocompleto
   and p.cd_modulo = t.cd_modulo
union all
select p.cd_modalidade,
       p.cd_plano,
       p.cd_tipo_plano,
       p.cd_modulo,
       'P' tp_procedimento,
       amb.cdprocedimentocompleto cd_procedimento,
       t.cd_transacao,
       t.cd_modulo
  from plamodpr p, trmodamb t, ambproce amb
 where p.u##in_procedimento_insumo = 'P'
   and t.cd_esp_amb = amb.cd_esp_amb
   and t.cd_grupo_proc_amb = amb.cd_grupo_proc_amb
   and t.cd_procedimento = amb.cd_procedimento
   and t.dv_procedimento = amb.dv_procedimento
   and p.cd_modulo = t.cd_modulo
union all
select p.cd_modalidade,
       p.cd_plano,
       p.cd_tipo_plano,
       p.cd_modulo,
       'S' tp_procedimento,
       ins.cd_insumo cd_procedimento,
       t.cd_transacao,
       t.cd_modulo
  from partinsu p, insumos ins, trmodtpi t
 where p.cd_tipo_insumo = ins.cd_tipo_insumo
   and p.cd_modulo = t.cd_modulo
   and t.cd_tipo_insumo = p.cd_tipo_insumo
union all
select p.cd_modalidade,
       p.cd_plano,
       p.cd_tipo_plano,
       p.cd_modulo,
       'I' tp_procedimento,
       ins.cd_insumo cd_procedimento,
       t.cd_transacao,
       t.cd_modulo
  from plamodpr p, insumos ins, trmodtpi t
 where p.u##in_procedimento_insumo = 'I'
   and p.cd_modulo = t.cd_modulo
   and ins.cd_tipo_insumo = t.cd_tipo_insumo