Тестове и сравнения¶
CMP¶
Функция, която сравнява два низа от знаци, без да взема предвид регистъра на буквите.
Забележка
От версия 7.1 механизмът за осигуряване вече не взема предвид регистъра на буквите при сравняването на низове от знаци. Затова операцията CMP не различава главни от малки букви, а операцията CMPi вече не е от полза.
Синтаксис на функцията:
<CMP:[chaîne_caractère_1]:[chaîne_caractère_2]>
Низовете от знаци могат да бъдат атрибут, като в този случай трябва да използвате ключовата дума <syncattsrc:[attribute_name]> или <syncattdst:[attribute_name]> в зависимост от това дали операцията се отнася до хранилището източник, или до целевото хранилище.
Начин на използване:
- Ключовата дума CMP може да се използва във всички полета от тип „expression“, например в операции от тип COPY, MODVALUE и т.н.
- Обикновено се комбинира с ключовите думи IF или SWITCH.
Възможни резултати:
- True: ако двата низа от знаци са идентични.
- False: ако двата низа от знаци са различни.
Примери за конфигурация:
- Пример:
- <IF:<CMP:<SyncAttSrc:STATUT>:Done>:OK:KO>
CMPi¶
Внимание
Операцията CMPi е обявена за остаряла от версия 7.1 и ще бъде премахната от версия 7.2. Използвайте само операцията CMP, която вече не различава главни от малки букви.
Във версия 7.1 CMPi все още се разпознава от механизма: съществуващите правила продължават да работят. Обратно, правило CMP, написано преди 7.1, за да разграничава умишлено две стойности, които се различават само по регистъра на буквите, вече не прави това разграничение: проверете тези правила по време на надграждането.
Функция, която сравнява два низа от знаци, без да взема предвид регистъра на буквите.
Синтаксис на функцията:
<CMPi:[chaîne_caractère_1]:[chaîne_caractère_2]>
Низовете от знаци могат да бъдат атрибут, като в този случай трябва да използвате ключовата дума <syncattsrc:[attribute_name]> или <syncattdst:[attribute_name]> в зависимост от това дали операцията се отнася до хранилището източник, или до целевото хранилище.
Начин на използване:
- Ключовата дума CMPi може да се използва във всички полета от тип „expression“, например COPY, MODVALUE и т.н.
- Обикновено се комбинира с ключовите думи IF или SWITCH.
Възможни резултати:
- True: ако двата низа от знаци са идентични.
- False: ако двата низа от знаци са различни.
Примери за конфигурация:
- Пример: <IF:<CMPi:<SyncAttSrc:STATUT>:Completed>:OK:KO>
EXISTS¶
Функция, която ви позволява да проверите наличието на атрибут в експортиране.
Синтаксис на функцията:
<EXISTS:[searched_attribute_name]:[DataSource]:[Operation]>
- [nom_attribut_recherché] = име на атрибута, чието наличие трябва да бъде проверено
- [DataSource] = SRC или DST. Позволява да се търси наличието на атрибута или в експортирането от хранилището източник (=SRC), или в експортирането от целевото хранилище (=DST). Параметърът не е задължителен, освен ако не е указана операция. Ако параметърът не е указан, по подразбиране се прилага стойността SRC.
- [Operation] = ADD или DEL. Служи за проверка на наличието на атрибута с подоперация ADD или DEL. Параметърът не е задължителен.
Възможни резултати:
Връща 1, ако атрибутът бъде намерен, в противен случай връща 0.
Начин на използване:
- Ключовата дума EXISTS може да се използва във всички полета от тип „expression“, например в операции COPY, MODVALUE и т.н., или в условията за изпълнение в правилата за импортиране на конектор за база данни.
Примери за конфигурация:
- Резултат: SQL заявката ще бъде изпълнена само ако атрибутът „wiki_mod_2“ присъства в хранилището източник с подоперация ADD.
NOT¶
Връща 1, ако изразът е неверен, и 0 в противен случай.
Синтаксис на функцията:
<NOT:[Expression]>
Изразът може да съдържа други ключови думи.
Начин на използване:
- Ключовата дума NOT може да се използва във всички полета от тип „expression“, например в операции от тип COPY, MODVALUE и т.н.
- Изразите, които връщат булева стойност, обикновено се изграждат от комбинации от ключови думи, като например CMP, IF и т.н.
Примери за конфигурация:
- Пример:
- <IF:<NOT:<CMP:<SyncAttSrc:STATUS>:Completed>>:Echec:Success>
- Връща „Success“, ако състоянието е равно на „Completed“, в противен случай връща „Failure“, ако състоянието не е „Completed“.
&NOT¶
Двоична операция „NOT“.
Синтаксис на функцията:
<&NOT:[Expression]>
Изразът може да съдържа други ключови думи, например за извличане на стойност на атрибут.
Начин на използване:
- Ключовата дума NOT може да се използва във всички полета от тип „expression“, например в операции от тип COPY, MODVALUE и т.н.
- Изразите, които връщат булева стойност, обикновено се изграждат от комбинации от ключови думи, като например CMP, IF и т.н.
Възможни резултати:
- Двоична стойност
Примери за конфигурация:
- Пример:
- <&NOT:<CMP:<SyncAttSrc:STATUS>:512>>:Disabled:Enabled>
- Връща „Enabled“, ако състоянието е равно на „Completed“, в противен случай връща „Failed“, ако състоянието не е „Completed“.
AND¶
Връща 1 (истина), ако израз 1 и израз 2 са верни, в противен случай 0.
Синтаксис на функцията:
<AND:[Expression_1]:[Expression_2]>
Начин на използване:
- Ключовата дума AND може да се използва във всички полета от тип „expression“, например в операции от тип COPY, MODVALUE и т.н.
- Обикновено се комбинира с ключовите думи IF или SWITCH.
Примери за конфигурация:
- Пример: <IF:<AND:<CMP:<SyncAttSrc:person_type>:Agent>:<CMP:<SyncAttSrc:job>:Accountant>>:Agent_comptable:External_accountant>
ANDX¶
Връща 1, ако всички изрази в списъка са верни, в противен случай 0.
Синтаксис на функцията: <ANDX:[Expression_1]:[Expression_2]:[Expression_n] >
Начин на използване:
- Ключовата дума ANDX може да се използва във всички полета от тип „expression“, например в операции от тип COPY, MODVALUE и т.н.
- Обикновено се комбинира с ключовите думи IF или SWITCH.
Примери за конфигурация:
- Пример:
<IF:<ANDX:<CMP:<SyncAttSrc:person_type>:Agent>:<CMP:<SyncAttSrc:job>:Accountant>:<CMP:<SyncAttSrc:Is_Valid>:Yes>>:Agent_comptable:External_accountant>
&AND¶
Двоична операция „AND“ между две стойности.
Синтаксис на функцията:
<&AND:[decimal_value_1]:[decimal_value_2]>
Начин на използване:
- Ключовата дума &AND може да се използва във всички полета от тип „expression“, например в операции COPY, MODVALUE и т.н.
- Обикновено се комбинира с ключовите думи IF или SWITCH.
Резултати:
- Връща десетична стойност, която съответства на резултата от двоичната операция „AND“ между двете сравнявани стойности.
Примери за конфигурация:
- Пример:
- <&AND:7:11> ще даде резултат = 3
- Като 7 има двоична стойност „111“, а 11 има двоична стойност „1011“
- Резултатът от двоичната операция „AND“ между 111 и 1011 е равен на 11, т.е. на десетичната стойност 3.
OR¶
Връща 1 (истина), ако израз 1 или израз 2 е верен, в противен случай 0.
Синтаксис на функцията:
<OR:[Expression_1]:[Expression_2]>
Начин на използване:
- Ключовата дума OR може да се използва във всички полета от тип „expression“, например в операции от тип COPY, MODVALUE и т.н.
- Обикновено се комбинира с ключовите думи IF или SWITCH.
Примери за конфигурация:
- Пример: <IF:<OR:<CMP:<SyncAttSrc:type_personne>:Agent>:<CMP:<SyncAttSrc:person_type >:Employee>>:Agent_comptable:External_accountant>
ORX¶
Връща 1, ако някой от изразите в списъка е верен, в противен случай 0.
Синтаксис на функцията:
<ORX:[Expression_1]:[Expression_2]:[Expression_n] >
Начин на използване:
- Ключовата дума ORX може да се използва във всички полета от тип „expression“, например в операции от тип COPY, MODVALUE и т.н.
- Обикновено се комбинира с ключовите думи IF или SWITCH.
Примери за конфигурация:
- Пример: <IF:<ORX:<CMP:<SyncAttSrc:person_type>:Agent>:<CMP:<SyncAttSrc:person_type>:Employee>:<CMP:<SyncAttSrc:person_type>:Internal>>:Agent_interne:External_agent>
&OR¶
Двоична операция „OR“ между две стойности.
Синтаксис на функцията:
<&OR:[decimal_value_1]:[decimal_value_2]>
Начин на използване:
- Ключовата дума &OR може да се използва във всички полета от тип „expression“, например COPY, MODVALUE и т.н.
- Обикновено се комбинира с ключовите думи IF или SWITCH.
Резултати:
- Връща десетична стойност, която съответства на резултата от двоичната операция „OR“ между двете сравнявани стойности.
Примери за конфигурация:
- Пример:
- <&OR:7:11> ще даде резултат = 15.
- Като 7 има двоична стойност „111“, а 11 има двоична стойност „1011“.
- Резултатът от двоичната операция „OR“ между 111 и 1011 е равен на 1111, т.е. на десетичната стойност 15.
SWITCH¶
Изчислява израза и след това го сравнява с всеки елемент от списъка. Ако някой от елементите на списъка съвпада (с различаване на главни и малки букви), се връща свързаната с него стойност. Ако никой елемент от списъка не съвпада с израза и е дефиниран елемент „default“, се връща стойността, свързана с този елемент.
Синтаксис на функцията:
<SWITCH:[Expression]:[Searched_value_1],[Returned_value_1]:[Searched_value_2],[Returned_value_2]:[Searched_value_N],[Returned_value_N]:…:[default,value]>
Начин на използване:
- Ключовата дума SWITCH може да се използва във всички полета от тип „expression“, например в операции от тип COPY, MODVALUE и т.н.
- Изчисляваният израз може да съдържа ключови думи за извличане на стойности на атрибути, например SyncAttSrc или SyncAttDst.
Примери за конфигурация:
- Пример: <SWITCH:<SyncAttSrc:job_code>:DOC,Doctor:NUR,Nurse:HCA,Healthcare Assistant>
SWITCHI¶
Идентично на SWITCH, но без да се взема предвид регистърът на буквите. Изчислява израза и след това го сравнява с всеки елемент от списъка. Ако някой от елементите на списъка съвпада (без различаване на главни и малки букви), се връща свързаната с него стойност. Ако никой елемент от списъка не съвпада с израза и е дефиниран елемент „default“, се връща стойността, свързана с този елемент.
Синтаксис на функцията:
<SWITCHI:[Expression]:[Searched_value_1],[Returned_value_1]:[Searched_value_2],[Returned_value_2]:[Searched_value_N],[Returned_value_N]>
Начин на използване:
- Ключовата дума SWITCHi може да се използва във всички полета от тип „expression“, например в операции COPY, MODVALUE и т.н.
- Изчисляваният израз може да съдържа ключови думи за извличане на стойности на атрибути, например SyncAttSrc или SyncAttDst.
Примери за конфигурация:
- Пример: <SWITCHi:<SyncAttSrc:job_code>:DOC,Doctor:NUR,Nurse:HCA,Healthcare Assistant>
SWITCH_TABLE¶
Идентично на SWITCHi, но вместо елементите да се извличат от списъка, те се съхраняват във файл, дефиниран от параметъра. Изчислява израза и след това го сравнява с всеки от елементите на списъка, намиращ се във файла. Ако някой от елементите на списъка съвпада (без различаване на главни и малки букви), се връща свързаната с него стойност. Ако никой елемент от списъка не съвпада с израза и е дефиниран елемент „default“, се връща стойността, свързана с този елемент.
Синтаксис на функцията:
<SWITCH_TABLE:[Expression]:[file_path]>
Форматът на файла е:
1 2 3 4 | |
Елементите в списъка се четат по ред, докато не липсва номер.
Начин на използване:
- Ключовата дума SWITCH_TABLE може да се използва във всички полета от тип „expression“, например в операции от тип COPY, MODVALUE и т.н.
- Изчисляваният израз може да съдържа ключови думи за извличане на стойности на атрибути, например SyncAttSrc или SyncAttDst.
Примери за конфигурация:
- Пример:
- Файл:
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¶
Изчислява израза. Ако резултатът е истина (1), като резултат се връща първата стойност; в противен случай се връща втората стойност.
Синтаксис на функцията:
<IF:[Expression]:[Result_if_true]:[Result_if_false]>
Начин на използване:
- Ключовата дума IF може да се използва във всички полета от тип „expression“, например в операции от тип COPY, MODVALUE и т.н.
- Изчисляваният израз може да съдържа ключови думи за извличане на стойности на атрибути, например SyncAttSrc или SyncAttDst.
Примери за конфигурация:
- Пример: <IF:<CMP:<SyncAttSrc:person_type>:Agent>:Agent_interne:External_Agent>
