Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...


Bloco de código
themeRDark
titleprograma.p
USING com.totvs.framework.sec.ProtectedData.

FIND FIRST tabela_negocio EXCLUSIVE-LOCK:
ASSIGN tabela_negocio.nom_cliente    = ProtectedData:DefaultAnonymousCharacter
       tabela_negocio.cod_rg         = ProtectedData:DefaultAnonymousNumber
       tabela_negocio.dat_nascimento = ProtectedData:DefaultAnonymousDate.

03. getAnonymizableFieldsByDatabase

Objetivo

Responsável por retornar os campos ativos e passíveis de anonimização, filtrados por uma lista de bancos. São retornados os registros configurados em Gerenciamento dos campos pessoais e/ou sensíveis, não é realizada validação do Metaschema do banco de dados.

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.Para verificação do campo com validações de consistência no Metaschema do banco de dados utilize o método 06. isFieldAnonymizable.

Parâmetros de entrada

Tipo

Descrição

JsonArray

O valor de entrada é um objeto do tipo JsonArray

Bloco de código
themeRDark
collapsetrue
[  
    {  
        "databaseName":"emsfnd"
    },
    {  
        "databaseName":"emsfnd2"
    }
]
CHARACTER

databaseName: Nome do banco de dados;

CHARACTER

tableName: Nome da tabela.

CHARACTER

fieldName: Nome do campo;

databaseName: Nome do banco de dados.


Retorno

