Testes e comparações¶
CMP¶
Função que compara duas cadeias de caracteres, distinguindo maiúsculas e minúsculas.
Sintaxe da função:
<CMP:[chaîne_caractère_1]:[chaîne_caractère_2]>
As cadeias de caracteres podem ser um atributo; nesse caso, deve utilizar a palavra-chave <syncattsrc:[attribute_name]> ou <syncattdst:[attribute_name]>, conforme a operação incida sobre o repositório de origem ou sobre o de destino.
Modo de utilização:
- A palavra-chave CMP pode ser utilizada em todos os campos do tipo «expression», como as operações do tipo COPY, MODVALUE, etc.
- Habitualmente, é combinada com as palavras-chave IF ou SWITCH.
Resultados possíveis:
- True: se as duas cadeias de caracteres forem idênticas.
- False: se as duas cadeias de caracteres forem diferentes.
Exemplos de configuração:
- Exemplo:
- <IF:<CMP:<SyncAttSrc:STATUT>:Done>:OK:KO>
CMPi¶
Função que compara duas cadeias de caracteres sem distinguir maiúsculas e minúsculas.
Sintaxe da função:
<CMP:[chaîne_caractère_1]:[chaîne_caractère_2]>
As cadeias de caracteres podem ser um atributo; nesse caso, deve utilizar a palavra-chave <syncattsrc:[attribute_name]> ou <syncattdst:[attribute_name]>, conforme a operação incida sobre o repositório de origem ou sobre o de destino.
Modo de utilização:
- A palavra-chave CMPi pode ser utilizada em todos os campos do tipo «expression», como COPY, MODVALUE, etc.
- Habitualmente, é combinada com as palavras-chave IF ou SWITCH.
Resultados possíveis:
- True: se as duas cadeias de caracteres forem idênticas.
- False: se as duas cadeias de caracteres forem diferentes.
Exemplos de configuração:
- Exemplo: <IF:<CMP:<SyncAttSrc:STATUT>:Completed>:OK:KO>
EXISTS¶
Função que permite testar a presença de um atributo numa exportação.
Sintaxe da função:
<EXISTS:[searched_attribute_name]:[DataSource]:[Operation]>
- [nom_attribut_recherché] = nome do atributo cuja existência deve ser testada
- [DataSource] = SRC ou DST. Permite procurar a presença do atributo na exportação do repositório de origem (=SRC) ou na do repositório de destino (=DST). O parâmetro é opcional, salvo se for indicada uma operação. Se o parâmetro não for indicado, aplica-se o valor SRC por predefinição.
- [Operation] = ADD ou DEL. Permite testar a presença do atributo com uma suboperação ADD ou DEL. O parâmetro é opcional.
Resultados possíveis:
Devolve 1 se o atributo for encontrado; caso contrário, devolve 0.
Modo de utilização:
- A palavra-chave EXISTS pode ser utilizada em todos os campos do tipo «expression», como as operações COPY, MODVALUE, etc., ou nas condições de execução das regras de importação de um conector de base de dados.
Exemplos de configuração:
- Resultado: a consulta SQL só será executada se o atributo "wiki_mod_2" estiver presente no repositório de origem com uma suboperação ADD.
NOT¶
Devolve 1 se a expressão for falsa e 0 caso contrário.
Sintaxe da função:
<NOT:[Expression]>
A expressão pode conter outras palavras-chave.
Modo de utilização:
- A palavra-chave NOT pode ser utilizada em todos os campos do tipo «expression», como as operações do tipo COPY, MODVALUE, etc.
- As expressões que devolvem um valor booleano constroem-se geralmente a partir de combinações de palavras-chave como CMP, IF, etc.
Exemplos de configuração:
- Exemplo:
- <IF:<NOT:<CMP:<SyncAttSrc:STATUS>:Completed>>:Echec:Success>
- Devolve «Success» se o estado for igual a «Completed»; caso contrário, devolve «Failure» se o estado não for «Completed».
&NOT¶
Operação binária «NOT».
Sintaxe da função:
<&NOT:[Expression]>
A expressão pode conter outras palavras-chave, por exemplo para recuperar o valor de um atributo.
Modo de utilização:
- A palavra-chave NOT pode ser utilizada em todos os campos do tipo «expression», como as operações do tipo COPY, MODVALUE, etc.
- As expressões que devolvem um valor booleano constroem-se geralmente a partir de combinações de palavras-chave como CMP, IF, etc.
Resultados possíveis:
- Valor binário
Exemplos de configuração:
- Exemplo:
- <&NOT:<CMP:<SyncAttSrc:STATUS>:512>>:Disabled:Enabled>
- Devolve «Enabled» se o estado for igual a «Completed»; caso contrário, devolve «Failed» se o estado não for «Completed».
AND¶
Devolve 1 (verdadeiro) se a expressão 1 e a expressão 2 forem verdadeiras e 0 caso contrário.
Sintaxe da função:
<AND:[Expression_1]:[Expression_2]>
Modo de utilização:
- A palavra-chave AND pode ser utilizada em todos os campos do tipo «expression», como as operações do tipo COPY, MODVALUE, etc.
- Habitualmente, é combinada com as palavras-chave IF ou SWITCH.
Exemplos de configuração:
- Exemplo: <IF:<AND:<CMP:<SyncAttSrc:person_type>:Agent>:<CMP:<SyncAttSrc:job>:Accountant>>:Agent_comptable:External_accountant>
ANDX¶
Devolve 1 se todas as expressões da lista forem verdadeiras e 0 caso contrário.
Sintaxe da função: <ANDX:[Expression_1]:[Expression_2]:[Expression_n] >
Modo de utilização:
- A palavra-chave ANDX pode ser utilizada em todos os campos do tipo «expression», como as operações do tipo COPY, MODVALUE, etc.
- Habitualmente, é combinada com as palavras-chave IF ou SWITCH.
Exemplos de configuração:
- Exemplo:
<IF:<ANDX:<CMP:<SyncAttSrc:person_type>:Agent>:<CMP:<SyncAttSrc:job>:Accountant>:<CMP:<SyncAttSrc:Is_Valid>:Yes>>:Agent_comptable:External_accountant>
&AND¶
Operação binária «AND» entre dois valores.
Sintaxe da função:
<&AND:[decimal_value_1]:[decimal_value_2]>
Modo de utilização:
- A palavra-chave &AND pode ser utilizada em todos os campos do tipo «expression», como as operações COPY, MODVALUE, etc.
- Habitualmente, é combinada com as palavras-chave IF ou SWITCH.
Resultados:
- Devolve um valor decimal que corresponde ao resultado da operação binária «AND» entre os dois valores comparados.
Exemplos de configuração:
- Exemplo:
- <&AND:7:11> dará como resultado = 3
- Sendo 7 o valor binário «111» e 11 o valor binário «1011»
- O resultado da operação binária «AND» entre 111 e 1011 é igual a 11, ou seja, o valor decimal 3.
OR¶
Devolve 1 (verdadeiro) se a expressão 1 ou a expressão 2 forem verdadeiras e 0 caso contrário.
Sintaxe da função:
<OR:[Expression_1]:[Expression_2]>
Modo de utilização:
- A palavra-chave OR pode ser utilizada em todos os campos do tipo «expression», como as operações do tipo COPY, MODVALUE, etc.
- Habitualmente, é combinada com as palavras-chave IF ou SWITCH.
Exemplos de configuração:
- Exemplo: <IF:<OR:<CMP:<SyncAttSrc:type_personne>:Agent>:<CMP:<SyncAttSrc:person_type >:Employee>>:Agent_comptable:External_accountant>
ORX¶
Devolve 1 se alguma das expressões da lista for verdadeira e 0 caso contrário.
Sintaxe da função:
<ORX:[Expression_1]:[Expression_2]:[Expression_n] >
Modo de utilização:
- A palavra-chave ORX pode ser utilizada em todos os campos do tipo «expression», como as operações do tipo COPY, MODVALUE, etc.
- Habitualmente, é combinada com as palavras-chave IF ou SWITCH.
Exemplos de configuração:
- Exemplo: <IF:<ORX:<CMP:<SyncAttSrc:person_type>:Agent>:<CMP:<SyncAttSrc:person_type>:Employee>:<CMP:<SyncAttSrc:person_type>:Internal>>:Agent_interne:External_agent>
&OR¶
Operação binária «OR» entre dois valores.
Sintaxe da função:
<&OR:[decimal_value_1]:[decimal_value_2]>
Modo de utilização:
- A palavra-chave &OR pode ser utilizada em todos os campos do tipo «expression», como COPY, MODVALUE, etc.
- Habitualmente, é combinada com as palavras-chave IF ou SWITCH.
Resultados:
- Devolve um valor decimal que corresponde ao resultado da operação binária «OR» entre os dois valores comparados.
Exemplos de configuração:
- Exemplo:
- <&OR:7:11> dará como resultado = 15.
- Sendo 7 o valor binário «111» e 11 o valor binário «1011».
- O resultado da operação binária «OR» entre 111 e 1011 é igual a 1111, ou seja, o valor decimal 15.
SWITCH¶
Avalia a expressão e compara-a em seguida com cada membro da lista. Se um dos membros da lista corresponder (distinguindo maiúsculas e minúsculas), é devolvido o valor associado. Se nenhum membro da lista corresponder à expressão e estiver definido um membro «default», é devolvido o valor associado a esse membro.
Sintaxe da função:
<SWITCH:[Expression]:[Searched_value_1],[Returned_value_1]:[Searched_value_2],[Returned_value_2]:[Searched_value_N],[Returned_value_N]:…:[default,value]>
Modo de utilização:
- A palavra-chave SWITCH pode ser utilizada em todos os campos do tipo «expression», como as operações do tipo COPY, MODVALUE, etc.
- A expressão avaliada pode conter palavras-chave para recuperar valores de atributos, por exemplo SyncAttSrc ou SyncAttDst.
Exemplos de configuração:
- Exemplo: <SWITCH:<SyncAttSrc:job_code>:DOC,Doctor:NUR,Nurse:HCA,Healthcare Assistant>
SWITCHI¶
Idêntica a SWITCH, mas sem distinguir maiúsculas e minúsculas. Avalia a expressão e compara-a em seguida com cada membro da lista. Se um dos membros da lista corresponder (sem distinguir maiúsculas e minúsculas), é devolvido o valor associado. Se nenhum membro da lista corresponder à expressão e estiver definido um membro «default», é devolvido o valor associado a esse membro.
Sintaxe da função:
<SWITCHI:[Expression]:[Searched_value_1],[Returned_value_1]:[Searched_value_2],[Returned_value_2]:[Searched_value_N],[Returned_value_N]>
Modo de utilização:
- A palavra-chave SWITCHi pode ser utilizada em todos os campos do tipo «expression», como as operações COPY, MODVALUE, etc.
- A expressão avaliada pode conter palavras-chave para recuperar valores de atributos, por exemplo SyncAttSrc ou SyncAttDst.
Exemplos de configuração:
- Exemplo: <SWITCHi:<SyncAttSrc:job_code>:DOC,Doctor:NUR,Nurse:HCA,Healthcare Assistant>
SWITCH_TABLE¶
Idêntica a SWITCHi, mas, em vez de serem indicados na própria expressão, os elementos da lista são armazenados num ficheiro definido pelo parâmetro. Avalia a expressão e compara-a em seguida com cada um dos membros da lista contidos no ficheiro. Se um dos membros da lista corresponder (sem distinguir maiúsculas e minúsculas), é devolvido o valor associado. Se nenhum membro da lista corresponder à expressão e estiver definido um membro «default», é devolvido o valor associado a esse membro.
Sintaxe da função:
<SWITCH_TABLE:[Expression]:[file_path]>
O formato do ficheiro é o seguinte:
1 2 3 4 | |
Os elementos da lista são lidos por ordem até faltar um número.
Modo de utilização:
- A palavra-chave SWITCH_TABLE pode ser utilizada em todos os campos do tipo «expression», como as operações do tipo COPY, MODVALUE, etc.
- A expressão avaliada pode conter palavras-chave para recuperar valores de atributos, por exemplo SyncAttSrc ou SyncAttDst.
Exemplos de configuração:
- Exemplo:
- Ficheiro:
1 2 3 4
[General] Item1=MED,Médecin Item2=INF,Infirmier ItemX=AID,Aide-Soignant - <SWITCH_TABLE:<SyncAttSrc:job_code>:C:\path\job.txt>
IF¶
Avalia a expressão. Se o resultado for verdadeiro (1), é devolvido o primeiro valor como resultado; caso contrário, é devolvido o segundo.
Sintaxe da função:
<IF:[Expression]:[Result_if_true]:[Result_if_false]>
Modo de utilização:
- A palavra-chave IF pode ser utilizada em todos os campos do tipo «expression», como as operações do tipo COPY, MODVALUE, etc.
- A expressão avaliada pode conter palavras-chave para recuperar valores de atributos, por exemplo SyncAttSrc ou SyncAttDst.
Exemplos de configuração:
- Exemplo: <IF:<CMP:<SyncAttSrc:person_type>:Agent>:Agent_interne:External_Agent>
