ALV類應用-GRID
ALV的應用,除了直接呼叫函式以外,另一種發發就是利用類,具體步驟如下:
一。建立容器。
這就需要為程式新增Dynpro畫面,並在螢幕中建立容器,用來顯示ALV。例如容器控制元件名稱為‘CUST_01’。
ALV的應用,除了直接呼叫函式以外,另一種發發就是利用類,具體步驟如下:
一。建立容器。
這就需要為程式新增Dynpro畫面,並在螢幕中建立容器,用來顯示ALV。例如容器控制元件名稱為‘CUST_01’。
二。定義類。
*類定義
CLASS lcl_event_receiver DEFINITION.
PUBLIC SECTION.
* 方法(雙擊事件)
METHODS: handle_double_click
FOR EVENT double_click OF cl_gui_alv_grid
IMPORTING e_row e_column.
PRIVATE SECTION.
ENDCLASS. "lcl_event_receiver DEFINITION
*類宣告
CLASS lcl_event_receiver IMPLEMENTATION.
* 方法(雙擊事件)
METHOD handle_double_click.
* 方法(雙擊事件)實現
PERFORM screen_call_order USING e_row-index.
ENDMETHOD. "handle_double_click
三。定義物件及相關變數。
* ALV輸出用
DATA:
* 輸出
rec_layout TYPE lvc_s_layo,
* ALV用標準類
grid1 TYPE REF TO cl_gui_alv_grid,
event_receiver TYPE REF TO lcl_event_receiver,
* CFW用標準類
custom_container1 TYPE REF TO cl_gui_custom_container,
* variant
rec_variant TYPE disvariant,
* fieldcatalog
rec_fieldcatalog TYPE lvc_s_fcat,
tab_fieldcatalog TYPE TABLE OF lvc_s_fcat.
上面是一些ALV輸出用的基本定義,下面是建立物件:
* 容器控制元件建立
CREATE OBJECT custom_container1
" CL_GUI_CUSTOM_CONTAINER
EXPORTING
container_name = ‘CUST_01’
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5.
* ALV物件建立
CREATE OBJECT grid1 " CL_GUI_ALV_GRID
EXPORTING i_parent = custom_container1
i_appl_events = 'X'.
以上的CREAT是在第一步的DYNPRO的PBO裡面做的。
四。設定以及呼叫方法。
CALL METHOD grid1->set_table_for_first_display
EXPORTING
i_structure_name = XXX " 列構造(需要自己宣告定義)
is_layout = rec_layout " ALV Layout構造
i_save = 'A'
is_variant = rec_variant
it_toolbar_excluding = tab_toolbar
CHANGING
it_outtab = tab_alv[] " 列資料
it_fieldcatalog = tab_fieldcatalog[].
CREATE OBJECT EVENT_RECEIVER.
SET HANDLER EVENT_RECEIVER->HANDLE_DOUBLE_CLICK FOR GRID1.
CALL METHOD GRID1->SET_READY_FOR_INPUT
EXPORTING
I_READY_FOR_INPUT = 1.
ENDIF.
上面的tab_toolbar是有關機能碼的內部表,定義如下:
DATA:tab_toolbar TYPE ui_functions. "機能碼
此方法呼叫仍然是在PBO裡面完成的。
還有其他方法的呼叫:
CALL METHOD grid1->refresh_table_display.
重新整理畫面用,支援針對USER-COMMAND的操作,當你對ALV輸出做了變動的時候,可呼叫此方法對畫面進行更新輸出。
CALL METHOD grid1->get_selected_rows
IMPORTING
et_index_rows = l_lvc_t_row.
取得被選擇行的行資訊,你可在此基礎上進行明細檢視以及其他的具體操作等。
以上只是簡單的介紹了一下,要想充分掌握理解,最好自己實踐一下。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/238575/viewspace-1006913/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- function方式的ALV中 增加按鈕 用 REUSE_ALV_GRID_DISPLAYFunction
- SAP: 建立ALV GRID容器
- SAP: ALV GRID行顏色
- ALV Grid控制元件拖放功能控制元件
- ALV_GRID_DISPLAY中設定SORT
- ABAP FM: REUSE_ALV_GRID_LAYOUT_INFO_GET
- SAP: ALV GRID 控制之 單元格按鈕
- 一個較為全面的ALV應用程式
- ABAP--處理'REUSE_ALV_GRID_DISPLAY'的雙擊事件事件
- 在alv grid中的列中設定icon圖示
- (轉)關於REUSE_ALV_GRID_DISPLAY函式的slis_layout_alv的欄位使用的說明函式
- (轉)ABAP--處理'REUSE_ALV_GRID_DISPLAY'的雙擊事件事件
- 自定義ALV欄位分類時注意
- Calendar 類的應用
- Canvas類的應用Canvas
- SAP: ALV GRID 追加核取方塊欄位及編輯時立刻呼叫事件事件
- function ALV 獲取OO ALV event IDFunction
- Google Play應用商店下架廣告遮蔽類應用Go
- ALV_FieldEdit
- 交易型應用與消費類應用的區別 | infoworld
- ALV雙擊對應欄位跳轉事務碼
- 類載入器——ClassLoader應用
- Java學習--Calendar 類的應用Java
- ORACLE FLASHBACK的另類應用薦Oracle
- 【引用】分割評估類的應用
- 類的許可權與應用
- 深入剖析 Java 類屬性與類方法的應用Java
- 用 CSS Grid 佈局製作一個響應式柱狀圖CSS
- ALV1:使用函式顯示ALV格式報表函式
- webdynpro-for-abap 關於table和alv類容對其問題(轉)Web
- 用微前端的方式搭建類單頁應用前端
- 遊戲類應用增長策略:應用交叉推廣與定期更新遊戲
- function模式設定ALV用彈出視窗顯示Function模式
- ALV示例---Dyoprn實現,一個容器中嵌入ALV報表
- [應用案例]眾籌類商城原始碼原始碼
- 【機器學習】--譜聚類從初始到應用機器學習聚類
- Facebook暫停中國工具類應用廣告
- Java學習關於時間操作的應用類--Date類、Calendar類及其子類Java