Next revision | Previous revisionLast revisionBoth sides next revision |
funkcije_i_format_filter_fajlova_sinhronizacije [2011/09/14 11:55] – created milano | funkcije_i_format_filter_fajlova_sinhronizacije [2011/09/14 12:32] – milano |
---|
| |
| |
<font 9pt:normal/arial>Jedan filter se sastoji od sledecih stavki razdvojenih znakom TAB</font> | Jedan filter se sastoji od sledecih stavki razdvojenih znakom TAB |
| |
| |
<font 9pt:normal/arial>Ako ne zelimo da specificiramo stavku, stavljamo %%*%% na njeno mesto, npr:</font> | Ako ne zelimo da specificiramo stavku, stavljamo<nowiki> *</nowiki> na njeno mesto, npr: |
| |
| |
| | ^Flag ^Table ^Parameter ^Value ^Master field | |
====== Flag ====== | |//A/B/K/L // |ime tabele |ime polja |vrednost |ime polja | |
| | |Primeri: ||||| |
====== Table ====== | |K |<nowiki>*</nowiki> |<nowiki>*</nowiki> |<nowiki>*</nowiki> | | |
| | |A |<nowiki>*</nowiki> |<nowiki>*</nowiki> |<nowiki>*</nowiki> | | |
====== Parameter ====== | |A |Sifre |<nowiki>*</nowiki> |<nowiki>*</nowiki> |Konto | |
| | |K |Ulazi |SklID |5 |UlID | |
====== Value ====== | |K |<nowiki>*</nowiki> |Naziv |'Melany' |NazID | |
| | |
====== Master field ====== | |
| | |
|<font 9pt:normal/arial>A/K/S</font> |<font 9pt:normal/arial>ime tabele</font> |<font 9pt:normal/arial>ime polja</font> |<font 9pt:normal/arial>vrednost</font> |<font 9pt:normal/arial>ime polja</font> | | |
|<font 9pt:normal/arial;;#333399><font 9pt:normal/arial>K</font> </font> |<font 9pt:normal/arial;;#333399><font 9pt:normal/arial>%%*%%</font> </font> |<font 9pt:normal/arial;;#333399><font 9pt:normal/arial>%%*%%</font> </font> |<font 9pt:normal/arial;;#333399><font 9pt:normal/arial>%%*%%</font> </font> | | |
|<font 9pt:normal/arial;;#333399><font 9pt:normal/arial>A</font> </font> |<font 9pt:normal/arial;;#333399><font 9pt:normal/arial>%%*%%</font> </font> |<font 9pt:normal/arial;;#333399><font 9pt:normal/arial>%%*%%</font> </font> |<font 9pt:normal/arial;;#333399><font 9pt:normal/arial>%%*%%</font> </font> | | |
|<font 9pt:normal/arial;;#333399><font 9pt:normal/arial>A</font> </font> |<font 9pt:normal/arial;;#333399><font 9pt:normal/arial>Sifre</font> </font> |<font 9pt:normal/arial;;#333399><font 9pt:normal/arial>%%*%%</font> </font> |<font 9pt:normal/arial;;#333399><font 9pt:normal/arial>%%*%%</font> </font> |<font 9pt:normal/arial;;#333399><font 9pt:normal/arial>Konto</font> </font> | | |
|<font 9pt:normal/arial;;#333399><font 9pt:normal/arial>K</font> </font> |<font 9pt:normal/arial;;#333399><font 9pt:normal/arial>Ulazi</font> </font> |<font 9pt:normal/arial;;#333399><font 9pt:normal/arial>SklID</font> </font> |<font 9pt:normal/arial;;#333399><font 9pt:normal/arial>5</font> </font> |<font 9pt:normal/arial;;#333399><font 9pt:normal/arial>UlID</font> </font> | | |
|<font 9pt:normal/arial;;#333399><font 9pt:normal/arial>K</font> </font> |<font 9pt:normal/arial;;#333399><font 9pt:normal/arial>%%*%%</font> </font> |<font 9pt:normal/arial;;#333399><font 9pt:normal/arial>Naziv</font> </font> |<font 9pt:normal/arial;;#333399><font 9pt:normal/arial>'Melany'</font> </font> |<font 9pt:normal/arial;;#333399><font 9pt:normal/arial>NazID</font> </font> | | |
| |
| |
<font 9pt:normal/arial>Ako je bilo koja stavka prazan string, pretvara se u %%*%%</font> | Ako je bilo koja stavka prazan string, pretvara se u<nowiki> *</nowiki> |
| |
| |
<font 9pt:normal/arial>Ako nije detektovan TAB posle </font> <font 9pt:normal/arial>**Flag** </font> <font 9pt:normal/arial>, </font> <font 9pt:normal/arial>**Table** </font> <font 9pt:normal/arial>ili </font> <font 9pt:normal/arial>**Parameter** </font> <font 9pt:normal/arial>, sve stavke posle specificirane se pretvaraju u %%*%%</font> | Ako nije detektovan TAB posle **Flag**, **Table** ili **Parameter**, sve stavke posle specificirane se pretvaraju u<nowiki> *</nowiki> |
| |
| |
<font 9pt:normal/arial>__**Flag:** __ </font> | __**Flag:** __ |
| |
| |
<font 9pt:normal/arial>Operacija koja će biti izvršena nad upitom ako se uslov ispuni.</font> | Operacija koja će biti izvršena nad upitom ako se uslov ispuni. |
| |
| |
<font 9pt:normal/arial>**A (Accept)** </font> <font 9pt:normal/arial>znaci da se SQL prihvata bez cekiranja ostalih filtera</font> | **A (Accept)** znaci da se SQL prihvata bez cekiranja ostalih filtera |
| |
| |
<font 9pt:normal/arial>**B (Accept if not) ** </font> <font 9pt:normal/arial>znači da se SQL prihvata ako uslov nije ispunjen</font> | **B (Accept if not) ** znači da se SQL prihvata ako uslov nije ispunjen |
| |
| |
<font 9pt:normal/arial>**K (Kill)** </font> <font 9pt:normal/arial>znaci da se SQL odbija bez cekiranja ostalih filtera</font> | **K (Kill)** znaci da se SQL odbija bez cekiranja ostalih filtera |
| |
| |
<font 9pt:normal/arial>**<font 9pt:normal/arial>L (Kill if not) </font> ** <font 9pt:normal/arial>znači da se SQL odbija ako uslov nije ispunjen</font> </font> | **L (Kill if not) ** znači da se SQL odbija ako uslov nije ispunjen |
| |
| |
<font 9pt:normal/arial>ako smo prosli sve filtere i nismo ispunili nijedan </font> <font 9pt:normal/arial>**uslov** </font> <font 9pt:normal/arial>, SQL se automatski odbija.</font> | ako smo prosli sve filtere i nismo ispunili nijedan **uslov** , SQL se automatski odbija. |
| |
| |
<font 9pt:normal/arial>ako je dat samo </font> <font 9pt:normal/arial>**Flag** </font> <font 9pt:normal/arial>, a ostale stavke su %%*%%, uslov za </font> <font 9pt:normal/arial>**Flag** </font> <font 9pt:normal/arial>je ispunjen, npr. :</font> | |
| |
| |
| ako je dat samo **Flag** , a ostale stavke su<nowiki> *</nowiki>, uslov za **Flag** je ispunjen, npr. : |
====== Flag Table Parameter Value ====== | ====== Flag Table Parameter Value ====== |
| |
| |
<font 9pt:normal/arial;;#333399><font 9pt:normal/arial>K %%*%% %%*%% %%*%%</font> </font> | <code> |
| K * * * |
| </code> |
| |
| |
<font 9pt:normal/arial>ce odbiti sve SQL-ove (potrebno za Infilter za centralnu RJ), dok ce filter:</font> | ce odbiti sve SQL-ove (potrebno za Infilter za centralnu RJ), dok ce filter: |
| |
| |
<font 9pt:normal/arial;;#333399><font 9pt:normal/arial>A %%*%% %%*%% %%*%%</font> </font> | <code> |
| A * * * |
| </code> |
| |
| |
<font 9pt:normal/arial>po defaultu primati sve SQL-ove (potrebno za Infilter za sve ostale RJ)</font> | po defaultu primati sve SQL-ove (potrebno za Infilter za sve ostale RJ) |
| |
| |
<font 9pt:normal/arial>__**Table:** __ </font> | __**Table:** __ |
| |
| |
Ime tabele nad kojom operacija (flag) važi. <font 9pt:normal/arial>Ako se SQL obratio ovoj tabeli, ispunice se uslov za </font> <font 9pt:normal/arial>**Flag ** </font> <font 9pt:normal/arial>ako nije dat </font> <font 9pt:normal/arial>**Param** </font> <font 9pt:normal/arial>i </font> <font 9pt:normal/arial>**Value** </font> <font 9pt:normal/arial>, a ako su dati, deo uslova koji se tice tabele je ispunjen, ceka se rezultat provere parametra.</font> | Ime tabele nad kojom operacija (flag) važi. Ako se SQL obratio ovoj tabeli, ispunice se uslov za **Flag ** ako nije dat **Param** i **Value** , a ako su dati, deo uslova koji se tice tabele je ispunjen, ceka se rezultat provere parametra. |
| |
| |
<font 9pt:normal/arial>__**Parameter:** __ </font> | __**Parameter:** __ |
| |
| |
<font 9pt:normal/arial>Ime polja čija će se vrednost ispitati na </font> <font 9pt:normal/arial>**Value** </font> <font 9pt:normal/arial>.</font> | Ime polja čija će se vrednost ispitati na **Value** . |
| |
| |
<font 9pt:normal/arial>Ako je </font> <font 9pt:normal/arial>**Value** </font> <font 9pt:normal/arial>= “%%*%%”, i ovo </font> <font 9pt:normal/arial>**Parameter** </font> <font 9pt:normal/arial>mora biti "%%*%%", inače</font> <font 9pt:normal/arial>Dambldor prijavljuje gresku.</font> | Ako je **Value** = “"<nowiki>*</nowiki>", i ovo **Parameter** mora biti "<nowiki>*</nowiki>", inače Dambldor prijavljuje gresku. |
| |
| |
<font 9pt:normal/arial>Ako u SQL-u imamo </font> | Ako u SQL-u imamo |
| |
| |
<font 9pt:normal/arial>INSERT INTO ime tabele () sa parametrom </font> <font 9pt:normal/arial>**Parameter ** </font> <font 9pt:normal/arial>i na odg. mestu u Values() imamo </font> <font 9pt:normal/arial>**Value ** </font> <font 9pt:normal/arial>ili </font> | INSERT INTO //ime tabele// () sa parametrom **Parameter ** i na odg. mestu u Values() imamo **Value ** ili |
| |
| |
<font 9pt:normal/arial>ako imamo UPDATE ... SET </font> <font 9pt:normal/arial>**Parameter** </font> <font 9pt:normal/arial>= </font> <font 9pt:normal/arial>**Value** </font> <font 9pt:normal/arial>ili</font> | ako imamo UPDATE … SET **Parameter** = **Value** ili |
| |
| |
<font 9pt:normal/arial>SELECT ... INTO ... WHERE </font> <font 9pt:normal/arial>**Parameter** </font> <font 9pt:normal/arial>= </font> <font 9pt:normal/arial>**Value ** </font> <font 9pt:normal/arial>ili</font> | SELECT … INTO … WHERE **Parameter** = **Value ** ili |
| |
| |
<font 9pt:normal/arial>DELETE ... FROM ... WHERE </font> <font 9pt:normal/arial>**Parameter** </font> <font 9pt:normal/arial>= </font> <font 9pt:normal/arial>**Value** </font> | DELETE … FROM … WHERE **Parameter** = **Value** |
| |
| |
<font 9pt:normal/arial>onda je ispunjen je uslov za </font> <font 9pt:normal/arial>**Flag, ** </font> <font 9pt:normal/arial>pod uslovom naravno da je </font> <font 9pt:normal/arial>**Table** </font> <font 9pt:normal/arial>uslov ispunjen</font> | onda je ispunjen je uslov za **Flag, ** pod uslovom naravno da je **Table** uslov ispunjen |
| |
| |
<font 9pt:normal/arial>__**Value:** __ </font> | __**Value:** __ |
| |
| |
<font 9pt:normal/arial>Value moze biti string (‘xxx’) ili broj (decimalni, ceo)</font> | Value moze biti string (‘xxx’) ili broj (decimalni, ceo) |
| |
| |
<font 9pt:normal/arial>__**MasterFld**__ </font> | __**MasterFld**__ |
| |
| |
<font 9pt:normal/arial>U slučaju da je potrebno filtrirati prema vrednosti iz prethodnog upita koristi se ovo polje. Vrednost se pamti u **#LMF#** (**Last Master Field value**) promenljivoj.</font> | U slučaju da je potrebno filtrirati prema vrednosti iz prethodnog upita koristi se ovo polje. Vrednost se pamti u **#LMF#** (**Last Master Field value**) promenljivoj. |
| |
| |
<font 9pt:normal/arial>__Pamćenje vrednosti za **#LMF#** test:__ </font> | __Pamćenje vrednosti za **#LMF#** test:__ |
| |
| |
<font 9pt:normal/arial>1. Dodati na kraj filter linije ime polja čija će se vrednost zapamtiti u MasterFld. Vrednost se pamti do sledećeg ispunjenog uslova koji sadrži MasterFld podatak.</font> | 1. Dodati na kraj filter linije ime polja čija će se vrednost zapamtiti u MasterFld. Vrednost se pamti do sledećeg ispunjenog uslova koji sadrži MasterFld podatak. |
| |
| |
<font 9pt:normal/arial>Primer:</font> | Primer: |
| |
| |
<font 9pt:normal/arial>**A Ulaz SklID 4 UlID** </font> | **A Ulaz SklID 4 UlID** |
| |
| |
<font 9pt:normal/arial>se tumači kao: "Prihvati SQL ako se radi o tabeli Ulaz u kojoj SklID ima vrednost 4 a u #LMF# zapamti vrednost iz polja UlID."</font> | se tumači kao: "Prihvati SQL ako se radi o tabeli Ulaz u kojoj SklID ima vrednost 4 a u #LMF# zapamti vrednost iz polja UlID." |
| |
| |
<font 9pt:normal/arial>**K Ulaz SklID 4 UlID** </font> | **K Ulaz SklID 4 UlID** |
| |
| |
<font 9pt:normal/arial>se tumači kao: "Odbij SQL ako se radi o tabeli Ulaz u kojoj SklID ima vrednost 4 ali u #LMF# zapamti vrednost iz polja UlID."</font> | se tumači kao: "Odbij SQL ako se radi o tabeli Ulaz u kojoj SklID ima vrednost 4 ali u #LMF# zapamti vrednost iz polja UlID." |
| |
| |
<font 9pt:normal/arial>__<font 9pt:normal/arial>Upoređivanje sa **#LMF#** vrednošću:</font> __ </font> | __Upoređivanje sa **#LMF#** vrednošću: __ |
| |
| |
<font 9pt:normal/arial><font 9pt:normal/arial>2. Vrši se na isti način kao što bi se upoređivalo na konstantu samo se umesto konstante stavi varijabla **#LMF#**.</font> </font> | 2. Vrši se na isti način kao što bi se upoređivalo na konstantu samo se umesto konstante stavi varijabla **#LMF#**. |
| |
| |
<font 9pt:normal/arial>Primer:</font> | Primer: |
| |
| |
<font 9pt:normal/arial>**A SasUlaz UlID #LMF#** </font> | **A SasUlaz UlID #LMF#** |
| |
| |
<font 9pt:normal/arial>se tumači kao: "Prihvati SQL ako se radi o tabeli SasUlaz u kojoj UlID ima vrednost Last Master Field."</font> | se tumači kao: "Prihvati SQL ako se radi o tabeli SasUlaz u kojoj UlID ima vrednost Last Master Field." |
| |
| |
<font 9pt:normal/arial>NAPOMENA: Prilikom korišćenja ovog načina filtriranja najbitnije je obratiti pažnju na uslove koji se mogu promeniti. Primer bi bio nalog za otpremu ili prijem koji umeće slogove u Ulaz tabelu, ali je SklID=0. Nakon potvrde SklID dobija ID magacina, ali ako INSERT NIJE PROŠAO, UPDATE neće imati nikakvog efekta.</font> | NAPOMENA: Prilikom korišćenja ovog načina filtriranja najbitnije je obratiti pažnju na uslove koji se mogu promeniti. Primer bi bio nalog za otpremu ili prijem koji umeće slogove u Ulaz tabelu, ali je SklID=0. Nakon potvrde SklID dobija ID magacina, ali ako INSERT NIJE PROŠAO, UPDATE neće imati nikakvog efekta. |
| |
| |
\\ | \\ |
| |