Query 操作手冊 (新增邏輯數據庫)

文章轉自 http://blog.csdn.net/gu_gj/article/details/7522975

基本概念

 

QUERYSAP的一項簡單報表工具,它可爲沒有編程基礎的用戶用來生成簡單的報表。它有圖形化的界面,你可在上面託託拽拽,然後就可以見到你要的報表,可是這只是簡單的應用,其實每個工具功能都是比較完善的,QUERY也不例外。

1.生成用戶組
SAP
菜單工具ABAP工作臺實用程序SAP查詢用戶組
T-Code
SQ03
2
。創建Functional area(功能區)
SAP
菜單工具ABAP工作臺實用程序SAP查詢信息集
T-Code
SQ02
3
。創建SAP Query
SAP
菜單工具ABAP工作臺實用程序SAP查詢查詢
T-Code
SQ01

2.這些組件之間的關係有:
1
Query的管理包括建立Functional area(功能區)和User Group(用戶組),並將功能區分配到相應的用戶組中去。
2
Functional area(功能區)中定義query中需引用的表和字段。
3
。只有當一個用戶屬於至少一個用戶組纔可以創建、運行Queries。一個用戶可以屬於幾個用戶組。用戶組中的用戶享有相同的權力。
4
。當Functional area(功能區)分配給了某用戶組,該用戶組的成員即可以訪問此功能區。
5。一個Functional area(功能區)可以分配給多個用戶組;多個Functional area(功能區)可以分配給一個用戶組。
6
Queries通常爲特定的用戶組和特定的功能區而建立。這個用戶組的用戶可以訪問所有分配給這個用戶組的Queries

3.還有一點值得注意,在QUERY的管理時,有這樣的概念:
  標準區(Standard Area):建立在標準區的查詢往往用以滿足特定用戶的特定需求,因此屬於Client獨立(client-specific)的查詢。這些查詢不會連接到SAP工作臺組織器(Workbench Organizer)上。
  全局區域(Global Area):建立在全局區域的查詢是爲整個系統開發的,因此屬於Client交叉(cross-client)的查詢。這些查詢會在SAP工作臺組織器(Workbench Organizer)上註冊,可以利用正常的流程傳輸到其他系統中。

這裏提到的標準區的INFOSET,就是指QUICKVIWER中的一個數據源InfoSet(信息集),而全局區域的InfoSet是不支持QUICKVIWER的。

操作步驟

1.      建立用戶組

截此爲止,SQ03的工作已完成。

下一步: SQ02

這裏有幾個選項,我們常用的一般是前3項。

在這裏我們想做一個基於航班及其計劃的報表(可能要很多報表,而不是一個),

我們需要建立這樣一個信息集,能夠包含所出報表的各種信息,而這些信息可能來自多個表格。

基礎表格連接方式:

在“使用基礎表進行表連接”輸入一個表格SPFLI(航班及計劃涉及到2個表,SPFLISFLIGHT ),涉及到的其它表格,我們在進入後續界面能夠加進去。

 

添加新表後,系統會自動判斷表之間的聯繫,用線聯繫起來,當然,如果有些聯繫不正確,我們可以右鍵刪除。

 

如果要添加連接(也就是2個表的關聯字段),則可以拖動一個表的字段到另外一個表的字段上,中間的連接線就自動出現了。

 

出現如下窗口

 

選項1:系統將把所有表的字段放到信息集裏

選項2:系統將把表的關鍵字段放到信息集裏

選項3:自定義字段

我們選擇創建空字段組

 

在屏幕左側出現的是表,右側是字段組,我們根據需要建立自己的字段組,可以刪除也可以改名,右鍵功能即可操作。我們將建立一個字段組名爲“航班”

 

在做Query時,我們很容易遇到添加報表顯示列的情況,無論是文本還是數字。就這個例子來講,我們將添加一個“剩餘座位”字段,單擊“附加”按鈕

 

在這個屏幕裏,有幾個選項,對於應用顧問來講,我們通常選擇附加字段。

因爲如果附加表格會用到相對比較多的代碼,對於不熟悉ABAP語言的人並不合適。

然後保存代碼

並檢查。

 

然後按後退按鈕,根據提示保存並生成功能區。

 

然後單擊 角色/用戶組分配

 

選擇開始建立的用戶組,然後保存

然後進入SQ01建立查詢

會出現如下屏幕

 

選擇您配置的信息集。

如果界面中沒有出現您剛做過的信息集,那需要用SQ03進入,填入信息集對應的用戶組,然後回到SQ01中創建查詢,這個屏幕裏就會出現您剛做過的信息集了。或者通過

 

來實現顯示有權的查詢。

然後單擊“基本清單”

 

在左側,有字段清單和選擇字段2列,衆所周知,報表是要有選擇條件和輸出列的,

選擇條件就是選擇字段,輸出列就是字段清單。這裏單擊區分先後順序,先單擊的出現在前面,後單擊的出現在後面。你可以自己做一下測試。

操作後,可以保存。

然後退出程序返回SQ01界面,按F8執行此報表。

 

截此爲止,最簡單的Query就做完了。

 

ALV 輸出是我們最常用的方式,它不僅靈活而且擁有保存變式、小計、彙總等多種功能,例如我們對同一航線承運人ID、起飛機場、目的機場進行座位小計,效果如下

 

當然我們可以針對這種格式保存爲變式,下次進來時直接用這種方式

 

下次進來後,可以選擇曾經保存的格式,也可以設爲默認格式。這種小計及合計功能,我們也可以在製作Query時來實現。如下圖

 

 

使用邏輯數據庫

簡單的講,邏輯數據庫就是系統在特定的業務裏,自動關聯一些表,我們可以直接使用其中的各種子段而無需考慮其邏輯關聯關係。在SQ02新建的界面裏,我們選擇PNPCE這個邏輯數庫,它代表HR主數據,如果HR主數據裏包含表格PA0001PA0002,PA0014,……這些表,我們完全可以不用自己關聯這些表格,直接使用PNPCE即可。在F4菜單中,我們可以去選擇系統內所有的邏輯數據庫,用事物代碼SLDB去查看邏輯數據庫的幫助。如果這個邏輯數據庫有選擇屏幕版本,則在F4菜單中就會有選項,例如PNP就會有000 900兩個屏幕

 

 

我們選擇PNPCE

PNPCE包括的信息類型如上,我們可以選擇我們需要的類型,例如組織分配和個人數據。

進入維護界面後,就和表關聯一樣了,可以參考blog上半部分。

在這裏,我們可能經常遇到下面的錯誤:

一個窗口裏有很多紅色標記的字段,那代表相應的結構裏字段的描述爲空,我們可以用EN登陸,來做這個查詢,然後再返回中文使用。

上圖的這種情況就可能會出現錯誤,進入EN,這裏就會有描述。(注:這種情況,我做了幾次測試,第一次做時肯定會出現錯誤,但是用EN登陸做了之後,別的結構如有空項,也不再報錯了)

對於熟悉ABAP語言的應用顧問,也可以創建自定義的選擇屏幕元素,在SQ02->屬性界面裏,有個選擇項,這裏可以創建自定義的選擇。然後在代碼部分寫檢查代碼。

特別註釋:ALV的格式管理功能,是我們在使用Query時最常用的,用戶可以自定義自己的報表樣式,也可以設置全局變式及默認設置。

來源:http://www.cnblogs.com/elegantok/archive/2009/09/22/1572036.html

 

發佈了1 篇原創文章 · 獲贊 2 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章