Páginas filhas
  • DFWKLOGIX-580 DT [LGPD] função SGDPCommandUtil_checkSQLQuerySyntax() acusando erro de SUBSTRING


01. DADOS GERAIS

Produto:

TOTVS Framework

Linha de Produto:

Linha Logix

Segmento:

Tecnologia

Módulo:

Framework (Linha Logix) - LGPD (Lei Geral de Proteção de Dados)

Função:CADASTRO DADOS PROTEGIDOS
País:Brasil
Ticket:
Requisito/Story/Issue (informe o requisito relacionado) :DFWKLOGIX-580


02. SITUAÇÃO/REQUISITO

Para algumas instruções SQL cadastradas para consulta e anonimização de dados protegidos, no momento em que os programas LOG10003 ou LOG10004 consistiam a sintaxe da instrução SQL registrada, a função função interna SGDPCommandUtil_checkSQLQuerySyntax() apresentava o seguinte erro:


ERROR: t4GLSubstr - A character variable has referenced subscripts that are out of range in file C:\bamboo\xml-data\build-dir\TP11-R2H-TECXWIN64\logix\logixfuncs.cpp at line 1309

__SGDPCOMMANDUTIL_REPLACEDOCUMENTVALUEINQUERY@SGDPCOMMANDUTIL.4GL - SGDPCOMMANDUTIL.4GL(1898) - Params: L_QUERY:AND NOT EXISTS (SELECT DISTINCT 1 FROM fat_nf_mestre WHERE fat_nf_mestre.cliente = clientes.cod_cliente AND fat_nf_mestre.dat_hor_emissao > {TEMPO:formatDateAsDbDttimeY2S}) AND NOT EXISTS (SELECT fat_nf_mestre.cliente FROM fat_nf_mestre WHERE fat_nf_mestre.cliente = clientes.cod_cliente AND fat_nf_mestre.tip_nota_fiscal IN ('SOLSERV','SOLPRDSV')) AND NOT EXISTS (SELECT DISTINCT 1 FROM pedidos WHERE pedidos.cod_cliente = clientes.cod_cliente AND pedidos.dat_emis_repres > {TEMPO} ) AND NOT EXISTS (SELECT DISTINCT 1 FROM pedidos, ped_itens WHERE pedidos.cod_cliente = clientes.cod_cliente AND pedidos.num_pedido = ped_itens.num_pedido AND (ped_itens.qtd_pecas_solic - ped_itens.qtd_pecas_atend - ped_itens.qtd_pecas_cancel) > 0),L_DOCUMENT_NAME:01/01/2022,L_DOCUMENT_VALUE:01/01/2022,L_OTHER_DOCUMENT:NIL )
[email protected] - SGDPCOMMANDUTIL.4GL(1839) - Params: L_QUERY:SELECT DISTINCT 1 FROM clientes WHERE clientes.num_cgc_cpf = '000.010.120/0000-22',L_TABLE_NAME: clientes,L_DOCUMENT_NAME:1,L_DOCUMENT_VALUE:1,L_QUERY_ANONYMIZATION:AND NOT EXISTS (SELECT DISTINCT 1 FROM fat_nf_mestre WHERE fat_nf_mestre.cliente = clientes.cod_cliente AND fat_nf_mestre.dat_hor_emissao > {TEMPO:formatDateAsDbDttimeY2S}) AND NOT EXISTS (SELECT fat_nf_mestre.cliente FROM fat_nf_mestre WHERE fat_nf_mestre.cliente = clientes.cod_cliente AND fat_nf_mestre.tip_nota_fiscal IN ('SOLSERV','SOLPRDSV')) AND NOT EXISTS (SELECT DISTINCT 1 FROM pedidos WHERE pedidos.cod_cliente = clientes.cod_cliente AND pedidos.dat_emis_repres > {TEMPO} ) AND NOT EXISTS (SELECT DISTINCT 1 FROM pedidos, ped_itens WHERE pedidos.cod_cliente = clientes.cod_cliente AND pedidos.num_pedido = ped_itens.num_pedido AND (ped_itens.qtd_pecas_solic - ped_itens.qtd_pecas_atend - ped_itens.qtd_pecas_cancel) > 0))


03. SOLUÇÃO

Correção da função de validação de instrução SQL do cadastro de mapeamento de tabelas e colunas de dados pessoais para que a falha de substring não ocorre mais, pois se tratava de uma situação de falha isolada que não havia sido prevista.

04. DEMAIS INFORMAÇÕES

Não se aplica.


IMPORTANTE!

Disponível a partir do pacote oficial 12.1.2301 ou Framework Fix 12.1.2205.(fix01)


05. ASSUNTOS RELACIONADOS

  • Não se aplica.