Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: JSON Schema Validation: A Comprehensive Guide

# JSON Schema Validation: A Comprehensive Guide ## Understanding JSONSchemaValidator Ensuring the integrity and compliance of JSON data is crucial for modern applications. **JSONSchemaValidator** is a powerful class designed to validate JSON data against a specified JSON Schema. It provides robust methods to check types, patterns, numerical constraints, required properties, and both internal and external schema references. This guide breaks down the key features and functionalities of JSONSchemaValidator, making it easier for developers to implement schema validation effectively. 🔗 **GitHub Repository:** [JSONSchemaValidator](https://github.com/naldodj/naldodj-hb-jsonschema-validator) --- ## Key Features ✅ **Schema-Based Validation** – Ensures JSON data conforms to a predefined schema. ✅ **Error Handling & Logging** – Captures validation errors for debugging. ✅ **Fast Mode Support** – Stops validation upon detecting the first error. ✅ **Internal & External Reference ...

Protheus :: RPCSetEnv vs PREPARE ENVIRONMET vs WFPrepEnv

"Ola, Naldo...
como vc postou muita coisa sobre WS gostaria de saber qual diferença (se é q tem diferença) entre as funções a seguir:

RpcSetEnv, Prepare Environment, WfPrepEnv e RPCSetType.

[]´s e parabéns pelo Blog. É fantástico.

Marcelo Vicente"

PREPARE ENVIRONMENT é um "Comando Definido Pelo Usuário" ou, usando a sua sigla em Ingês "UDC", que está definido no arquivo de cabeçalho (Clipper Header) "TBICONN.CH". No processo de compilação do Programa o "pré-processador" irá substituir o Comando pela real instrução que poderá ser:

RpcSetEnv(...) ou oEnvSrv:CallProc(...). A segunda opção vai depender da Cláusula SERVER. Então podemos afirmar que PREPARE ENVIRONMET e RpcSetEnv() ou oEnvSrv:CallProc() são, para o compilador, a mesma coisa.

WFPrepEnv() é uma função em ADVPL criada para "preparar o ambiente" para o "WorkFlow do Protheus" que faz alguns tratamentos extras, mas que, no final das contas, também fará referência a PREPARE ENVIRONMENT e conseqüentemente a RpcSetEnv() ou oEnvSrv:CallProc().

Por final, RPCSetType() não "prepara o ambiente". A sua função é passar alguma informação para o Server sobre a "Remote Procedure Call" a ser executada. Normalmente utiliza-se RPCSetType(3) para informar ao Server que a RPC não consumirá licenças (mas não sei se de fato isso funciona).

[]
иαldσ dj

Comentários

  1. Naldo
    Apesar do atraso na pergunta, gostaria de saber como usar a função Pergunte em uma rotina que tenha sido invocada usando RpcSetEnv de modo que os parâmetros para entrada do usuário sejam exibidos.

    ResponderExcluir
    Respostas
    1. Por padrão RPCSetEnv é executado em modo Blind. Então, se quer forçar o sistema a apresentar as perguntas mesmo que nesse modo, altere o conteúdo da variável Pública __cInterNet de "Automatico" para __cInterNet := NIL.

      Excluir
  2. Naldo, boa tarde.

    Sei que o post é antigo, mas gostaria de saber o seguinte.

    Quando uso esse método, para abrir minha rotina sem que o usuario tenha que fazer login, eu percebo que a aparência do sistema, fica diferente, fica mais 'flat' e os campos desabilitador por exemplo não ficam com fundo 'cinza'. Os botões desabillitados tambem ficam 'estranhos.

    Gostaria de saber se isso tem algo a ver com o tema, que utilizamos p10 e como entro sem escolher o tema, talvez ele esteja entrando com o tema antigo?

    Ou se não tem nada a ver, e o motivo é outro?

    Desde já, agradeço a atenção.

    ResponderExcluir
  3. Gostaria de saber, eu tenho uma rotina que tem um botão que chama uma rotina padrão, no entanto como estou chamando a rotina padrão dentro de uma outra rotina que já possui uma oDlg, essa rotina padrão (Ex: MATA300) abre dentro da minha oDlg. Alguém conhece alguma função para abrir uma outra (aba) para essa rotina padrão, ao invés de abrir na janela ativa?

    ResponderExcluir
    Respostas
    1. Altere o nome da sua variável oDlg para outra coisa. Ex.: oDlgCustom

      Excluir

Postar um comentário

Postagens mais visitadas