[英]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.