Variablen Typen

Variablen

Eine Variable besteht aus einem Namen und geschweiften Klammern, z.B. {Variable}. Der Name darf keine Leerzeichen enthalten.

Eine Variable kann eine beliebige Anzahl Parameter, z.B.
Format 1: {Variable, Param1=Daten1, Param2=Daten2}
oder
Format 2: {Variable Param1="Daten1" Param2="Daten2"} erhalten.

Format 1 kann genutzt werden, wenn die Daten kein Komma enthalten. Die Zeichen hinter dem Gleichzeichen werden komplett übernommen, auch Quotes (Akzent) oder Double-Quotes (Anführungszeichen). Bei Format2 gehören die Double-Quotes nicht zum Parameterwert, dürfen aber ein Komma enthalten.

Ein Parameter besteht aus einem Namen, einem Gleichzeichen und einem Wert, ähnlich einer lokalen Variable und nur für den Inhalt der jeweiligen Variable bestimmt.

Ein Hilfskonstrukt sind numerische Ausdrücke, um die ASCII-Zeichen 0-255 nutzen zu können, z.B. &#44# als Komma oder &#13,10# als CRLF.



Typ 1 - Simple Variable

var name = frmRAND;
select * from {name};


Typ 2 - Complex Variable

Dieser Variablentyp kann sehr lange, mehrzeilige Texte übertragen. Es sieht wie xml aus, ist es aber nicht.

select RAND.* from SUBJECTS, {table} RAND where SUBJECTS.SUBJECTID = RAND.SUBJECTID;

<extends>
<table>
(select
SUBJECTID, VISITMNEMONIC, RANDDATE
from
frmRAND
where
{sitefilter})
</table>
</extends>


Typ 3 - Variable mit Parameter

Type 2 und 3 sind miteinander verwandt. Type 3 überträgt zusätzlich Parameter.

select * from {table, n=2};

<extends>
<table>
(select SUBJECTID, VISITMNEMONIC, RANDDATE from frmRAND_V{n} where {sitefilter})
</table>
</extends>

(ab Version 1.1.233)
select * from {table n="2" m="3"};



Typ 4 - Repeating Variable

(ab Version 1.1.227)

Wiederhole den Inhalt einer Variable x Mal mit einem oder mehreren Parametern. Der erste Parameter gibt die Anzahl der Wiederholungen vor. Der zweite Parameter kann auch weniger Elemente enthalten. Der jeweils letzte Wert wird dann entsprechend wiederholt.

select SUBJECTID {fields, n=1, 2, 3, 4} from {table, n=2};
or
select SUBJECTID {fields, n= {1..4} } from {table, n=2};-- nur für numerische Parameter
or
select SUBJECTID {fields, n= {1..4} , m=A,B,C,D} from {table, n=2};-- Parameter m wird 4 Mal wiederholt
or
select SUBJECTID {fields, n= {1..4} , m=Q} from {table, n=2};-- Parameter m wird ebenfalls 4 Mal wiederholt

<extends>
<table>
(select SUBJECTID, VISITMNEMONIC, RANDDATE from frmRAND_V{n} where {sitefilter})
</table>

<fields>
, fieldname{m}{n} as "Field {n}"
</fields>
</extends>

(ab Version 1.1.233)
select SUBJECTID {fields, n={a..e}} from {table, n=2};
or
select SUBJECTID {fields, n={A..E}} from {table, n=2};



Type 5 - Super Variable

Eine Super-Variable ist ein einfaches Konstrukt. Der Variableninhalt ist der Name einer anderen Variable.

var first=second;
var second=third;

{{first}}

Dieses Beispiel gibt das Literal third zurück, den Inhalt der Variable second. Die Verschachtelung ist nicht begrenzt.

Eine besondere Variante des Typs 5 ist die kombinierte Variablenname:

{getvalues, n=Yes}
{getvalues, n=No}
{getvalues, n=}

<extends>
<getvalues> {depvar{n}} </getvalues>--combination of next variable name
<depvarYes> This is the content for getvalues = Yes </depvarYes>
<depvarNo> This is the content for getvalues = No </depvarNo>
<depvar> This is the content, if n is empty </depvar>
</extends>



Type 6 - Counter Variable

var n=1;

{n++}