2011-09-16 30 views
8

Sono solo un principiante e sto cercando di capire la comunicazione tra SAP e ad esempio un'applicazione C# che utilizza il connettore SAP. Ho cercato numerosi siti, ma non riesco davvero a trovare una risposta alla mia domanda! Spero che qualcuno qui mi possa aiutare.Comunicazione tra SAP e C#

Ho una funzione in SAP ad esempio getProducts(String = " "). Questa funzione funziona perfettamente in SAP, non è scritta da me e non ho accesso ad essa, quindi non posso darti alcun codice (mi dispiace). Devo comunicare con SAP usando un'applicazione C#.

Quello che voglio fare è dare a SAP un parametro, ad esempio "Camicie". E SAP restituirà tutte le magliette. Non riesco a farlo con Function.GetValue() (o almeno penso di non poterlo fare) perché GetValue si aspetta solo numeri interi. Ma se inserisco GetValue(0), mi dà tutti i prodotti (che è normale) e non solo le camicie.

Questo è il codice che uso per ottenere i dati:

IRfcFunction function = fRepository.CreateFunction("GetProducts"); 
function.Invoke(destination); 
String products = function.GetValue(0).ToString(); 
result = Functions.Instance.GetData(result); 

C'è un modo per dare un parametro stringa (invece di un numero intero, in questo caso 0) per la SAP-funzione e recuperare la dati che voglio?

+0

Si prega di inviare il codice effettivo che stai usando per effettuare la chiamata, la tua domanda dovrebbe essere più facile da capire con esso. – Mat

risposta

10

Se la funzione GetProducts prende un parametro chiamato per esempio Category, è possibile impostare che prima di richiamare la funzione:

IRfcFunction function = fRepository.CreateFunction("GetProducts"); 
function.SetValue("Category", "Shirts"); 
function.Invoke(destination); 

Partenza la voce A Spotlight on the New .NET Connector 3.0 blog per maggiori dettagli, link ed esempi.