天天看點

設計ABAP/4 Query報表

ABAP/4 Query是sap R/3系統報表開發的一種工具。開發人員可以用它來建立簡單的報表。用ABAP/4 Query建立報表主要包括一下步驟:

1、建立使用者組(User Group)(TCODE:SQ03)

2、建立Infoset(TCODE:SQ02)

3、配置設定使用者和功能區

4、建立基于Infoset的報表(TCODE:SQ01)

1、建立使用者組(User Group)(TCODE:SQ03)

當用ABAP/4 Query 來建立表報時,你必須給報表配置設定使用者組.使用者組規定了哪些使用者有使用該報表的權限.具體步驟如下:

1.1 運作TCODE: SQ03,系統出現"使用者組:初試屏";

1.2 在使用者組輸入框中,輸入"你需要的建立的使用者組名稱",再點選"建立"按鈕;

1.3 系統此時會彈出使用者組描述輸入對話視窗,輸入正确的描述,點選"儲存"按鈕;

1.4 系統會彈出"開發類"和"傳輸請求"兩個視窗,請正确輸入;

1.5 最後系統會提示XXX使用者組已儲存.

2、建立功能區(Infoset)(TCODE:SQ02)

當用ABAP/4 Query 來建立表報時,你同樣需要建立一個功能區(infoset),它規定了資料來源。具體步驟如下:

2.1運作TCODE: SQ02,系統出現"Infoset:initial screen";

2.2 在功能區輸入框中,輸入"你需要的建立的Infoset的名稱",再點選"建立"按鈕;

2.3 系統此時會彈出使用者組描述輸入對話視窗,輸入正确的描述

你可以設定資料源為下列4種中的一種:

                Table Join using basis table

                Direct read of Table

                Logical Database

               Data retrieval by Program

但你輸入完必要的資訊,請點選“儲存”按鈕;

2.4點選“生成”按鈕生成激活

3、配置設定使用者和功能區(TCODE: SQ02或SQ03)

3.1運作TCODE: SQ02,系統出現"Infoset:initial screen";

3.2選擇“配置設定使用者和功能區”;

3.3在“使用者組XXXX:配置設定使用者"屏,輸入響應的使用者;

3.4點選“配置設定Infoset”按鈕配置設定該使用者組可以使用的Infoset;按“儲存”按鈕儲存;

3.5點選“傳回”傳回到使用者輸入屏,點選“儲存”按鈕儲存使用者配置設定;退出TCODE

4、建立報表(TCODE:SQ01)

4.1運作TCODE: SQ01,系統出現"查詢:initial screen";

4.2選擇菜單"編輯"--》“其他使用者組”,選擇正确的使用者組;

4.3 在查詢輸入框中,輸入"你需要的建立的的名稱",再點選"建立"按鈕;

4.4系統彈出“可用功能區”的清單對話框,你選擇一個;

4.5 輸入描述,配置報表的List格式,特殊屬性和輸出格式後,按“下一屏”設定“Select Field Group”;

4.6再點選“下一屏”,設定選擇查詢條件字段;

4.7再點選“下一屏”,設定選擇查詢條件字段的螢幕排列循序,是否輸入範圍,是否幫助輸入;

4.8選擇報表輸出類型

“基本清單”,“統計”和“等級清單”

4.9選擇報表輸出類型,系統進入“報表設計屏”,你進行完設計,按“儲存”儲存;

至此一個ABAP/4 Query報表設計完成。

本文來自CSDN部落格,轉載請标明出處:http://blog.csdn.net/compassbutton/archive/2006/11/03/1364699.aspx

2.執行個體操作講解SAP Query

簡單來講,制作SAP Query可以用到SQ03(建立使用者組并配置設定使用者)、SQ02(建立InfoSet并配置設定到使用者組)、SQ01(在配置設定好的使用者組中使用資訊集來生成Query Reporting)這三個事務代碼。

2.1 建立使用者組并配置設定使用者 Tcode:SQ03  

設計ABAP/4 Query報表

Figure1-1:建立新的使用者組

Figure1-2:儲存新的使用者組

Figure1-3:為新的使用者組配置設定使用者

2.2 建立InfoSet并配置設定到使用者組 Tcode:SQ02  

設計ABAP/4 Query報表

Figure2-1:建立新的InfoSet

Figure2-2:儲存

Figure2-3:将InfoSet配置設定到使用者組

設計ABAP/4 Query報表

