Equipment Liste abfrufen 
From Theobald Software
|
|
Dieser Beipspielcode zeigt wie eine Equipmentliste abgerufen werden kann. Wir können den Funktionsbaustein BAPI_EQUI_GETLIST oder die Businessobjektmethode PieceOfEquipment.GetList verwenden.
Dieser Funktionsbaustein beinhaltet so genannte Range-Tabellen (oder auch Intervalle). Der Code zeigt Ihnen, wie Sie die Intervalle bzw. Range-Einträge füllen können. Mit SIGN bestimmt man, ob das Intervall inklusiv oder exklusiv behandelt werden soll (I oder E). OPTION definiert den Operator (z.B. EQ für gleich). Die Spalten LOW und HIGH sind für die Werte bestimmt.
In diesem Fall liefert die Abfrage eine Liste aller Werke zwischen 1000 und 2000, und jedes Equipment vom Werk 3000
// open connection R3Connection con = new R3Connection(....); con.Open(); // Create a function object // Alternatively the business object method // can be created via BusinessObjectMethod businessMethod = // con.CreateBapi("PieceOfEquipment", "GetList") RFCFunction func = con.CreateFunction("BAPI_EQUI_GETLIST"); // The table MAINTPLANT_RA contains a selection range for plants RFCStructure NewRow = func.Tables["MAINTPLANT_RA"].Rows.Add(); NewRow["SIGN"] = "I"; // Include NewRow["OPTION"] = "EQ"; // Equals NewRow["LOW"] = "3000"; // Low value -> Plant 3000 // create a scond range row NewRow = func.Tables["MAINTPLANT_RA"].Rows.Add(); NewRow["SIGN"] = "I"; // Include NewRow["OPTION"] = "BT"; // Between NewRow["LOW"] = "1000"; // Low value -> Plant 1000 NewRow["HIGH"] = "2000"; // High value -> Plant 2000 func.Execute(); // print out equipment list Console.WriteLine("Found " + func.Tables["EQUIPMENT_LIST"].Rows.Count.ToString() + " equipment rows"); foreach(RFCStructure row in func.Tables["EQUIPMENT_LIST"].Rows) { Console.WriteLine("EQUIPMENT / DESCRIPT: " + row["EQUIPMENT"].ToString() + " / " + row["DESCRIPT"].ToString()); }


