# Welche Funktionen sind innerhalb der Schnittstelle vorhanden?

##### <span style="color: rgb(15, 71, 97);">Dieses Dokument beschreibt alle unterstützten Funktionsnamen (</span><span style="color: rgb(24, 128, 56);">PFunction</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;">) der Methode </span><span style="color: rgb(24, 128, 56);">GetFunktionValue</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> sowie deren Verhalten auf den Parameter </span><span style="color: rgb(24, 128, 56);">Value</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> und gegebenenfalls </span><span style="color: rgb(24, 128, 56);">IgnoreField</span><span style="color: rgb(0, 0, 0);">.</span>  
  
<span style="color: rgb(0, 0, 0);">1. Allgemeines Verhalten</span>

<p class="callout info"><span style="color: rgb(24, 128, 56);">Value</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> wird </span>**direkt verändert**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> (ByRef).</span>  
<span style="color: rgb(24, 128, 56);">IgnoreField</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> wird </span>**nur**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> von der Funktion </span><span style="color: rgb(24, 128, 56);">SELEKT\[...\]</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> gesetzt.</span>  
<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Ist </span><span style="color: rgb(24, 128, 56);">Value = Nothing</span><span style="color: rgb(0, 0, 0);">, wird die Funktion sofort beendet.</span></p>

<span style="color: rgb(0, 0, 0);">2. Standardfunktionen (ohne Parameter)</span>

<table id="bkmrk-funktionbeschreibung" style="border: none; border-collapse: collapse; table-layout: fixed; width: 468pt;"><colgroup><col></col><col></col><col></col></colgroup><tbody><tr style="height: 25.75pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;">**Funktion**

</td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;">**Beschreibung**

</td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;">**Besonderheiten/Format**

</td></tr><tr style="height: 53.5pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;">**UCASE**

</td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Wandelt den Inhalt von </span><span style="color: rgb(24, 128, 56);">Value</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> in Großbuchstaben um.</span>

</td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"></td></tr><tr style="height: 53.5pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;">**LCASE**

</td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Wandelt den Inhalt von </span><span style="color: rgb(24, 128, 56);">Value</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> in Kleinbuchstaben um.</span>

</td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"></td></tr><tr style="height: 39.25pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;">**TRIM**

</td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0);">Entfernt führende und nachfolgende Leerzeichen.</span>

</td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"></td></tr><tr style="height: 81.25pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;">**STRIM**

</td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Entfernt führende/nachfolgende Leerzeichen und fügt </span>**immer ein führendes Leerzeichen**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> hinzu.</span>

</td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Ergebnis: </span><span style="color: rgb(24, 128, 56);">" " &amp; Trim(Value)</span>

</td></tr><tr style="height: 53.5pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;">**LIEFERANTENID**

</td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Fügt die Lieferanten-ID aus der XML-Konfiguration </span>**vor**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> den Wert an.</span>

</td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Quelle: </span><span style="color: rgb(24, 128, 56);">Import / CONFIG / LieferantenID</span>

</td></tr><tr style="height: 25.75pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;">**PREFIXID**

</td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Identisch zu </span><span style="color: rgb(24, 128, 56);">LIEFERANTENID</span><span style="color: rgb(0, 0, 0);">.</span>

</td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"></td></tr><tr style="height: 53.5pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;">**SUFFIXID**

</td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Fügt die Lieferanten-ID aus der XML-Konfiguration </span>**nach**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> dem Wert an.</span>

</td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"></td></tr><tr style="height: 39.25pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;">**DATUM**

</td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Setzt </span><span style="color: rgb(24, 128, 56);">Value</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> auf das aktuelle Datum.</span>

</td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Format: Abhängig von </span><span style="color: rgb(24, 128, 56);">Config.GetDate\_0\_10</span>

</td></tr><tr style="height: 39.25pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;">**ZEIT**

</td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Setzt </span><span style="color: rgb(24, 128, 56);">Value</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> auf die aktuelle Uhrzeit.</span>

</td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Format: Abhängig von </span><span style="color: rgb(24, 128, 56);">Config.GetTime\_0\_5</span>

</td></tr><tr style="height: 39.25pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;">**TIMESTAMP**

</td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Setzt </span><span style="color: rgb(24, 128, 56);">Value</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> auf einen Zeitstempel.</span>

</td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Format: Abhängig von </span><span style="color: rgb(24, 128, 56);">Config.GetTimeStamp\_0\_19</span>

</td></tr><tr style="height: 67pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;">**REMOVESPACE**

</td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0);">Ersetzt mehrfach aufeinanderfolgende Leerzeichen durch genau ein Leerzeichen.</span>

</td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"></td></tr><tr style="height: 81.25pt;"><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;">**MATCHCODE**

</td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0);">Erzeugt einen normierten Matchcode.</span>

