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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ABAP:List中回写CheckBox的值到内表

發布時間:2025/3/20 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ABAP:List中回写CheckBox的值到内表 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我們在內表中定義了一個flag字段并以checkbox的方式顯示在List上面后,該如何將用戶的選項回寫到內表中去? 由于可能有Title、Column Heading以及TOP-OF-PAGE事件的存在,List上的行號無法直接對應到內表中的行號。 通常我們的做法是根據List中某行的Key field value來判斷其在內表中的對應記錄。 這里要介紹一個更好的辦法,那就是直接將List行號與內表行號的差異直接記錄下來。 ? REPORT??z04_list_checkbox.

DATA:?g_diff?TYPE?i,
??????????g_line?TYPE?i.

DATA:?BEGIN?OF?itab?OCCURS?0,
????????flag?TYPE?c,
????????data?TYPE?char20,
??????END?OF?itab.

START-OF-SELECTION.
??itab-data?=?'Data?1'.
??APPEND?itab.
??itab-data?=?'Data?2'.
??APPEND?itab.
??itab-data?=?'Data?3'.
??APPEND?itab.

??NEW-PAGE?WITH-TITLE?WITH-HEADING.
??LOOP?AT?itab.
????WRITE:?/?itab-flag?AS?CHECKBOX,?itab-data.
??ENDLOOP.
??g_diff?=?sy-linno?-?LINES(?itab?). " 步驟1

AT?USER-COMMAND.
??CASE?sy-ucomm.
????WHEN?'SAVE'.
??????LOOP?AT?itab.
????????g_line?=?sy-tabix?+?g_diff. " 步驟2
????????READ?LINE?g_line?FIELD?VALUE?itab-flag.
????????MODIFY?itab.
??????ENDLOOP.
??????BREAK-POINT.
????WHEN?OTHERS.
??ENDCASE. 說明: (1)sy-linno和sy-colno是代表Write時候,當前List已經輸出到了某行某列; sy-curow和sy-cucol則代表USER-COMMAND事件中,用戶用鼠標點中了List的哪個位置。 (2)這里把g_diff賦值的語句放在了循環結束后。當然放循環內也是可以的,只是要多次運行。 如果放在循環開始前也不妥,計算的結果未必正確,因為系統是在首次碰到Write語句時觸發TOP-OF-PAGE事件的。

總結

以上是生活随笔為你收集整理的ABAP:List中回写CheckBox的值到内表的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。