Beeyond Expression Language (BEL)



Inhoudsopgave

Inleiding

In Beeyond is het mogelijk gemaakt om via een expressie taal flexibel berekeningen, samenvoegingen en/of aanpassingen door te voeren. Om dit mogelijk te maken is de BEL taal (Beeyond Expression Language) ontwikkeld. Deze taal kan op de volgende plaatsen in de applicatie gebruikt worden, namelijk:

  • Bulk wijzigingen

  • Import formaten

  • Blauwdruk, attribuut definities:

    • Berekening

    • Berekende string (tekst)

    • Samengestelde sleutel

Deze sectie beschrijft de algemene werking hiervan. Allereerst zullen algemene syntaxen weergegeven die gebruikt kunnen worden. Als tweede komen aandachtspunten aan bod waar rekening mee gehouden dient te worden bij het opstellen van de expressies. Als laatste worden alle functies benoemd welke in Beeyond gebruikt kunnen worden.

Ook is een aantal voorbeelden uit de praktijk uitgewerkt per functie. Klik hier om deze te raadplegen.



Syntaxen

In onderstaande tabel zijn de mogelijke syntaxen voor BEL beschreven. In de kolom Type is aangegeven of de specifieke functie geldt voor numerieke berekeningen, tekst berekeningen of beide. Tekst berekeningen zijn berekeningen op basis van tekst die in een bepaald attribuut is ingegeven.

Functie

Omschrijving

Type

Resultaat type

Toelichting

Functie

Omschrijving

Type

Resultaat type

Toelichting

+

Optellen

Numeriek en tekst

Zelfde als input

Bij string attributen worden de string attributen achter elkaar geplakt.

-

Aftrekken

Numeriek

Numeriek



*

Vermenigvuldigen

Numeriek

Numeriek



/

Delen

Numeriek

Numeriek



^

Machtverheffen

Numeriek

Numeriek



( )

Groepeer een resultaat

Numeriek en tekst







Constante

Numeriek en tekst

Zelfde als uiteindelijke resultaat

Voor Strings - mag alleen bevatten: punt, komma, spatie, a-z, A-Z, 0-9, -, _

Voor numerieke waarden - mag alleen bevatten: 0-9 en punt

| |

Variabele

Numeriek en tekst

Zelfde als uiteindelijke resultaat

Tussen de || dient de variabele naam van een attribuut uit Beeyond ingevuld te worden, dus bijvoorbeeld |ARTIKEL_BREEDTE| indien in de berekening iets met de breedte dient te gebeuren

[IF]

Start van een conditionele berekening

Numeriek en tekst



Komt overeen met de ALS functie in Excel.

De functie moet gevolgd worden door een [THEN] en [ELSE]

[THEN]

Gedeelte waarna het resultaat volgt bij de waarde true

Numeriek en tekst





[ELSE]

Gedeelte waarna het resultaat volgt bij de waarde false

Numeriek en tekst





>

Groter dan

Numeriek

Waar / niet waar





>=

Groter dan of gelijk aan

Numeriek

Waar / niet waar



<

Kleiner dan

Numeriek

Waar / niet waar



<=

Kleiner dan of gelijk aan

Numeriek

Waar / niet waar



==

Gelijk aan

Numeriek en tekst

Waar / niet waar

Vergelijkt of de waarden gelijk aan elkaar zijn. Het attribuuttype is daarbij niet van belang.

!=

Niet gelijk aan

Numeriek en tekst

Waar / niet waar

Vergelijkt of de waarden NIET gelijk aan elkaar zijn. Het attribuuttype is daarbij niet van belang.

!!

Gelijk aan NULL

Numeriek en tekst

Waar / niet waar

Controleert of de waarde NULL is, wat concreet betekend dat er geen waarde aanwezig is in het betreffende attribuut in Beeyond.

Zie ook de volgende functies (beschreven verderop in deze pagina) die in plaats van deze syntaxen gebruikt kunnen worden:

