ABAP - SALV教程05 添加頁眉和頁腳

  • ?先看看效果叭
  • CL_SALV_TABLE提供了SET_TOP_OF_LIST方法設置頁眉顯示SET_TOP_OF_LIST_PRINT方法設置頁眉打印來實現添加頁眉的目的。
  • CL_SALV_TABLE提供了SET_END_OF_LIST方法設置頁腳顯示SET_END_OF_LIST_PRINT方法設置頁腳打印來實現添加頁腳的目的。
  • 這個四個方法的傳入參數為CL_SALV_FORM_LAYOUT_GRID類型,這是個類。
  • 實現步驟
  • 定義兩個私有方法;SET_TOPPAGE:添加頁眉,SET_ENDPAGE:添加頁腳
      PRIVATE SECTION.METHODS:set_toppage CHANGING co_alv TYPE REF TO cl_salv_table.METHODS:set_endpage CHANGING co_alv TYPE REF TO cl_salv_table.
      METHOD set_toppage.DATA: lo_h_label TYPE REF TO cl_salv_form_label,lo_h_flow  TYPE REF TO cl_salv_form_layout_flow.DATA(lo_header) = NEW cl_salv_form_layout_grid( ).*   通過Row 和 column字段定位在top of page的文本輸出位置
    *   粗體 第一行第一列lo_h_label = lo_header->create_label( row = 1 column = 1 ).lo_h_label->set_text( 'Sale Orders of Report' ).*   第二行第一列lo_h_flow = lo_header->create_flow( row = 2  column = 1 ).lo_h_flow->create_text( text = 'Create By:' && sy-uname ).*   第三行第一列lo_h_flow = lo_header->create_flow( row = 3  column = 1 ).lo_h_flow->create_text( text = 'Number of Records in the output' ).*   第三行第二列lo_h_flow = lo_header->create_flow( row = 3  column = 2 ).lo_h_flow->create_text( text = '20' ).*   頁眉顯示co_alv->set_top_of_list( lo_header ).
    *   頁眉打印co_alv->set_top_of_list_print( lo_header ).ENDMETHOD.METHOD set_endpage.DATA: lo_f_label TYPE REF TO cl_salv_form_label,lo_f_flow  TYPE REF TO cl_salv_form_layout_flow.DATA(lo_footer) = NEW cl_salv_form_layout_grid( ).*   通過Row 和 column字段定位在top of page的文本輸出位置
    *   粗體 第一行第一列lo_f_label = lo_footer->create_label( row = 1 column = 1 ).lo_f_label->set_text( 'Bilibili University' ).*   第二行第一列lo_f_flow = lo_footer->create_flow( row = 2  column = 1 ).lo_f_flow->create_text( text = 'Date:' && sy-datum ).*lo_f_flow = lo_footer->create_flow( row = 3  column = 1 ).lo_f_flow->create_text( text = 'Footer number' ).
    *lo_f_flow = lo_footer->create_flow( row = 3  column = 2 ).lo_f_flow->create_text( text = 1 ).*   頁眉打印co_alv->set_end_of_list( lo_footer ).
    *   頁腳打印co_alv->set_end_of_list_print( lo_footer ).ENDMETHOD.
    ?
  • 同樣的也是在創建SALV實例對象后調用方法
        TRY.cl_salv_table=>factory(IMPORTINGr_salv_table = mo_salvCHANGINGt_table      = mt_data ).CATCH cx_salv_msg INTO DATA(lx_msg).ENDTRY.me->set_toppage( CHANGING co_alv = mo_salv ).me->set_endpage( CHANGING co_alv = mo_salv ).
    ?
  • 完整代碼?
    CLASS lcl_model DEFINITION.PUBLIC SECTION.TYPES:BEGIN OF TY_dATA,vbeln TYPE vbak-vbeln,erdat TYPE erdat,erzet TYPE erzet,ernam TYPE ernam,auart TYPE auart.TYPES:END  OF ty_data.DATA mt_data TYPE TABLE OF ty_data.DATA mo_salv TYPE REF TO cl_salv_table."獲取數據的方法METHODS get_data."展示SALV的方法METHODS alv_show.PRIVATE SECTION.METHODS:set_status  CHANGING co_alv TYPE REF TO cl_salv_table.METHODS:set_toppage CHANGING co_alv TYPE REF TO cl_salv_table.METHODS:set_endpage CHANGING co_alv TYPE REF TO cl_salv_table.ENDCLASS.CLASS lcl_model IMPLEMENTATION.METHOD get_data.SELECT vbeln erdat erzet ernam auartINTO TABLE mt_dataFROM vbakUP TO 20 ROWS.ENDMETHOD.METHOD alv_show.TRY.cl_salv_table=>factory(IMPORTINGr_salv_table = mo_salvCHANGINGt_table      = mt_data ).CATCH cx_salv_msg INTO DATA(lx_msg).ENDTRY.me->set_status( CHANGING co_alv = mo_salv ).me->set_toppage( CHANGING co_alv = mo_salv ).me->set_endpage( CHANGING co_alv = mo_salv ).mo_salv->display( ).ENDMETHOD.METHOD set_status.DATA(lo_functions) = co_alv->get_functions( )."cl_salv_functions_list類型的實例對象的添加狀態方法lo_functions->set_all( abap_true )."lo_functions->set_default( abap_true ).ENDMETHOD.METHOD set_toppage.DATA: lo_h_label TYPE REF TO cl_salv_form_label,lo_h_flow  TYPE REF TO cl_salv_form_layout_flow.DATA(lo_header) = NEW cl_salv_form_layout_grid( ).*   通過Row 和 column字段定位在top of page的文本輸出位置
    *   粗體 第一行第一列lo_h_label = lo_header->create_label( row = 1 column = 1 ).lo_h_label->set_text( 'Sale Orders of Report' ).*   第二行第一列lo_h_flow = lo_header->create_flow( row = 2  column = 1 ).lo_h_flow->create_text( text = 'Create By:' && sy-uname ).*   第三行第一列lo_h_flow = lo_header->create_flow( row = 3  column = 1 ).lo_h_flow->create_text( text = 'Number of Records in the output' ).*   第三行第二列lo_h_flow = lo_header->create_flow( row = 3  column = 2 ).lo_h_flow->create_text( text = '20' ).
    *
    *   頁眉顯示co_alv->set_top_of_list( lo_header ).
    *
    *   頁眉打印co_alv->set_top_of_list_print( lo_header ).ENDMETHOD.METHOD set_endpage.DATA: lo_f_label TYPE REF TO cl_salv_form_label,lo_f_flow  TYPE REF TO cl_salv_form_layout_flow.DATA(lo_footer) = NEW cl_salv_form_layout_grid( ).*   通過Row 和 column字段定位在top of page的文本輸出位置
    *   粗體 第一行第一列lo_f_label = lo_footer->create_label( row = 1 column = 1 ).lo_f_label->set_text( 'Bilibili University' ).*   第二行第一列lo_f_flow = lo_footer->create_flow( row = 2  column = 1 ).lo_f_flow->create_text( text = 'Date:' && sy-datum ).*lo_f_flow = lo_footer->create_flow( row = 3  column = 1 ).lo_f_flow->create_text( text = 'Footer number' ).
    *lo_f_flow = lo_footer->create_flow( row = 3  column = 2 ).lo_f_flow->create_text( text = 1 ).co_alv->set_end_of_list( lo_footer ).
    *   頁腳打印co_alv->set_end_of_list_print( lo_footer ).ENDMETHOD.ENDCLASS.START-OF-SELECTION.DATA(lo_model) = NEW lcl_model( ).lo_model->get_data( ).lo_model->alv_show( ).

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/716048.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/716048.shtml
英文地址,請注明出處:http://en.pswp.cn/news/716048.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Flutter異常上報及性能監控實現

