# ABAP程式設計 REPORT PROGRAMMING ###### tags: `ABAP程式設計` - Selection Screens - 單一欄位蒐尋、進階蒐尋 - Maintaining Selection Texts - 多國語系翻譯 - 報表之Output格式設定 - 顏色設定、指定位置、ICON與SYMBOL - Authorization Check (權限檢查物件與權限角色設定) ### Selection Screens - 允許user輸入所欲查詢的條件範圍,然後由database中讀出資料,再顯示出報表 - 可讓user根據以下方式,選擇input: - 單一欄位蒐尋 - PARAMETERS - 用來產生一個標準的 input field - 語法: `PARAMETERS <name> TYPE <type> [lower case]` `PARAMETERS <name> TYPE <data object> [lower case]` `PARAMETERS <name> LIKE <data object> [lower case]` - 範例: `PARAMETERS pa_car TYPE spfli-carrid.` - 進階蒐尋 SELECT-OPTIONS - 可產生2個input fields - 語法: `SELECT-OPTIONS <name> FOR <data object>` - 範例: `SELECT-OPTIONS so_carr FOR spfli-carrid.` 實例 進階蒐尋 SELECT-OPTIONS ``` TABLES zpu111_57_art. *在select-options裡面不能直接指定table的某個欄位,必須先宣告這個變數 SELECT-OPTIONS x FOR zpu111_57_art-artid. START-OF-SELECTION. data wa type zpu111_57_art. SELECT * FROM zpu111_57_art into wa where artid in x. * 改為in WRITE:/ wa-artid, wa-artname, wa-arturl, wa-arttel. ENDSELECT. ``` --- 實例 -報表位置對齊 ``` TABLES zpu111_57_art."在select-options裡面不能直接指定table的某個欄位,必須先宣告這個變數 SELECT-OPTIONS x FOR zpu111_57_art-artid. skip. START-OF-SELECTION. WRITE :/ 'ID', 11(40) 'NAME',55(30) 'URL', 90 'TEL'. * 11(40) 從第11的位置開始 留40的位子 ULINE. data wa type zpu111_57_art. SELECT * FROM zpu111_57_art into wa where artid in x. * 改為in WRITE:/ wa-artid, 11(40) wa-artname, 55(30) wa-arturl,90 wa-arttel. ENDSELECT. ``` 執行後![](https://i.imgur.com/bdBvsEY.png)