TipoDescrição
JsonArray
LOGICAL
  • Formato de retorno é do tipo JsonArray.
  • O agrupamento dos registros será por banco.
  • O 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

    Expandir
    titleERROR 47

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

    Caso não exista registro para o banco informado, será retornado o objeto anonymizableFields sem registros[ { "databaseName": "emsfnd", "anonymizableFields":

    .

    Bloco de código
    themeRDark
    collapsetrue
    [
       
    {
            "
    tableName
    ErrorSequence": 
    "tabela_teste"
    1,
            "
    fieldName
    ErrorNumber": 
    "campo_teste"
    47,
            "
    defaultRecord
    ErrorDescription": 
    true,
    "Campo pessoal 
    "sensitiveField": true
    não cadastrado(a)",
            "
    documentTypeId
    ErrorParameters": 
    1, "documentTypeDes": "CPF"
    "Campo pessoal",
            "
    classifiers
    ErrorType":
    [
     
    { "id": 1
    "ERROR",
            
    "
    defaultRelation
    ErrorHelp": 
    true, "justificative": "Justificativa do Campo
    "Campo pessoal não cadastrado(a).",
            
    "
    description
    ErrorSubType": "
    Execução de Contrato" } ] } ] }, { "databaseName": "emsfnd2", "anonymizableFields": [] } ]Exemplo de programa
    Bloco de código
    themeRDark
    titleprograma.p
    collapsetrue
    USING Progress.Json.ObjectModel.*.
    USING com.totvs.framework.sec.ProtectedData.
    
    DEFINE VARIABLE jObjRequest  AS JsonObject NO-UNDO.
    DEFINE VARIABLE jArrRequest  AS JsonArray  NO-UNDO.
    DEFINE VARIABLE jArrResponse AS JsonArray  NO-UNDO.
    
    jArrRequest = NEW JsonArray().
    
    jObjRequest = NEW JsonObject().
    jObjRequest:ADD("databaseName","emsfnd").
    jArrRequest:ADD(jObjRequest).
    
    jObjRequest = NEW JsonObject().
    jObjRequest:ADD("databaseName","emsfnd2").
    jArrRequest:ADD(jObjRequest).
    
    jArrResponse = ProtectedData:getAnonymizableFieldsByDatabase(jArrRequest).
    
    jArrResponse:WriteFile("c:\temp\resultado.json", TRUE).

    04. getAnonymizableFieldsByTable

    Objetivo

    Responsável por retornar os campos ativos e passíveis de anonimização, filtrados por uma lista de bancos e tabelas. São retornados os registros configurados em Gerenciamento dos campos pessoais e/ou sensíveis, não é realizada validação do Metaschema do banco de dados.

    Para verificação do campo com validações de consistência no Metaschema do banco de dados utilize o método 06. isFieldAnonymizable.

    Parâmetros de entrada

    Tipo

    Descrição

    JsonArray

    O valor de entrada é um objeto do tipo JsonArray

    ERROR"
        }
    ]
    Expandir
    titleERROR 56

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

    Bloco de código
    themeRDark
    collapsetrue
    [
    
       
    {
    
            "
    databaseName
    ErrorSequence":
    "emsfnd" "tableName":"tabela_teste" }
     1,
        
    {
      
      
    "
    databaseName
    ErrorNumber":
    "emsfnd2" "tableName":"tabela_teste" } ]

    databaseName: Nome do banco de dados.

    tableName: Nome da tabela.

    Retorno

    TipoDescriçãoJsonArray
    • Formato de retorno é do tipo JsonArray.
    • O agrupamento dos registros será por banco e tabela.
    • Caso não exista registro para o banco e tabela informado, será retornado o objeto anonymizableFields sem registros.
    Bloco de código
    themeRDark
    collapsetrue
    [ { "databaseName": "emsfnd",
     56,
            "
    tableName
    ErrorDescription": "
    tabela_teste", "anonymizableFields": [ { "fieldName": "campo_teste"
    Campo inexistente.",
            "
    defaultRecord
    ErrorParameters": 
    true, "sensitiveField": true
    "Campo",
            "
    documentTypeId
    ErrorType": 
    1, "documentTypeDes": "CPF
    "ERROR",
            "
    classifiers
    ErrorHelp":
    [
     
    { "id": 1, "defaultRelation": true,
    "Verifique se existe uma ocorrência para o(a) Campo informado(a) em seu cadastro.",
            
    "
    justificative
    ErrorSubType": "
    Justificativa do Campo", "description": "Execução de Contrato" } ] } ] }, { "databaseName": "emsfnd2", "tableName": "tabela_teste",
    ERROR"
        
    "anonymizableFields": [] themeRDark
    }
    ]
    Exemplo de programa Bloco de código
    Expandir
    title
    programa.pcollapsetrue
    USING Progress.Json.ObjectModel.*.
    USING com.totvs.framework.sec.ProtectedData.
    
    DEFINE VARIABLE jObjRequest  AS JsonObject NO-UNDO.
    DEFINE VARIABLE jArrRequest  AS JsonArray  NO-UNDO.
    DEFINE VARIABLE jArrResponse AS JsonArray  NO-UNDO.
    
    jArrRequest = NEW JsonArray().
    
    jObjRequest = NEW JsonObject().
    jObjRequest:ADD("databaseName","emsfnd").
    jObjRequest:ADD("tableName","tabela_teste").
    jArrRequest:ADD(jObjRequest).
    
    jObjRequest = NEW JsonObject().
    jObjRequest:ADD("databaseName","emsfnd2").
    jObjRequest:ADD("tableName","tabela_teste").
    jArrRequest:ADD(jObjRequest).
    
    jArrResponse = ProtectedData:getAnonymizableFieldsByTable(jArrRequest).
    
    jArrResponse:WriteFile("c:\temp\resultado.json", TRUE).

    05. getAnonymizableFieldsByRoutine

    Objetivo

    Responsável por retornar os campos ativos e passíveis de anonimização, filtrados por uma lista de rotinas.

    ...

    ERROR 1094

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

    ...

    Retorno

    TipoDescriçãoJsonArray
    • Formato de retorno é do tipo JsonArray.
    • O agrupamento dos registros será por código e nome do programa.
    • Caso não exista registro relacionado com o programa, será retornado o objeto anonymizableFields sem registros.

    .

    Parâmetros de entrada

    ...

    Tipo

    ...

    Descrição

    ...

    O valor de entrada é um objeto do tipo JsonArray, contendo códigos do programas.

    Bloco de código
    themeRDark
    collapsetrue
    ["programa_teste","programa_teste2"]
    Bloco de código
    themeRDark
    collapse
    true
    [
    
    { "programCode":
     
    "programa_teste",
      
    "programName": "Programa de teste", "anonymizableFields": [
    {
    
    "databaseName":
     
    "banco_teste", "tableName":
     
    "tabela_teste",
          
    "fieldName": "campo_teste", "defaultRecord": true, "sensitiveField": true, "documentTypeId
    "ErrorSequence": 1,
    
            "
    documentTypeDes
    ErrorNumber": 
    "CPF"
    1094,
            
    "classifiers
    "ErrorDescription": 
    [{ "id": 1, "defaultRelation": true,
    "Campo pessoal está desativado(a).",
            
    "justificative
    "ErrorParameters": "
    Justificativa
    Campo 
    do Campo
    pessoal",
    
            
    "
    description
    ErrorType": "
    Execução de Contrato" } ] } ] }, {
    ERROR",
            "
    programCode
    ErrorHelp": "
    programa_teste2
    ",
            "
    programName
    ErrorSubType": "
    Programa de teste2", "anonymizableFields": []
    ERROR"
        }
    ]
    Exemplo de programa Bloco de códigothemeRDarktitleprograma.p
    collapsetrue
    USING Progress.Json.ObjectModel.*.
    USING com.totvs.framework.sec.ProtectedData.
    
    DEFINE VARIABLE jArrRequest  AS JsonArray  NO-UNDO.
    DEFINE VARIABLE jArrResponse AS JsonArray  NO-UNDO.
    
    jArrRequest = NEW JsonArray().
    jArrRequest:ADD("programa_teste").
    jArrRequest:ADD("programa_teste2").
    
    jArrResponse = ProtectedData:getAnonymizableFieldsByRoutine(jArrRequest).
    
    jArrResponse:WriteFile("c:\temp\resultado.json", TRUE).

    06. isFieldAnonymizable

    Objetivo

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

    Parâmetros de entrada

    ...

    Tipo

    ...

    Descrição

    ...

    databaseName: Nome do banco de dados;

    ...

    tableName: Nome da tabela;

    ...

    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

    Expandir
    titleERROR 109456891

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

    Bloco de código
    themeRDark
    [
       {
            "ErrorSequence": 1,
            "ErrorNumber": 109456891,
            "ErrorDescription": "Campo pessoal está desativado(a)Parâmetros incorretos.",
            "ErrorParameters": "Campo pessoal",
            "ErrorType": "ERROR",
            "ErrorHelp": "\n",
            "ErrorSubType": "ERROR"
        }
    ]
    Expandir
    titleERROR 5689156893

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

    Bloco de código
    themeRDark
    [
       {
            "ErrorSequence": 1,
            "ErrorNumber": 5689156893,
            "ErrorDescription": "Parâmetros incorretos.Campo pessoal anonimizavel faz parte de um índice único",
            "ErrorParameters": "",
            "ErrorType": "ERROR",
            "ErrorHelp": "\nCampo pessoal configurado como anonimizavel faz parte de um índice único e não poderá ser anonimizado.",
            "ErrorSubType": "ERROR"
        }
    ]
    Expandir
    titleERROR 4757240

    Será lançado ao informar parâmetros de entrada de um campo não configurado em Gerenciamento dos campos pessoais e/ou sensíveispessoal anonimizável que é do tipo lógico.

    Bloco de código
    themeRDark
    [
       {
            "ErrorSequence": 1,
            "ErrorNumber": 4757240,
            "ErrorDescription": "Campo pessoal não cadastrado(a) anonimizavel é do tipo lógico",
            "ErrorParameters": "Campo pessoal",
            "ErrorType": "ERROR",
            "ErrorHelp": "Campo pessoal configurado como anonimizavel é do tipo lógico e não cadastrado(a) poderá ser anonimizado.",
            "ErrorSubType": "ERROR"
        }
    ]
    Expandir
    titleERROR 5657269

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

    Bloco de código
    themeRDark
    [
       {
            "ErrorSequence": 1,
            "ErrorNumber": 5657269,
            "ErrorDescription": "Campo inexistente. pessoal anonimizavel é do tipo blob",
            "ErrorParameters": "Campo",
            "ErrorType": "ERROR",
            "ErrorHelp": "Verifique se existe uma ocorrência para o(a) Campo informado(a) em seu cadastroCampo pessoal configurado como anonimizavel é do tipo blob e não poderá ser anonimizado.",
            "ErrorSubType": "ERROR"
        }
    ]
    Expandir
    titleERROR 5689357360

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

    Bloco de código
    themeRDark
    [
       {
            "ErrorSequence": 1,
            "ErrorNumber": 5689357360,
            "ErrorDescription": "Campo pessoal anonimizavel fazé parte de um indice únicochave primária.",
            "ErrorParameters": "",
            "ErrorType": "ERROR",
            "ErrorHelp": "Campo pessoal configurado como anonimizavel fazé parte de um indice único chave primária e não poderá ser anonimizado.\n",
            "ErrorSubType": "ERROR"
        }
    ]

    ...