1 需求 交货单满足特定条件后更新按钮变灰色,不能刷新价格。
首先找到屏幕。
该屏幕不包含下面的价格更新按钮,因此是子屏幕
找到这个屏幕,加红框出的事件(需要计算KEY)
添加如下代码,完成。
MODULE SET_BUTTONS_STATUS OUTPUT. *DATA ld_mem(62) TYPE c. DATA ls_xlikp TYPE likpvb . FIELD-SYMBOLS <FS_INFO> TYPE ANY . FIELD-SYMBOLS <FS_GO> TYPE ANY . ASSIGN ('(SAPMV50A)XLIKP') TO <FS_INFO>. IF SY-SUBRC = 0. ASSIGN COMPONENT 'VBELN' OF STRUCTURE <FS_INFO> TO <FS_GO> . IF SY-SUBRC = 0 . SELECT COUNT(*) FROM LIKP WHERE VBELN = <FS_GO> AND ZHD2 <> '' and ZQYG <> '' AND ZDDG <> ''. IF SY-SUBRC <> 0 . LOOP AT SCREEN. IF screen-name = 'BT_KONX' . screen-INPUT = '0'. MODIFY SCREEN . ENDIF. ENDLOOP. ENDIF. ENDIF. ENDIF. * IF screen-name = 'BT_KOAN' OR screen-name = 'BT_KOLO'. * IF vfprcs_viewkey-viewkey = '0001'. * screen-invisible = '0'. * ELSE. * screen-invisible = '1'. ENDMODULE.