當(dāng)前位置:
首頁(yè) >
LIST-PROCESSING命令的使用
發(fā)布時(shí)間:2025/3/20
25
豆豆
生活随笔
收集整理的這篇文章主要介紹了
LIST-PROCESSING命令的使用
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
List-Processing用于在程序中任意地方開始List輸出,可以放在代碼的任何地方。LEAVE TO LIST-PROCESSING 這段命令做兩件事:
LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 0.
PERFORM EDIT_LIST.
LEAVE SCREEN.
注意這一段代碼,第一行的作用前面已經(jīng)說過了,邏輯將轉(zhuǎn)入下一屏幕(不是普通屏幕,是特殊屏幕)。第二行是一個(gè)子程序,在這里面要特別注意的是
運(yùn)行時(shí),MODULE-POOL放棄屏幕的控制權(quán),可以執(zhí)行LIST 輸出代碼,如WRITE等。我們可以選擇讓LIST輸出屏幕替代當(dāng)前屏幕,或者是作為下一個(gè)屏幕,但是不管是哪一種方式,LIST輸出的屏幕將在當(dāng)前屏幕邏輯執(zhí)行完(LEAVE SCREEN或PAI執(zhí)行完之時(shí))之后顯示,也就是說,WRITE等命令仍然是將輸出的東西暫存在緩存中。
R/3系統(tǒng)中有一個(gè)DEMO:可以通過TCODE: TZ70運(yùn)行。參考:SAP Online Help
**** ABAP module and form: ****
MODULE PREPARE_LIST OUTPUT.
LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 0.
PERFORM EDIT_LIST.
LEAVE SCREEN.
ENDMODULE.
FORM EDIT_LIST.
SET PF-STATUS 'LIST'.
SET TITLEBAR 'LST' WITH SFLIGHT-CONNID SFLIGHT-CARRID.
NEW-PAGE LINE-SIZE 72.
SELECT * FROM SFLIGHT WHERE CARRID = SFLIGHT-CARRID
AND CONNID = SFLIGHT-CONNID.
WRITE: / SY-VLINE NO-GAP,
SFLIGHT-FLDATE COLOR 4 INTENSIFIED OFF NO-GAP,
SY-VLINE NO-GAP,
SFLIGHT-PRICE COLOR 2 INTENSIFIED OFF NO-GAP,
.......
ENDFORM.
LEAVE TO LIST-PROCESSING 是退出其他屏幕后,到List輸入的屏幕,例如:WRITE 語(yǔ)句輸入的屏幕。
LEAVE LIST-PROCESSING 是在其他屏幕退出,到List輸入屏幕間的動(dòng)作。
- 切換到List輸出模式
- 將顯示List 輸出的屏幕設(shè)置為當(dāng)前調(diào)用處的下個(gè)屏幕(Following Screen)
LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 0.
PERFORM EDIT_LIST.
LEAVE SCREEN.
注意這一段代碼,第一行的作用前面已經(jīng)說過了,邏輯將轉(zhuǎn)入下一屏幕(不是普通屏幕,是特殊屏幕)。第二行是一個(gè)子程序,在這里面要特別注意的是
- 設(shè)置STATUS, "SET PF-STATUS 'XXXX'",如果不設(shè)置的話,會(huì)把調(diào)用該語(yǔ)句的屏幕的STATUS繼承過去。
- 在設(shè)置STATUS之后,用WRITE等命令輸出。
- LIST屏幕上的按鈕響應(yīng)目前還沒研究明白,明白人請(qǐng)留言,謝謝!
運(yùn)行時(shí),MODULE-POOL放棄屏幕的控制權(quán),可以執(zhí)行LIST 輸出代碼,如WRITE等。我們可以選擇讓LIST輸出屏幕替代當(dāng)前屏幕,或者是作為下一個(gè)屏幕,但是不管是哪一種方式,LIST輸出的屏幕將在當(dāng)前屏幕邏輯執(zhí)行完(LEAVE SCREEN或PAI執(zhí)行完之時(shí))之后顯示,也就是說,WRITE等命令仍然是將輸出的東西暫存在緩存中。
- LIST輸出作為下一個(gè)屏幕
- LIST輸出替換當(dāng)前屏幕
R/3系統(tǒng)中有一個(gè)DEMO:可以通過TCODE: TZ70運(yùn)行。參考:SAP Online Help
**** ABAP module and form: ****
MODULE PREPARE_LIST OUTPUT.
LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 0.
PERFORM EDIT_LIST.
LEAVE SCREEN.
ENDMODULE.
FORM EDIT_LIST.
SET PF-STATUS 'LIST'.
SET TITLEBAR 'LST' WITH SFLIGHT-CONNID SFLIGHT-CARRID.
NEW-PAGE LINE-SIZE 72.
SELECT * FROM SFLIGHT WHERE CARRID = SFLIGHT-CARRID
AND CONNID = SFLIGHT-CONNID.
WRITE: / SY-VLINE NO-GAP,
SFLIGHT-FLDATE COLOR 4 INTENSIFIED OFF NO-GAP,
SY-VLINE NO-GAP,
SFLIGHT-PRICE COLOR 2 INTENSIFIED OFF NO-GAP,
.......
ENDFORM.
LEAVE TO LIST-PROCESSING 是退出其他屏幕后,到List輸入的屏幕,例如:WRITE 語(yǔ)句輸入的屏幕。
LEAVE LIST-PROCESSING 是在其他屏幕退出,到List輸入屏幕間的動(dòng)作。
總結(jié)
以上是生活随笔為你收集整理的LIST-PROCESSING命令的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在SAP的Screen中编写List
- 下一篇: 检查 ABAP/4 程序用户的 权限