ABAP面試題及其解答(轉)

qmhiro發表於2008-05-19

COME FORM: http://i.cn.yahoo.com/02900427056/blog/p_5/

關鍵字: ABAP面試

問題一:鎖物件(Lock Object)和 FM(Function Module),啟用Lock Object時,

案 產生的 FM 的名字是什麼?

答案:首先要在 ABAP 字典中建立鎖物件,然後才能在 ABAP 程式中設鎖。

建立鎖物件時,系統會自動生成兩個 FM 來進行鎖管理。

用於設鎖的 FM 為: ENQUEUE_。它用於在鎖表(Lock Table)

中生成一個鎖項(Lock Entry)。若設鎖不成功的話,就會在 Return 中反映出來。

用於釋放鎖的 FM 為:DEQUEUE_。它用於從鎖表中刪除一個鎖項。

在 ABAP 程式中,只需使用 "CALL FUNCITION ..." 語句就可以呼叫它們。

這兩個鎖 FM 是在 SAP 系統的一個特殊工作程式中執行的,專門進行鎖管理。

它執行在一個單獨的伺服器上,而該伺服器專門用於維護整個 SAP 系統的主鎖表

(Central Lock Table)。

有兩種鎖型別:

1. 共享鎖——只讀鎖,一個使用者正在讀資料時,阻止其他使用者更改該資料。

2. 獨佔鎖——可寫鎖,一個使用者正在修改資料時,阻止其他使用者更改該資料。

問題二:更新方面的 FM

更新 FM 分為 V1 和 V2,那麼首先會執行哪一種更新型別呢?每種型別又是以

哪種模式(非同步、同步或本地)執行的呢?

答案:V1 更新型別比 V2 更新型別的優先順序高,因此,V1 比 V2 行執行。

V1 的執行模式可以為非同步、同步或本地;V2 只能為非同步執行。

問題三:ABAP 記憶體(ABAP Memory)交換

在使用 ABAP 記憶體的程式間進行資料交換時用到的兩個語句是什麼?

答案:EXPORT to MEMORY ID 用於將資料複製到 ABAP 記憶體,IMPORT from

MEMORY ID 用於將資料從 ABAP 記憶體複製到程式中。

在 ABAP 記憶體間進行交換的資料必須在兩個程式中都進行宣告,幷包含同樣的資料宣告。

問題四:授權物件(Authorization Objects)

什麼是授權物件?在 ABAP 程式中使用哪條語句進行授權檢查?

答案:授權物件由一組欄位組成,這些欄位中的值將被用於進行授權檢查。

ABAP 程式中使用 AUTHORITY-CHECK 語句根據授權物件進行授權檢查。

在 AUTHORITY-CHECK 語句中,必須指明授權物件的所有欄位,但有一個例外,

可以用 DUMMY 關鍵字來繞過某個欄位的檢查。

一個授權物件中最多可以定義 10 個欄位。

問題五:修改(Modifications)

在 SAP 系統中是怎樣定義"修改"的?它們對更新(upgrade)有怎樣的影響?

答案:修改是指使用者對 SAP 釋出的庫物件(Repository Object)進行的更改。

必須在更新期間對修改進行評審(Review),來決定是否應該使用新的 SAP 物件,

以及將來使用時是否需要進一步修改該物件。

問題六:修改助手(Modification Assistant)

什麼是修改助手?

答案:修改助手是 4.5 版中引入的一個工具,用於簡化更新過程。可以透過

ABAP 編輯器觸發修改助手,它會記錄對系統進行的修改。修改助手支援透過

ABAP 編輯器、Screen Painter、Menu Painter、文字元素維護、Function Builder 和

ABAP 字典進行的修改。

問題七:功能模組出口(Function Module Exit)

實現功能模組出口時 SAP 應用程式中應使用哪條語句?

答案:某些 SAP 應用程式中存在功能模組出口,它使使用者能夠向 SAP

程式中新增一些功能。透過搜尋 "CALL CUSTOMER" 可以發現是否存在功能模組出口。

問題八:事務變式(Transaction Variants)

什麼是事務變式?為何要使用它?

答案:事務變式是一組螢幕變式,用於預定義螢幕行為和預設值。透過使用變式功能,

可以將使用者不需要的欄位、子螢幕及全螢幕從使用者檢視中取消。可以給任何輸入字

段設定預設值,欄位也可以不用帶 "Ready for Input" 狀態。

只能為對話和報表事務建立事務變式;變式中只能包含普通螢幕、子螢幕及對話螢幕。

開發人員可以使用 GuiXT 指令碼語言透過事務變式維護對螢幕進行修改。修改螢幕佈局的方式有:插入按鈕、值幫助(Value Helps)、移動物件、插入螢幕等等。

問題九:更改 SAP (Changing SAP)

請列出使用者修改 SAP 標準功能的不同方式。

答案:SAP Standard 可以透過 Personalization、Customizing、Modifications、Enhancements 及自定義 ABAP 程式進行更改。這些方式的示例如下:

Personalization——Personalization 技術包含建立變式、設定/獲取引數及活動組(Activity Groups)。

Customizing ——是最常用的使用 SAP 工具(如 R/3 Reference Model and Implementation Guide)更改 SAP Standard 的方式。可以認為 Customizing 是實施 R/3 所必需的,通常由 Functional Team 來執行。

Enhancements——常由開發 Team 執行,包含的活動有:字典增強、Funciton Module Exits、選單和螢幕出口及 Business Add-ins (BADI)。

自定義 ABAP 程式——可以與 SAP 物件或自定義開發的物件一起工作。

Modifications——不建議對 SAP 物件使用 Modifications。使用 SSCR (SAP Software Change Registration)註冊所有對 SAP 物件的手動修改。

問題十:新增欄位

向 SAP 表中新增欄位的方法是哪兩種?

答案:這兩種方法是:Append 結構(Append Structure)和自定義 Include(Customizing Include)。Append 結構是在向表尾新增欄位時建立的,自定義 Include 由 SAP 開發人員指定,以使使用者可以建立新欄位。

問題十一:什麼是 BADI?

答案:BADI 是 Business Add-in 的縮寫。它是一種新的功能增強概念,使用 ABAP 物件技術。這是一種使用物件導向的方法來進行 SAP 增強。實現 BADI 要用到類、介面及方法等物件導向的概念。

要對一個 SAP 應用程式進行增強,必須首先定義 BADI。為 BADI 建立一個介面,接著建立一個介面卡類(Adapter Class)來實現這個介面, 然後建立這個介面卡類的例項。

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/132884/viewspace-1004220/,如需轉載,請註明出處,否則將追究法律責任。

相關文章