Figure3:指定資料源及其類型。

設計ABAP/4 Query報表

Figure4:如果使用“包括關鍵字段”,則InfoSet會自動帶入資料源的Key值字段,當然也可以使用其它另外兩個選擇項,不過那樣看上去會有些怪異。

設計ABAP/4 Query報表

Figure5-1:轉換顯示與更改

Figure5-2:檢查是否有錯誤

Figure5-3:生成資訊集InfoSet(重要)

Figure5-4:連接配接(可以添加資料源連接配接,較重要)

Figure5-5:附加(可以添加全局字段、對字段進行代碼控制、對選擇螢幕進行控制等,重要)

Figure5-6:檢視附加代碼

Figure5-7:增加字段組(當資訊集字段相當多時,可以使用它對字段進行分組管理)

設計ABAP/4 Query報表

Figure6-1:新增字段組并且拉入了一個新的字段Bseg-DMBTR。 用滑鼠拖拽的方式把左側的字段拉入右側的資訊集InfoSet,或者右擊資訊集InfoSet字段進行删除。操作完成點選儲存按鈕并點選生成按鈕以生成資訊集。

點選Figure2-3,将資訊集InfoSet配置設定到使用者組。

2.3 建立Query Reporting Tcode:SQ01

設計ABAP/4 Query報表

Figure7-1:轉到資訊集所在的使用者組(Query Reporting可以看做是資訊集的派生出的報表,是以第一步應先找到資訊集的所在,SQ02把它配置設定到某個使用者組了,是以這裡應先用這個按鈕轉到此使用者組,重要)

Figure7-2:對Query Reporting進行測試

Figure7-3:為新的Query Reporting命名

Figure7-4:點選建立

Figure7-5:快速浏覽器(這裡就是概述裡講到的QuickViewer)

Figure7-6:資訊集查詢(這裡就是概述裡講到的InfoSet)

Figure7-7:Query Reporting清單

設計ABAP/4 Query報表

Figure8:變更查詢的标題及格式 完成後點選下一頁或者按F6

設計ABAP/4 Query報表

Figure9:更改快速浏覽的選擇字段組(這一頁可以保持預設不變,因為它的下一頁還要再設定)

設計ABAP/4 Query報表

Figure10:選擇搜尋字段。

設計ABAP/4 Query報表

Figure11-1:如果将檢查标記放在此複選框中,那麼在選擇字段中隻準備一個條目字段.選擇"多選擇"附加字段的按鈕,是可用的,以確定您使用此功能來進行多項選擇. 如果要撤銷激活多選擇功能,那麼将檢查标記放在複選框中.

Figure11-2:若選擇此複選框,就能在選擇螢幕上指定單一值或間隔.選擇額外螢幕的按鈕"多重選擇"不可用,有效預防進行多重選擇.   若想限制選擇以緻僅允許選擇單一值,也要在首個複選框中安置一個檢查标記.

注:這裡不能設定搜尋條件是否必輸。如需設定,可到SQ02資訊集中去設定,我們将在後面講到。

當“下一頁”的按鈕變灰,點選“基本清單”。基本清單的顯示有兩種格式,一種是圖形查詢繪制器格式設計,另一種是非圖形查詢繪制器格式設計。它們可以通過選中菜單“設定- 設定- 圖形查詢繪制器”的複選框,SAP V4.6或高版本的SAP Query是預設選中此選項的,選中即代表所見即所得的設計格式。

設計ABAP/4 Query報表

Figure12-1:打開或關閉所有工具(包括排序字段、總計字段、計算字段、工具箱等。重要)

Figure12-2:Query Reporting的顯示字段(打勾的順序是很重要的)

Figure12-3:Query Reporting的搜尋字段

Figure12-4:字據字段的下面方框中可以設定字段顯示的寬度、位置甚至顔色等)

Figure12-5:已經打開的小工具(可以拖拽的字段值到小工具欄中,例如将“憑證号碼”字段下方的“ABCDEFGHIJ”拖拽到排序小工具中)

小竅門:如果Query Reporting的字段非常多,顯示順序不太容易設定,可以點選Figure7-6然後用滑鼠去拖動列直到你滿意為止,這樣是友善的。

測試或儲存Query Reporting。

設計ABAP/4 Query報表
設計ABAP/4 Query報表

3.Query Reporting進階應用

3.1添加全局字段并使用代碼控制值(多表關聯) TCODE:SQ02