is_empty(input) of is_blank(input)

??

Is leeg

Numeriek en tekst

Waar / niet waar

Controleert of de waarde leeg is.

Zie ook de volgende functies (beschreven verderop in deze pagina) die in plaats van deze syntaxen gebruikt kunnen worden:

is_empty(input) of is_blank(input)

!?

Is niet leeg

Numeriek en tekst

Waar / niet waar

Controleert of de waarde NIET leeg is.

Zie ook de volgende functies (beschreven verderop in deze pagina) die in plaats van deze syntaxen gebruikt kunnen worden:

is_empty(input) of is_blank(input)

[AND]

EN functie om het juiste resultaat te bewerkstelligen

Numeriek en tekst



Deze functie werkt alleen om een boolean attribuut te vullen op basis van 2 andere boolean waardes

[OR]

OF functie om het juiste resultaat te bewerkstelligen

Numeriek en tekst



Deze functie werkt alleen om een boolean attribuut te vullen op basis van 2 andere boolean waardes

[NOT]

Functie waarbij je aangeeft dat iets niet overeenkomt met hetgeen na [NOT] wordt ingegeven

Numeriek en tekst





\n

Enter

Tekst



Vanaf de 1.9.0 versie is het mogelijk om deze functie toe te passen in berekende tekstvelden. \n zorgt ervoor dat er een enter wordt toegevoegd. Ook in memo velden (dmv een bulkactie) kan deze functie gebruikt worden.

Voorbeeld: |var1|+\n+|var2| 



Aandachtspunten

  • Als je \ als letterlijke tekst wil ingeven dan moet je het ingeven als \\. \ is namelijk een speciaal teken. Door \\ in te geven geef je aan dat het een niet een speciaal teken betreft, en wordt het geescaped Het @ teken betreft ook een speciaal teken. Indien dit toch gewenst is in een bepaalde tekst kan dit gebruikt worden door dit teken tussen twee plussen te plaatsen: +\@+

  • Via de BEL functie is het momenteel niet mogelijk om berekeningen uit te voeren op basis van de lengte van een veld. 

  • Een punt dient altijd als decimaalteken gebruikt te worden in de BEL functie.

  • Zorg er bij het gebruik van een functie voor dat de variabele gevolgd wordt door een + teken, bijvoorbeeld: format(|variable|+,%03d).

  • Vanaf versie 1.9.0 kunnen ook "datum-attributen"gebruikt worden in attributen van het type berekening en berekende string (tekst). Zie de subpagina met voorbeelden voor de uitwerking hiervan.



Functies

In onderstaande tabel zijn de mogelijke functies voor BEL beschreven. Uitleg per kolommen:

  • Functie: naam van de functie.

  • Omschrijving: korte toelichting op de functie.

  • Input: geeft een voorbeeld van de input in de functie

  • Output: geeft aan wat het resultaat (de output) is van de input.

  • Type attribuut: geeft aan of de functie gebruikt kan worden in numerieke- of string (tekst) berekeningen, of beide.

  • Voorbeeld: Link naar een voorbeeld expressie.

Expressie

Omschrijving

In

Uit

Type attribuut

Voorbeeld

Expressie

Omschrijving

In

Uit

Type attribuut

Voorbeeld

sin(input)

Sinus

Sinus en cosinus zijn onderling samenhangende goniometrische functies. Zij worden in de wiskunde gebruikt als aanduidingen van de verhouding van lengtes van lijnstukken.





Numeriek



cos(input)

Cosinus

Sinus en cosinus zijn onderling samenhangende goniometrische functies. Zij worden in de wiskunde gebruikt als aanduidingen van de verhouding van lengtes van lijnstukken.





Numeriek



tan(input)

Tangent (raaklijn)

