Histórico da Página
| Aviso |
|---|
Este artigo documenta o funcionamento técnico do sistema em relação as tabelas |
...
. |
| draw.io Diagram | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Configuração
Etapa A
Usuário consulta e altera configurações do sistema.
Campos relevantes atualizado em tabela:
| Campo | Descrição |
|---|---|
| DS_DIR_GER | PASTA GERAÇÃO 3044 |
| DS_DIR_IMP | PASTA IMPORTAÇÃO 3044 |
| DS_CRON | Cron de processamento e geração (link gerador) |
| ds_cron_imp | Cron de importação (link gerador) |
| id_ger_3050 | Indicador de geração de classificação 3050 (S ou N) |
Importação
Nesta etapa, os sistemas externos que se integram via banco de dados vão inserir os registros para alimentar a geração do 3044
Etapa A
Insere registro em tabela de controle de importação
Etapa B
Insere registro em tabela de operações
Etapa C
Insere registro em tabela de movimentos
Processamento
Etapa A
Consulta registros do dia anterior (D - 1), prontos para serem processados.
Para verificar se a importação foi finalizada, o sistema filtra pelos campos
| Bloco de código | ||
|---|---|---|
| ||
SELECT
... -- campos
FROM
T425CIMP
WHERE
CD_EMP = [COD. EMPRESA]
AND DT_IMP = [DATA - 1 DIA)
AND ID_SIT = 'F' -- IMPORTACAO FINALIZADA |
Etapa B
Insere registro em tabela de controle de processamento com campo id_prc = I (Iniciado)
Etapa C
Faz o batimento das informações da tabela de operação com a tabela de listagens de classificações 3050 (T425_3050)
Etapa D
Etapa de processamento, nesta etapa é feita o preenchimento do IPOC e o campo de classificação do 3050
Os campos preenchidos são:
- cd_ipoc - IPOC
- cd_cla_3050 - Classificação 3050
Geração
Etapa A
Consulta registros de processamento prontas para terem o 3044 gerado
A consulta feita para verificar registros de geração
| Bloco de código | ||
|---|---|---|
| ||
SELECT
... -- campos
FROM
T425CVPG
WHERE
CD_EMP = [COD. EMPRESA]
AND ID_PRC = 'F' -- PROCESSAMENTO FINALIZADO
AND (
ID_GER IS NULL -- GERACAO NAO FOI FEITA
OR
ID_GER != 'F' -- GERACAO NAO FINALIZADA
) |
Etapa B
Consulta registros das tabelas T425OPED e T425MOVI de maneira paginada, e alimenta arquivo sendo gerado.
Etapa C
Gera arquivo em diretório configurado em tabela T425CFGR, e atualiza registro em tabela T425CVPG
Campos atualizados
- id_ger = 'F'
- ds_arq = [BINARIO DE ARQUIVO GERADO]
Acompanhamento
Essa etapa é simboliza o acompanhamento do usuário durante o processo de importação, geração e processamento que é feita normalmente via telas
Etapa A
Acompanhamento de processo de importação, consulta a tabela T425CIMP para verificar status importação.
O seguinte SELECT exemplifica a lógica utilizada na tela
| Bloco de código | ||
|---|---|---|
| ||
SELECT
CD_EMP AS EMPRESA,
SG_ITF AS INTERFACE,
DT_IMP AS "DT IMPORT",
CASE id_sit
WHEN 'I' THEN 'IMPORT. INICIADO'
WHEN 'F' THEN 'IMPORT. FINALIZ.'
WHEN 'G' THEN 'GERACAO FINALIZ.'
WHEN 'P' THEN 'PROC. FINALIZ.'
ELSE 'DESCONHECIDO'
END AS SITUACAO,
id_tp_imp AS "TIPO_IMPORT"
FROM
t425cimp
WHERE
CD_EMP = 1 -- INSERIR COD. DE EMPRESA
AND DT_IMP = '2025-09-11' -- INSERIR DATA (YYYY-MM-DD) |
Etapa B
Acompanhamento de processamento, que começa acontecer após a finalização da importaçao.
O seguinte SELECT exemplifica a lógica utilizada na tela
| Bloco de código | ||
|---|---|---|
| ||
SELECT cd_emp AS "CD.EMP", DT_GER AS "DATA GERACAO", DT_IMP AS "DATA IMPORTACAO", NM_ARQ AS "ARQUIVO", CASE id_vld WHEN 'I' THEN 'Validação Iniciada' WHEN 'F' THEN 'Validado' WHEN 'E' THEN 'Erro na Validação' ELSE 'Desconhecido' END AS "STATUS VALIDACAO", CASE id_prc WHEN 'I' THEN 'Processamento Iniciado' WHEN 'F' THEN 'Processado' WHEN 'E' THEN 'Erro no Processamento' ELSE 'Desconhecido' END AS "STATUS PROC", CASE id_ger WHEN 'I' THEN 'Geração Iniciada' WHEN 'F' THEN 'Gerado' WHEN 'E' THEN 'Erro na Geração |
...
'
ELSE 'Desconhecido'
END AS "STATUS GERACAO",
QT_OPE AS "QT OPER",
QT_CES AS "QT CONCEC",
QT_PGT AS "QT PAG",
QT_AGR AS "QT AGREG",
QT_EST AS "QT ESTORNO",
QT_EST_CES AS "QT ESTORNO CONCEC",
QT_EST_PGT AS "QT ESTORNO PAG"
FROM t425cvpg
WHERE
CD_EMP = 1 -- INSERIR COD. DE EMPRESA
AND DT_IMP = '2025-09-11' -- INSERIR DATA (YYYY-MM-DD) |
Etapa C
Verificação de erros em alguma etapa (importação, processamento ou geração)
O seguinte SELECT exemplifica a lógica utilizada na tela de consulta
| Bloco de código | ||
|---|---|---|
| ||
SELECT
cd_emp AS "CD.EMP",
dt_imp AS "DATA IMPORT",
sg_itf AS "INTERFACE",
ds_tbl AS "TABELA ERRO",
ds_cam AS "CAMPO ERRO",
ds_erro AS "DESC. ERRO",
CASE tp_ori
WHEN 'API' THEN 'API'
WHEN 'ROT' THEN 'ROTINA'
WHEN 'ARQ' THEN 'ARQUIVO'
ELSE 'DESCONHECIDO'
END AS "ORIGEM",
CASE tp_prc
WHEN 'I' THEN 'IMPORTAÇÃO'
WHEN 'V' THEN 'VALIDAÇÃO'
WHEN 'P' THEN 'PROCESSAMENTO'
WHEN 'G' THEN 'GERAÇÃO'
ELSE 'DESCONHECIDO'
END AS "PROCESSO"
FROM t425ergr
WHERE
CD_EMP = 1 -- INSERIR COD. DE EMPRESA
AND DT_IMP = '2025-09-11' -- INSERIR DATA (YYYY-MM-DD) |
Caso desejar verificar quais operações/movimentos apresentaram criticas, o select abaixo mostrará os contratos/ipoc e a critica.
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
SELECT oped.cd_emp AS CD_EMP,
oped.dt_imp AS DATA_EMPRESA,
erro.ds_erro AS ERRO,
erro.ds_tbl AS TABELA_ERRO,
erro.ds_cam AS CAMPO_ERRO,
erro.tp_prc AS TIPO_PROCESSAMENTO,
oped.ds_hsh AS HASH_OPERACAO,
CASE WHEN oped.cd_ipoc IS NOT NULL
THEN 'IPOC: ' + oped.cd_ipoc
ELSE oped.cd_mod_ope + ';' + oped.sg_mod_ope + ';' + oped.id_tp_pes + ';' + oped.nr_cpf_cnpj + ';' + oped.cd_cli + ';' + oped.nr_ctr + ';' + oped.nr_ade_lib
END AS CHAVE_CONTRATO,
CASE WHEN oped.cd_cla_3050 IS NOT NULL
THEN oped.cd_cla_3050
ELSE oped.cd_tp_pes + ';' + oped.cd_ori_rec + ';' + oped.cd_mod_cred + ';' + oped.cd_tp_enc
END AS CLASSIFICACAO_3050,
movi.ds_hsh as HASH_MOVI
FROM t425ergr erro
inner join t425oped oped on (oped.cd_emp = erro.cd_emp AND oped.dt_imp = erro.dt_imp AND oped.ds_hsh = erro.ds_hsh_ope)
left join t425movi movi on (movi.cd_emp = erro.cd_emp AND movi.dt_imp = erro.dt_imp and movi.ds_hsh = erro.ds_hsh_movi and movi.ds_hsh_ope = oped.ds_hsh)
WHERE
erro.cd_emp = 604
AND erro.dt_imp = '2025-10-23' |
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
SELECT oped.cd_emp AS CD_EMP,
oped.dt_imp AS DATA_EMPRESA,
erro.ds_erro AS ERRO,
erro.ds_tbl AS TABELA_ERRO,
erro.ds_cam AS CAMPO_ERRO,
erro.tp_prc AS TIPO_PROCESSAMENTO,
oped.ds_hsh AS HASH_OPERACAO,
CASE WHEN oped.cd_ipoc IS NOT NULL
THEN 'IPOC: ' || oped.cd_ipoc
ELSE oped.cd_mod_ope || ';' || oped.sg_mod_ope || ';' || oped.id_tp_pes || ';' || oped.nr_cpf_cnpj || ';' || oped.cd_cli || ';' || oped.nr_ctr || ';' || oped.nr_ade_lib
END AS CHAVE_CONTRATO,
CASE WHEN oped.cd_cla_3050 IS NOT NULL
THEN oped.cd_cla_3050
ELSE oped.cd_tp_pes || ';' || oped.cd_ori_rec || ';' || oped.cd_mod_cred || ';' || oped.cd_tp_enc
END AS CLASSIFICACAO_3050,
movi.ds_hsh as HASH_MOVI
FROM t425ergr erro
inner join t425oped oped on (oped.cd_emp = erro.cd_emp AND oped.dt_imp = erro.dt_imp AND oped.ds_hsh = erro.ds_hsh_ope)
left join t425movi movi on (movi.cd_emp = erro.cd_emp AND movi.dt_imp = erro.dt_imp and movi.ds_hsh = erro.ds_hsh_movi and movi.ds_hsh_ope = oped.ds_hsh)
WHERE
erro.cd_emp = 604
AND erro.dt_imp = TO_DATE('2025-10-23', 'yyyy-MM-dd') |
...