2
我正在爲YYYYMMDDhhmmss格式的時間戳字段使用DTP過濾器例程。我試圖將範圍聲明爲({3個月前的時間戳}到{當前時間戳})。我對ABAP非常陌生,現在基本上已經設置了代碼,所以它沒有任何語法錯誤。當我將它分配給「l_ts」時,我目前無法獲得正確的時間戳填充。DTP例程查找時間戳範圍
*$*$ begin of routine - insert your code only below this line *-*
BREAK-POINT.
DATA: l_idx LIKE sy-tabix,
l_ts TYPE rstimestmp,
l_ts2 TYPE rstimestmp.
READ TABLE l_t_range WITH KEY
fieldname = 'TIMESTAMP'.
l_idx = sy-tabix.
* Capture the Current Date
l_ts = sy-datlo + sy-timlo.
l_ts2 = (sy-datlo + sy-timlo) - 93.
IF l_idx <> 0.
* fill the Selection table.
l_t_range-low = l_ts.
l_t_range-sign = 'I'.
l_t_range-option = 'BT'.
l_t_range-high = l_ts2.
MODIFY l_t_range INDEX l_idx.
ELSE.
* fill the Selection table.
l_t_range-fieldname = 'TIMESTAMP'.
l_t_range-low = l_ts.
l_t_range-high = l_ts2.
l_t_range-sign = 'I'.
l_t_range-option = 'BT'.
APPEND l_t_range.
ENDIF.
p_subrc = 0.
*$*$ end of routine - insert your code only before this line *-*
我不得不做一些編輯,因爲我試圖填充的字段是長度(14),而時間戳類型是長度(15)。另外,分配 -option ='EQ'並沒有給它一個範圍。我必須改變='BT'。否則,這工作完美,是一個很好的學習經驗,謝謝。 –
Jared