abap給日期選擇屏幕動態地設置默認值

abap在選擇屏幕上動態地設置日期的默認值,話不多說,代碼如下:

"默認值動態地設置爲據目前日期半年的時間區間
SELECT-OPTIONS:s_aedat OR ekko-aedat.
INITIALIZATION.
  s_aedat-low = sy-datum - 180.
  s_aedat-high = sy-datum.
  s_aedat-sign = 'I'.
  s_aedat-option = 'BT'.  NB表示不包括,BT表示包括
APPEND s_aedat.
CLEAR s_aedat.

以下是對選擇屏幕這塊兒一些知識點的補充記錄,大佬可略。
PARAMETERS 對象語法:
在這裏插入圖片描述
abap_03_Parameters_Syntax

  • < f >是用戶自定義對象名,即程序中的 pa_oarr, pa_name 等。

  • TYPE|LIKE 是定義對象名的類型

  • DECIMALS 用於數量型對象,保留多少位小數點

  • MEMROY ID SAP內存ID,可以將對象參數臨時保存在內存中,通過< pid >存儲及讀取,長度不能超過3個字符

  • OBLIGATORY 必輸項,該對象在屏幕上指定必輸

  • DEFAULT 默認值

  • AS CHECKBOX 將對象設置成複選框方式交互,如上面截圖中的
    PA_NAME對象

  • RADIOBUTTON GROUP 將對象設置成單選框交互,由於單選框只能集合中的一個,故需要指定一個GROUP限制其集合

SELECT-OPTIONS對象語法:
在這裏插入圖片描述

  • < seltab > 創建自定義對象名

  • FOR 參考對象,一般用系統本身的數據表結構對象

  • DEFAULT 默認值

  • MEMORY ID 內存ID ,與PARAMETERS用法一致

  • LOWER CASE 大寫,輸入的內容必須大寫

  • OBLIGATORY 必輸項,與PARAMETERS用法一致,只是SELECT-OPTIONS 只限於LOW字段值

  • NO-EXTENSION 限制只能輸入一行數據

  • NO INTERVALS 限制只能輸入一個單元(LOW字段)

  • List item

1、s_aedat-sign中的sign欄位,表示輸入值的類型, I(Include)或者 E(Exclude) ,包括與不包括(即:排除);在維護選擇項時,可以通過 在這裏插入圖片描述按鈕來篩選操作;
2、Option欄位,表示輸入值的關係:

EQ(Equal) – 等於
NE(Not Equal) – 不等於
LT(Little Than) – 小於
LE(Little and Equal) – 小於等於
GT(Great Than) – 大於
GE(Greater and Equal ) – 大於等於
BT(Between) – 上下限之間
NB(Not Between) – 不在上下限之間
3、LOW 欄位,輸入值上限
4、HIGH欄位,輸入值下限
除了可以通過屏幕操作來篩選條件之外,程序上也可以控制 Select-options 的輸入值,在初始化事件中添加相關程序:

TABLES: sflight.
 
SELECT-OPTIONS: so_carr FOR sflight-carrid,
                so_fldt FOR sflight-fldate.
*--------------------------------------------------------------------*
* 初始化
*--------------------------------------------------------------------*
INITIALIZATION.
  so_carr-sign   = 'I'.
  so_carr-option = 'EQ'.
  so_carr-low    = 'AA'.
  so_carr-high   = 'ZZ'.
  APPEND so_carr TO so_carr.
  CLEAR so_carr.

執行效果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章