Testy i porównania¶
CMP¶
Funkcja porównująca dwa łańcuchy znaków bez uwzględniania wielkości liter.
Uwaga
Od wersji 7.1 silnik provisioningu nie uwzględnia już wielkości liter przy porównywaniu łańcuchów znaków. Operacja CMP nie rozróżnia zatem wielkości liter, a operacja CMPi nie jest już do niczego potrzebna.
Składnia funkcji:
<CMP:[chaîne_caractère_1]:[chaîne_caractère_2]>
Łańcuchy znaków mogą być atrybutem — w takim przypadku użyj słowa kluczowego <syncattsrc:[attribute_name]> lub <syncattdst:[attribute_name]>, w zależności od tego, czy operacja dotyczy repozytorium źródłowego, czy docelowego.
Sposób użycia:
- Słowo kluczowe CMP może być używane we wszystkich polach typu „expression”, takich jak operacje typu COPY, MODVALUE itd.
- Zwykle łączy się je ze słowami kluczowymi IF lub SWITCH.
Możliwe wyniki:
- True: jeśli oba łańcuchy znaków są identyczne.
- False: jeśli oba łańcuchy znaków są różne.
Przykłady konfiguracji:
- Przykład:
- <IF:<CMP:<SyncAttSrc:STATUT>:Done>:OK:KO>
CMPi¶
Uwaga
Operacja CMPi jest przestarzała od wersji 7.1 i zostanie usunięta w wersji 7.2. Używaj wyłącznie operacji CMP, która teraz nie rozróżnia wielkości liter.
W wersji 7.1 CMPi jest nadal rozpoznawana przez silnik: istniejące reguły nadal działają. Natomiast reguła CMP napisana przed wersją 7.1, aby celowo rozróżniać dwie wartości różniące się tylko wielkością liter, nie dokonuje już tego rozróżnienia: sprawdź te reguły podczas aktualizacji wersji.
Funkcja porównująca dwa łańcuchy znaków bez uwzględniania wielkości liter.
Składnia funkcji:
<CMPi:[chaîne_caractère_1]:[chaîne_caractère_2]>
Łańcuchy znaków mogą być atrybutem — w takim przypadku użyj słowa kluczowego <syncattsrc:[attribute_name]> lub <syncattdst:[attribute_name]>, w zależności od tego, czy operacja dotyczy repozytorium źródłowego, czy docelowego.
Sposób użycia:
- Słowo kluczowe CMPi może być używane we wszystkich polach typu „expression”, takich jak COPY, MODVALUE itd.
- Zwykle łączy się je ze słowami kluczowymi IF lub SWITCH.
Możliwe wyniki:
- True: jeśli oba łańcuchy znaków są identyczne.
- False: jeśli oba łańcuchy znaków są różne.
Przykłady konfiguracji:
- Przykład: <IF:<CMPi:<SyncAttSrc:STATUT>:Completed>:OK:KO>
EXISTS¶
Funkcja umożliwiająca sprawdzenie obecności atrybutu w eksporcie.
Składnia funkcji:
<EXISTS:[searched_attribute_name]:[DataSource]:[Operation]>
- [nom_attribut_recherché] = nazwa atrybutu, którego obecność ma zostać sprawdzona
- [DataSource] = SRC lub DST. Umożliwia wyszukanie obecności atrybutu w eksporcie repozytorium źródłowego (=SRC) albo w eksporcie repozytorium docelowego (=DST). Parametr jest opcjonalny, chyba że określono operację. Jeśli parametr nie jest określony, domyślnie stosowana jest wartość SRC.
- [Operation] = ADD lub DEL. Służy do sprawdzenia obecności atrybutu z podoperacją ADD lub DEL. Parametr jest opcjonalny.
Możliwe wyniki:
Zwraca 1, jeśli atrybut został znaleziony, w przeciwnym razie zwraca 0.
Sposób użycia:
- Słowo kluczowe EXISTS może być używane we wszystkich polach typu „expression”, takich jak operacje COPY, MODVALUE itd., lub w warunkach wykonania w regułach importu konektora bazy danych.
Przykłady konfiguracji:
- Wynik: zapytanie SQL zostanie wykonane tylko wtedy, gdy atrybut "wiki_mod_2" jest obecny w repozytorium źródłowym z podoperacją ADD.
NOT¶
Zwraca 1, jeśli wyrażenie jest fałszywe, w przeciwnym razie 0.
Składnia funkcji:
<NOT:[Expression]>
Wyrażenie może zawierać inne słowa kluczowe.
Sposób użycia:
- Słowo kluczowe NOT może być używane we wszystkich polach typu „expression”, takich jak operacje typu COPY, MODVALUE itd.
- Wyrażenia zwracające wartość logiczną są zwykle tworzone z kombinacji słów kluczowych, takich jak CMP, IF itd.
Przykłady konfiguracji:
- Przykład:
- <IF:<NOT:<CMP:<SyncAttSrc:STATUS>:Completed>>:Echec:Success>
- Zwraca „Success”, jeśli status jest równy „Completed”; w przeciwnym razie zwraca "Failure", jeśli status nie jest „Completed”.
&NOT¶
Binarna operacja „NOT”.
Składnia funkcji:
<&NOT:[Expression]>
Wyrażenie może zawierać inne słowa kluczowe, na przykład w celu pobrania wartości atrybutu.
Sposób użycia:
- Słowo kluczowe NOT może być używane we wszystkich polach typu „expression”, takich jak operacje typu COPY, MODVALUE itd.
- Wyrażenia zwracające wartość logiczną są zwykle tworzone z kombinacji słów kluczowych, takich jak CMP, IF itd.
Możliwe wyniki:
- Wartość binarna
Przykłady konfiguracji:
- Przykład:
- <&NOT:<CMP:<SyncAttSrc:STATUS>:512>>:Disabled:Enabled>
- Zwraca „Enabled”, jeśli status jest równy „Completed”; w przeciwnym razie zwraca „Failed”, jeśli status nie jest „Completed”.
AND¶
Zwraca 1 (prawda), jeśli wyrażenie 1 i wyrażenie 2 są prawdziwe, w przeciwnym razie 0.
Składnia funkcji:
<AND:[Expression_1]:[Expression_2]>
Sposób użycia:
- Słowo kluczowe AND może być używane we wszystkich polach typu „expression”, takich jak operacje typu COPY, MODVALUE itd.
- Zwykle łączy się je ze słowami kluczowymi IF lub SWITCH.
Przykłady konfiguracji:
- Przykład: <IF:<AND:<CMP:<SyncAttSrc:person_type>:Agent>:<CMP:<SyncAttSrc:job>:Accountant>>:Agent_comptable:External_accountant>
ANDX¶
Zwraca 1, jeśli wszystkie wyrażenia z listy są prawdziwe, w przeciwnym razie 0.
Składnia funkcji: <ANDX:[Expression_1]:[Expression_2]:[Expression_n] >
Sposób użycia:
- Słowo kluczowe ANDX może być używane we wszystkich polach typu „expression”, takich jak operacje typu COPY, MODVALUE itd.
- Zwykle łączy się je ze słowami kluczowymi IF lub SWITCH.
Przykłady konfiguracji:
- Przykład:
<IF:<ANDX:<CMP:<SyncAttSrc:person_type>:Agent>:<CMP:<SyncAttSrc:job>:Accountant>:<CMP:<SyncAttSrc:Is_Valid>:Yes>>:Agent_comptable:External_accountant>
&AND¶
Binarna operacja „AND” między dwiema wartościami.
Składnia funkcji:
<&AND:[decimal_value_1]:[decimal_value_2]>
Sposób użycia:
- Słowo kluczowe &AND może być używane we wszystkich polach typu „expression”, takich jak operacje COPY, MODVALUE itd.
- Zwykle łączy się je ze słowami kluczowymi IF lub SWITCH.
Wyniki:
- Zwraca wartość dziesiętną odpowiadającą wynikowi binarnej operacji „AND” między dwiema porównywanymi wartościami.
Przykłady konfiguracji:
- Przykład:
- <&AND:7:11> da w wyniku = 3
- Przy czym 7 ma wartość binarną „111”, a 11 wartość binarną „1011”
- Wynik binarnej operacji „AND” między 111 i 1011 jest równy 11, czyli wartości dziesiętnej 3.
OR¶
Zwraca 1 (prawda), jeśli wyrażenie 1 lub wyrażenie 2 jest prawdziwe, w przeciwnym razie 0.
Składnia funkcji:
<OR:[Expression_1]:[Expression_2]>
Sposób użycia:
- Słowo kluczowe OR może być używane we wszystkich polach typu „expression”, takich jak operacje typu COPY, MODVALUE itd.
- Zwykle łączy się je ze słowami kluczowymi IF lub SWITCH.
Przykłady konfiguracji:
- Przykład: <IF:<OR:<CMP:<SyncAttSrc:type_personne>:Agent>:<CMP:<SyncAttSrc:person_type >:Employee>>:Agent_comptable:External_accountant>
ORX¶
Zwraca 1, jeśli którekolwiek z wyrażeń z listy jest prawdziwe, w przeciwnym razie 0.
Składnia funkcji:
<ORX:[Expression_1]:[Expression_2]:[Expression_n] >
Sposób użycia:
- Słowo kluczowe ORX może być używane we wszystkich polach typu „expression”, takich jak operacje typu COPY, MODVALUE itd.
- Zwykle łączy się je ze słowami kluczowymi IF lub SWITCH.
Przykłady konfiguracji:
- Przykład: <IF:<ORX:<CMP:<SyncAttSrc:person_type>:Agent>:<CMP:<SyncAttSrc:person_type>:Employee>:<CMP:<SyncAttSrc:person_type>:Internal>>:Agent_interne:External_agent>
&OR¶
Binarna operacja „OR” między dwiema wartościami.
Składnia funkcji:
<&OR:[decimal_value_1]:[decimal_value_2]>
Sposób użycia:
- Słowo kluczowe &OR może być używane we wszystkich polach typu „expression”, takich jak COPY, MODVALUE itd.
- Zwykle łączy się je ze słowami kluczowymi IF lub SWITCH.
Wyniki:
- Zwraca wartość dziesiętną odpowiadającą wynikowi binarnej operacji „OR” między dwiema porównywanymi wartościami.
Przykłady konfiguracji:
- Przykład:
- <&OR:7:11> da w wyniku = 15.
- Przy czym 7 ma wartość binarną „111”, a 11 wartość binarną „1011”.
- Wynik binarnej operacji „OR” między 111 i 1011 jest równy 1111, czyli wartości dziesiętnej 15.
SWITCH¶
Ocenia wyrażenie, a następnie porównuje je z każdym elementem listy. Jeśli jeden z elementów listy jest zgodny (z uwzględnieniem wielkości liter), zwracana jest powiązana z nim wartość. Jeśli żaden element listy nie jest zgodny z wyrażeniem, a zdefiniowano element „default”, zwracana jest wartość powiązana z tym elementem.
Składnia funkcji:
<SWITCH:[Expression]:[Searched_value_1],[Returned_value_1]:[Searched_value_2],[Returned_value_2]:[Searched_value_N],[Returned_value_N]:…:[default,value]>
Sposób użycia:
- Słowo kluczowe SWITCH może być używane we wszystkich polach typu „expression”, takich jak operacje typu COPY, MODVALUE itd.
- Oceniane wyrażenie może zawierać słowa kluczowe pobierające wartości atrybutów, na przykład SyncAttSrc lub SyncAttDst.
Przykłady konfiguracji:
- Przykład: <SWITCH:<SyncAttSrc:job_code>:DOC,Doctor:NUR,Nurse:HCA,Healthcare Assistant>
SWITCHI¶
Identyczne z SWITCH, ale bez uwzględniania wielkości liter. Ocenia wyrażenie, a następnie porównuje je z każdym elementem listy. Jeśli jeden z elementów listy jest zgodny (bez uwzględniania wielkości liter), zwracana jest powiązana z nim wartość. Jeśli żaden element listy nie jest zgodny z wyrażeniem, a zdefiniowano element „default”, zwracana jest wartość powiązana z tym elementem.
Składnia funkcji:
<SWITCHI:[Expression]:[Searched_value_1],[Returned_value_1]:[Searched_value_2],[Returned_value_2]:[Searched_value_N],[Returned_value_N]>
Sposób użycia:
- Słowo kluczowe SWITCHi może być używane we wszystkich polach typu „expression”, takich jak operacje COPY, MODVALUE itd.
- Oceniane wyrażenie może zawierać słowa kluczowe pobierające wartości atrybutów, na przykład SyncAttSrc lub SyncAttDst.
Przykłady konfiguracji:
- Przykład: <SWITCHi:<SyncAttSrc:job_code>:DOC,Doctor:NUR,Nurse:HCA,Healthcare Assistant>
SWITCH_TABLE¶
Identyczne z SWITCHi, ale elementy listy nie są pobierane z samego wyrażenia — są przechowywane w pliku określonym przez parametr. Ocenia wyrażenie, a następnie porównuje je z każdym elementem listy zawartym w pliku. Jeśli jeden z elementów listy jest zgodny (bez uwzględniania wielkości liter), zwracana jest powiązana z nim wartość. Jeśli żaden element listy nie jest zgodny z wyrażeniem, a zdefiniowano element „default”, zwracana jest wartość powiązana z tym elementem.
Składnia funkcji:
<SWITCH_TABLE:[Expression]:[file_path]>
Format pliku jest następujący:
1 2 3 4 | |
Elementy listy są odczytywane po kolei, aż do napotkania brakującego numeru.
Sposób użycia:
- Słowo kluczowe SWITCH_TABLE może być używane we wszystkich polach typu „expression”, takich jak operacje typu COPY, MODVALUE itd.
- Oceniane wyrażenie może zawierać słowa kluczowe pobierające wartości atrybutów, na przykład SyncAttSrc lub SyncAttDst.
Przykłady konfiguracji:
- Przykład:
- Plik:
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¶
Ocenia wyrażenie. Jeśli wynik jest prawdziwy (1), jako wynik zwracana jest pierwsza wartość; w przeciwnym razie zwracana jest druga wartość.
Składnia funkcji:
<IF:[Expression]:[Result_if_true]:[Result_if_false]>
Sposób użycia:
- Słowo kluczowe IF może być używane we wszystkich polach typu „expression”, takich jak operacje typu COPY, MODVALUE itd.
- Oceniane wyrażenie może zawierać słowa kluczowe pobierające wartości atrybutów, na przykład SyncAttSrc lub SyncAttDst.
Przykłady konfiguracji:
- Przykład: <IF:<CMP:<SyncAttSrc:person_type>:Agent>:Agent_interne:External_Agent>
