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)來實現這個接口, 然後創建這個適配器類的實例。

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