如何在SAP的Screen中編寫List報表

來源:互聯網
上載者:User

1、相關命令
LEAVE TO LIST-PROCESSING [AND RETURN TO SCREEN <nnnn>].

LEAVE LIST-PROCESSING.

2、使用說明

3、推薦設計思路
設計一個空螢幕,在需要調用list的螢幕的邏輯流中使用CALL SCREEN調用空螢幕。空螢幕的next  screen設定為0,不需要PAI,只需要在PBO中設計一個Module,這個module的具體步驟如下:

  1. 首先調用LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 0.
  2. 為list設定GUI status ;如:設定SPACE 或者為自己定義的.
  3. 使用下列語句使空螢幕不輸出:

    SUPPRESS DIALOG.

    or

    LEAVE SCREEN. 

  4. 進行List輸出和處理.

4、樣本
REPORT demo_leave_to_list_processing .
TABLES sdyn_conn.
DATA: wa_spfli TYPE spfli,
      flightdate TYPE sflight-fldate.

CALL SCREEN 100.

MODULE status_0100 OUTPUT.
  SET PF-STATUS 'SCREEN_100'.
ENDMODULE.

MODULE cancel INPUT.
  LEAVE PROGRAM.
ENDMODULE.

MODULE user_command_0100.
  CALL SCREEN 500.
  SET SCREEN 100.
ENDMODULE.

MODULE call_list_500 OUTPUT.
  LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 0.
  SET PF-STATUS space.
  SUPPRESS DIALOG.
  SELECT  carrid connid cityfrom cityto
    FROM  spfli
    INTO  CORRESPONDING FIELDS OF wa_spfli
    WHERE carrid = sdyn_conn-carrid.
    WRITE: / wa_spfli-carrid, wa_spfli-connid,
             wa_spfli-cityfrom, wa_spfli-cityto.
    HIDE: wa_spfli-carrid, wa_spfli-connid.
  ENDSELECT.
  CLEAR: wa_spfli-carrid.
ENDMODULE.

TOP-OF-PAGE.
  WRITE text-001 COLOR COL_HEADING.
  ULINE.

TOP-OF-PAGE DURING LINE-SELECTION.
  WRITE sy-lisel COLOR COL_HEADING.
  ULINE.

AT LINE-SELECTION.
  CHECK not wa_spfli-carrid is initial.
  SELECT  fldate
    FROM  sflight
    INTO  flightdate
    WHERE carrid = wa_spfli-carrid AND
          connid = wa_spfli-connid.
     WRITE / flightdate.
  ENDSELECT.
  CLEAR: wa_spfli-carrid.

該樣本螢幕100隻包含一個輸入欄位(SDYN_CONN-CARRID ),在螢幕100的邏輯流中會調用list處理.螢幕100的邏輯流如下:

PROCESS BEFORE OUTPUT.
  MODULE STATUS_0100.

PROCESS AFTER INPUT.
  MODULE CANCEL AT EXIT-COMMAND.
  MODULE USER_COMMAND_0100.

在螢幕100的PAI的module USER_COMMAND_100 將使用CALL SCREEN調用螢幕500。螢幕500的邏輯流中封裝了所有List處理,螢幕500的邏輯流如下:

PROCESS BEFORE OUTPUT.
  MODULE CALL_LIST_500.

PROCESS AFTER INPUT.

螢幕500的PBO的module CALL_LIST_500定義了list處理代碼。另外由於螢幕500的螢幕流設定為0,該程式從List處理返回時到螢幕100的USER_COMMAND_100的調用CALL SCREEN 500的語句之後.

該程式會在list處理時顯示一個明細List,具體代碼參見AT LINE-SELECTION、TOP-OF-PAGE 和 TOP-OF-PAGE DURING LINE-SELECTION事件代碼.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.