</td><td style="border-width: 1pt; border-style: solid; border-color: rgb(0, 0, 0); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Regeln: &lt;ul&gt;&lt;li&gt;Kleinbuchstaben&lt;/li&gt;&lt;li&gt;Entfernt: </span><span style="color: rgb(24, 128, 56);">+ - , ; Leerzeichen</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;">&lt;/li&gt;&lt;li&gt;Entfernt Zeilenumbrüche&lt;/li&gt;&lt;li&gt;Maximale Länge: </span>**10 Zeichen**<span style="color: rgb(0, 0, 0);">&lt;/li&gt;&lt;/ul&gt;</span>

</td></tr></tbody></table>

##### <span style="color: rgb(0, 0, 0);">3. Parameterfunktionen SELEKT\[…\]</span>

##### **Beschreibung:**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> Führt einen Vergleich aus und setzt abhängig davon </span><span style="color: rgb(24, 128, 56);">IgnoreField</span><span style="color: rgb(0, 0, 0);">.</span>

- <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Wenn der Vergleich </span>**nicht zutrifft**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> → </span><span style="color: rgb(24, 128, 56);">IgnoreField = True</span><span style="color: rgb(0, 0, 0);">.</span>
- <span style="color: rgb(24, 128, 56);">Value</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> selbst wird </span>**nicht verändert**<span style="color: rgb(0, 0, 0);">.</span>

**Varianten:**

1. **Direkter Vergleich**
2. - <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Syntax: </span><span style="color: rgb(24, 128, 56);">SELEKT\[ABC\]</span>
    - <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Vergleicht </span><span style="color: rgb(24, 128, 56);">Value</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> mit </span><span style="color: rgb(24, 128, 56);">ABC</span><span style="color: rgb(0, 0, 0);">.</span>
3. **Vergleich mit Substring**
4. - <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Syntax: </span><span style="color: rgb(24, 128, 56);">SELEKT\[ABC;Start\]</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> oder </span><span style="color: rgb(24, 128, 56);">SELEKT\[ABC;Start;Länge\]</span>
    - <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Vergleicht einen Teilstring von </span><span style="color: rgb(24, 128, 56);">Value</span><span style="color: rgb(0, 0, 0);">.</span>
5. **Vergleich mit Feldreferenz**
6. - <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Syntax: </span><span style="color: rgb(24, 128, 56);">SELEKT\[$FELD$WERT\]</span>
    - <span style="color: rgb(0, 0, 0);">Holt den Wert aus einem anderen Feld.</span>
    - <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Vergleich über </span><span style="color: rgb(24, 128, 56);">CompareValue</span><span style="color: rgb(0, 0, 0);">.</span>

##### <span style="color: rgb(0, 0, 0);">4. Funktion PREFIX(text)</span>

**Beschreibung:**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> Fügt einen Prefix vor </span><span style="color: rgb(24, 128, 56);">Value</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> ein.</span>  
**Besonderheit:**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> </span><span style="color: rgb(24, 128, 56);">PREFIX( )</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> erzwingt ein führendes Leerzeichen.SUFFIX(text)</span>

#####   


##### <span style="color: rgb(0, 0, 0);">5. Funktion SUFFIX(text)</span>

**Beschreibung:**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> Fügt einen Suffix hinter </span><span style="color: rgb(24, 128, 56);">Value</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> ein.</span>  
**Besonderheit:**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> </span><span style="color: rgb(24, 128, 56);">SUFFIX( )</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> erzwingt ein nachgestelltes Leerzeichen.GETDATA(Datei;Delimiter;Suchspalte;Rückgabespalte;\[Funktionen\])</span>

##### <span style="color: rgb(0, 0, 0);">6. Funktion FINDDATAINFILE(...)</span>

**Beschreibung:**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> Sucht in einer externen Datei anhand von </span><span style="color: rgb(24, 128, 56);">Value</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> und ersetzt </span><span style="color: rgb(24, 128, 56);">Value</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> durch den gefundenen Rückgabewert.</span>  
**Interne Funktion:**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> </span><span style="color: rgb(24, 128, 56);">FindDataInFile(...)</span>

**Parameter:**

1. <span style="color: rgb(0, 0, 0);">Dateiname</span>
2. <span style="color: rgb(0, 0, 0);">Trennzeichen / Tab / Default</span>
3. <span style="color: rgb(0, 0, 0);">Suchspalte (Integer)</span>
4. <span style="color: rgb(0, 0, 0);">Rückgabespalte (Integer)</span>
5. <span style="color: rgb(0, 0, 0);">Optionale Zusatzfunktionen (derzeit nicht implementiert)</span>

<span style="color: rgb(0, 0, 0);">7. Hinweise</span>

- <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Fehlerhafte Parameter führen teilweise zu </span><span style="color: rgb(24, 128, 56);">MsgBox</span><span style="color: rgb(0, 0, 0);">.</span>
- <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Mehrere Funktionen in einer Definition werden </span>**nicht verkettet**<span style="color: rgb(0, 0, 0);">, sondern einzeln ausgewertet.</span>
- <span style="color: rgb(0, 0, 0);">Die Funktion ist stark konfigurations- und kontextabhängig (XML, CompareValue, externe Dateien).</span>

<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">\*Stand: Analyse aus Quellcode </span>**GetFunktionValue**