/ / Traitement des erreurs SAP par SAP GUI Scripting - excel, excel-vba, scripting, sap, vba

Gestion des erreurs SAP par SAP GUI Scripting - excel, excel-vba, scripting, sap, vba

J'utilise SAP GUI Code de script pour la soumission en bloc d'enregistrements via un formulaire SAP. Il sélectionne les enregistrements un par un à partir du fichier Excel et les soumet dans le système SAP.

Ma question:

Je veux y inclure le traitement des erreurs. Ainsi, si une erreur survient lors de la soumission d’un enregistrement particulier, Script ne doit pas s’arrêter. Il doit passer à la ligne suivante après avoir placé le message approprié dans le champ Commentaire.

Quelqu'un peut-il expliquer comment déterminer si SAP est confronté à une erreur ou à un avertissement?

Et si une erreur se produit, comment en sortir, c'est-à-dire comment gérer cela et passer aux soumissions d'enregistrement suivantes.

Réponses:

0 pour la réponse № 1

Oui, tu peux faire ça.

Recherchez la barre d'état à botton

entrer la description de l'image ici

La section d'aide sur les scripts GUI dans SAP est très utile, elle vous expliquera les choses de manière très détaillée.

GuiStatusBarObject --> Members --> Message Type

entrer la description de l'image ici

Nous pouvons utiliser ces propriétés selon vos besoins, si vous devez vous déplacer, arrêter ou notifier un utilisateur. Vous pouvez utiliser ce type de message et travailler en conséquence.

Les scripts SAP ne génèrent pas d'erreur si une erreur survient dans SAP lui-même. Il ne génère qu'une erreur lorsqu'il ne peut pas trouver d'éléments ou un autre problème.

Exemple de code:

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

Ici, j'ai choisi de quitter la tâche en cours et d'aller à la maison si l'utilisateur choisit de ne pas voir d'erreur dans SAP, sinon SAP s'arrêtera et l'utilisateur pourra voir une erreur dans la barre d'état. Vous pouvez faire tout ce que vous voulez faire.


-2 pour la réponse № 2

La réponse est fondamentalement On Error Resume Next mais vous pouvez en lire plus ici ... https://scn.sap.com/thread/3270803. On Error Resume Next seul ignorera toutes vos erreurs. Vous pouvez créer des conditions via If.