SAP ABAP 編程報(bào)告

2018-01-03 09:09 更新

報(bào)告是以組織結(jié)構(gòu)呈現(xiàn)數(shù)據(jù)。 許多數(shù)據(jù)庫管理系統(tǒng)包括一個(gè)報(bào)告寫入器,使您能夠設(shè)計(jì)和生成報(bào)告。 SAP應(yīng)用程序支持報(bào)告創(chuàng)建。

使用循環(huán)內(nèi)的WRITE語句中的輸出數(shù)據(jù)創(chuàng)建經(jīng)典報(bào)告。 它們不包含任何子報(bào)告。 SAP還提供了一些標(biāo)準(zhǔn)報(bào)告,例如用于在客戶端之間復(fù)制表的RSCLTCOP和用于顯示實(shí)例參數(shù)的RSPARAM。

這些報(bào)告只包含一個(gè)屏幕作為輸出。 我們可以使用各種事件,如INITIALIZATON& TOP-OF-PAGE來創(chuàng)建經(jīng)典報(bào)告,每個(gè)事件在創(chuàng)建經(jīng)典報(bào)告時(shí)都有自己的重要性。 這些事件中的每一個(gè)都與特定的用戶操作相關(guān)聯(lián),并且只有在用戶執(zhí)行該操作時(shí)才會(huì)觸發(fā)。

以下是描述事件和描述的表:

編號(hào)事件&說明
1

INITIALIZATON

在顯示選擇畫面之前觸發(fā)。

2

AT SELECTION-SCREEN

在選擇屏幕上處理用戶輸入后觸發(fā)。 此事件在執(zhí)行程序之前驗(yàn)證用戶輸入。 在處理用戶輸入之后,選擇屏幕保持在活動(dòng)模式。

3

START-OF-SELECTION

僅在選擇屏幕的處理結(jié)束后觸發(fā); 即當(dāng)用戶點(diǎn)擊選擇屏幕上的執(zhí)行圖標(biāo)時(shí)。

4

END-OF-SELECTION

在執(zhí)行START-OF-SELECTION事件中的最后一條語句之后觸發(fā)。

5

TOP-OF-PAGE

由第一條WRITE語句觸發(fā)以在新頁面上顯示數(shù)據(jù)。

6

END-OF-PAGE

觸發(fā)以在報(bào)表的頁面末尾顯示文本。 請(qǐng)注意,此事件是創(chuàng)建報(bào)告時(shí)的最后一個(gè)事件,應(yīng)與REPORT語句的LINE-COUNT子句結(jié)合使用。

例子

讓我們創(chuàng)建一個(gè)經(jīng)典報(bào)告。 我們將通過在ABAP編輯器中使用一系列語句來顯示存儲(chǔ)在標(biāo)準(zhǔn)數(shù)據(jù)庫MARA(包含一般材料數(shù)據(jù))中的信息。

REPORT ZREPORT2 
LINE-SIZE 75 
LINE-COUNT 30(3) 
NO STANDARD PAGE HEADING. 
Tables: MARA. 
TYPES: Begin of itab, 

MATNR TYPE MARA-MATNR, 
MBRSH TYPE MARA-MBRSH, 
MEINS TYPE MARA-MEINS, 
MTART TYPE MARA-MTART, 

End of itab. 

DATA: wa_ma TYPE itab,
      it_ma TYPE STANDARD TABLE OF itab.
		
SELECT-OPTIONS: MATS FOR MARA-MATNR OBLIGATORY. 
INITIALIZATION. 
MATS-LOW = '1'. 
MATS-HIGH = '500'. 

APPEND MATS. 
AT SELECTION-SCREEN. .
IF MATS-LOW = ' '. 
MESSAGE I000(ZKMESSAGE). 
ELSEIF MATS-HIGH = ' '. 
MESSAGE I001(ZKMESSAGE). 
ENDIF. 

TOP-OF-PAGE. 
WRITE:/ 'CLASSICAL REPORT CONTAINING GENERAL MATERIAL DATA  
FROM THE TABLE MARA' COLOR 7. 
ULINE. 
WRITE:/ 'MATERIAL' COLOR 1, 

24 'INDUSTRY' COLOR 2, 
38 'UNITS' COLOR 3, 
53 'MATERIAL TYPE' COLOR 4. 
ULINE. 
END-OF-PAGE. 

START-OF-SELECTION. 
SELECT MATNR MBRSH MEINS MTART FROM MARA  
INTO TABLE it_ma WHERE MATNR IN MATS. 
LOOP AT it_ma into wa_ma. 
WRITE:/  wa_ma-MATNR, 

25 wa_ma-MBRSH, 
40 wa_ma-MEINS, 
55 wa_ma-MTART. 
ENDLOOP. 
END-OF-SELECTION. 

ULINE. 
WRITE:/ 'CLASSICAL REPORT HAS BEEN CREATED' COLOR 7.
ULINE. 
SKIP. 

上述代碼產(chǎn)生以下輸出,包含標(biāo)準(zhǔn)表中的一般材料數(shù)據(jù)MARA 

Report Programming
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)