IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Cobol Discussion :

Tester No de Sirete


Sujet :

Cobol

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 109
    Points
    109
    Par défaut Tester No de Sirete
    Bonjour,

    Je vous propose un nouvel élément à utiliser : Tester No de Sirete

    Permet de tester un No de Sirete par l'algorithme de Luhn

    Paramètres d'Entrée No de Sirete, et indicateur d'erreur

    En sortie indicateur d'erreur = 1 si le Sirete n'est pas bon, à 0 si le Sirete est bon

    Il marche sur tout type de compilateur cobol , aucune spécificité d'un quelconque constructeur étant employé

    Qu'en pensez-vous ?

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 059
    Points : 38 269
    Points
    38 269
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Merci pour ce petit utilitaire qui peut rendre service.

    Quelques remarques :

    - C'est dommage de ne positionner qu'un code erreur unique, ici "1" alors que 2 types d'erreur sont possibles : SIRET non numérique (testé au début) et reste de la division différent de zéro (testé à la fin)
    tout sous programme doit effectuer un diagnostic fin, avec donc un code erreur par type d'erreur, ici, on aurait pu avoir par exemple 1 et 2. Faute de quoi le traitement en amont ne peut pas savoir ce qu'il en est

    - Un filler balise en début et en fin de working est toujours le bienvenu, ca permet, en cas de dump, de retrouver plus facilement le contenu de la WSS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     01  FILLER PIC X(32) VALUE '*** DEBUT WSS TSTSIR ***'.
    - C'est dommage de déclarer des variables de petite taille en utilisant des level "01" qui vont aligner les éléments sur 16 octets, il est préférable de créer une zone groupe "01 FILLER" dans laquelle on déclare autant de niveaux 02 qu'il y a de petites variable à déclarer, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    01  FILLER.
        02  W-TOTAL PIC 9(3) value 0.
        02  w-tot10 pic 999.
        02  w-rest pic 99 value 0.
        02  w-i pic 99 value 0.
        02  w-elesir2 pic 99.
        02  w-toggle pic 9 value 0.
            88 toggle value is 0.
    Ca peut sembler un détail, mais si on appelle un grand nombre de sous-programmes tous construits ainsi, on charge inutilement la région.

    - il faut savoir qu'en COBOL, les variables faisant l'objet de calculs sont plus performantes si elles sont déclarées en packé signé.
    si le code source demande un calcul sur une zone déclarée en étendu non signé (PIC 9(nn)) alors le calcul sera fait de la façon suivante :
    ajout du signe
    pack
    calcul
    unpack
    suppression du signe
    restitution du résultat ! (ouf)
    Tout ceci n'est évidemment pas neutre en temps de traitement (jusqu'à 8 fois plus pour un calcul)

Discussions similaires

  1. Peut on tester l'existence d'un fichier ?
    Par Alamassepointcom dans le forum Flash
    Réponses: 2
    Dernier message: 10/10/2002, 13h10
  2. tester si une date est valide
    Par Andry dans le forum Langage
    Réponses: 5
    Dernier message: 17/09/2002, 12h54
  3. [VB6] [Interface] Tester le Type de Controle
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 16/09/2002, 10h51
  4. [ADO] Tester l'existence d'une table
    Par nd25 dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 05/09/2002, 14h55
  5. Tester connexion Internet active sous Windows
    Par Altau dans le forum Développement
    Réponses: 3
    Dernier message: 12/08/2002, 13h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo