[英]SAP Error handling by SAP GUI Scripting
我正在使用 SAP GUI 腳本代碼通過 SAP 表單批量提交記錄。 它從excel文件中一一挑選記錄並提交到SAP系統中。
我的問題:
我想在其中包含錯誤處理。 因此,如果在任何特定記錄提交時發生任何錯誤,腳本不應停止。 在 Comment 字段中放置適當的消息后,它應該移動到下一行。
任何人都可以說明如何確定 SAP 是否面臨錯誤或警告?
如果發生錯誤,如何擺脫它,即如何處理並轉到下一個記錄提交。
是的,你可以這樣做。
在 botton 處尋找狀態欄
SAP 中的 GUI 腳本幫助部分非常有用,它會非常詳細地為您解釋。
GuiStatusBarObject --> Members --> Message Type
我們可以根據您的需要使用這些屬性,如果您需要下一步移動、暫停或通知用戶,您可以使用這些消息類型並相應地工作。
如果 SAP 本身發生錯誤,SAP 腳本不會拋出錯誤,它只會在找不到元素或其他問題時拋出錯誤。
示例代碼:
Public Sub get_status_bar_value_exit_if_Error()
Dim usr_resp As String
If (session.findById("wnd[0]/sbar").messagetype = "E" Or session.findById("wnd[0]/sbar").messagetype = "W") Then
usr_resp = MsgBox(session.findById("wnd[0]/sbar").Text & Chr(13) & "Show the Error in SAP ?", vbYesNo)
If usr_resp = vbYes Then
Else
Call go_to_Sap_home
End If
End
End If
End Sub
在這里我選擇退出當前任務並回家,如果用戶選擇不在 SAP 中看到錯誤,否則 SAP 將停止並且用戶可以在狀態欄中看到錯誤。 你可以做任何你想做的事情。
不幸的是,由於找不到對象,因此錯誤恢復 next 將無濟於事,
If (session.findById("wnd[0]/sbar").messagetype = "E" Or session.findById("wnd[0]/sbar").messagetype = "W") Then
usr_resp = MsgBox(session.findById("wnd[0]/sbar").Text & Chr(13) & "Show the Error in SAP ?", vbYesNo)
If usr_resp = vbYes Then
Else
Call go_to_Sap_home
End If
this helped
答案基本上是 On Error Resume Next 但您可以在此處閱讀更多內容... https://scn.sap.com/thread/3270803 。 On Error Resume Next 單獨將忽略您的所有錯誤。 您可以通過 If 設置條件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.