国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C# 實現調用 SAP Com組件

2019-11-17 04:20:03
字體:
來源:轉載
供稿:網友

 /// <summary>
        /// 登陸SAP系統
        /// </summary>
        /// <returns>登陸狀態</returns>
        public LoginStatus LoginSAP()
        {
            try
            {
                SAPLogonCtrl.SAPLogonControlClass logon = new SAPLogonCtrl.SAPLogonControlClass();
                logon.applicationServer = ApplicationServer;     //SAP系統ip
                logon.Client = Client;                           //SAP客戶端號
                logon.Language = Language;                       //SAP登陸語言
                logon.User = User;                               //用戶帳號
                logon.PassWord = Password;                       //用戶密碼
                logon.SystemNumber = SystemNumber;               //SAP系統編號
                Conn = (SAPLogonCtrl.Connection)logon.NewConnection();

                if (Conn.Logon(0, true))
                {
                    Status = LoginStatus.Success;                //登陸成功
                }
                else
                {
                    Status = LoginStatus.Fail;                   //登陸失敗
                }
                return Status;
            }
            catch (Exception exc)
            {
                throw(new Exception(exc.Message));
            }
        }

        /// <summary>
        /// 調用SAP系統函數模塊
        /// </summary>
        /// <param name="strFunName">函數名稱</param>
        /// <param name="strArgs">輸入參數字典</param>
        /// <param name="strRetTabs">返回表結果字典</param>
        /// <param name="strResult">返回程序運行結果</param>
        /// <returns>返回表結果集</returns>
        public DataSet InvokSAPFun(string strFunName, ListDictionary strArgs, ListDictionary strRetTabs, ref ListDictionary strResult)
        {
            try
            {
                DataSet retDST = new DataSet();
                string[] array = new string[strResult.Count];
                strResult.Keys.CopyTo(array, 0);
                if (Status == LoginStatus.Success)
                {

                    SAPFunctionsOCX.SAPFunctionsClass func = new SAPFunctionsOCX.SAPFunctionsClass();
                    func.Connection = Conn;
                    //(1)
                    SAPFunctionsOCX.IFunction ifunc = (SAPFunctionsOCX.IFunction)func.Add(strFunName);               //調用函數模塊
                    foreach (string arg in strArgs.Keys)
                    {
                        SAPFunctionsOCX.IParameter gclient = (SAPFunctionsOCX.IParameter)ifunc.get_Exports(arg);     //取得輸入參數
                        gclient.Value = strArgs[arg];                                                                //設置參數值              
                    }
                    ifunc.Call(); //調用函數模塊
                    //(2)
                    foreach (string ret in array)
                    {
                        SAPFunctionsOCX.IParameter NUMBER = (SAPFunctionsOCX.IParameter)ifunc.get_Imports(ret);      //返回程序運行結果
                        strResult[ret] = NUMBER.Value;
                    }
                    //(3)
                    SAPTableFactoryCtrl.Tables ENQs = (SAPTableFactoryCtrl.Tables)ifunc.Tables;                      //獲取所有Tables
                    foreach (string tab in strRetTabs.Keys)
                    {
                        SAPTableFactoryCtrl.Table ENQ = (SAPTableFactoryCtrl.Table)ENQs.get_Item(tab);               //返回指定Tables
                        DataTable dat = ConvertTable(ENQ);
                        retDST.Tables.Add(dat);
                    }

                }
                return retDST;
            }
            catch (Exception exc)
            {
                throw (new Exception(exc.Message));
            }
        }

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洛隆县| 金华市| 天镇县| 石河子市| 阜南县| 金川县| 庐江县| 吉水县| 措勤县| 上林县| 浙江省| 宿迁市| 革吉县| 平潭县| 中阳县| 屯昌县| 宁晋县| 岳池县| 博乐市| 运城市| 新郑市| 皋兰县| 瑞安市| 瓦房店市| 浠水县| 汉川市| 龙口市| 大洼县| 定兴县| 乳源| 乌鲁木齐县| 凤山县| 长沙市| 股票| 廉江市| 深州市| 武冈市| 贺州市| 浦北县| 浦北县| 漳州市|