日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SAP CRM WebClient UI的on_new_focus应该怎么理解

發(fā)布時間:2023/12/19 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SAP CRM WebClient UI的on_new_focus应该怎么理解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

問題

我在做練習(xí)16時(第3步的e,f),發(fā)現(xiàn)有一句這樣的描述:

Double click on method CONNECT_NODES.Make Value node ‘Competitors’
dependent from BTAdminH.
METHOD connect_nodes.
DATA: coll_wrapper TYPE REF TO cl_bsp_wd_collection_wrapper.
coll_wrapper = btadminh->get_collection_wrapper( ).
SET HANDLER me->competitors->on_new_focus FOR coll_wrapper ACTIVATION
iv_activate.
ENDMETHOD.

這種所謂的dependent關(guān)系我在debug時發(fā)現(xiàn)沒發(fā)生任何的實(shí)際效果,按理說這里設(shè)置了handler為on_new_focus應(yīng)該通過raise event來調(diào)用,但是其最后是通過直接調(diào)用方法名來調(diào)用的。你是怎么理解的?以及這里的所謂dependent有什么特別的應(yīng)用場景么?

回答

UI上兩個field放到同一個header view,比如product ID和product description( 相同level),但是他們綁的Genil mode里面的field卻不是相同level,而是存在父子關(guān)系。
這種情況下需要用到connect_nodes. 目的是parent node發(fā)生變化時,自動刷新child node,確保ui上顯示的兩個field的value是正確的。

總之,如果UI上同一level的field來自不同的UI component context node,這些context node對應(yīng)綁定到的Genil mode里面的node之間存在父子關(guān)系,則UI component context node里面所有的child context node都應(yīng)該實(shí)現(xiàn)on_new_focus.

這是一個比較典型的例子:

你的疑問,我猜你是對這個例子里面直接call event handler,而不是在代碼里面用raise event觸發(fā)它,對吧?

你可以在connect_nodes和create_produom兩個方法里面設(shè)置一個斷點(diǎn),當(dāng)你在ui上創(chuàng)建一個新的product時候,后者會先觸發(fā),此時前者還未執(zhí)行,因此new focus的event還未register。
而后者觸發(fā)的原因正是這個代碼里面manual call event handler的地方:

為什么要加21行呢?其實(shí)這就牽涉到model node和value node的區(qū)別。在product creation scenario里面,我們期望user在ui上的輸入沒有任何錯誤之后,才會真正走完4個level,最后在DB創(chuàng)建product。那么在ui 輸入通過validation之前,所有ui輸入都是存在value node里,然后當(dāng)ui的輸入通過validation 這一時間點(diǎn)之后,由value node轉(zhuǎn)成model node。

2743 register了2818的new focus事件

這里2818 拋了new focus的事件,

2743 收到事件,處理:

你把你highlight的22~25注釋掉會有什么問題?我在product的例子里在debugger里面跳過這行,然后再執(zhí)行下去,似乎沒問題。

要獲取更多Jerry的原創(chuàng)文章,請關(guān)注公眾號"汪子熙":

總結(jié)

以上是生活随笔為你收集整理的SAP CRM WebClient UI的on_new_focus应该怎么理解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。