Vérification de la disponibilité des serveurs sap (afin de savoir si il sont up ou non)

Contenu du snippet

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

A voir également

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.