2012-06-21 77 views
2

我們是實施了SAP的SME。我們正在嘗試使用SAP中的交易數據來爲我們的圖形報告等卡車部門構建另一個PHP系統。這是因爲我們沒有內部專業知識ABAP開發和任何SAP修改都很昂貴。直接讀取SAP數據庫?

目前,我設法實現了我們的目標,只需訪問我們的質量DB2服務器,並將任何寫入轉移到另一臺DB2服務器。我們發現SELECT語句的CPU使用率是可以接受的,並且用戶只能訪問特定的表/視圖。

SAP's Quality DB2 -> PHP -> Different DB2 client 

想知道是否安全地從生產中讀取相同的方式嗎?通過RFC連接器再次實現這一切似乎非常痛苦。主從配置對我們來說是一種選擇,但也會涉及到外部諮詢。

編輯

忘了提,我們的SAP傢伙們不希望建立另外6個月甚至報告 - 他們想離開系統完好無損。這就是爲什麼我們要用PHP構建它的原因。

回答

3

如果您沒有ABAP的專業知識,請獲取它 - it's not that hard,並且您會得到很多「理所當然」的內容(如「由平臺提供」),否則必須手動實施 - 像用戶認證和權限管理以及軟件物流(從開發到生產庫)。請參閱thesearticles一小段(雖然有偏見)的介紹。如果你仍然需要一個外部的PHP應用程序,那麼很好 - 但你應該先試試ABAP。對於Web應用程序,您可能需要查看Web Dynpro ABAP。使用IGS內置圖表引擎和BusinessGraphics元素,您將免費獲得a ton of the most custom chart types。您也可以使用Adobe Livecycle Designer創建的integrate PDF forms。第二,雖然「任何SAP修改都很昂貴」可能是一種很好的方法,但你所建議的並不是一種修改。這是附加開發,與其他任何編程語言和/或環境相比,它既不昂貴也不復雜。如果你不能或不想完全使用現有的基礎設施來實現你自己的應用程序,那麼至少應該使用一個像樣的界面 - Web服務,RFC等等。從ABAP的角度來看,RFC始終是最簡單的選擇,但您也可以使用SOAP或REST,儘管您必須手動實現後者。這也不是那麼難。

永遠不要直接訪問SAP數據庫。不要。你必須實現所有的約束,比如客戶端依賴,或者爲自己檢查有效日期和取消標誌 - 這不會比編寫一個像樣的界面更簡單,並且每當結構發生變化時都很容易中斷。如果您在某些時候需要閱讀一些更復雜的內容,例如long texts,那麼您就會陷入困境。更不用說大多數內部或外部審計人員(如果這恰好是你的公司和/或法律要求的問題)不喜歡直接訪問系統至關重要的系統,這又會造成很多麻煩你真的不想惹的人。這是不值得的。

+0

謝謝。將看看我們是否可以獲得RFC。 考慮到我們的GPS設備向我們的貨運部門中的MySQL和智能卡提供數據,並將數據投入到MySQL中,我們需要一個集成的Dashboard,將所有內容拉到一起並理解數據(電子郵件警報,某些邏輯等)。 爲此,我們在「視圖」而不是「表」中獲得了只讀訪問權限,並將特定表格轉換爲質量數據庫。 [這裏](http://sapinsider.wispubs.com/Article/Accessing-SAP-Tables/3916)是我們決定做一個直接的Db訪問,儘管有預防措施。 – kouton

+0

爲了整合起見,如何進行Master - > Slave複製/同步,我們只能從Master讀取數據?假設安全不是問題,我們也不會處理長文本? 忘了提及我們的SAP員工不想在6個月內構建報告 - 他們希望保持系統完好無損。這就是爲什麼我們要用PHP構建它的原因。 – kouton

+0

Gopi,這聽起來像是一個相當重要的應用程序 - 您確定您不需要具備冗餘,故障轉移支持的完整應用程序服務器,以及不需要這麼做?可悲的是,我看到「有些SAP公司的人」很多時候都會阻止集成嘗試,所以我理解這個問題。你需要什麼樣的數據(哪些表)? – vwegert