IBM i et GIT, filtrer les fichiers inutiles des projets i

Pour pouvoir filtrer les fichiers dans le Staging de git, vous devez créer un fichier qui contient les règles. En règle générale, il est appelé .gitignore, mais vous pouvez l’appelez comme vous voulez.

Ensuite vous indiquez à Git via les préférences de Rdi où se trouve le fichier.

Créez le fichier .gitignore contenant les lignes suivantes :

/.ibmi
*.project

Et enregistrez le dans C:\Users\Votre profil\git\

Dans la configuration git (Menu Fenètres->Préférences->Equipe->Git->Configuration), ajoutez une entrée, puis faîtes OK.

Vous obtenez cette configuration :

Faîtes Appliquer ou OK puis redémarrer Rdi.

Et tadam!!:

Gérer la suppression de table SQL DB2 i

Pour éviter des erreurs de création avec DROP TABLE dans l’utilisation de RUNSQLSTM, vous pouvez utiliser ce bout de code:

 

BEGIN
   DECLARE CONTINUE HANDLER FOR SQLEXCEPTION
      BEGIN END;
   DROP TABLE RNPROW;
END;  

Faking Create Or Replace Table – IT Jungle

The new CREATE OR REPLACE feature of SQL has been most helpful to me. It works for aliases, functions, masks, permissions, procedures, sequences, triggers, variables and views. It would be nice if it worked for tables, especially when I’m developing a new application. Here’s a workaround. The trick is to use a dynamic compound statement.

Source: www.itjungle.com/2015/01/20/fhg012015-story01/

 

Planifier le transfert d’un objet d’un IBM i à un autre

On peut livrer sur une autre machine de façon différée avec System i Navigator.

Allez dans Systèmes de fichiers->Système de fichiers intégré->QSYS.LIB->Bib de départ

Sélectionnez l’objet à transférer et faites clic droit->envoi

Une fenêtre s’affiche et vous y trouverez un bouton planification:

cliquez le bouton Planification,

 

Saisissez la date et l’heure puis OK. La mise en production est programmée.

Et après la date planifiée, nous obtenons les messages suivants:

Et sur CICA98, on trouve notre objet livré:

 

Se lancer dans une nouvelle évolution d’une application grâce à RDI couplé à GIT

Introduction

Seconde partie sur l’association de RDI avec GIT, votre référentiel est créé (voir article précédent) et on vous demande de nouveaux développements. Nous allons voir comment créer une nouvelle branche dans GIT. Continuer la lecture de Se lancer dans une nouvelle évolution d’une application grâce à RDI couplé à GIT

Comment faire votre première image de votre application dans GIT?

Après avoir découvert Git intégré à Rdi, j’ai du faire une documentation pour pouvoir l’utiliser. En effet, les informations trouvées sur le net était quelque peu limitées au commit sur dépôt local et aux connaissances basiques de son utilisation.

Vous trouverez dans ce blog, une série d’articles reprenant la documentation que je me suis faite.

Puisque sur IBM i, nous avons souvent des applications anciennes en maintenance, ce premier article va vous éclaircir sur la création du premier dépôt, nous dirons de référence, d’une application existante.

Introduction

Pour information, le serveur Git utilisé dans cet exemple est hébergé sur GITHUB, mais pour d’autre site comme Gitlab ou Bitbucket, cela reste similaire.

Concernant les mot anglais, en général il sont utilisés quand je désigne ce mot dans une application et le mot en français quand il est utilisé dans le texte de façon général.

N’ayant pas trouvé de mot français correct, le mot anglais commit n’est pas traduit. Merge aura comme équivalent le nom fusion ou le verbe fusionner et repository aura dépôt.

Paramètres initiaux

Dans les préférences de RDI, ayez ce qui suit, c’est pour éviter, sur le serveur GIT, de transportez les dates et les numéros de séquences dans les sources (Les personnes faisant des copier/coller à partir du serveur apprécieront).

Création de l’environnement initial de l’application

Création d’un projet

Allez sur votre serveur Git, cliquez sur New repository:

 

Renseignez les champs selon votre environnement de travail, chez nous, nous utilisons ce qui suit :

  • Le nom du dépôt:
  • Une description du dépôt/projet/application
  • Cocher Public ou Private

Puis cliquer sur Create Repository:

 

Ajout de tous les sources de références dans le dépôt

Allez sur RDI puis le menu fenêtre et ouvrir la perspective Git :

Dans la perspective, cliquez sur cloner un dépôt

Cet écran s’affiche

Revenez dans GITHUB et copier le lien proposé :

Puis collez le dans la ligne Url de la fenêtre Rdi, les lignes suivantes sont automatiquement alimentées, éventuellement saisir vos identifiants de connexion au serveur GIT :

Après suivant, la fenêtre suivante s’affiche :

Faites suivant :

Puis terminer :

Le dépôt est cloné en local:

Aller dans la perspective Projets i :

Créer un nouveau projet :

Fichier->Nouveau->Projet IBM i

Alimenter la fenêtre suivante comme ci-dessous :

Indiquez la connexion utilisée et la bibliothèque concernée:

Faites suivant et choisissez les options du projet i :

Puis terminer, le projet est créé :

Le projet est lié automatiquement au dépôt cloné, maintenant il faut mettre tous les sources de références de l’application et faire le commit initial.

On fait un filtre objet sur les fichiers sources de l’application :

Sélectionnez tous les fichiers que vous allez ajouter au projet :

Clic droit et choisissez Ajouter au projet :

Sélectionner le projet :

Sélectionnez tous les fichiers puis clic droit->team->Add to index :

Sélectionnez le projet puis clic droit->Team->Commit

Saisir dans la fenêtre un texte explicatif :

Cliquez sur Commit and Push:

Faites suivant :

Faites Terminer :

Faites OK. Sur GITHUB, vous avez une image des sources de l’application :

 

A partir de là, vous avez un dépôt de référence à partir duquel vous pouvez commencer à travailler.

 

Ci-dessous, différents sites qui m’ont aidé à comprendre:

Documentation GIT en français

Getting Relic Package Manager to your IBM i using RDi and Git

Correspondances déclaration « colonné » free form

Les nouvelles déclarations free-form, ancienne « cartes » H, F, D sont remplacées par ctl-opt, dcl-f, dcl-s, dcl-ds, dcl-pr, dcl-pi…
En attendant de les connaître par cœur, voici une aide pour retrouver les correspondances avec l’ancien formalisme. Continuer la lecture de Correspondances déclaration « colonné » free form

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