日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

【实用】ABAP ALV单元格修改信息提示

發(fā)布時(shí)間:2025/3/20 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【实用】ABAP ALV单元格修改信息提示 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

ABAP日常開(kāi)發(fā)中經(jīng)常會(huì)用到ALV OO(CL_GUI_ALV_GRID)進(jìn)行清單顯示,其中對(duì)指定單元格進(jìn)行操作也是日常必備技能,比如下圖中的需求,對(duì)指定單元格的“原因代碼”列進(jìn)行修改,校驗(yàn)值的有效性,給出如下所示的提示框,若校驗(yàn)不通過(guò),恢復(fù)原值。

類的定義與實(shí)現(xiàn)

CLASS?lcl_event_receiver?DEFINITION.
??PUBLIC?SECTION.
????METHODS?:?handle_data_changed
?????????????????FOR?EVENT?data_changed?OF?cl_gui_alv_grid
?????????????????IMPORTING?er_data_changed.
ENDCLASS.??

CLASS?lcl_event_receiver?IMPLEMENTATION.
??METHOD?handle_data_changed.
????PERFORM?data_changed??USING?er_data_changed.
??ENDMETHOD.????????????????????"handle_data_changed
ENDCLASS.??

校驗(yàn)代碼

FORM?DATA_CHANGED??USING????P_ER_DATA_CHANGED
???????????????????TYPE?REF?TO?CL_ALV_CHANGED_DATA_PROTOCOL.
??DATA?:?LS_MODI????????TYPE?LVC_S_MODI.?
??DATA?:?L_MSSG?TYPE?CHAR100.? ??


*CELL?MODIFY
??LOOP?AT?P_ER_DATA_CHANGED->MT_GOOD_CELLS?INTO?LS_MODI.
????CASE?LS_MODI-FIELDNAME.


??????WHEN?'ZCAUSE'.
????????CLEAR?GT_LIST.
????????READ?TABLE?GT_LIST?INDEX?LS_MODI-ROW_ID.
????????IF?LS_MODI-VALUE?IS?NOT?INITIAL?.
??????????SELECT?SINGLE?*
????????????FROM?ZMM001
????????????WHERE?ZCAUSE?=?LS_MODI-VALUE.
??????????IF?SY-SUBRC?NE?0.
????????????CLEAR?L_MSSG.
????????????CONCATENATE?LS_MODI-VALUE??'原因代碼不存在.'??INTO?L_MSSG.
????????????PERFORM?WS_MSG?USING?'E'?L_MSSG?TEXT-001 .
????????????CALL?METHOD?P_ER_DATA_CHANGED->MODIFY_CELL
??????????????EXPORTING
????????????????I_ROW_ID????=?LS_MODI-ROW_ID
????????????????I_FIELDNAME?=?LS_MODI-FIELDNAME
????????????????I_VALUE?????=?GT_LIST-ZCAUSE.

????????????CONTINUE.
??????????ELSE.
????????????GT_LIST-ZCAUSE?=?LS_MODI-VALUE.
??????????ENDIF.
????????ELSE.
??????????CLEAR?L_MSSG.
??????????CONCATENATE?LS_MODI-VALUE '原因代碼不能為空.'??INTO?L_MSSG.
??????????PERFORM?WS_MSG?USING?'E'?L_MSSG?TEXT-002 .
??????????CALL?METHOD?P_ER_DATA_CHANGED->MODIFY_CELL
????????????EXPORTING
??????????????I_ROW_ID????=?LS_MODI-ROW_ID
??????????????I_FIELDNAME?=?LS_MODI-FIELDNAME
??????????????I_VALUE?????=?GT_LIST-ZCAUSE.

??????????CONTINUE.
????????ENDIF.

????ENDCASE.

????MODIFY?GT_LIST?INDEX?LS_MODI-ROW_ID.
??ENDLOOP.

*"Alv?Style
??PERFORM?MAKE_ALV_STYLE.

*Refresh.
??PERFORM?REFRESH_TABLE_DISPLAY?USING?G_GRID.

*Refresh
??CALL?METHOD?CL_GUI_CFW=>FLUSH.
ENDFORM.????????????????????"?data_changed

消息提示框

*&---------------------------------------------------------------------*
*&??????Form??WS_MSG
*&---------------------------------------------------------------------*
FORM?WS_MSG??USING??P_TYPE??P_TEXT??P_TITLE.
??CALL?FUNCTION?'WS_MSG'
????EXPORTING
??????MSG_TYPE?=?P_TYPE
??????TEXT?????=?P_TEXT
??????TITL?????=?P_TITLE.
ENDFORM.????????????????????"?WS_MSG

?

?

總結(jié)

以上是生活随笔為你收集整理的【实用】ABAP ALV单元格修改信息提示的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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