日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

通過一個簡單例子初步了解ABAP表格控件的應(yīng)用

 ERP文庫 2023-06-24 發(fā)布于廣東

聲明:本文僅代表作者觀點和立場,不代表任何公司!僅用于SAP軟件應(yīng)用學(xué)習(xí)參考,文中操作截圖來源于SAP軟件,相應(yīng)著作權(quán)歸SAP公司所有。

表格控件是ABAP編程中最常用的SAP標(biāo)準(zhǔn)控件之一,通過它可以非常方便的根據(jù)用戶的操作動態(tài)對內(nèi)表數(shù)據(jù)進(jìn)行ALV格式的顯示、更改、排序等操作。
簡單的說表格控件是一個雙向的數(shù)據(jù)輸入/輸出容器,它可以顯示程序內(nèi)表數(shù)據(jù),也可將用戶在表控件界面錄入數(shù)據(jù)寫回程序內(nèi)表。
下面通過一個簡單的例子來初步了解下下表控件如何使用
寫一個程序?qū)崿F(xiàn)如下簡單功能
  1. 讀取數(shù)據(jù)庫一個表(SPFLI)的數(shù)據(jù),將讀取數(shù)據(jù)使用表控件顯示。
    備注:SPFLI是SAP IDES系統(tǒng)內(nèi)已定義的存儲航空信息數(shù)據(jù)庫表,如果你的系統(tǒng)不存在這個表,可以選取任何自定義表作為系統(tǒng)操作演示使用。
2.對表控件顯示數(shù)據(jù)進(jìn)行修改,點擊保存后更新數(shù)據(jù)庫表。
具體實現(xiàn)的步驟
1.創(chuàng)建一個程序ZTABLECON(SE38)
在程序中定義表控件顯示的內(nèi)表數(shù)據(jù)
這里定義的程序內(nèi)表ITAB,通過表控件顯示此內(nèi)表的內(nèi)容,表控件錄入的更新數(shù)據(jù)寫回此內(nèi)表,然后在更新到數(shù)據(jù)庫。
2.創(chuàng)建放置表控件的屏幕
表控件需要放置到屏幕上,需要先創(chuàng)建一個屏幕。
點擊創(chuàng)建屏幕,進(jìn)入如下界面
3.創(chuàng)建表控件(使用表控件向?qū)?chuàng)建)
在上面步驟創(chuàng)建的屏幕上創(chuàng)建表控件對象
表控件名稱:ZTBL,這里名稱沒特別要求,英文字符即可。
內(nèi)表程序表:要和前面程序中定義內(nèi)表名ITAB的一致。
激活屏幕后,點擊返回邏輯流系統(tǒng)自動生成表控件的PBO和PBA邏輯流
系統(tǒng)自動生成表控件的PBO和PBA邏輯流處理代碼
上面步驟把放置表控件的屏幕和表控件創(chuàng)建好了。
接下來在程序里面寫一個代碼,將數(shù)據(jù)庫表SPFLI的數(shù)據(jù)去取出到內(nèi)表ITAB里面,在通過表控件將內(nèi)表ITAB數(shù)據(jù)顯示處理。(如下圖)
激活后點擊測試圖標(biāo)(如下圖)
點擊測試按鈕,顯示如下
從上圖可以看到程序已取出數(shù)據(jù)庫表SPFLI的數(shù)據(jù),并通過表控件以ALV格式顯示出來。上圖可以看到目前屏幕9000只能顯示數(shù)據(jù),不能做任何操作。
為了能對顯示的數(shù)據(jù)進(jìn)行操作,比如:修改某行的數(shù)據(jù),然后點擊保存后將更改后數(shù)據(jù)保存到數(shù)據(jù)庫表。
新增屏幕9000 GUI Status狀態(tài)
要在屏幕9000上使用上面創(chuàng)建GUI狀態(tài),需要在屏幕的PBO邏輯流增加如下代碼
點擊激活后回到主程序,點擊測試。
顯示如下。
上圖可以看到9000屏幕的GUI狀態(tài)的2個按鈕高亮顯示出來,但是點擊它們沒有任何反應(yīng)。
下面還需要對2個按鍵點擊動作寫上執(zhí)行處理代碼,要實現(xiàn)具體功能如下:
1.點擊SAVE將用戶修改后的表控件顯示的數(shù)據(jù),更新到數(shù)據(jù)庫。
2.點擊BACK退出當(dāng)前程序。
在下圖寫上點擊按鈕的處理代碼并激活程序
處理代碼如下:
MODULE USER_COMMAND_9000 INPUT.CASE SY-UCOMM.WHEN 'BACK'.LEAVE PROGRAM.WHEN 'SAVE'.MODIFY SPFLI FROM TABLE ITAB.IF SY-SUBRC NE 0.MESSAGE I005(YMESS) WITH '更新數(shù)據(jù)錯誤!'.EXIT.ELSE.MESSAGE I005(YESS) WITH '更新數(shù)據(jù)OK!'.ENDIF.ENDCASE.ENDMODULE. " USER_COMMAND_9000 INPUT
點擊SAVE按鍵功能測試
執(zhí)行程序
將第1行紅色框的修改上圖所示,讓后點擊保存,可以看到SAVE按鈕已起作用,執(zhí)行了更新數(shù)據(jù)庫操作。
通過SE16N查詢數(shù)據(jù)庫表SPFLI可以看到上面表控件的修改數(shù)據(jù)已更新到數(shù)據(jù)庫表里面(如下)

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多