ABAP 如何使選擇螢幕的初始化事件再次觸發

2021-08-22 12:45:05 字數 1404 閱讀 3705

最近乙個同事有乙個比較**的使用者需求,他希望每次回到選擇螢幕時,選擇引數是有程式控制輸入的,使用者客戶端的輸入清除。對此需求有兩種處理方法:

一、在at selection-screen中寫賦值語句,這種方法你可能需要中間變數快取選擇條件用於查詢,**樣例:

report demo_write_statement.

tables vbak.

data: name(20) value 'source',

source(10) value 'abcd',

target(10).

select-options k_kunnr for vbak-kunnr.

data: is_parent type i value 0.

二、在initialization事件中寫賦值**

在initialization事件中寫賦值**,預設情況只有第一次會影響輸入螢幕,以後將失去作用。為了使該**起作用你必須在選擇螢幕的其他事件中執行system-call initialization.這個語句。**樣例:

report demo_write_statement.

tables: spfli.

data: tab_spfli type table of spfli,

tab_sflight type sorted table of sflight

with unique key table_line,

wa like line of tab_sflight.

select-options s_carrid for spfli-carrid.

at selection-screen.

start-of-selection.

select carrid connid

into corresponding fields of table tab_spfli

from spfli

where carrid in s_carrid .

system-call initialization.

select carrid connid fldate

into corresponding fields of table tab_sflight

from sflight

for all entries in tab_spfli

where carrid = tab_spfli-carrid and

connid = tab_spfli-connid.

loop at tab_sflight into wa.

at new connid.

write: / wa-carrid, wa-connid.

endat.

write: / wa-fldate.

endloop.

相關連線:

ABAP 如何使選擇螢幕的初始化事件再次觸發

最近乙個同事有乙個比較 的使用者需求,他希望每次回到選擇螢幕時,選擇引數是有程式控制輸入的,使用者客戶端的輸入清除。對此需求有兩種處理方法 一 在at selection screen中寫賦值語句,這種方法你可能需要中間變數快取選擇條件用於查詢,樣例 report demo write statem...

mysql怎麼初始化 如何初始化mysql資料庫

1級2016 10 29 回答 一 mysql install db說明 當mysql的系統庫 mysql系統庫 發生故障或需要新加乙個mysql例項時,需要初始化mysql資料庫。需要使用的命令 usr local mysql bin mysql install db usr local mysq...

選擇正確的初始化方式

uiview的首要問題就是既能從 中初始化,也能從xib中初始化,兩者有何不同?uiview 是支援nscoding協議的,當在 xib 或 storyboard 裡存在乙個 uiview 的時候,其實是將 uiview 序列化到檔案裡 xib 和 storyboard 都是以 xml 格式來儲存的...