設計ABAP/4 Query報表

Figure13-1:點選“附加”

Figure13-2:建立字段(此字段是全局字段,非本地字段。所有使用此資訊集InfoSet生成的Query Reporting都可以看到此字段)

設計ABAP/4 Query報表

Figure14:添加Z_period,意為顯示憑證的會計期間。(因Bseg中不包含會計期間的資訊,而BKPF包含)

設計ABAP/4 Query報表

Figure15:設定Z_period的簡單參數。

點選Figure13-3:轉到附加代碼

設計ABAP/4 Query報表

Figure16:在代碼附加框中錄入上面的代碼,點選儲存并檢查。把左側資料源中自動新增的“附加字段”下面的“Z_period ”字段拉到資訊集中,儲存并生成。

Figure12-2:下面的Z_period選中打勾即可。

3.2添加全局字段并使用代碼控制值(對查詢結果進行算數運算)    TCODE:SQ02

設計ABAP/4 Query報表

Figure17:可以在代碼附加中使用簡單的語句實作對查詢結果的算數運算。其它操作如3.1操作。

3.3 對搜尋字段設定單選必輸    TCODE:SQ02

設計ABAP/4 Query報表

Figure18-1:點選“附加”

Figure18-2:選擇“選擇”頁簽

Figure18-3:建立

Figure18-4:在“建立選擇”視窗輸入名稱,并選擇“選擇名額”

設計ABAP/4 Query報表

Figure19:格式 “FOR” 輸入 将要設為單選必輸的字段;附加中輸入“OBLIGATORY NO-EXTENSION NO INTERVALS” 。 儲存即可。

3.4 新增本地字段并設定簡單屬性 SQ01

在Figure10中點選菜單:編輯---短名---打開/關閉

設計ABAP/4 Query報表

Figure20:輸入自定義短名。

點選菜單“編輯---局部字段---建立”。

設計ABAP/4 Query報表

Figure21:在“字段定義”視窗中輸入以上内容。

設計ABAP/4 Query報表

Figure22:在“基本清單”中選擇剛剛建立的“本地附加字段--金額(局部)”,測試運作。

設計ABAP/4 Query報表

Figure23:添加了“金額(局部)”的查詢結果。

3.5 新增本地字段并設定圖示屬性 SQ01

設計ABAP/4 Query報表

Figure24:屬性選擇“符号”,在條件框中輸入條件,并選擇一種符号,儲存。

設計ABAP/4 Query報表

Figure25:輸出結果

3.6 對查詢結果附加操作(使用TR)

點選Figure5的菜單 “轉到--報表配置設定”

設計ABAP/4 Query報表

Figure26-1:點選"插入行"

Figure26-2:點選"其它報告類型"

設計ABAP/4 Query報表

Figure27-1: 選擇TR 事務

Figure28:輸入 FB03   并儲存 可以實作輕按兩下查詢結果聯查到憑證.

設計ABAP/4 Query報表

3.7 對查詢結果附加操作(使用RT)

如果要實作對查詢更加複雜的操作,那就要選擇Figure27-2使用"RT ABAP報表程式".,選擇這種類型的前提是你已經寫好了一個ABAP報表程式。 如本例,我使用SE38寫了一個小小的程式來實作輕按兩下查詢行項目聯查到憑證。

*&---------------------------------------------------------------------*

*& Report   Z_QUERY_DELANO1

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT   Z_QUERY_DELANO1.

PARAMETER:   z_BELNR like bseg-BELNR,

             z_BUKRS like bseg-BUKRS,

             Z_GJAHR like bseg-GJAHR.

  set PARAMETER ID 'BLN' FIELD Z_BELNR.

  set PARAMETER ID 'BUK' FIELD z_BUKRS.

  set PARAMETER ID 'GJR' FIELD Z_GJAHR.

call TRANSACTION 'FB03' AND SKIP FIRST SCREEN.

設計ABAP/4 Query報表

點選Figure27-2後,在Figure29中錄入你提前寫好的Report名稱,儲存。

設計ABAP/4 Query報表

在查詢結果中輕按兩下行項目會跳出這樣的視窗來讓你選擇要執行的動作。“顯示憑證”便是使用TR事務添加的FB03,“Z_QUERY_DELANO1“ 是使用RT ABAP報表程式 添加的程式,這兩個都可以實作對查詢結果的附加操作(比如聯查憑證)。

繼續閱讀