Liste aller Benutzer des SAP Systems 
From Theobald Software
Es besteht die Möglichkeit, die Nachnamen mittels Selection Parametern zu filtern, da der Funktionsbaustein BAPI_HELPVALUES_GET eine Import Tabelle (SELECTION_FOR_HELPVALUES) besitzt, die es erlaubt, Selection Parameter zu definieren.
static ArrayList getUserList(string sign, string option, string low, string high) { ERPConnect.LIC.SetLic("xxxxxxxxxxxxx"); R3Connection con = new R3Connection("hamlet", 11, "user", "passw", "DE", "800"); con.Open(); RFCFunction func = con.CreateFunction("BAPI_HELPVALUES_GET"); func.Exports["OBJTYPE"].ParamValue = "USER"; func.Exports["METHOD"].ParamValue = "GETDETAIL"; func.Exports["PARAMETER"].ParamValue = "USERNAME"; RFCStructure shlp = func.Exports["EXPLICIT_SHLP"].ToStructure(); shlp["SHLPNAME"] = "USER_ADDR"; shlp["SHLPTYPE"] = "SH"; RFCStructure sfh = func.Tables["SELECTION_FOR_HELPVALUES"].AddRow(); ; sfh["SELECT_FLD"] = "MC_NAMELAS"; sfh["SIGN"] = sign; sfh["OPTION"] = option; sfh["LOW"] = low; sfh["HIGH"] = high; func.Execute(); con.Close(); ArrayList user = new ArrayList(); for (int i = 0; i < func.Tables["HELPVALUES"].RowCount; i++) { user.Add(func.Tables["HELPVALUES"].Rows[i, 0]); } if (user.Count == 0) { user.Add("No results matching criteria"); } return user; }
Für die Ausgabe der Daten ist die Konsole zwar nicht das Mittel der Wahl, aber zum veranschaulichen des Konzepts sollte sie ausreichen. Als Beispielanwendung werden nun alle Benutzer ermittelt, deren Name mit M beginnt.
static void Main(string[] args) { ArrayList users = getUserList("I","CP","M*",""); foreach (object userdetail in users) { Console.WriteLine(userdetail); } Console.ReadLine(); }


