...
|
---|
Bloco de código |
---|
theme | RDark |
---|
title | programa.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
JsonArray | O valor de entrada é um objeto do tipo JsonArray
Bloco de código |
---|
|
[
{
"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
JsonArrayFormato 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 |
Caso não exista registro para o banco informado, será retornado o objeto anonymizableFields sem registros[
{
"databaseName": "emsfnd",
"anonymizableFields": collapse | true |
tableName"tabela_teste"fieldName"campo_teste"defaultRecordtrue,
"sensitiveField": truedocumentTypeId1,
"documentTypeDes": "CPF"classifiers [
{
"id": 1 defaultRelationtrue,
"justificative": "Justificativa do Campo"Campo pessoal não cadastrado(a).",
|
|
|
descriptionExecução de Contrato"
}
]
}
]
},
{
"databaseName": "emsfnd2",
"anonymizableFields": []
}
]Exemplo de programa |
---|
Bloco de código |
---|
theme | RDark |
---|
title | programa.p |
---|
collapse | true |
---|
| 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
Expandir |
---|
| Será lançado ao informar parâmetros de entrada de um campo inexistente no banco de dados. |
|
collapse | true |
databaseName"emsfnd"
"tableName":"tabela_teste"
}{
databaseName"emsfnd2"
"tableName":"tabela_teste"
}
]databaseName: Nome do banco de dados.
tableName: Nome da tabela.
Retorno
Tipo | Descrição |
---|
JsonArray | - 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 |
---|
|
[
{
"databaseName": "emsfnd",
tableNametabela_teste",
"anonymizableFields": [
{
"fieldName": "campo_teste"defaultRecordtrue,
"sensitiveField": truedocumentTypeId1,
"documentTypeDes": "CPFclassifiers [
{
"id": 1,
"defaultRelation": true,
"Verifique se existe uma ocorrência para o(a) Campo informado(a) em seu cadastro.",
|
|
|
justificativeJustificativa do Campo",
"description": "Execução de Contrato"
}
]
}
]
},
{
"databaseName": "emsfnd2",
"tableName": "tabela_teste","anonymizableFields": []
theme | RDarkExemplo de programa |
---|
Bloco de código |
---|
programa.p | collapse | true |
---|
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.
...
...
Retorno
Tipo | Descrição |
---|
JsonArray | - 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 |
---|
|
["programa_teste","programa_teste2"] |
collapsetrue | {
"programCode":"programa_teste",
"programName": "Programa de teste",
"anonymizableFields": [ "databaseName":"banco_teste",
"tableName":"tabela_teste",
"fieldName": "campo_teste",
"defaultRecord": true,
"sensitiveField": true,
"documentTypeId documentTypeDes"CPF" "classifiers[{
"id": 1,
"defaultRelation": true,
"Campo pessoal está desativado(a).",
|
|
|
"justificativeJustificativado Campo descriptionExecução de Contrato"
}
]
}
]
},
{
programCodeprograma_teste2programNamePrograma de teste2",
"anonymizableFields": []Exemplo de programa |
---|
Bloco de código |
---|
theme | RDark |
---|
title | programa.pcollapse | true |
---|
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
Tipo | Descrição |
---|
LOGICAL | 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 |
---|
| 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 |
---|
| [
{
"ErrorSequence": 1,
"ErrorNumber": 109456891,
"ErrorDescription": "Campo pessoal está desativado(a)Parâmetros incorretos.",
"ErrorParameters": "Campo pessoal",
"ErrorType": "ERROR",
"ErrorHelp": "\n",
"ErrorSubType": "ERROR"
}
] |
|
Expandir |
---|
| 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 |
---|
| [
{
"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 |
---|
| 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 |
---|
| [
{
"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 |
---|
| 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 |
---|
| [
{
"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 |
---|
| 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 |
---|
| [
{
"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"
}
] |
|
|
...