c 連線SAP新方式

2022-01-12 10:16:33 字數 1886 閱讀 2759

一直以來連線sap bapi都非常慢,但是最近有專案需要連線sap,但是要求速度上有要求,於是我就在網上搜尋了一番,終於給我發現乙個sapnco3.0這乙個東西,用了之後發現速度非常不錯,第一次連線速度不算快,但是第二次連線就速度可以算秒連了,更加讓我興奮的是居然伺服器不需要安裝sap就可以連線sap,哈哈,我簡直興奮不已了

1.安裝setup_ntintel_302.msi

2.在c:\program files (x86)\sap\sap_dotnetconnector3_x86發現了4個檔案,當然在自己的.net專案中全部引用這個4個dll啦,不過,抱歉,好像只能其中2個能

引用成功,哈哈,沒有關係,不影響使用

引用完了,當然是封裝自己喜愛的類啦

using sap.middleware.connector;

namespace jcweb.class

public rfcdestination rfcdest

public rfcrepository rfcrep

public irfcfunction myfun

public bool open()

catch

}public listzbapi_sd_zsdr135_t1_output(listdn)

myfun.invoke(rfcdest);//把資料返回sap執行

irfctable outtable = myfun.gettable("t02");//返回資料的**

jcweb.models.dninfo dndata;

for (var i = 0; i <= outtable.rowcount - 1; i++)

dndata.scpihao = outtable.currentrow.getstring("chargs").tostring();

dndata.shipto = outtable.currentrow.getstring("kunnr").tostring();

dndata.soldto = outtable.currentrow.getstring("kunag").tostring();

dndata.taping_date = convert.todatetime(outtable.currentrow.getstring("hsdat").tostring());

data.add(dndata);

}return data;}}

}

根據自己的需求可以自己封裝操作類啦,不要評價我的封裝類,嘻嘻

不過到這裡新的悲劇出現,這個外掛程式真他媽的牛b,把我耍了大半天時間才知道什麼回事

因為這個外掛程式有時候會出現sap連線失敗的,不過次數不多,一天偶爾發生一兩次,不影響使用,其次我要重點說明下開發時候的問題

舉個例子

irfctable dntable = myfun.gettable("dn");

foreach(var t in dn)

myfun.invoke(rfcdest);

irfctable outtable = myfun.gettable("t02");

假如你的bapi裡面沒有t02這個表,好啦,你第一次使用這個外掛程式開發,你就給他耍死你,不過有我指點你

假如你的bapi裡面沒有t02這個表,報錯**不會停留在 irfctable outtable = myfun.gettable("t02")這裡的

他會在myfun = rfcrep.createfunction("zbapi_sd_zsdr135_t1")這條**這裡提示說找不到這個bapi

說到這裡這個外掛程式牛b不,還沒有執行到下面的就知道下面**出錯了,害我白瞎搞白天,所以大家別給錯誤提示誤導

hi,推薦檔案給你 "sapnco30p_2-20007347.zip"

「通電」新方式

如果無法斬斷給我們生活 通電 的各種電源線 至少現在可以讓它們看 上去更加賞心悅目一些。我曾經探討過各種試圖將亂麻一般的電線規整得井井有條的方法 參見2005年8月8日的 逃出線路叢林 然而任何解決方案都非完美無暇 我得第乙個跳出來承認我在這方面做得很糟糕。不過現在有了一種新方法 一種名為eubiq...

sap連線求助

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 sap.middleware.connector.rfcconfigparameters rfcpar new rfcconfigparam...

C 錯誤統一捕捉處理新方式

近段時間做的乙個三層架構 wcf nhibernate的c s專案,專案中的錯誤捕捉處理一直都很頭疼,今天終於找到了乙個可以接受的方案。首先,在前台捕捉所有未處理執行緒的錯誤做統一處理。詳見 winform程式中未處理異常的解決方法 其次,是wcf服務後台的錯誤處理,在錯誤契約把錯誤回發前台之前,把...