ABAP下載的病毒掃描Virus Scan 配置方法
當(dāng)我使用CL_HTTP_ENTITY=>IF_HTTP_ENTITY~GET_DATA從網(wǎng)絡(luò)下載數(shù)據(jù)時(shí),遇到異常CX_VSI:
錯(cuò)誤原因是數(shù)據(jù)從網(wǎng)絡(luò)下載到Netweaver服務(wù)器上之后,在服務(wù)器上針對(duì)實(shí)例ldai2ag3_AG3_56找不到對(duì)應(yīng)的病毒掃描Profile。配置表名:vscan_server
從事務(wù)碼SM51里能發(fā)現(xiàn)application server AG3由三個(gè)物理實(shí)例組成:
而配置表里缺少AG3_56這個(gè)實(shí)例的profile:
Solution
將缺失的profile添加到配置表里即可。
執(zhí)行我github里的這個(gè)report:
選中一段markdown文檔,ctrl C:
然后直接執(zhí)行report:
執(zhí)行完畢:
所有文件都下載到本地文件夾:
這個(gè)report使用到的工具類:zcl_crm_cm_tool
通過(guò)ABAP代碼判斷當(dāng)前系統(tǒng)類型,BYD還是S4 OP還是S4 Cloud
用工具類 CL_COS_UTILITIES
IS_BYD
如果是BYD系統(tǒng),這個(gè)方法的實(shí)現(xiàn)會(huì)硬編碼返回一個(gè)true,
在其他系統(tǒng)里則返回false,如圖:
IS_SUITE
原理同上,suite系統(tǒng)里返回true
IS_S4H
根據(jù)全局結(jié)構(gòu)gv_s4h的不同字段來(lái)返回。
managed_cloud_on
public_cloud_on
on_premise_on
gv_s4h通過(guò)方法validate_gv_s4h填充。
這三個(gè)字段通過(guò)對(duì)應(yīng)的business function控制。如果function處于激活狀態(tài),則返回true。
CRM WebClient UI的瀏覽器打印實(shí)現(xiàn)
WebClient UI上自帶了一個(gè)打印按鈕,按Ctrl + P后可以生成一個(gè)新的頁(yè)面供打印。
如下圖所示。可以看到這個(gè)頁(yè)面里所有的超鏈接都已經(jīng)被移除了。
這個(gè)頁(yè)面的生成邏輯如下。
1. 按住ctrl + p之后,會(huì)觸發(fā)WebClient UI框架的按鍵響應(yīng)函數(shù)thtmlbKeyDown。瀏覽器傳入的事件處理對(duì)象里ctrl屬性為true,keycode為80(按鍵p對(duì)應(yīng)的code),意思就是ctrl和p同時(shí)按下。
這個(gè)響應(yīng)函數(shù)thtmlbKeyDown被注冊(cè)到整個(gè)document對(duì)象上,因此您在頁(yè)面任何位置點(diǎn)擊ctrl+p都能得到響應(yīng)。
從右上角的調(diào)用棧能發(fā)現(xiàn)crmFrwPrint被調(diào)用。crmFrwPrint會(huì)打開(kāi)print.do這個(gè)控制器,位于BSP應(yīng)用bspwd_basics里。
2. 打開(kāi)print.do控制器的實(shí)現(xiàn)類CL_BSPWD_BASICS_PRINT
這個(gè)控制器會(huì)打開(kāi)print.html頁(yè)面
3. 我們按了ctrl+p后生成的頁(yè)面的內(nèi)容就是在print.html里生成的。核心代碼在函數(shù)ppStartScripts里,被thtmlbRegisterOnLoad注冊(cè)到頁(yè)面的load事件里,意思是print.html加載時(shí)就執(zhí)行。
thtmlUtil.addEventHandler就是SAP自己封裝的事件注冊(cè)函數(shù),用于多瀏覽器的兼容支持。
最核心的兩個(gè)函數(shù):
CreateShield
生成一個(gè)height和width為100%的div,背景圖片設(shè)置成SAP預(yù)定義好的1x1.gif。
運(yùn)行時(shí)顯示如下:
loadPage
通過(guò)window.opener拿到發(fā)生了ctrl+p按鍵的原始頁(yè)面,然后把其th-l-wcsubheadercontainer下面的所有元素的html直接復(fù)制到打印輸出頁(yè)面的header元素下面。
這樣就實(shí)現(xiàn)了把原始頁(yè)面的內(nèi)容搬到了打印輸出頁(yè)面。
然后得到打印頁(yè)面所有超鏈接標(biāo)簽,然后把這些標(biāo)簽的href和onclick都置為一個(gè)函數(shù)體為return false的函數(shù),這樣超鏈接就不再能點(diǎn)擊。
var nirvana = new Function ( "return false;" );
ABAP JavaScript web前端 網(wǎng)絡(luò)
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。