Exists : Procédure de test de l’existence d’un objet sur IBM i

Voici une API pour contrôler l’existence d’un objet sur un IBM i.

La copie de déclaration API_EXISTS comprend plusieurs déclarations, une pour la déclaration de la procédure en question et une pour l’usage de API QUSROBJD qui récupère la description d’un objet IBM i.

Continuer la lecture de Exists : Procédure de test de l’existence d’un objet sur IBM i

Une procédure RPGLE de la Formule de Luhn

Petite définition de la Luhn:

La formule de Luhn permet de vérifier la validité d’une suite de chiffre. Ex:SIREN, N°CB, N°PS (Médecin praticien, etc…). Le nombre est lu de droite à gauche. Les chiffres en position impaire restent tel que et les chiffres en position paire sont multipliées par 2. Tous les chiffres résultants sont ajoutés. Exemple 456:

Chiffres      4             5           6
Position      3             2           1
Résultats     4            10           6

Résultat 4 + 1 + 0 + 6 = 11

Un nombre Luhn est validé si le résultat est divisible par 10. Dans l’exemple précédent, le nombre n’est pas valide; 11 n’est pas divisible par 10. Un nombre valide est par exemple 455. Continuer la lecture de Une procédure RPGLE de la Formule de Luhn

Optimisation:Option de compilation

Option optimisation

Il existe une option (*OPTIMIZE’) en compilation pour obtenir un code machine optimisé. 4 niveaux sont possibles:

  • *NONE, 10 – Pas d’optimisation
  • *BASIC, 20 –
  • *FULL, 30
  • 40

Ces optimisations sont faites sur les parties calculs. Il y a peu d’impact sur les accès fichiers/tables.

ANZCMDPFR

Dans le cadre d’optimisation de code, il est possible d’en analyser son exécution avec la commande ANZCMDPFR CMD(CALL applib/mypgm).

Après l’exécution, faite F1 sur le message ANZCMDPFR command completed successfully.

 

SQL DB2:NUMÉRIQUE en DATE

Souvent dans les fichiers (anciens), les dates sont stockées sous le format YYYYMMDD afin de les tester entre elles.

Mais depuis un certain temps déjà, sont apparues les formats DATE. Et en SQL, il n’y a pas de mot clef pour transformer les formats NUMÉRIQUE en DATE (Par contre, il existe pour les passer de CHAR en DATE).
Voici un petit code trouvé sur le net pour le faire:

DATE(TIMESTAMP_FORMAT( char( DATE_NUMERIQUE), 'YYYYMMDD'))

 

Programme RPGLE de gestion de compteur

Dans les organismes utilisant l’informatique de gestion, nous avons toujours besoin de compteurs pour numéroter des clients, des factures, des références de dossiers sans parler des clefs uniques de tables de données, etc…

Nous allons voir dans ce billet une simple gestion de compteur. Sa fonction est d’attribuer un numéro à qui le demande et d’incrémenter de 1 ce compteur avant de le stocker dans un fichier pour une utilisation ultérieure. Continuer la lecture de Programme RPGLE de gestion de compteur

Interception d’une erreur non prévue

Voici un outil que j’utilise pour intercepter les erreurs. Le principe est d’intercepter les erreurs en RPGLE ou CLLE avec les commandes suivantes: En CLLE, le code ci-dessous permet de récupérer toutes les informations nécessaires à l’analyse de l’erreur sans « planter » le travail:  Continuer la lecture de Interception d’une erreur non prévue

Afficher les postes du journal de façon intelligible

DSPJRN est la commande qui permet de voir les postes du journal. Et ce que l’on aime, c’est de voir le contenu de l’enregistrement concerné. Mais voilà l’enregistrement est placé brut dans une zone de type caractère, la plupart du temps illisible s’il y a des champs en Decimal Packed. Voici une petite commande qui permet de le rendre lisible : DSPJRNPST Continuer la lecture de Afficher les postes du journal de façon intelligible