ABAP如何調(diào)用OCX
網(wǎng)上有很多的open OCX控件,down下來之后可以集成到ABAP后臺,借助OCX實(shí)現(xiàn)很多強(qiáng)大的功能.

這是一個(gè)LED顯示的例子.
Run這個(gè)report之前,首先要把ocx文件注冊到系統(tǒng)里去:
(1) 以administrator的role運(yùn)行cmd:
打開注冊表,搜ledtest.ocx,找到ocx對應(yīng)的clsid:
(2) 把clsid hard code到report里去就ok了。
(1) UI上我們可以看到Category AB里面有一個(gè)indicator叫”Base Category”.
(2)在GenIL這層我們也可以看到Product有兩個(gè)relation,一個(gè)”ProductBaseCategory”,一個(gè)”ProductCategory”. 這兩個(gè)relation共享的一個(gè)object(表),也就是”COMM_PRPRDCATR”.
(3)但是我們發(fā)現(xiàn)其實(shí)這張表里面并沒有存”Is_Base_Category”這個(gè)字段。也就是這個(gè)字段是在runtime時(shí)候determine出來的。
(4)從下圖可以看出這個(gè)字段是在MAP_TO_UI_STRUCTURE這個(gè)接口里面實(shí)現(xiàn)的,這個(gè)接口在GenIL API里面用來實(shí)現(xiàn)將Native API layer的數(shù)據(jù)轉(zhuǎn)換成GenIL layer的數(shù)據(jù)格式的作用。(由此可以看出這個(gè)接口可以用來實(shí)現(xiàn)一個(gè)GenIL layer的transformation field的功能)
(5) 從上面的代碼中可以看出一個(gè)category assignment是不是base category,是通過看這個(gè)category對應(yīng)的hierarchy id是不是與product的hierarchy id相同來判斷的。而在建立Product時(shí)候,第一次選擇的category的hierarchy id將會(huì)賦給product的hierarchy id。
而之后在選擇category的時(shí)候就不能選擇與第一個(gè)category相同的hierarchy了。
上圖可以看出當(dāng)你選擇category時(shí)候,已有的category對應(yīng)的hierarchy將會(huì)被作為”Is Not”的查詢參數(shù)被默認(rèn)生成出來。
如果你強(qiáng)行刪除這些限制條件,選擇一個(gè)不正確的category,如下error message將會(huì)觸發(fā)。
Social media 在SP0開發(fā)的時(shí)候,建了CL_SOC_UTIL和CL_CRM_SOC_SMC_UIU_UTIL 兩個(gè)util class。
這兩個(gè)class里面有的方法是通過method name一眼就能看出用途,有的method取的不是很好,需要結(jié)合source code才能明白用途。
某些方法的實(shí)現(xiàn)邏輯比較復(fù)雜
某些方法是為了解決某些特殊的issue而引入的。
Social media開發(fā)時(shí),在method source code內(nèi)部寫了注釋,對于method 本身的用途和輸入輸出參數(shù)定義沒有寫注釋。
其實(shí)ABAP也能和JAVA一樣,通過維護(hù)特定格式的注釋,最后自動(dòng)生成文檔。
Class level的注釋:
Method level的注釋:
用tcode CLASS_DOCUGEN生成文檔,點(diǎn)這個(gè)button查看文檔:
如果文檔寫的好, developer B在修改developer A實(shí)現(xiàn)的method之前,不用所有的細(xì)節(jié)都跑去問developerA了,直接看文檔理解。
不知道你們正式開發(fā)開始后這個(gè)用得上不。
ABAP ERP
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。