2011-03-01 10 views
5

के साथ एकीकरण मैं एसएपी के साथ एकीकृत करने के लिए एक प्रणाली बना रहा हूं।एसएपी

ग्राहक मेरे समारोह और पैरामीटर दिया था, उसके अनुसार, इस समारोह आमतौर पर एसएपी में लेकिन मेरे कोड में प्रदर्शन किया गया था जब मैं पैरामीटर प्राप्त करने का प्रयास है, यह रिटर्न मुझे अशक्त।

यहाँ मेरी कोड

SAPFunctionsOCX.SAPFunctionsClass func = new SAPFunctionsOCX.SAPFunctionsClass(); 
func.Connection = connection; 
SAPFunctionsOCX.IFunction ifunc = (SAPFunctionsOCX.IFunction)func.Add(functionName); 
SAPTableFactoryCtrl.Tables tables = (SAPTableFactoryCtrl.Tables)ifunc.Tables; 
SAPTableFactoryCtrl.Table objTable = (SAPTableFactoryCtrl.Table)tables[tableName]; 

//Paramters (Find one column "MATNR" 
SAPTableFactoryCtrl.Columns cols2 = (SAPTableFactoryCtrl.Columns)objTable.Columns; 
for (int i = 1; i <= cols2.Count; i++) 
{ 
    SAPTableFactoryCtrl.Column col = (SAPTableFactoryCtrl.Column)cols2[i]; 
    Console.WriteLine(col.Name); 
} 

//Error here! matnr == null 
SAPFunctionsOCX.IParameter matnr = (SAPFunctionsOCX.IParameter)ifunc.get_Exports("MATNR"); 

इंटरनेट सर्च कर रहे हैं, मेरा के लिए इसी तरह कई उदाहरण पाया here, here और here!

विधि क्यों। get_Exports ("MATNR"); शून्य वापस आता है?

+0

यह एक मानक समारोह मॉड्यूल है में है? मैं इसे कोड में नहीं देख सकता। निर्यात पैरामीटर सूची शून्य हो सकती है, हो सकता है कि तालिका पैरामीटर आपको इसके बजाय जांचने की आवश्यकता हो। –

+0

functionName, tableName वेरिएबल हैं जो क्रमशः फ़ंक्शन और तालिका नाम का नाम रखते हैं। तालिका पैरामीटर पुनर्प्राप्त नहीं हो सकते हैं, वहाँ एक तरीका get_Exports और फ़ंक्शन है। (पर [यहां] उदाहरण, [यहां] देखें (http://forums.sdn.sap.com/thread.jspa?threadID=1425169) (http://sunhongwei2002.blog.163.com/blog/static/149007012201062165717737 /) और [यहां] (http://blog.csdn.net/robaot/archive/2009/10/20/4704127.aspx) – ridermansb

+0

मुझे लगता है कि उदाहरण के लिए 3 सही है न। आम तौर पर आप आयात पैरामीटर निर्दिष्ट मापदंडों निर्यात नहीं। –

उत्तर

1

सटीक पैरामीटर जहां आरएफसी समारोह के लिए आप को दी क्या हैं?
पहले भाग में आप तालिका के कॉलम नाम पर लूपिंग प्रतीत होते हैं, और दूसरे में, आप एक पैरामीटर (यानी तालिका में नहीं) खोज रहे हैं।

संबंध
Guillaume

पुनश्च: ABAP एसएपी मालिकाना भाषा

+0

लौटाया गया था लूप सिर्फ कॉलम के नामों को सूचीबद्ध करने के लिए था। यह पैरामीटर जिसे आप पुनर्प्राप्त करना चाहते हैं वह है "MATNR" – ridermansb

+0

MATNR है तालिका का एक क्षेत्र? जैसा कि मैंने कहा था, आप एक पैरामीटर प्राप्त करने की कोशिश कर रहे हैं। फ़ंक्शन के तकनीकी विवरण के बिना, हम इतना कुछ नहीं कर सकते हैं। क्या यह एक मानक कार्य या विशिष्ट है (इस मामले में यह 'जेड' या 'वाई' से शुरू)? –

+0

फ़ंक्शन begi "वाई" के साथ एनएस (मुझे फ़ंक्शन का पूरा नाम मिल जाएगा टिप्पणी है) MATNR एक फ़ील्ड है। – ridermansb

0

मुझे लगता है कि आप वास्तविक समारोह कॉल भूल गया, कम से कम कोड नमूना

+0

मुझे यकीन नहीं है। यदि उदाहरण लिंक सही हैं, तो वह कॉल से पहले इसे भरने के लिए पैरामीटर प्राप्त करने का प्रयास कर रहा है ... –

+0

मैं पैरामीटर को पास किए बिना फ़ंक्शन को कॉल नहीं कर सकता क्योंकि अन्यथा यह सभी रिकॉर्ड्स (कोई फ़िल्टर नहीं) लाएगा। – ridermansb

+0

आप निर्यात पैरामीटर सूची तक पहुंचने का प्रयास क्यों कर रहे हैं? जब तक फ़ंक्शन मॉड्यूल को –

संबंधित मुद्दे