1. 頁面異常監測 在Flutter中,通常用FlutterError監測Flutter框架拋出的異常,用runZonedGuarded監測應用中用戶代碼異常。 class AppGuarded {run(Widget app) {//1. 用FlutterError監測flutter框架拋出的異常FlutterError.onError (FlutterErrorDetail…

STM32F4 HAL庫串口死鎖問題調試記錄

文章目錄 STM32F4 HAL庫串口死鎖問題調試記錄調試方法結果分析解決方法一:方法二: STM32F4 HAL庫串口死鎖問題調試記錄 使用方法:通過串口DMA固定周期向外發送數據,同時開啟串口DMA接收用于接收其它板卡發來的數據。 問題&#x…

2024年,智慧文旅領航新時代,重塑旅行體驗的未來篇章!

隨著科技的飛速發展,智慧文旅正成為旅游行業的新寵,以其獨特的魅力和無限可能,引領著旅行體驗的全面升級。 2024年,智慧文旅火爆出圈,成為各界關注的焦點,為游客帶來了前所未有的震撼與享受。 智慧文旅&a…

290.【華為OD機試】連續出牌數量(深度優先搜索DFS—JavaPythonC++JS實現)

??點擊這里可直接跳轉到本專欄,可查閱頂置最新的華為OD機試寶典~ 本專欄所有題目均包含優質解題思路,高質量解題代碼(Java&Python&C++&JS分別實現),詳細代碼講解,助你深入學習,深度掌握! 文章目錄 一. 題目二.解題思路三.題解代碼Python題解代碼JAVA題解…

《猛獸派對》好玩嗎值得買嗎?蘋果電腦也能裝《猛獸派對》嗎?猛獸派對好友通行證 動物派對 猛獸對戰游戲

目錄 一、《猛獸派對》好玩嗎? 游戲玩法: 物理引擎: 關卡設計: 游戲特色: 評價: 榮譽: 二、蘋果電腦也能裝《猛獸派對》嗎? 第1步:下載并安裝CrossOver這款軟件…

C語言---文件操作(1)

1.文件的打開和關閉 fopen有2個參數,第一個是文件的名字,第二個是打開的模式(例如是讀文件還是寫文件) (1)該文件夾下面沒有data.txt文件,但是我執行了read操作,所以會顯示這樣的錯誤 (2&#…

『NLP學習筆記』圖解GPT3(How GPT3 Works-Visualizations and Animations)

圖解GPT3(How GPT3 Works-Visualizations and Animations) 文章目錄 一. GPT-1 vs GPT-2 vs GPT-3 vs GPT-3.5 vs GPT-4二. GPT32.1. 訓練動圖2.2. 預測動圖2.3. 代碼生成示例三. 參考文章原作者主頁:Jay Alammar原英文鏈接:How GPT3 Works - Visualizations and Animations …

ApplicationContext容器

ApplicationContext容器 1.概述 ApplicationContext接口代表了一個Spring容器,它主要負責實例化、配置和組裝bean。ApplicationContext接口間接繼承了BeanFactory接口,相較于BeanFactory一些基本的容器功能,ApplicationContext接口是在BeanFactory接口基礎上進行了擴展,增…

SQL 術語:Join 中的 Build 和 Probe 是什么意思?

博主歷時三年精心創作的《大數據平臺架構與原型實現:數據中臺建設實戰》一書現已由知名IT圖書品牌電子工業出版社博文視點出版發行,點擊《重磅推薦:建大數據平臺太難了!給我發個工程原型吧!》了解圖書詳情,…

如何在Vue中實現事件處理?

Vue是一種流行的JavaScript框架,廣泛應用于前端開發。在Vue中,事件處理是一個非常關鍵的概念,可以幫助我們實現用戶與頁面的交互,今天我們就來探討一下如何在Vue中實現事件處理。 首先,讓我們先了解一下在Vue中如何綁…

[pdf]《軟件方法》強化自測題業務建模需求分析共191頁,230題

潘加宇《軟件方法》強化自測題業務建模需求分析共191頁,230題,已上傳CSDN資源。 在完成書中自測題基礎上,進一步強化。 也可到以下地址下載: 資料http://www.umlchina.com/url/quizad.html 如果需要網盤提取碼:uml…

【Python】1. 背景知識

認識 Python 計算機基礎概念 什么是計算機? 很多老一輩的人, 管下面這個叫做計算機. 然鵝, 它只是 “計算器”, 和計算機是有很大區別的. 現在我們所說的計算機, 不光能進行算術運算, 還能進行邏輯判斷, 數據存儲, 網絡通信等等功能,。 以至于可以自動的完成非常復雜的工作…

代碼隨想錄day10(2)字符串:反轉字符串Ⅱ (leetcode541)

題目要求:給定一個字符串 s 和一個整數 k,從字符串開頭算起, 每計數至 2k 個字符,就反轉這 2k 個字符中的前 k 個字符。如果剩余字符少于 k 個,則將剩余字符全部反轉。如果剩余字符小于 2k 但大于或等于 k 個,則反轉前…

Spring與Spring Boot:簡化Java開發的革命性框架

Spring與Spring Boot:簡化Java開發的革命性框架 摘要:本文將深入探討Spring與Spring Boot兩個在Java開發領域具有重要地位的框架。我們將了解它們的核心概念、區別、聯系以及在實際項目中的應用。通過本文,您將更好地理解如何使用這兩個框架…

Zookeeper4:Java客戶端、應用場景以及實現、第三方客戶端curator工具包

文章目錄 Java連接Zookeeper服務端依賴代碼使用 應用場景統一命名服務統一配置管理統一集群管理服務器節點動態上下線理解實現模擬服務提供者【客戶端代碼】-注冊服務模擬服務消費者【客戶端代碼】-獲取服務信息進行請求消費 軟負載均衡分布式鎖理解實現 生產集群安裝N臺機器合…

Java中的Collection

Collection Collection 集合概述和使用 Collection集合概述 是單例集合的頂層接口,它表示一組對象,這些對象也稱為Collection的元素 JDK 不提供此接口的任何直接實現.它提供更具體的子接口(如Set和List)實現 創建Collection集合的對象 多態的方式 具體的實現類ArrayList C…

leetcode - 71. Simplify Path

Description Given a string path, which is an absolute path (starting with a slash ‘/’) to a file or directory in a Unix-style file system, convert it to the simplified canonical path. In a Unix-style file system, a period ‘.’ refers to the current di…

MATLAB環境下基于熵的聲納圖像分割算法

聲納圖像作為準確獲取水下信息的重要途徑之一,在國防、軍事、工程等方面發揮著巨大作用。然而,由于水聲信道的復雜多變和聲波本身的傳播損失,聲納圖像往往呈現出分辨率和對比度不高、噪聲干擾嚴重、目標輪廓模糊等特點。 聲納圖像的分割指的…

FCIS 2023網絡安全創新大會:洞察前沿技術,探索安全新境界(附大會核心PPT下載)

隨著信息技術的飛速發展,網絡安全問題日益凸顯,成為全球關注的焦點。作為網絡安全領域的重要盛會,FCIS 2023網絡安全創新大會如期而至,匯聚了全球網絡安全領域的頂尖專家、學者、企業家和政策制定者,共同探討網絡安全的…

備戰藍橋杯————差分數組1

引言 一、差分數組 什么是差分數組 差分數組的作用 Java代碼實現差分數組 二、 區間加法 題目描述 代碼與解題思路 總結 引言 在數字世界的海洋中,數據是構建和優化算法的基石。然而,當我們面對需要頻繁進行區間操作的數組時,傳統的逐元素…