Към съдържанието

Тестове и сравнения

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
[General]
Item1=membre,valeur 
Item2=membre,valeur 
ItemX=default,valeur

Елементите в списъка се четат по ред, докато не липсва номер.

Начин на използване:

  • Ключовата дума 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>