De raaklijn, tangens of tangent aan een kromme in een punt van de kromme is in de meetkunde de rechte lijn door dat punt met dezelfde richting als de kromme. Het punt waarin de raaklijn de kromme raakt, heet raakpunt. De raaklijn is de benadering van de kromme in het raakpunt door een rechte lijn. De raaklijn kan de kromme eventueel nog snijden in een ander punt dan het raakpunt.





Numeriek



asin(input)

Omgekeerde sinus





Numeriek



acos(input)

Omgekeerde cosinus





Numeriek



atan(input)

Omgekeerde Tangent (raaklijn)





Numeriek



sqrt(input)

Vierkantswortel

Getal dat met zichzelf vermenigvuldigd een gegeven getal oplevert. Voorbeeld: `De vierkantswortel van 121 is elf





Numeriek



exp(input)

Exponent met als basis e





Numeriek



ln(input)

Natuurlijk algoritme





Numeriek



log(input)

Natuurlijk algoritme met als basis e





Numeriek



log2(input)

Natuurlijk algoritme met als basis e





Numeriek



abs(input)

Absolute waarde





Numeriek



floor(input)

Afronding naar een geheel getal, naar beneden

5,5

5

Numeriek / tekst



to_int(input)

Omzetting naar een integer.





Numeriek / tekst



ceil(input)

Afronding naar een geheel getal, naar boven

5,5

6

Numeriek / tekst



round(input)

Afronden naar een geheel getal

Zet altijd een round om een automatisch ophogend nummer, anders kan er een wetenschappelijke notatie in het resultaat zichtbaar zijn.





Numeriek / tekst



ean13(input)

Voert een EAN13 berekening uit en voegt deze toe aan de tekst.





tekst



ean8(input)

Voert een EAN8 berekening uit en voegt deze toe aan de tekst.





tekst



format(input,formatString)

Zet de ingegeven tekst om naar een ander geformatteerde tekst.

Verderop in deze sectie zijn hiervan een aantal voorbeelden weergegeven.





tekst



coalesce(input,<default1>,<default2>...)

Dit is een functie waar je een arbitrair aantal velden aan meegeeft en je de eerste niet-null waarde terugkrijgt. 





Numeriek / tekst



is_empty(input)

Controleert of een veld leeg ("") of null is.

Een veld is null als deze nog niet gevuld is geweest.

isEmpty(null)

isEmpty("")

isEmpty(" ")

isEmpty("bob")

isEmpty("  bob  ")

true

true

false

false

false

Numeriek / tekst



is_blank(input) 

Controleert of een veld leeg ("") of null is. Ook als er een spatie gevuld is wordt deze als niet gevuld beschouwd.

Een veld is null als deze nog niet gevuld is geweest.

is_blank(null)

is_blank("")

is_blank(" ")

is_blank("bob")

is_blank("  bob  ")

true

true

true

false

false

Numeriek / tekst



is_not_blank(input) 

Controleert of een veld gevuld is. Als er alleen een spatie gevuld is wordt deze als niet gevuld beschouwd.



is_not_blank(null)

is_not_blank("")

is_not_blank(" ")

is_not_blank("bob")

is_not_blank("  bob  ")

false

false

false

true

true

Numeriek / tekst



trim(input)

Verwijderd spaties aan het begin en einde.



trim(null)

trim("")

trim("     ")

trim("abc")

trim("    abc    ")

null

""

""

"abc"

"abc"

Tekst



strip(input)

Strips whitespace from the start and end of a String.



This is similar to trim(String) but removes whitespace.

Whitespace is defined by {@link Character#isWhitespace(char)}.

strip(null)

strip("")

strip("   ")

strip("abc")

strip("  abc")

strip("abc  ")

strip(" abc ")

strip(" ab c ")

null

""

""

"abc"

"abc"

"abc"

"abc"

"ab c"

Tekst



str_equals(input,input)

Met deze functie kan een tekst vergelijking toegepast worden. Deze vergelijking is hoofdletter gevoelig.

str_equals(null, null)

str_equals(null, "abc")

str_equals("abc", null)

str_equals("abc", "abc")

str_equals("abc", "ABC")

true

false

false

true

false

Tekst



str_compare

Vergelijkt twee tekstvelden.



str_compare(null, null)

str_compare(null , "a")

str_compare("a", null)

str_compare("abc", "abc")

str_compare("a", "b")

str_compare("b", "a")

str_compare("a", "B")

str_compare("ab", "abc")

0

0

0

0

0

0

0

0

Tekst

input / output controleren

starts_with

Controleert of een veld met een bepaalde waarde begint. De vergelijking is hoofdlettergevoelig. 



startsWith(null, null)

startsWith(null, "abc")

startsWith("abcdef", null)

startsWith("abcdef", "abc")

startsWith("ABCDEF", "abc")

true

false

false

true

false

Tekst



ends_with

Controleert of een veld met een bepaalde waarde eindigt. De vergelijking is hoofdlettergevoelig.



endsWith(null, null)

endsWith(null, "def")

endsWith("abcdef", null)

endsWith("abcdef", "def")

endsWith("ABCDEF", "def")

endsWith("ABCDEF", "cde")

endsWith("ABCDEF", "")

true

false

false

true

false

false

true

Tekst



contains

Controleert of een tekstveld een bepaalde waarde bevat.



contains(null, )

contains(, null)

contains("", "")

contains("abc", "")

contains("abc", "a")

contains("abc", "z")

false

false

true

true

true

false

Tekst



contains_only

Controleert of een tekstveld alleen bepaalde karakters bevat.



containsOnly(null, )

containsOnly(, null)

containsOnly("", )

containsOnly("ab", "")

containsOnly("abab", "abc")

containsOnly("ab1", "abc")

containsOnly("abz", "abc")

false

false

true

false

true

false

false

Tekst



contains_none

Controleert of een tekstveld niet bepaalde karakters bevat.





containsNone(null, )

containsNone(, null)

containsNone("", )

containsNone("ab", "")

containsNone("abab", "xyz")

containsNone("ab1", "xyz")

containsNone("abz", "xyz")

true

true

true

true

true

true

false

Tekst



contains_any

Controleert of een tekstveld een willekeurig karakter bevat van de opgegeven waardes.



containsAny(null, )

containsAny("", )

containsAny(, null)

containsAny(, "")

containsAny("zzabyycdxx", "za")  

containsAny("zzabyycdxx", "by")

containsAny("zzabyycdxx", "zy")

containsAny("zzabyycdxx", "\tx")

containsAny("zzabyycdxx", "$.#yF")

containsAny("aba","z")

false

false

false

false

true

true

true

true

true

false

Tekst



substring

Geeft als resultaat de tekst vanaf een bepaald aantal karakters weer.

Een negatieve startpositie kan gebruikt worden of te starten aan het einde van het tekstveld.

substring(null, )

substring("", )

substring("abc", 0)

substring("abc", 2)

substring("abc", 4)

substring("abc", -2)

substring("abc", -4)

null

""

"abc"

"c"
""

"bc"

"abc"

Tekst



left

Geeft als resultaat een aantal karakters weer gezien vanaf de start van het tekstveld.



    



left(null, )

left(, -ve)

left("", )

left("abc", 0)

left("abc", 2)

left("abc", 4)

null

""

""

""

"ab"

"abc"

Tekst



right

Geeft als resultaat een aantal karakters weer gezien vanaf het einde van het tekstveld.



right(null, )

right(, -ve)

right("", )

right("abc", 0)

right("abc", 2)

right("abc", 4)

null

""

""

""

"bc"

"abc"

Tekst



substring_before

Geeft de waarde van een tekstveld voor een bepaald karakter.



substringBefore(null, )

substringBefore("", )

substringBefore("abc", "a")

substringBefore("abcba", "b")

substringBefore("abc", "c") 

substringBefore("abc", "d")

substringBefore("abc", "")

substringBefore("abc", null)

null

""

""

"a"

"ab"

"abc"

""

"abc"

Tekst



substring_after

Geeft de waarde van een tekstveld na een bepaald karakter.

substringAfter(null, )

substringAfter("", )

substringAfter(, null)

substringAfter("abc", "a")

substringAfter("abcba", "b")

substringAfter("abc", "c")

substringAfter("abc", "d")

substringAfter("abc", "")

null

""

""

"bc"

"cba"

""

""

"abc"

Tekst



 substring_between

Geeft de waarde tussen een ingegeven karakter. Het ingegeven karakter dient dan 2 keer voor te komen in het betreffende veld.

substringBetween(null, )

substringBetween("", "")

substringBetween("", "tag")

substringBetween("tagabctag", null)

substringBetween("tagabctag", "")

substringBetween("tagabctag", "tag")

null

""

null

null

""

"abc"

Tekst



remove

Verwijderd opgegeven tekst uit een tekstveld.





remove(null, )

remove("", )

remove(, null)

remove(, "")

remove("queued", "ue")

remove("queued", "zz")

null

""

""

""

"qd"

"queued"

Tekst



chomp

Verwijderd enters aan het einde van een tekstveld, indien aanwezig

chomp(null)

chomp("")

chomp("abc \r")

chomp("abc\n")

chomp("abc\r\n")

chomp("abc\r\n\r\n")

chomp("abc\n\r")

chomp("abc\n\rabc")

chomp("\r")

chomp("\n")

chomp("\r\n")

null

""

"abc "

"abc"

"abc"

"abc\r\n"

"abc\n"

"abc\n\rabc"

""

""

""

Tekst



chop

Verwijderd het laatste karakter van een tekstveld.

chop(null)

chop("")

chop("abc \r")

chop("abc\n")

chop("abc\r\n")

chop("abc")

chop("abc\nabc")

chop("a")

chop("\r")

chop("\n")

chop("\r\n")

null

""

"abc"

"abc"

"abc"

"ab"

"abc\nab"

""

""

""

""

Tekst



append_if_missing

Voeg tekst aan het einde van een tekstveld toe, indien deze ingegeven tekst niet aanwezig is.

appendIfMissing(null, null)

appendIfMissing("abc", null)

appendIfMissing("", "xyz")

appendIfMissing("abc", "xyz")

appendIfMissing("abcxyz", "xyz")

appendIfMissing("abcXYZ", "xyz")

   

With additional suffixes,

   

appendIfMissing(null, null, null)

appendIfMissing("abc", null, null)

appendIfMissing("", "xyz", null)

appendIfMissing("abc", "xyz", new CharSequence[]{null})

appendIfMissing("abc", "xyz", "")

appendIfMissing("abc", "xyz", "mno")

appendIfMissing("abcxyz", "xyz", "mno")

appendIfMissing("abcmno", "xyz", "mno")

appendIfMissing("abcXYZ", "xyz", "mno")

appendIfMissing("abcMNO", "xyz", "mno")

null

"abc"

"xyz"

"abcxyz"

"abcxyz"

"abcXYZxyz"







null

"abc"

"xyz"

"abcxyz"

"abc"

"abcxyz"

"abcxyz"

"abcxyz"

"abcXYZxyz"

"abcMNOxyz"



Tekst



prefend_if_missing

Voegt karakters aan het begin van een tekstveld toe indien deze niet aanwezig zijn.

prependIfMissing(null, null)

prependIfMissing("abc", null)

prependIfMissing("", "xyz")

prependIfMissing("abc", "xyz")

prependIfMissing("xyzabc", "xyz")

prependIfMissing("XYZabc", "xyz")



With additional prefixes,



prependIfMissing(null, null, null)

prependIfMissing("abc", null, null)

prependIfMissing("", "xyz", null)

prependIfMissing("abc", "xyz", null)

prependIfMissing("abc", "xyz", "")

prependIfMissing("abc", "xyz", "mno")

prependIfMissing("xyzabc", "xyz", "mno")

prependIfMissing("mnoabc", "xyz", "mno")

prependIfMissing("XYZabc", "xyz", "mno")

prependIfMissing("MNOabc", "xyz", "mno")

null

""

""

""

""

""







null

"abc"

"xyz"

"xyzabc"

"abc"

"xyzabc"

"xyzabc"

"mnoabc"

"xyzXYZabc"

"xyzMNOabc"

Tekst



leftpad

Voegt spaties toe aan het begin van een tekstveld

leftPad(null, )

leftPad("", 3)

leftPad("bat", 3)

leftPad("bat", 5)

leftPad("bat", 1)

leftPad("bat", -1)

null

" "

"bat"

"bat"

"bat"

"bat"

Tekst



rightpad

Voegt spaties aan het einde van een tekstveld toe.

rightPad(null, )

rightPad("", 3)

rightPad("bat", 3)

rightPad("bat", 5)

rightPad("bat", 1)

rightPad("bat", -1)

null

" "

"bat"

"bat"

"bat"

"bat"

Tekst



center

Centreert een tekst in een opgegeven tekstlengte.

center(null, )

center("", 4)

center("ab", -1)

center("ab", 4)

center("abcd", 2)

center("a", 4)

null

" "

"ab"

" ab "

"abcd"

" a "

Tekst



repeat

Repeat a String {@code repeat} times to form a

new String.

repeat(null, 2)

repeat("", 0)

repeat("", 2)

repeat("a", 3)

repeat("ab", 2)

repeat("a", -2)

null

""

""

"aaa"

"abab"

""

Tekst



uppercase

Converts a String to upper case as per {@link String#toUpperCase()}.



upperCase(null)

upperCase("")

upperCase("aBc")

null

""

"ABC"

Tekst



lowercase

Converts a String to lower case as per {@link String#toLowerCase()}.



lowerCase(null)

lowerCase("")

lowerCase("aBc")

null

""

"abc"

Tekst



swapcase

Swaps the case of a String changing upper and title case to

lower case, and lower case to upper case.



Upper case character converts to Lower case

Title case character converts to Lower case

Lower case character converts to Upper case



For a word based algorithm, see {@link org.apache.commons.lang3.text.WordUtils#swapCase(String)}.

swapCase(null)

swapCase("")

swapCase("The dog has a BONE")

null

""

"tHE DOG HAS A bone"

Tekst



capitalize

Capitalizes a String changing the first character to title case as

per {@link Character#toTitleCase(char)}. No other characters are changed.



For a word based algorithm, see {@link org.apache.commons.lang3.text.WordUtils#capitalize(String)}.

capitalize(null)

capitalize("")

capitalize("cat")

capitalize("cAt")

capitalize("'cat'")

null

""

"Cat"

"CAt"

"cat"

Tekst



uncapitalize

Uncapitalizes a String, changing the first character to lower case. No other characters are changed.



uncapitalize(null)

uncapitalize("")

uncapitalize("cat")

uncapitalize("Cat")

uncapitalize("CAT")

null

""

"cat"

"cat"

"cAT"

Tekst



capitalizewords

Zet de eerste letters van elk woord om in een hoofdletter. Indien een woord hoofdletters bevat, dan blijven deze bestaan

capitalizewords("dit is een test")

capitalizewords("dit is een TEST")

Dit Is Een Test

Dit Is Een TEST

Tekst



count_matches

Counts how many times the substring appears in the larger string.





countMatches(null, )

countMatches("", )

countMatches("abba", null)

countMatches("abba", "")

countMatches("abba", "a")

countMatches("abba", "ab")

countMatches("abba", "xxx")

0

0

0

0

2

1

0

Tekst



is_alpha

Checks if the CharSequence contains only Unicode letters.



isAlpha(null)

isAlpha("")

isAlpha(" ")

isAlpha("abc")

isAlpha("ab2c")

isAlpha("ab-c")

false

false

false

true

false

false

Tekst



is_numeric

Checks if the CharSequence contains only Unicode digits.

A decimal point is not a Unicode digit and returns false.











isNumeric(null)

isNumeric("")

isNumeric(" ")

isNumeric("123")

isNumeric("\u0967\u0968\u0969")

isNumeric("12 3")

isNumeric("ab2c")

isNumeric("12-3")

isNumeric("12.3")

isNumeric("-123")

isNumeric("+123")

false

false

false

true

true

false

false

false

false

false

false

Numeriek / tekst



is_whitespace

Checks if the CharSequence contains only whitespace.





isWhitespace(null)

isWhitespace("")

isWhitespace(" ")

isWhitespace("abc")

isWhitespace("ab2c")

isWhitespace("ab-c")

false

true

true

false

false

false

Tekst



is_ascii_printable

Checks if the CharSequence contains only ASCII printable characters.







isAsciiPrintable(null)

isAsciiPrintable("")

isAsciiPrintable(" ")

isAsciiPrintable("Ceki")

isAsciiPrintable("ab2c")

isAsciiPrintable("!ab-c~")

isAsciiPrintable("\u0020")

isAsciiPrintable("\u0021")

isAsciiPrintable("\u007e")

isAsciiPrintable("\u007f")

isAsciiPrintable("Ceki G\u00fclc\u00fc")

false

true

true

true

true

true

true

true

true

false

false

Tekst



reverse

Reverses a String as per {@link StringBuilder#reverse()}.



reverse(null)

reverse("")

reverse("bat")

null

""

"tab"

Tekst



abbreviate

Abbreviates a String using ellipses. This will turn

"Now is the time for all good men" into "Now is the time for..."

abbreviate(null, )

abbreviate("", 4)

abbreviate("abcdefg", 6)

abbreviate("abcdefg", 7)

abbreviate("abcdefg", 8)

abbreviate("abcdefg", 4)

abbreviate("abcdefg", 3)

null

""

"abc..."

"abcdefg"

"abcdefg"

"a..."

IllegalArgumentException

Tekst



difference

Vergelijkt twee tekstvelden en geeft als resultaat dat gedeelte waar de twee tekstvelden verschlilen van elkaar.







difference(null, null)

difference("", "")

difference("", "abc")

difference("abc", "")

difference("abc", "abc")

difference("abc", "ab")

difference("ab", "abxyz")

difference("abcde", "abxyz")

difference("abcde", "xyz")

null

""

"abc"

""

""

""

"xyz"

"xyz"

"xyz"

Tekst



mid

Geeft een bepaald (instelbaar) aantal karakters van een tekstveld weer vanaf een bepaalde positie.

mid(null, , )

mid(, , -ve)

mid("", 0, )

mid("abc", 0, 2)

mid("abc", 0, 4)

mid("abc", 2, 4)

mid("abc", 4, 2)

mid("abc", -2, 2)

null

""

""

"ab"

"abc"

"c"

""

"ab"

Tekst



replace

Met deze functie kunnen bepaalde karakters in een testveld vervangen worden.





replace("aba", 'a', null)

replace("aba", 'a','')

replace("root", 't', 'd')

"aba"

"b"

"rood"

Tekst








main_sbi_from_coc

Neemt het attribute ID van een COC checkstate veld als input en returned de SBI-code van de main activity.

Neem aan: ATTR_COC_checkstate heeft SBI-codes: "123" (main), "321", "100".
main_sbi_from_coc(|ATTR_COC_checkstate|)

"123"

Tekst



all_sbi_from_coc

Neemt het attribute ID van een COC checkstate veld als input en returned alle SBI-codes. Hierbij wordt de main SBI-code gemarkeerd.

Neem aan: ATTR_COC_checkstate heeft SBI-codes: "123" (main), "321", "100".
all_sbi_from_coc(|ATTR_COC_checkstate|)

"123 (Main), 321, 100"

Tekst