我最開始寫代碼在METHODS handle_data_changed_finished 結(jié)果發(fā)現(xiàn)我新增的時(shí)候最后變更人這幾個(gè)我要及時(shí)更新的數(shù)據(jù)一起刷新更新了?
我覺得代碼不應(yīng)該寫在這里
寫在這里會(huì)插入一行的時(shí)候原來存在的那行數(shù)據(jù)也跟著把時(shí)間刷新了
FORM frm_data_changed_finished_9000 USING p_et_good_cells TYPE lvc_t_modi.
*? LOOP AT p_et_good_cells INTO DATA(ls_item1).
*? ? IF ls_item1-fieldname = 'ZMK' OR
*? ? ? ls_item1-fieldname = 'ZQJ' OR
*? ? ? ls_item1-fieldname = 'BUDAT'.
*? ? ? READ TABLE gt_ztgl0160 ASSIGNING FIELD-SYMBOL(<lfs_data>) INDEX ls_item1-row_id.
調(diào)用自帶+按鈕你會(huì)發(fā)現(xiàn) sap居然是把最新的數(shù)據(jù)插入第一行结耀,這個(gè)時(shí)候row_id 居然變成了+1?
剛好判斷是的時(shí)候就把這行不該刷新的數(shù)據(jù)給刷新了
*? ? ? if sy-subrc = 0.
*? ? ? ? <lfs_data>-aedat = sy-datum.
*? ? ? ? <lfs_data>-aetim = sy-uzeit.
*? ? ? ? <lfs_data>-aenam = sy-uname.
**? ? ? ENDIF.
就找了一下oo alv
把代碼寫在這里是正確的郭蕉,當(dāng)alv的值發(fā)生了任何改變牺蹄,我們對(duì)需要更改更新的數(shù)據(jù)進(jìn)行及時(shí)更新灭贷,滿足要求境蜕。
我看到大部分人寫這個(gè)增加 刪除操作都是自己開發(fā)了按鈕寫的剃诅,嘿嘿 不言而喻厕怜,傻逼
利用這段代碼可以做到及時(shí)更新?