Définition du script d'une vérification personnalisée

Cette section s'applique également à la définition du script pour une méthode personnalisée, une collection calculée, un gestionnaire d'événement ou une transformation.

Vous pouvez saisir le type d'une vérification personnalisée dans l'onglet Script de vérification des propriétés de vérification personnalisée. Par défaut, l'onglet Script de vérification affiche les éléments de script suivants :

  • %Check% est le nom de la fonction, il est passé sur le paramètre obj. Il est affiché sous forme de variable, cette variable étant une concaténation de nom du fichier de ressource, du nom de la métaclasse courante, du nom du stéréotype ou critère ainsi que du nom de la vérification elle-même défini dans l'onglet Général. Si l'un de ces noms comporte un espace, ce dernier est remplacé par un trait de soulignement

  • Commentaire expliquant le comportement attendu du script

  • La ligne de valeur de résultat qui indique si la vérification a réussi (true) ou non (false)

Dans Sybase AS IQ, vous devez créer des vérifications supplémentaires sur les index afin de vérifier leurs colonnes. La vérification personnalisée que vous allez créer vérifie si les index de type HG, HNG, CMP ou LF sont liés aux colonnes ayant comme type de données VARCHAR et si la longueur est supérieure à 255.

  1. Pointez sur une métaclasse, un stéréotype ou un critère sous la catégorie Profile, cliquez le bouton droit de la souris, puis sélectionnez Nouveau > Vérification personnalisée.
  2. Cliquez sur l'onglet Script de vérification dans la feuille de propriétés de la vérification personnalisée pour afficher l'éditeur de script.

    Par défaut, la fonction est déclarée au début du script. Vous ne devez pas modifier cette ligne.

  3. Saisissez un commentaire après la déclaration de la fonction afin de documenter la vérification personnalisée, et déclarez les différentes variables utilisées dans le script.
    Dim c 'temporary  index column
    Dim col 'temporary column
    Dim position
    Dim DT_col
  4. Saisissez le corps de la fonction.
    %Check%= True
    
    if obj.type = "LF" or obj.type = "HG" or obj.type = "CMP" or obj.type ="HNG" then
     for each c in obj.indexcolumns
      set col = c.column
      
       position = InStr(col.datatype,"(") 
       if position <> 0 then
        DT_col = left(col.datatype, position -1) 
       else 
        DT_col = col.datatype
       end if
    if ucase(DT_col) = "VARCHAR" and col.length > 255 then
         output "Table " & col.parent.name & " Column " & col.name & " : Data type is not compatible with Index " & obj.name & " type " & obj.type
         %Check% = False
      end if


  5. Cliquez sur Appliquer pour enregistrer les modifications.