Der Zugriff auf Tabellen wie im letzten Teilkapitel gezeigt funktioniert ohne irgendwelche Installationen im SAP-System. Leider gibt es dieselben Beschränkungen wie schon bei der traditionellen ReadTable-Klasse (siehe SAP-Tabellen lesen mit der ReadTable-Klasse).

Um dieses Problem in den Griff zu bekommen, ist es aber möglich, einen Z-Baustein im SAP-System zu installieren, siehe Kapitel Z-Baustein installieren. Sobald dieser Baustein im System verfügbar ist, können Sie ihn aktivieren, in dem Sie den Namen im LINQ-Table-Dialog eintragen (bei Bedarf kann der Baustein-Name je nach Benennungsvorschiften geändert werden).

LINQToERP-Tables-004

Nicht alle LINQ-Ausdrücke machen bei LINQ to SAP Sinn bzw. sind technisch realisierbar. Neben den klassischen Ausdrücken wie den Operatoren <, > und =, bietet LINQ to SAP die zeichenartigen Funktionen wie Equals (=), Contains (LIKE “%..%”), StartsWith (LIKE “%…”) und EndsWith (LIKE “…%”). Darüber hinaus gibt es noch eine Extension-Funktion namens InList. Sie ist allerdings nur aktiv, wenn ERPConnect.Linq im using Abschnitt angegeben ist (bzw. bei den imports unter VB).

[C#]
using ERPConnect.Linq; 
  
[…] 
  
var MyTexts = from t in sc.MAKTList 
         where t.MATNR.StartsWith("100") 
         && t.SPRAS.InList("D","E") 
         select t;