je suis obliger pour mon travail de vérifier la disponibilité des serveurs SAP de ma boite.
la technique habituelle consiste à lancer toutes les instances les une après les autres afin de voir si on accède au logon screen.
lorsque l'on à 2 systèmes, passe encore mais quand vous en avez 10 ou plus (comme moi) cela peut prendre du temps.
voici donc un petit bout de code en vba reposant sur une feuille excel qui permet, après avoir rempli toutes les données dans la feuille excel, de verifier la disponibilité de vos serveur via une commande RFC
Source / Exemple :
'Dans une feuille excel, indiquer tous les éléments des serveurs SAP de la façon suivante :
'SAP1
'user
'password
'
'IP serveur SAP
'N° system
'mandant
'langue
Private Sub CmdTestSrv_Click()
'Declare the objects and variables
'
Dim functionCtrl As Object 'Function Control (Collective object)
Dim sapConnection As Object 'Connection object
Dim theFunc As Object 'Function object
Set functionCtrl = CreateObject("SAP.Functions")
Set sapConnection = functionCtrl.Connection
SAP1.Caption = ""
'SAP1
' le premier controle regarde si le mot de passe est bien renseigné dans la feuille excel.
'si il ne l est pas, il passe à la suite
If Sheets("Feuil1").Range("a3").Value = "" Then GoTo Lbl10
If Sheets("Feuil1").Range("a3").Value <> "" Then
sapConnection.User = Sheets("Feuil1").Range("a2").Value
sapConnection.Password = Sheets("Feuil1").Range("a3").Value
sapConnection.System = Sheets("Feuil1").Range("a4").Value
sapConnection.ApplicationServer = Sheets("Feuil1").Range("a5").Value
sapConnection.SystemNumber = Sheets("Feuil1").Range("a6").Value
sapConnection.Client = Sheets("Feuil1").Range("a7").Value
sapConnection.Language = Sheets("Feuil1").Range("a8").Value
' connection à SAP sans afficher le logon screen
'If sapConnection.Logon(0, False) <> True Then
If sapConnection.Logon(0, True) <> True Then
'si la connection ne fonctionne pas : KO en rouge
SAP1.ForeColor = &HC0&
SAP1.Caption = "KO"
'End program
'si la connection fonctionne : OK en vert
Else
SAP1.ForeColor = &HC000&
SAP1.Caption = "OK"
End If
End If
Lbl10:
End Sub
Conclusion :
vous pouvez ajouter autant de serveurs que vous voulez sur la feuille excel, il vous suffira en suite de recopier le code autant de fois que vous en aurez besoin ou alors, de faire une boucle qui utilisera le même bout de code en ne changeant que les variable.
bonne utilisation à tous
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.