[infraCalendar]
Die Sektion ist nur für Container-Objekte zulässig. Auf dem Container wird dadurch ein Kalender dargestellt, der unterschiedlich markierte Termine bzw. Terminserien hervorheben kann. Durch Kombination mit einer [GuiBuffer]-Sektion kann zusätzlich ein Termin aus einem Programm- oder Datensatzpuffer markiert bzw. durch den Anwender selektiert und in den jeweiligen Datenpuffer zurückgeschrieben werden. Damit kann das Kalender-Objekt anstelle eines Termin-Eingabefeldes verwendet werden.
Voraussetzung für die Kalender-Integration ist die Aktivierung des Plugins „infraCalendar“ in der INI-Sektion [PLUGIN].

MarkDates.x = INI-Sektion, INI-Schlüssel
Mit „x“ als beliebige Zeichenfolge oder laufende Nummer können beliebig viele Terminserien zur Markierung im Kalender angegeben werden. Durch jeden Eintrag wird auf eine INI-Angabe verwiesen, die eine Markierungsbeschreibung enthält:
[INI-Sektion]
INI-Schlüssel=Markierungsbeschreibung
Prinzipieller Aufbau einer Markierungsbeschreibung:
Bitmap,Color1,Color2,Gradient,(DateGroup1),(DateGroup2),…
Bitmap 
Name einer Bitmap, mit der die Tage dieser Markierungsbeschreibung markiert werden sollen.
Derzeit wird nur eine Bitmap als Markierungsoption angeboten:
Corner red = Rote Ecke
Color1 
Erste Farbe, mit der die Tage markiert werden sollen. Ohne Gradient ist dies die einzige Farbe.
Color2
Zweite Farbe, mit der die Tage markiert werden sollen. Wird nur bei Farbverläufen (Gradienten) verwendet.
Gradient
Gibt an, ob die Tage mit einem Farbverlauf markiert werden sollen:
None =
kein Farbverlauf
Vertical =
Farbverlauf von oben nach unten
Horizontal =
Farbverlauf von links nach rechts
Diagonal1 =
Farbverlauf von links unten nach rechts oben
Diagonal2 =
Farbverlauf von links oben nach rechts unten
(DateGroup…) 
Gruppe von Terminen, die markiert werden sollen.
Eine DateGroup setzt sich dabei aus den folgenden Angaben zusammen:
(Pattern,StartDate(s), EndDate(s))
Pattern
Wiederholungsschema. Ausgehend vom angegebenen Startdatum werden alle Termine,
die dem Wiederholungsschema entsprechen, markiert, bis ein ggf. angegebenes Enddatum erreicht wird:
none =
kein Wiederholungsschema (es werden nur einzelne Termine markiert)
daily =
täglich (jeder Tag ab Startdatum wird markiert)
weekly =
wöchentlich (der Wochentag wird in jeder Woche markiert)
monthly =
monatlich (der Tag wird jeden Monat markiert)
yearly =
jährlich (der Termin wird jedes Jahr markiert)
StartDate(s)
Ein einzelnes Datum oder eine Gruppe von Terminen, die zum Beispiel durch eine SQL-Anweisung per SQLSelect geliefert werden.
Das angegebene Datum bzw. alle per SQL gelieferten Termine werden entsprechend dem Wiederholungsschema markiert.
Ein Datum muss dabei der Form „tt.mm.wwww“ entsprechen.
EndDate(s)
Ein einzelnes Datum oder eine Gruppe von Terminen, die das jeweilige Ende eines Wiederholungsschemas definieren.
Fehlt diese Angabe, werden ohne Wiederholungsschema alle als Startdatum angegebenen Termine als Einzeltermine
behandelt und mit Wiederholungsschema jedes Schema unendlich (bis Kalenderende) fortgesetzt.
Wird ohne Wiederholungsschema ein Endtermin ungleich Starttermin angegeben, wird der Bereich zwischen Start- und Endtermin markiert.
Werden weniger Endtermine als Starttermine angegeben, gilt der letzte Endtermin auch für die restlichen Startermine.
Das heißt, werden zum Beispiel 3 unterschiedliche Starttermine mit wöchentlichem Wiederholungsschema angegeben und nur ein Endtermin,
so gilt dieser Endtermin für die Markierung aller 3 sich wiederholenden Wochentage.
Beispiel:
Das folgende Beispiel markiert in einem Kalender alle zukünftigen Liefertermine der offenen Bestellungen eines Lieferanten.
SibDef-Angabe im CGW beim zu verwendenden Container:
[infraCalendar]
MarkDates.1=infraCalendar,MeineMarkierungen
Angaben in der INI-Datei (der angegebene ConnectionString wird von infra:ADO zur Ausführung des SQLSelect-Makros benötigt):
[infraCalendar]
ConnectionString="Data Source=(local);Initial Catalog=INFRA_ECHT;Integrated Security=True"
MeineMarkierungen=Corner red.bmp,,,,(none,SQLSelect(infraCalendar,sqlBestellTermine,/ALL))
sqlBestellTermine={
    Select Distinct Convert(Varchar, LiefDat, 104)
    From EKABPOS
    Where   Stat!='E'
        And VorgArt='B'
        And Lief='$Macros[LBUF2(100,3)]'
        And LiefDat>GetDate()
        And Year(LiefDat)<2079
    }