Árvore de páginas

CONTEÚDO

01. Visão geral

Disponibilização de métodos para consultar campos ativos e passíveis de anonimização configurados em Gerenciamento dos campos pessoais e/ou sensíveis.

02. Formatos de anonimização

Para cada tipo de dado de campo protegido, será fornecido um valor padrão de anonimização:

  • Para o tipo de dado Texto/caractere, será retornado o valor "X"
  • Para o tipo de dado Numérico, será retornado o valor 0
  • Para o tipo de dado Data, será retornado a data 01/01/1753, data minima compatível para os bancos dados: Progress, Oracle e SQL Server.



programa.p
USING com.totvs.framework.sec.ProtectedData.

MESSAGE STRING(ProtectedData:DefaultAnonymousCharacter) 
VIEW-AS ALERT-BOX INFO BUTTONS OK.

MESSAGE STRING(ProtectedData:DefaultAnonymousNumber) 
VIEW-AS ALERT-BOX INFO BUTTONS OK.

MESSAGE STRING(ProtectedData:DefaultAnonymousDate) 
VIEW-AS ALERT-BOX INFO BUTTONS OK.

03. isFieldAnonymizable

Objetivo

Responsável por retornar se o campo é anonimizável ou não.

Parâmetros de entrada

Tipo

Descrição

CHARACTER

databaseName: Nome do banco de dados;

CHARACTER

tableName: Nome da tabela.

CHARACTER

fieldName: Nome do campo;


Retorno

TipoDescrição
LOGICALO retorno será VERDADEIRO/FALSO, podendo retornar erro que deve ser capturado utilizando a declaração do 'CATCH'.

O erros serão lançados por meio da classe fwk.utils.CustomError

Será lançado ao informar parâmetros de entrada de um campo não configurado em Gerenciamento dos campos pessoais e/ou sensíveis.

[
   {
        "ErrorSequence": 1,
        "ErrorNumber": 47,
        "ErrorDescription": "Campo pessoal não cadastrado(a)",
        "ErrorParameters": "Campo pessoal",
        "ErrorType": "ERROR",
        "ErrorHelp": "Campo pessoal não cadastrado(a).",
        "ErrorSubType": "ERROR"
    }
]

Será lançado ao informar parâmetros de entrada de um campo inexistente no banco de dados.

[
   {
        "ErrorSequence": 1,
        "ErrorNumber": 56,
        "ErrorDescription": "Campo inexistente.",
        "ErrorParameters": "Campo",
        "ErrorType": "ERROR",
        "ErrorHelp": "Verifique se existe uma ocorrência para o(a) Campo informado(a) em seu cadastro.",
        "ErrorSubType": "ERROR"
    }
]

Será lançado ao informar parâmetros de entrada de um campo desativado em Gerenciamento dos campos pessoais e/ou sensíveis.

[
   {
        "ErrorSequence": 1,
        "ErrorNumber": 1094,
        "ErrorDescription": "Campo pessoal está desativado(a).",
        "ErrorParameters": "Campo pessoal",
        "ErrorType": "ERROR",
        "ErrorHelp": "",
        "ErrorSubType": "ERROR"
    }
]

Será lançado ao informar parâmetros de entrada nulos ou vazios.

[
   {
        "ErrorSequence": 1,
        "ErrorNumber": 56891,
        "ErrorDescription": "Parâmetros incorretos.",
        "ErrorParameters": "",
        "ErrorType": "ERROR",
        "ErrorHelp": "",
        "ErrorSubType": "ERROR"
    }
]

Será lançado ao informar parâmetros de entrada de um campo pessoal anonimizável que faz parte de um índice único.

[
   {
        "ErrorSequence": 1,
        "ErrorNumber": 56893,
        "ErrorDescription": "Campo pessoal anonimizavel faz parte de um índice único",
        "ErrorParameters": "",
        "ErrorType": "ERROR",
        "ErrorHelp": "Campo pessoal configurado como anonimizavel faz parte de um índice único e não poderá ser anonimizado.",
        "ErrorSubType": "ERROR"
    }
]

Será lançado ao informar parâmetros de entrada de um campo pessoal anonimizável que é do tipo lógico.

[
   {
        "ErrorSequence": 1,
        "ErrorNumber": 57240,
        "ErrorDescription": "Campo pessoal anonimizavel é do tipo lógico",
        "ErrorParameters": "",
        "ErrorType": "ERROR",
        "ErrorHelp": "Campo pessoal configurado como anonimizavel é do tipo lógico e não poderá ser anonimizado.",
        "ErrorSubType": "ERROR"
    }
]

Será lançado ao informar parâmetros de entrada de um campo pessoal anonimizável que é do tipo blob.

[
   {
        "ErrorSequence": 1,
        "ErrorNumber": 57269,
        "ErrorDescription": "Campo pessoal anonimizavel é do tipo blob",
        "ErrorParameters": "",
        "ErrorType": "ERROR",
        "ErrorHelp": "Campo pessoal configurado como anonimizavel é do tipo blob e não poderá ser anonimizado.",
        "ErrorSubType": "ERROR"
    }
]

Será lançado ao informar parâmetros de entrada de um campo pessoal anonimizável que é chave primária.

[
   {
        "ErrorSequence": 1,
        "ErrorNumber": 57360,
        "ErrorDescription": "Campo pessoal anonimizavel é chave primária.",
        "ErrorParameters": "",
        "ErrorType": "ERROR",
        "ErrorHelp": "Campo pessoal configurado como anonimizavel é chave primária e não poderá ser anonimizado.",
        "ErrorSubType": "ERROR"
    }
]
Exemplo de programa
programa.p
USING com.totvs.framework.sec.ProtectedData.
DEFINE VARIABLE lReturn AS LOGICAL     NO-UNDO.
DO ON ERROR UNDO, LEAVE:
    ASSIGN lReturn = ProtectedData:isFieldAnonymizable (INPUT "emsfnd", INPUT "tabela_teste", INPUT "campo_teste").
    MESSAGE lReturn VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.
    CATCH customError AS fwk.utils.CustomError:
        MESSAGE STRING(customError:arryaOfErrors:getJsonText()) VIEW-AS ALERT-BOX INFO BUTTONS OK.
    END CATCH.
END.