/// <summary> /// 根据RFC配置信息,打开RFC链接 /// </summary> /// <param name="Connection"></param> /// <returns></returns> public ReturnResult ERGetPConnection(ERPGetConnection Connection) { ReturnResult consap = new ReturnResult(); R3Connection ConnectionSAP = new R3Connection(); try { string connString = BuildConneciton(Connection); ConnectionSAP = new R3Connection(connString); if (!ConnectionSAP.Ping()) { ConnectionSAP.Open(); consap.Status = true; } } catch (Exception ex) { ConnectionSAP.Close(); consap.Message = ex.Message; consap.Status = false; this.logHandler.Error(MethodBase.GetCurrentMethod().Name, "Call ERGetPConnection Fail: " + ex.Message); } consap.Anything = ConnectionSAP; return(consap); }
/// <summary> /// 拼接语句 /// </summary> /// <param name="conn"></param> /// <returns></returns> public static string BuildConneciton(ERPGetConnection conn) { string connstr = string.Format(" USER={0} PASSWD={1} LANG={2} CLIENT={3} ASHOST={4} SYSNR={5} ", conn.USER, conn.PASSWD, conn.LANG, conn.CLIENT, conn.ASHOST, conn.SYSNR); return(connstr); }
/// <summary> /// 获取需要的RFC配置信息 /// </summary> /// <returns></returns> private ERPGetConnection Get_RFC_ConfigInfo(string prg_Name) { ERPGetConnection vRFCName = new ERPGetConnection(); vRFCName.USER = GetMWebS("RFC", "ERPCONN", "USER", prg_Name); vRFCName.PASSWD = GetMWebS("RFC", "ERPCONN", "PASSWD", prg_Name); vRFCName.LANG = GetMWebS("RFC", "ERPCONN", "LANG", prg_Name); vRFCName.CLIENT = GetMWebS("RFC", "ERPCONN", "CLIENT", prg_Name); vRFCName.ASHOST = GetMWebS("RFC", "ERPCONN", "ASHOST", prg_Name);//IP地址 vRFCName.SYSNR = GetMWebS("RFC", "ERPCONN", "SYSNR", prg_Name); vRFCName.GROUP = GetMWebS("RFC", "ERPCONN", "GROUP", prg_Name); vRFCName.R3NAME = GetMWebS("RFC", "ERPCONN", "R3NAME", prg_Name); vRFCName.MSHOST = GetMWebS("RFC", "ERPCONN", "MSHOST", prg_Name); return(vRFCName); }