As shown in the previous section, tables can be called without having to do any installations in the SAP system. Unfortunately though, the same restrictions apply here as with the traditional ReadTable class (see chapter Reading SAP Tables Directly with ReadTable).

To deal with this problem, it is possible to install a Z-module in the SAP system, see chapter Installing the Z-function module.

As long as this module is available in the system, you can activate it by entering the name of the LINQ table dialog (if necessary, the module’s name can be changed according to your naming requirements).

LINQToERP-Tables-004

Not all LINQ expressions are technically feasible or make sense in LINQ to SAP. Apart from classical expressions like the operators <, > and =, LINQ to SAP offers all character-like functions like Equals (=), Contains (LIKE “%..%”), StartsWith (LIKE “%…”) and EndsWith (LIKE “…%”). There is also an extension function called InList. But this is only active when ERPConnect.Linq has been specified in the “using” section (or, if applicable, in the imports in VB).

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