2011-09-16 26 views
8

Solo soy un principiante y trato de entender la comunicación entre SAP y, por ejemplo, una aplicación C# utilizando el conector SAP. ¡He buscado en numerosos sitios, pero realmente no puedo encontrar una respuesta a mi pregunta! Espero que alguien aquí pueda ayudarme.Comunicación entre SAP y C#

Tengo una función en SAP por ejemplo getProducts(String = " "). Esta función funciona perfectamente en SAP, no está escrita por mí y no tengo acceso a ella, así que no puedo darte ningún código (lo siento). Tengo que comunicarme con SAP usando una aplicación C#.

Lo que quiero hacer es darle a SAP un parámetro, por ejemplo "Camisas". Y SAP devolverá todas las camisetas. No puedo hacer esto con Function.GetValue() (o al menos creo que no puedo) porque GetValue solo espera números enteros. Pero si ingreso GetValue(0), me da todos los productos (lo cual es normal) y no solo las camisas.

Este es el código que utilizo para obtener los datos:

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

¿Hay una manera de dar un parámetro de cadena (en vez de un entero, en este caso, 0) al SAP-función y recuperar el datos que quiero?

+0

Por favor, publique el código real que está utilizando para hacer la llamada, su pregunta debería ser más fácil de entender con ella. – Mat

Respuesta

10

Si la función GetProducts toma un parámetro llamado por ejemplo Category, se puede establecer que antes de invocar la función:

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

Mira la entrada A Spotlight on the New .NET Connector 3.0 blog para más detalles, enlaces y ejemplos.