DCLPRCOPT : Option de compilation CLLE dans le source

Avant la 6.1, les options de compilations était à mémoriser pour les fois suivantes(Par exemple sous forme de commentaires dans le sources) et il fallait les ressaisir dans la commande de compilation à chaque fois. Continuer la lecture de DCLPRCOPT : Option de compilation CLLE dans le source

Clef NIR, Numéro d’Inscription au Répertoire

Voici une requête exemple qui peut vous permettre de calculer la clef NIR en SQL:

SELECT
CASE SUBSTR( NIR, 6, 2)
  WHEN '2B'
    THEN substr( DIGITS( 97 - MOD( CAST( SUBSTR( NIR, 1, 5) CONCAT '18'
         CONCAT SUBSTR( NIR, 8, 6) AS BIGINT ), 97)), 18, 2)
  WHEN '2A'
    THEN SUBSTR( DIGITS( 97 - MOD( CAST( SUBSTR( NIR, 1, 5)
         CONCAT '19' CONCAT SUBSTR( NIR, 8, 6) AS BIGINT), 97)), 18, 2)
  ELSE   SUBSTR( DIGITS( 97 - MOD( CAST( NIR AS BIGINT), 97)), 18, 2) END AS NIR_COMPLET

 

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