- SAP Web Dynpro 教程
- SAP Web Dynpro - 首頁
- SAP Web Dynpro - 概述
- 配置與整合
- 架構
- 導航
- 元件
- 對映與資料繫結
- 事件與動作
- 應用程式
- 應用程式的URL
- 建立應用程式
- 元件介面
- 無介面元件
- 輔助類
- 應用程式中的服務呼叫
- 使用服務呼叫
- 除錯應用程式
- 版本管理
- 訊息
- 整合訊息
- 個性化與配置
- Portal 整合
- 在Portal中整合WDA
- 互動式表單
- SAP 列表檢視器(ALV)
- 管理
- 監控應用程式
- SAP Web Dynpro 有用資源
- Web Dynpro - 問答
- SAP Web Dynpro 快速指南
- SAP Web Dynpro - 有用資源
- SAP Web Dynpro - 討論
SAP Web Dynpro 快速指南
SAP Web Dynpro - 概述
Web Dynpro 是一種標準的 SAP UI 技術,允許您使用圖形工具和與 ABAP 工作臺整合的開發環境來開發 Web 應用程式。使用圖形工具可以減少實現工作量,並且您可以在 ABAP 工作臺中更好地重用和維護元件。
要訪問 ABAP 工作臺中的 Web Dynpro 執行時環境和圖形工具,您可以**使用事務程式碼 - SE80**
使用 Web Dynpro 的主要優勢
以下是使用 Web Dynpro 在 ABAP 環境中開發人員的主要優勢:
- 您可以輕鬆維護和重用開發元件。
- 使用圖形工具可以縮短實現時間。
- 您可以使用圖形工具輕鬆更改佈局和導航。
- 易於進行結構更改。
- 透過使用資料繫結,您可以使用自動資料傳輸。
- 易於整合到 ABAP 環境中。
Web Dynpro ABAP 與 Web Dynpro Java 相同,並支援應用程式開發的相同功能集。
配置與整合
安裝 ABAP 應用伺服器後,需要對其進行正確配置以進行應用程式開發。
要查詢有關 ABAP 配置的詳細資訊,您可以轉到 SAP 參考 IMG → SAP NetWeaver → 應用伺服器
如果您使用的是 SAP Solman,則可以透過轉到 T 程式碼 - SOLAR_LIBRARY 檢查此配置。
要將 Web Dynpro 與 ABAP 應用程式開發一起使用,您必須為 Web Dynpro 程式設計進行其他配置。
Internet 通訊管理器
您需要在 ICM 服務中設定 HTTP/HTTPS。服務包含以下不同的元件:
- 服務/埠
- 服務中使用的協議 HTTP/HTTPS
- 處理超時
- 保持活動超時
- 服務狀態 - 活動/非活動
您可以選擇轉到 → 服務來建立、刪除、啟用或停用服務。要顯示 ICM 伺服器快取統計資訊,請選擇轉到 → 統計資訊
Internet 通訊框架
您應該啟用 Internet 通訊框架 (ICF) 服務。您可以透過轉到 SPRO → SAP 參考 IMG → SAP NetWeaver → 應用伺服器 → Internet 通訊框架 → 啟用 HTTP 服務來啟用此服務
安裝 Application Server ABAP 後,所有 ICF 服務都處於非活動狀態。您可以使用 T 程式碼 - SICF 在 ICF 樹下維護 ICF 服務。
您可以透過以下方式啟用 ICF 服務:
- 使用選單選項,服務/主機 → 啟用
- 使用上下文選單並選擇啟用服務。
檢視設計器中的佈局編輯器
您應該啟用 SICF 中的所有服務,以便 Web Dynpro ABAP 使用檢視設計器中的佈局編輯器。
單點登入
您應該在相關主機上設定 SSO。
FQDN
您應該使用完全限定域名 FQDN,應避免使用簡稱。
SAP Web Dynpro - 架構
Web Dynpro 是一個用於 Web 開發的 ABAP 環境,基於 UI 程式設計的模型檢視控制器 (MVC) 概念。它根據平臺同時適用於 Java 和 ABAP,並支援類似的功能。
Web Dynpro 具有以下功能:
- 顯示和業務邏輯分離
- 使用圖形工具輕鬆更改佈局
- 介面沒有平臺依賴性
以下是 Web Dynpro 架構中的關鍵概念:
元資料
Web Dynpro 為您提供了一個開發基於 Web 的應用程式的環境,您可以使用圖形工具以應用程式開發中元資料的形式定義 Web Dynpro 應用程式。您還可以定義自己的事件;但是,事件處理應在單獨的程式碼中定義,並且必須在觸發事件時執行。
Web Dynpro 應用程式中的使用者介面由使用 Web Dynpro 工具定義的小元素組成。您還可以透過在執行時更改這些元素或重新整合這些元素來更改或增強使用者介面。
圖形工具
您可以使用各種圖形 Web Dynpro 工具來生成基於 Web 的應用程式。您無需為此建立原始碼。以下是 Web Dynpro 應用程式中圖形工具的關鍵功能:
- 定義使用者介面元素的屬性
- 資料流
- 使用者介面佈局
對於所有這些屬性,您都可以使用圖形工具,而無需建立原始碼。
業務和應用程式邏輯
Web Dynpro 允許您在前端執行應用程式,並且可以透過本地服務或遠端連線訪問後端系統。您的使用者介面在 Dynpro 應用程式中維護,永續性邏輯在後端系統中執行。
您可以使用自適應 RFC 服務或呼叫 Web 服務將 Web Dynpro 應用程式連線到後端系統。
MVC 程式設計模型
Web Dynpro 應用程式基於 MVC 模型:
**模型** - 這允許訪問 Web Dynpro 應用程式中的後端資料。
**檢視** - 用於確保在 Web 瀏覽器中表示資料。
**控制器** - 用於控制模型和檢視之間的通訊,它接收使用者的輸入並從模型獲取處理資料,並在瀏覽器中顯示資料。
SAP Web Dynpro - 導航
在 Web Dynpro 應用程式中,您可以使用插頭從一個檢視導航到另一個檢視。
執行 T 程式碼 - SE 80 並建立一個簡單的 Web Dynpro 元件:
我們建立了一個 Web Dynpro 元件,其中包含兩個節點和兩個檢視。
VIEW_DISPLAY 以表格格式顯示輸出,VIEW_MAIN 執行搜尋引數。在 VIEW_MAIN 中,您已配置搜尋佈局,VIEW_DISPLAY 包含顯示佈局。
在 VIEW_MAIN 中,您已配置入站插頭 IN_MAIN 和出站插頭 OUT_FROM_MAIN。類似地,為 VIEW_DISPLAY 建立入站和出站插頭。
如何建立新的檢視?
**步驟 1** - 單擊物件樹中的元件,然後轉到上下文選單,如下面的螢幕截圖所示:
**步驟 2** - 輸入檢視名稱並單擊勾號。
SAP Web Dynpro - 元件
Web Dynpro 元件是用於建立 Dynpro 應用程式的實體。這些是可重用的實體,它們組合在一起以建立應用程式塊。
每個 Web Dynpro 元件都包含一個視窗、檢視和控制器頁面。您還可以將 Web Dynpro 元件嵌入應用程式中的其他 Web Dynrpo 元件中,並且通訊透過元件介面進行。
元件的生命週期從您第一次在執行時呼叫它開始,並在 Web Dynpro 應用程式結束時結束。
檢視
每個 Web Dynpro 應用程式至少包含一個檢視,它用於定義使用者介面的佈局。每個檢視都包含多個使用者元素以及控制器和上下文。
控制器用於處理使用者請求和資料處理。上下文包含檢視元素繫結的資料。
每個檢視還包含一個入站和出站插頭,因此您可以將檢視相互連線。插頭可以透過導航連結相互連結。
導航連結和插頭
您可以使用入站和出站插頭在不同檢視之間導航。入站和出站插頭是檢視控制器的一部分。入站插頭定義檢視的起點,而出站插頭指示要呼叫的後續檢視。
檢視集
檢視集定義為一個預定義的部分,您可以在其中嵌入 Web Dynpro 應用程式中的不同檢視。檢視集允許您在螢幕上顯示多個檢視。
以下是檢視集在應用程式設計中的一些優勢:
- 您可以在 Web Dynpro 視窗中重用檢視。
- 您可以在以後階段輕鬆更改佈局。
- 這是一種更結構化的使用多個檢視的方法。
Web Dynpro 視窗
在 Web Dynpro 中,視窗用於多個檢視或檢視集。只有當檢視嵌入視窗時才能顯示,並且視窗始終包含一個或多個透過導航連結連線的檢視。
每個視窗都包含一個入站和一個出站插頭,並且可以包含在導航鏈中。視窗內的入站插頭從檢視的出站插頭到嵌入視窗。就像所有其他入站插頭一樣,它們表示一個事件,因此會呼叫分配給它們的事件處理程式。
視窗控制器
控制器
控制器用於定義 Dynpro 應用程式如何響應使用者互動。每個檢視都有一個控制器,負責根據使用者的互動執行操作。
SAP Web Dynpro - 對映與資料繫結
在 Dynpro 應用程式中,您可以定義兩個全域性控制器上下文之間的對映,或者從檢視上下文到全域性控制器上下文之間的對映。
UI 元素屬性的資料繫結在檢視佈局中設定。為此,您使用嵌入式 UI 元素的屬性表中的“繫結”列。您單擊按鈕以開啟一個對話方塊,該對話方塊為元素選擇提供相應檢視的上下文結構。
可以定義上下文元素以將一個節點連結到上下文的另一個節點。
在上圖中,您可以看到檢視 View 1 上下文中 Node 1 與元件控制器上下文中同名節點之間的對映關係。它還顯示了檢視 View 2 上下文中 Node 2 與元件控制器上下文中同名節點的對映關係。
元件控制器的上下文可供兩個檢視控制器使用,並允許對所有屬性進行讀寫訪問。
繫結使用者介面元素
要將上下文資料顯示在瀏覽器中,您還可以將檢視中 UI 元素的屬性繫結到檢視上下文的屬性。您可以將多個屬性繫結到一個上下文元素。
在檢視上下文中,所有資料型別都可用於繫結檢視的不同屬性。
內部對映
內部對映定義為單個元件的上下文之間的對映。
外部對映
外部對映定義為使用介面控制器在多個元件之間進行的對映。
SAP Web Dynpro - 事件和操作
您可以建立事件以啟用控制器之間的通訊。您可以允許一個控制器在另一個控制器中觸發事件。您在元件控制器中建立的所有事件都可在元件中使用。
入站插頭也可以充當事件,因此,當您使用入站插頭呼叫檢視時,會先呼叫事件處理程式。
您還可以使用一些特殊事件(如按鈕)來連結使用者操作。
按鈕元素(如按鈕)可以透過單擊相應的按鈕來響應使用者互動,這可以觸發在檢視控制器中呼叫處理方法。這些 UI 元素包含一個或多個通用事件,這些事件可以在設計時與特定操作連結。
建立操作時,會自動建立事件處理程式。您可以將 UI 元素與不同的操作關聯。
您還可以透過將操作連結到多個 UI 元素來在檢視中重用操作。
示例 1
按鈕單擊的 onAction 事件或輸入欄位的 onEnter 事件(當用戶在欄位中按下“Enter”鍵時)。
可以在 Web Dynpro 框架中的任何 UI 元素上建立操作。要設定操作,請轉到“屬性”選項卡→“事件”部分。
您也可以從檢視控制器的“操作”選項卡建立操作。事件處理程式會自動建立,命名約定為 onaction<actionname>
示例 2
操作名稱為 SET_ATTRIBUTES,操作的事件處理程式為 ON_SET_ATTRIBUTES。
SAP Web Dynpro - 應用程式
使用者可以使用帶有 Dynpro 元件視窗的 URL 訪問 Web Dynpro 應用程式。Web Dynpro 應用程式透過入站插頭連線到介面檢視,該插頭進一步連線到包含模型檢視和控制器的 Dynpro 元件,以處理 Web Dynpro 應用程式的資料。
MVC 模型使您可以分離使用者介面和應用程式邏輯。模型用於根據應用程式邏輯從後端系統獲取資料。
下圖顯示了 Web Dynpro 應用程式的高階圖表 -
您可以為 Web Dynpro 應用程式使用不同的資料來源 -
- 使用 Web 服務
- 使用 BAPI 的 SAP 資料
- 使用工具從外部資料來源獲取資料
要開發 Web Dynpro 應用程式,您可以使用 Web Dynpro 資源管理器,它可以輕鬆整合到 ABAP 工作臺中。
SAP Web Dynpro - 應用程式的 URL
在 Web Dynpro 應用程式中,URL 是自動生成的。您可以在“屬性”選項卡中找到應用程式的 URL。URL 結構可以分為兩種型別 -
SAP 名稱空間 -
<schema>://<host>.<domain>.<extension>:<port>/sap/bc/webdynpro/<namespace>/<application name>
- 自定義名稱空間 -
<schema>://<host>.<domain>.<extension>:<port>/abc/klm/xyz/<namespace>/webdynpro/<application name> <schema>://<host>.<domain>.<extension>:<port>/namespace>/webdynpro/<application name>
其中,
<schema> - 定義訪問應用程式的協議 http/https
<host> - 定義應用程式伺服器的名稱
<domain><extension> - 在一個通用名稱下定義多個主機
<port> - 如果使用標準埠 80 (http) 或 443 (https),則可以省略
您應在 Web Dynpro 應用程式 URL 中指定完全限定域名 (FQDN)。
示例
應用程式 1 http://xyz.sap.corp:1080/sap/bc/webdynpro/sap/myFirstApp/
應用程式 2 http://xyz.sap.corp:1080/sap/bc/webdynpro/sap/ mySecondApp/
要檢查完全限定域名,請在 ABAP 開發環境中轉到 Web Dynpro 資源管理器,使用 T 程式碼 - SE80 並從導航樹中選擇 Web Dynpro 應用程式以獲取您的 Web Dynpro 元件/介面,並在管理資料中檢查 URL。您還需要檢查“URL”欄位中的路徑詳細資訊。它應包含完整的域名和主機名。
出於以下原因應使用完整域名 -
- 您需要一個域名來設定 Cookie。
- 在 https 模式下,您應將 FQDN 用於證書和 SSL 協議。
- 對於門戶整合,使用域名關係程式碼。
SAP Web Dynpro - 建立應用程式
要建立 Web Dynpro 應用程式,我們將建立一個 Web Dynpro 元件,該元件包含一個檢視。我們將建立一個檢視上下文→連結到檢視佈局上的表元素,幷包含來自表的資料。
表將在執行時顯示在瀏覽器中。將為這個簡單的 Web Dynpro 元件建立一個可在瀏覽器中執行的 Web Dynpro 應用程式。
步驟 1 - 轉到 T 程式碼 - SE80 並從列表中選擇 Web Dynpro 元件/介面。
步驟 2 - 建立一個新的元件,如下所示。
步驟 3 - 輸入新元件的名稱,然後單擊“顯示”。
步驟 4 - 在下一個視窗中,輸入以下詳細資訊 -
- 您可以輸入此元件的描述。
- 在“型別”中,選擇“Web Dynpro 元件”。
- 您還可以維護預設視窗的名稱。
步驟 5 - 將此元件分配給包 $TMP,然後單擊“儲存”按鈕。
單擊“儲存”後,您可以在物件樹下看到此新元件,它包含 -
- 元件控制器
- 元件介面
- 檢視
- 視窗
展開元件介面後,您可以看到介面控制器和介面檢視。
如何建立檢視並將其分配給視窗?
步驟 1 - 單擊 Web Dynpro 元件,然後轉到上下文選單(右鍵單擊)→“建立”→“檢視”。
步驟 2 - 建立檢視 MAINVIEW,如下所示,然後單擊複選標記。
這將在 ABAP 工作臺中以名稱 - MAINVIEW 開啟檢視編輯器。
步驟 3 - 如果要開啟佈局選項卡和檢視設計器,則可能需要輸入應用程式伺服器使用者名稱和密碼。
步驟 4 - 單擊頂部的儲存圖示。
儲存後,它將在物件樹下,您可以透過展開“檢視”選項卡來檢查。
步驟 5 - 要將視窗分配給此檢視,請在“視窗”選項卡下選擇視窗 ZZ_00_TEST,然後單擊螢幕頂部的“更改”模式。
步驟 6 - 您可以右鍵單擊→“顯示”→“在同一視窗中”。
步驟 7 - 現在開啟檢視結構,並將檢視 MAINVIEW 透過拖放移動到右側的視窗結構中。
步驟 8 - 開啟右側的視窗結構,您將看到嵌入的 MAINVIEW。
步驟 9 - 單擊螢幕頂部的儲存圖示進行儲存。
如何為 MAINVIEW 建立檢視上下文?
步驟 1 - 開啟檢視編輯器以檢視 MAINVIEW 並切換到“上下文”選項卡。透過開啟相應的上下文選單在檢視控制器中建立一個上下文節點。
步驟 2 - 在物件樹中選擇“檢視”,然後單擊“顯示”。
步驟 3 - 在下一個視窗中維護“屬性”。選擇基數和字典結構(表)。從“結構”中選擇“新增屬性”,然後選擇結構的元件。
步驟 4 - 要選擇所有元件,請單擊頂部的“全選”選項,然後單擊螢幕底部的複選標記。
已建立上下文節點 TEST_NODE,它引用表的 資料結構,並且在執行時可以包含 0→n 個條目。上下文節點已在檢視上下文中建立,因為沒有計劃與其他檢視進行資料交換,因此無需使用元件控制器上下文。
步驟 5 - 單擊“儲存”圖示儲存對 MAINVIEW 的更改。
步驟 6 - 轉到 MAINVIEW 的“佈局”選項卡。在 ROOTUIELEMENT CONTAINER 下插入一個型別為表的 新 UI 元素,並在給定表中分配屬性。
步驟 7 - 輸入元素的名稱和型別。
步驟 8 - 建立 TEST_TABLE 與上下文節點 TEST_NODE 的繫結。選擇文字檢視作為標準單元編輯器,併為所有單元啟用繫結。
步驟 9 - 單擊“上下文”按鈕。從列表中選擇上下文節點 TEST_NODE。
步驟 10 - 選擇它後,您可以看到所有屬性。
步驟 11 - 透過選擇所有上下文屬性下的“繫結”複選框來啟用它們。按 Enter 鍵確認條目。
結果應如下所示 -
步驟 12 - 儲存更改。
步驟 13 - 要向 TEST 表提供資料,請轉到“方法”選項卡並雙擊方法 WDDOINIT。輸入以下程式碼 -
method WDDOINIT . * data declaration data: Node_TEST type REF TO IF_WD_CONTEXT_NODE, Itab_TEST type standard table of TEST. * get data from table TEST select * from TEST into table Itab_TEST. * navigate from <CONTEXT> to <TEST> via lead selection Node_TEST = wd_Context->get_Child_Node( Name = `TEST_NODE` ). * bind internal table to context node <TEST> Node_TEST->Bind_Table( Itab_TEST ). endmethod.
在 Web Dynpro 應用程式中,您不應直接從 Web Dynpro 方法訪問資料庫表,而應使用供應函式或 BAPI 呼叫來訪問資料。
步驟 14 - 單擊螢幕頂部的儲存圖示儲存更改。
如何建立 Web Dynpro 應用程式?
步驟 1 - 在物件樹中選擇 ZZ_00_TEST 元件→右鍵單擊並建立一個新應用程式。
步驟 2 - 輸入應用程式名稱,然後單擊“繼續”。
步驟 3 - 儲存更改。另存為本地物件。
接下來是在 Web Dynpro 元件中啟用物件 -
步驟 4 - 雙擊元件 ZZ_00_TEST 並單擊“啟用”。
步驟 5 - 選擇所有物件,然後單擊“繼續”。
步驟 6 - 要執行應用程式,請選擇 Web Dynpro 應用程式→右鍵單擊並選擇“測試”。
將啟動瀏覽器,並執行 Web Dynpro 應用程式。
呼叫 Web Dynpro 應用程式
在 Web Dynpro 應用程式中,元件視窗具有入站插頭。此入站插頭可以具有引數,這些引數必須指定為 URL 引數。
這些引數的預設值可以在應用程式中設定,並會被 URL 引數覆蓋。如果既沒有指定預設值也沒有指定 URL 引數,則會觸發執行時錯誤。
要建立一個新的入站外掛,請將外掛指定為啟動項,資料型別應為字串。啟用元件。
接下來是指定要呼叫的元件、引數、視窗和啟動外掛。
呼叫應用程式,URL 引數會覆蓋應用程式引數。
SAP Web Dynpro - 元件介面
建立 Web Dynpro 元件時,建立過程會建立一個元件介面。每個元件介面都包含一個介面控制器和一個介面檢視。介面檢視與介面控制器沒有直接連線,並且是自動建立的。
使用元件介面,您可以定義介面結構,並可以在不同的應用程式元件中使用。
元件介面定義的介面控制器和元件的介面控制器是不同的。
您可以向元件介面定義新增多個介面檢視。
建立 Web Dynpro 元件介面定義
參考上一章中的相同螢幕截圖。
步驟 1 - 輸入新元件的名稱並點選顯示。
步驟 2 - 在下一個視窗中,輸入以下詳細資訊 -
- 您可以輸入此元件的描述。
- 在“型別”中,選擇“Web Dynpro 元件”。
- 您還可以維護預設視窗的名稱。
步驟 3 - 將此元件分配給包 $TMP 並點選儲存按鈕。
點選儲存後,您可以在物件樹下看到這個新元件,它包含 -
- 元件控制器
- 元件介面
- 檢視
- 視窗
SAP Web Dynpro - 無介面元件
Web Dynpro 中的無介面元件不包含任何圖形元件、檢視和視窗。它只包含一個元件控制器,您可以新增一個額外的自定義控制器。
無介面元件專門用於接收和構造資料。無介面元件可以透過元件使用嵌入到其他元件中,並且您可以向這些元件提供所需的資料。
如何建立無介面元件?
步驟 1 - 建立一個新的 Web Dynpro 元件。
步驟 2 - 選擇包並點選儲存按鈕。
步驟 3 - 要建立無介面元件,請刪除這兩個元素 - 檢視和視窗。
SAP Web Dynpro - 輔助類
在 Web Dynpro 元件中,您可以建立一個從抽象類繼承的唯一分配的類。輔助類可以儲存元件中所需但與佈局無關的程式碼。
您可以在輔助類中儲存動態文字、在執行時組合的文字或包含可以儲存在文字池中的變數的文字。
在輔助類中,您還可以儲存與應用程式佈局或控制器無關的程式碼。
使用方法 _WD_COMPONENT_ASSISTANCE~GET_TEXT( ) 允許您在元件的控制器中訪問輔助類的文字符號。呼叫該方法時,使用文字符號的 3 位 ID -
method MY_CONTROLLER_METHOD . data: my_text type string. my_text = WD_ASSIST->IF_WD_COMPONENT_ASSISTANCE~GET_TEXT( KEY = ‘001’ ). Endmethod
您可以使用每個控制器在輔助類中維護文字符號。在選單中點選轉到 → 文字符號。
注意 - 每個 ABAP 類都可以充當輔助類,但只有當輔助類派生自類 CL_WD_COMPONENT_ASSISTANCE 時,才能使用與 Web Dynpro 應用程式整合的服務。
應用程式中的服務呼叫
您可以使用服務呼叫在 Web Dynpro 元件中呼叫現有的功能模組。要建立服務呼叫,您可以在 Web Dynpro 工具中使用易於使用的嚮導。
您可以在 ABAP 工作臺中啟動向導以建立服務呼叫。
執行 T 程式碼 - SE80
步驟 1 - 選擇 Web Dynpro 元件 → 右鍵單擊以開啟上下文選單。轉到建立 → 服務呼叫。
它將開啟 Web Dynpro 嚮導 - 開始螢幕。
步驟 2 - 您可以選擇是否將服務呼叫嵌入到現有控制器中或建立新控制器。
注意 - 服務呼叫應嵌入到全域性控制器中,不能與 Web Dynpro 中的檢視控制器一起使用。
步驟 3 - 在下一個視窗中,選擇服務型別。點選繼續按鈕。
步驟 4 - 在下一個視窗中,選擇一個功能模組作為服務。您可以為此使用輸入幫助。
如果您選擇一個遠端功能模組,則可以選擇指定在呼叫功能模組時要使用的 RFC 目標。如果您未指定目標,則功能模組將在本地呼叫。
注意 - 功能模組必須存在於當前系統中!嚮導不支援呼叫當前系統中不存在的遠端功能模組。
步驟 5 - 點選繼續。
步驟 6 - 在下一個視窗中,您可以選擇使用哪種物件型別在 Web Dynpro 控制器中表示服務函式引數 -
- 作為控制器方法的引數
- 作為控制器屬性
- 作為上下文節點或上下文屬性
為此,請從相關行中的列表框中選擇所需的物件型別。
注意 - 只有 UI 相關資料應儲存在上下文中。
您還可以分別命名要建立的控制器屬性和上下文節點。
將生成以下建議 -
根節點接收服務的名稱。
根據其宣告型別對引數進行分組的節點將接收適當的名稱,例如 IMPORTING、EXPORTING 等…
引數本身的節點名稱和屬性名稱與引數名稱相同。
由於節點和屬性名稱的長度限制為 20 個字元,因此如有必要,將相應地縮寫它們。
在下一個視窗中,選定的服務使用型別組中的型別作為引數型別和/或定義隱式表引數。
對於下面列出的所有型別,在資料字典中定義具有相同結構的(表)型別。然後,這些將用於為嚮導建立的控制器屬性或方法引數進行型別化。
步驟 7 - 輸入屬性型別 - TEST 並點選繼續。
步驟 8 - 在下一個視窗中,指定應執行服務的方法的名稱。嚮導將生成用於呼叫服務和上下文繫結的程式碼。
該方法在控制器中尚不存在。
您現在已輸入建立面向模型的控制器所需的所有必要資訊。
步驟 9 - 點選“完成”以建立控制器或分別增強它以生成服務呼叫。
您也可以在此處取消嚮導。但是,之前輸入的資料將丟失。
SAP Web Dynpro - 使用服務呼叫
建立服務呼叫後,功能模組可供元件使用。現在可以選擇一個檢視,以便在瀏覽器中顯示資料庫表中的元素。如果全域性控制器不是元件控制器,則必須為所選檢視的控制器輸入全域性控制器的使用頁面。之後,應該有節點的對映。
FUNCMODUL1 到檢視控制器上下文中具有相同名稱的節點將被生成。
要使用資料庫表的資料填充檢視控制器上下文的上下文節點 FUNCMODUL1,將呼叫全域性控制器的 EXECUTE_FUNCMODULE 方法及其供應函式。為此,您必須透過呼叫 EXECUTE_FUNCMODULE1 方法來建立這樣的供應函式。
SAP Web Dynpro - 除錯應用程式
ABAP 工作臺中有多種工具可用於除錯原始碼。您可以使用偵錯程式測試 Web Dynpro 應用程式的所有原始碼。
步驟 1 - 要啟動偵錯程式,您必須在 ABAP 工作臺中選擇一個新的偵錯程式。
步驟 2 - 轉到實用程式 → 設定
現在將出現一個對話方塊,其中包含兩個巢狀的選項卡頁面區域。
步驟 3 - 選擇“父”選項卡頁面 ABAP 編輯器。
ABAP 編輯器的設定始終以子選項卡頁面編輯器的內容開啟。
步驟 4 - 選擇前端編輯器(新)。
步驟 5 - 現在切換到 ABAP 編輯器設定中的除錯選項卡頁面並選擇新偵錯程式。
步驟 6 - 儲存您的更改並關閉對話方塊。
如何啟動除錯過程?
如果要以除錯模式執行應用程式,則需要在 Dynpro 元件中的某個方法中設定外部斷點。
建議在 Dynpro 檢視的“方法”選項卡下,在 WDDOMODIFYVIEW 方法中設定斷點。如果檢視控制器的上下文不是使用供應方法填充的,則檢視將在此時段模型階段完全例項化。
注意 - 設定斷點的方法取決於測試執行的目的,建議將其設定為 WDDMODIFYVIEW。
啟動 Web Dynpro 應用程式時,偵錯程式將在另一個會話中自動啟動。
SAP Web Dynpro - 版本管理
您可以使用版本管理來管理物件的舊版本,比較版本,或者也可以重置它們。在版本管理中,您可以儲存 ABAP 開發物件的不同版本。
在 ABAP 工作臺中,您可以比較以下物件的不同版本 -
- 檢視
- 視窗
- 控制器
您還可以儲存物件的版本而不釋出它。要執行此操作,請在編輯器區域中選擇物件,然後轉到實用程式選項卡 → 版本 → 生成版本
在生成版本之前,如果您轉到版本管理,則看不到資料庫中的任何版本。
點選生成版本後,您將收到確認已建立版本的確認。
如何執行版本比較?
轉到實用程式 → 版本 → 版本管理
它顯示版本資料庫中所選物件的所有儲存版本。它包含所有先前釋出的或所有活動版本。
要開始比較物件,請選擇物件並點選螢幕頂部的比較按鈕。
對於所有版本,都會執行比較,任何差異都將在表格中突出顯示。
SAP Web Dynpro - 訊息
在 ABAP 工作臺中,您還可以建立和顯示包含 Dynpro 應用程式終端使用者資訊的郵件。這些郵件將顯示在螢幕上。這些是使用者互動式郵件,顯示有關 Web Dynpro 應用程式的重要資訊。
要向用戶提供資訊、警告或錯誤詳細資訊,您可以在 ABAP 工作臺中使用執行時服務對這些方法進行程式設計。
這些郵件在 Web Dynpro 應用程式的設定下進行配置。您可以為處理 Web Dynpro 應用程式中的郵件分配不同的設定 -
顯示郵件元件 - 在這種情況下,如果郵件存在,它將被顯示。
始終顯示郵件元件 - 即使沒有郵件,郵件元件也會顯示在頂部。
郵件在沒有元件的情況下顯示 - 在此設定中,將顯示一條郵件,並且不存在郵件日誌。
所有這些使用者郵件都顯示在狀態列中。使用者可以導航到 UI 元素以刪除錯誤郵件中的錯誤。
彈出視窗中的郵件 - 在此配置中,您可以將郵件設定為顯示在彈出視窗中,而不管 Web Dynpro 應用程式中配置了什麼。您可以配置以下彈出視窗郵件以顯示 -
- 訊息屬於特定視窗
- 迄今為止的所有訊息
- 無訊息
SAP Web Dynpro - 整合訊息
您可以使用訊息管理器將訊息整合到訊息日誌中。您可以使用 Web Dynpro 程式碼嚮導開啟訊息管理器。
您可以從工具欄開啟 Web Dynpro 程式碼嚮導。當您的 ABAP 工作臺處於更改模式或編輯檢視或控制器時,它可用。
要將 ABAP 工作臺設定為更改模式,請選擇檢視並轉到上下文以進行更改。
您可以使用以下方法觸發訊息:
IS_EMPTY - 用於查詢是否存在任何訊息。
CLEAR_MESSAGES - 用於刪除所有訊息。
REPORT_ATTRIBUTE_ERROR_MESSAGE - 用於將 Web Dynpro 異常報告到上下文屬性。
REPORT_ATTRIBUTE_EXCEPTION - 用於將 Web Dynpro 異常報告到上下文屬性。
REPORT_ERROR_MESSAGE - 用於報告 Web Dynpro 訊息(帶可選引數)。
REPORT_EXCEPTION - 用於報告可能返回的 Web Dynpro 異常。
REPORT_FATAL_ERROR_MESSAGE - 用於報告帶有可選引數的致命 Web Dynpro 訊息。
REPORT_FATAL_EXCEPTION - 用於報告致命的 Web Dynpro 異常。
REPORT_SUCCESS - 用於報告成功訊息。
REPORT_T100_MESSAGE - 用於使用 T100 條目報告訊息。
REPORT_WARNING - 用於報告警告。
個性化與配置
根據業務需求,您可以實現許多標準應用程式,並且 Web Dynpro 應用程式的 UI 可以根據需求而有所不同。
應用程式配置
要配置 Web Dynpro 應用程式,您首先需要為各個 Web Dynpro 元件配置資料記錄。
使用元件配置,它允許您管理行為。
接下來是配置應用程式。所有建立的元件都需要在特定配置中使用。Web Dynpro 應用程式的配置定義了哪個元件在應用程式中配置。
如何啟動元件配置器?
在 ABAP 物件列表中,選擇一個 Web Dynpro 元件:
右鍵單擊 → 建立/更改配置。
這將在瀏覽器中開啟配置器的對話方塊視窗。元件配置器模式處於活動狀態,您可以在其中輸入新元件配置的名稱。
您還可以定義隱式和顯式配置。儲存配置並關閉視窗。
注意 - 只有當配置實際上包含值時,才能儲存新配置。不包含任何資料且具有名稱的空配置檔案不會儲存。
由於此配置器不是 ABAP 工作臺的一部分,並且在瀏覽器中單獨執行,因此您需要在配置中完成建立或更改過程後更新工作臺中物件列表的層次結構。
這允許您為每個物件儲存不同的配置。
個性化中的增量處理
當您儲存應用程式配置時,您無法檢查管理員和終端使用者所做的更改。需要儲存自定義和個性化資料,以便能夠管理合併後的資料。
應考慮以下幾點:
應用程式使用者和管理員應該能夠撤消更改。
應用程式的自定義更改應該對所有頁面上的使用者可見。
應用程式管理員應該有權將報表標記為最終報表,並且此報表對所有使用者有效。當管理員將屬性標記為最終屬性時,不再允許對該值進行任何更改作為單個使用者的個性化設定。
SAP Web Dynpro - 門戶整合
您可以將 ABAP 應用程式整合到企業門戶中。您還可以從 Web Dynpro 應用程式管理門戶功能。
您可以呼叫 Web Dynpro 程式碼嚮導以訪問門戶管理器方法。這可用於執行以下功能:
門戶事件 - 在門戶或門戶內容中導航 Web Dynpro 應用程式。
支援以下導航型別:
- 基於物件的導航
- 絕對導航
- 相對導航
工作保護模式 - 對於門戶整合,以下 Web Dynpro 應用程式在包 SWDP_TEST 中可用:
WDR_TEST_PORTAL_EVENT_FIRE
觸發事件
WDR_TEST_PORTAL_EVENT_FIRE2
觸發自由事件
WDR_TEST_PORTAL_NAV_OBN
基於物件的導航
WDR_TEST_PORTAL_NAV_PAGE
頁面導航
WDR_TEST_PORTAL_WORKPROTECT
安全監控
WDR_TEST_PORTAL_EVENT_REC
接收門戶事件
WDR_TEST_PORTAL_EVENT_REC2
接收自由門戶事件
SAP Web Dynpro - 在門戶中整合 WDA
以下是將 Web Dynpro ABAP (WDA) 整合到門戶中的步驟。
步驟 1 - 使用 T 程式碼 - SE80 轉到 ABAP 工作臺並建立 Web Dynpro 元件。
步驟 2 - 儲存元件並激活它。
步驟 3 - 定義資料繫結和上下文對映。建立 Web Dynpro 應用程式並儲存它。
步驟 4 - 登入到 SAP NetWeaver 門戶。
步驟 5 - 轉到門戶內容 → 內容管理選項卡。
步驟 6 - 右鍵單擊門戶內容並建立一個新資料夾。
步驟 7 - 輸入資料夾名稱並單擊“完成”。
步驟 8 - 右鍵單擊建立的資料夾並建立一個新的 iView。
步驟 9 - 選擇 iView 模板。從現有 iView 模板建立 iView 並單擊“下一步”。
步驟 10 - 選擇 SAP Web Dynpro iView 作為模板並單擊“下一步”。
步驟 11 - 輸入 iView 名稱、iView ID、iView 字首 ID 並單擊“下一步”。將定義型別輸入為 ABAP 並單擊“下一步”。
步驟 12 - 輸入 Web Dynpro 詳細資訊,並建立 ECC 系統。
步驟 13 - 在同一螢幕中輸入應用程式引數並單擊“下一步”。系統將提示您檢視摘要螢幕。單擊“完成”。
SAP Web Dynpro - 互動式表單
您可以基於 Adobe 軟體建立表單,並可以在 Web Dynpro 使用者介面中使用上下文。您可以將 Adobe 生命週期開發工具與 ABAP 編輯器整合,以簡化使用者介面的開發。使用 Adobe 軟體的互動式表單允許您高效且輕鬆地開發 UI 元素。
以下場景可用於建立互動式表單:
- 互動式場景
- 列印場景
- 離線場景
- 使用數字簽名
如何使用表單建立 Web Dynpro 應用程式?
您可以使用表單編輯器獨立建立表單。轉到T 程式碼 - SFP
單擊“建立”後,系統將提示您輸入表單名稱、表單描述和介面。
示例
系統中互動式場景的示例元件位於包 SWDP_TEST → WDR_TEST_IA_FORMS 中。
使用場景插入表單
在 Dynpro 應用程式中,插入互動式表單的列印場景和互動式場景這兩種場景類似。包含靜態元件的表單可用於使用列印場景在 Dynpro 應用程式中顯示資料。
使用互動式表單,您可以重用 Web Dynpro 應用程式中 Web Dynpro 上下文中的條目。
如何插入互動式表單?
步驟 1 - 建立 Web Dynpro 元件的檢視。
步驟 2 - 右鍵單擊“檢視”並建立一個節點。此節點將繫結到表單。
步驟 3 - 將互動式表單從 Adobe 庫拖動到設計器視窗。
步驟 4 - 設計表單,輸入名稱,並繫結屬性。
步驟 5 - 完成表單設計後,轉到工作臺中的編輯模式,並定義表單是靜態內容、基於 PDF 的打印表單還是互動式表單。
SAP Web Dynpro - SAP 列表檢視器 (ALV)
SAP 列表檢視器用於新增 ALV 元件,並提供靈活的環境來顯示列表和表格結構。標準輸出包括標題、工具欄和輸出表。使用者可以使用其他對話方塊調整設定以新增列顯示、聚合和排序選項。
以下是 ALV 的主要功能:
它支援表元素的許多屬性,因為它基於 Web Dynpro 表 UI 元素。
ALV 輸出可以進行過濾、排序或應用計算。
使用者可以使用工具欄中的 UI 元素執行特定於應用程式的功能。
允許使用者在不同的檢視中儲存設定。
允許配置 ALV 輸出上方和下方的特殊區域。
允許定義 ALV 輸出可編輯的程度。
如何建立 ALV?
以下是建立 ALV 的步驟。
步驟 1 - 使用 T 程式碼:SE80。從列表中選擇 Web Dynpro 元件/介面並輸入名稱。單擊“顯示”。系統將提示您建立元件。單擊“是”。
步驟 2 - 選擇型別為 Web Dynpro 元件。輸入視窗名稱和檢視名稱。
步驟 3 - 單擊勾號。
步驟 4 - 在更改視窗中,將元件用作 ALV,元件作為 SALV_WD_TABLE,並將描述作為 ALV 元件。
步驟 5 - 轉到元件控制器並右鍵單擊上下文。然後選擇使用字典結構 MAKT 建立節點 MAKT。
步驟 6 - 使用“從結構新增屬性”從 MAKT 中選擇所需的屬性。
步驟 7 - 從節點 MAKT 中刪除字典結構 MAKT,並按如下方式設定屬性(基數、前導選擇等)。
步驟 8 - 右鍵單擊物件樹中的元件使用 → 建立控制器使用。
步驟 9 - 轉到檢視 → 上下文選項卡並將 MAKT 節點拖動到檢視中。
對映後,它將顯示如下面的螢幕截圖所示。
步驟 10 - 轉到佈局並右鍵單擊“插入元素”。
佈局將顯示如下面的螢幕截圖所示:
步驟 11 - 轉到“屬性”選項卡,單擊“建立控制器使用”以將以下內容新增到檢視中。
步驟 12 - 轉到方法,使用 WDDOINIT 編寫程式碼。
步驟 13 - 雙擊方法以輸入程式碼。輸入以下程式碼並初始化使用的元件 ALV。
在控制器中使用 GET_MODEL 方法。
步驟 14 - 使用 BIND_TABLE 方法將表繫結到上下文節點,如下所示:
步驟 15 - 轉到物件樹中的視窗並右鍵單擊 C1 以將 ALV 表嵌入到檢視中。
嵌入 ALV 表後,它將顯示如下所示:
步驟 16 - 最後一步是在物件樹下建立一個 Web Dynpro 應用程式。輸入應用程式的名稱。
步驟 17 - 要執行應用程式,請雙擊,您將看到輸出。
在 ALV 輸出中使用過濾器
使用過濾器,您可以限制ALV輸出中的資料。您可以為每個欄位建立多個過濾器條件。要建立或刪除過濾器條件,您可以使用介面類IF_SALV_WD_FILTER的方法。
您可以使用以下方法來建立、獲取和刪除過濾器條件:
| 功能 | 方法 |
|---|---|
| 獲取特定過濾器條件 | GET_FILTER_RULE |
| 獲取欄位的所有過濾器條件 | GET_FILTER_RULES |
| 建立過濾器條件 | CREATE_FILTER_RULE |
| 刪除特定過濾器條件 | DELETE_FILTER_RULE |
SAP Web Dynpro - 管理
在Web Dynpro ABAP管理中,您可以使用不同的工具執行各種管理任務:
- ICM跟蹤
- Web Dynpro跟蹤工具
- 瀏覽器跟蹤
- 日誌記錄
- 安全性
跟蹤工具
Web Dynpro跟蹤工具可用於檢查Dynpro應用程式中的錯誤和問題。您可以為特定使用者啟用Web Dynpro跟蹤工具。
步驟1 - 要在SAP GUI客戶端中啟用跟蹤工具,請使用T程式碼 - WD_TRACE_TOOL
步驟2 - 點選“為此使用者啟用”。這允許為使用者設定跟蹤啟用。
步驟3 - 在新視窗中選擇“跟蹤功能”,然後點選“確定”。
步驟4 - 啟動要跟蹤的Web Dynpro應用程式。您可以在Web應用程式中看到一個新的區域“Web Dynpro跟蹤工具”。
步驟5 - 執行應用程式。輸入問題的詳細資訊→選擇“繼續”。
步驟6 - 您也可以使用“插入”傳送它並新增螢幕截圖,或者插入包含其他資訊的的檔案。轉到“瀏覽”→選擇檔案,然後點選“新增檔案”。
步驟7 - 您可以將跟蹤檔案下載為Zip格式,並透過點選“將跟蹤儲存為Zip檔案”和“停止跟蹤”來結束跟蹤。
此檔案可以上傳到SAP門戶,並可以傳送給SAP進行除錯。
ICM跟蹤
要分析問題,您還可以跟蹤SAP Web Application伺服器中的資料流。
步驟1 - 使用T程式碼 - SMICM。在下一個視窗中,點選“轉到”→“跟蹤檔案”→“顯示檔案”或“開始”。
您將看到如下所示的ICM跟蹤結果:
步驟2 - 您還可以將跟蹤級別從預設級別1提高。要提高跟蹤級別,請點選“轉到”→“跟蹤級別”→“提高”。
HTTP瀏覽器跟蹤
這用於分析程式碼的動態行為。這可以用作ICM跟蹤的替代方法。
要使用瀏覽器跟蹤,您需要在本地系統上安裝代理工具。
SAP Web Dynpro - 監控應用程式
您可以使用ABAP監視器監視Web Dynpro應用程式。有關Web Dynpro應用程式的資訊將被儲存。您可以使用T程式碼 - RZ20檢視此資訊。
您可以在Web Dynpro ABAP監視器中檢查以下資訊:
- 會話計數
- 應用程式計數
- CPU時間
- 資料
要檢視報告,請使用T程式碼 - RZ20
步驟1 - 轉到SAP CCMS監視器模板。
步驟2 - 點選子節點“整個系統”。
步驟3 - 輸入要監視的應用程式安裝的當前SAP系統的系統ID。
步驟4 - 選擇“應用伺服器”。
步驟5 - 選擇相關應用伺服器的名稱。例如,選擇Web Dynpro ABAP,如下面的螢幕截圖所示:
當呼叫Web Dynpro應用程式時,結果將顯示以下資訊:
- 資料
- 應用程式計數
- 會話計數
- 往返次數
- CPU時間