Iris Finance Valid XHTML 1.1Cette page est conforme à la norme CSS!Mise à jour 04-2010
SOMMAIRE

Présentation
Les outils
Télécharger les exemples

PRESENTATIONRetour en haut de page


Iris Finance, logiciel de comptabilité de Lefebvre Software, comme tous les progiciels, nécessite souvent d'être personnalisé. Cette personnalisation va parfois au-delà du paramétrage.

L'avantage, jusqu'à la version 6, est de pouvoir ajouter facilement des fonctions au prix de quelques programmes en RPG; parfois même, on peut adapter ou compléter des fonctions existantes, sans bien sûr mettre en cause la fiabilité du logiciel.

Sont présentés ici quelques outils :
  • Traçage du maquetteur d'états,
  • Protection des scénarii sans nom,
  • LIste de la fonction $CGGAE,
  • Un fichier d'aide personnalisé sur diverses fonctions d'Iris
Modification d'une fonction d'Iris
Le principe est de remplacer un programme standard par une version modifiée.
Pour ceci, nous disposons de deux bibliothèques :
  • IR6_0, la bibliothèque des programmes standard,
  • IR6_0SP, une bibliothèque de développements spécifiques.
Il suffit d'installer dans IR6_0SP une version modifiée du programme existant.; deux manières de procéder :
  • Modifier la source (si disponible) après l'avoir conservée,
  • Créer un programme (CL ou RPG) du même nom, en y ajoutant l'appel du programme standard et les fonctions spécifiques désirées.
Cette seconde méthode permet aussi d'espionner temporairement un traitement, afin de relever le contenu de la LDA ou d'un fichier temporaire, pour automatiser une partie d'un traitement spécifique (faisant par exemple appel à $CGEBE).

LES OUTILSRetour en haut de page

Traçage du maquetteur

Cet outil sert à tracer l'utilisation des maquettes d'édition et constitue une aide à la gestion des multiples maquettes créées au fil des demandes.

Son principe est basé sur le fait que chaque maquette d'édition invoque au début le programme XINIDTA. On le remplace donc par une version qui appelle le programme standard, puis un programme qui enregistre les données de la maquette (dans la LDA à ce moment) dans un fichier, qu'il suffira d'interroger.

Programme XINIDTA
  5722WDS V5R1M0  010525                  LISTE SOURCE SEU                    
  FICHIER SOURCE  . . . . .  IR6_0SP/QCLSRC
  MEMBRE  . . . . . . . . .  XINIDTA
  SEQNBR*...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8
    100 /*******************************************************/
    200 /*  INITIALISATION DTAARA                              */
    300 /*     MODIF DJ 28.09.2008 : INTEGRE LE COMPTAGE       */
    400 /*                           D'UTILISATION DES         */
    500 /*                           MAQUETTES                 */
    600 /*******************************************************/
    700              PGM
    800              /* PGM STANDARD */
    900              CALL       PGM(IR6_0/XINIDTA)
   1000
   1100              /* ENREGISTREMENT D'UNE TRACE */
   1200              CALL       PGM(TRMAQU)
   1300              MONMSG     MSGID(CPF0000)
   1400              ENDPGM
                                  * * * *  F I N  D U  S O U R C E  * * * *
Fichier de trace
Fichier : IR6_0SP   /TRMAQU            Type : Physique                 Format : TRMAQUF1
		  Trace d'utilisation des editions maquettes              
                                                                             
 Ordre  Champ      T Long.   D. Début  Fin    Clé  Intitulé
  1/  8 TRUTIL     A    10          1    10        UTILISATEUR
  2/  8 TRDATE     S     8  8.0    11    18        DATE
  3/  8 TRHEUR     A     6         19    24        HEURE
  4/  8 TRFONC     A    10         25    34        FONCTION
  5/  8 TRSCEN     A    10         35    44        SCENARIO
  6/  8 TREDIT     A    10         45    54        CODE EDITION
  7/  8 TRCMAQ     A    10         55    64        CODE MAQUETTE
  8/  8 TRSOCI     A     3         65    67        SOCIETE
Programme de traçage
  5722WDS V5R1M0  010525                  LISTE SOURCE SEU                        
  FICHIER SOURCE  . . . . .  IR6_0SP/QRPGSRC
  MEMBRE  . . . . . . . . .  TRMAQU
  SEQNBR*...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8
    100       **********************************************************************
    200       *   EXTRACTION UTILISATION MAQUETTES                                 *
    300       **********************************************************************
    400      FTRMAQU  O   E                    DISK
    500       *
    600       *************   DS
    700       *
    800      ILDA        UDS
    900      I                                        2   4 TRSOCI
   1000      I                                       79  88 TRSCEN
   1100      I                                       90  99 TREDIT
   1200      I                                      111 120 TRCMAQ
   1300      I                                      600 609 TRUTIL
   1400      I                                      612 621 TRFONC
   1500      IXDAT        DS
   1600      I                                        1   4 XAA
   1700      I                                        5   6 XMM
   1800      I                                        7   8 XJJ
   1900      C           *NAMVAR   DEFN *LDA      LDA
   2000      C*** GENERATION DE LA TRACE
   2100      C                     MOVEL*YEAR     XAA
   2200      C                     MOVEL*MONTH    XMM
   2300      C                     MOVEL*DAY      XJJ
   2400      C                     MOVELXDAT      TRDATE
   2500      C                     TIME           HEURE   60
   2600      C                     MOVELHEURE     TRHEUR
   2700      C                     WRITETRMAQUF1
   2800      C           FIN       TAG
   2900      C                     SETON                     LR
                                  * * * *  F I N  D U  S O U R C E  * * * *

Protection du scénario sans nom

Chaque option d'Iris offre la possibilité d'enregistrer des scénarii de lancement ou d'interrogation. Parmi ceux-ci, le scénario sans nom est appelé automatiquement, en l'absence de scénario personnalisé par utilisateur.
Pour éviter sa modification intempestive (F24) par un utilisateur, il suffit d'intercepter la demande de mise à jour et de vérifier que l'utilisateur est autorisé (administrateur Iris).

Le programme en cause s'appelle XMJSC.

Programme XMJSC
  5722WDS V5R1M0  010525                  LISTE SOURCE SEU           
  FICHIER SOURCE  . . . . .  IR6_0SP/QCLSRC
  MEMBRE  . . . . . . . . .  XMJSC
  SEQNBR*...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8
    100 /*******************************************************/
    200 /*  MISE A JOUR DES SCENARIOS                          */
    300 /*  DJ 16.03.2008                                      */
    400 /*                                                     */
    500 /*  RESERVER LE SCENARIO BLANC A CERTAINS UTILISATEURS */
    600 /*******************************************************/
    700 PGM PARM(&P1)
    800
    900              DCL        VAR(&UTIL) TYPE(*CHAR) LEN(10)
   1000              DCL        VAR(&CSCE) TYPE(*CHAR) LEN(10)
   1100              DCL        VAR(&P1)   TYPE(*CHAR) LEN(768)
   1200
   1300 /* PARAMETRES : UTILISATEUR ET SCENARIO   */
   1400
   1500              RTVDTAARA  DTAARA(*LDA (600 10)) RTNVAR(&UTIL)
   1600              CHGVAR     VAR(&CSCE) VALUE(%SST(&P1 14 10))
   1700
   1800 /* MISE A JOUR SI AUTORISATION            */
   1900
   2000 IF ((&CSCE *NE ' '     ) +
   2100    *OR (&UTIL *EQ FR123X08) +
   2200    *OR (&UTIL *EQ JLARANQ ) +
   2300    ) THEN(DO)
   2400
   2500         CALL IR6_0/XMJSC (&P1)
   2600
   2700 ENDDO
   2800 ENDPGM

Liste de $CGGAE

La fonction $CGGAE, qui permet de dupliquer des écritures, ne fournit pas de liste des paramètres entrés lors de son lancement. Les quelques programmes ci-dessous stockent les demandes et listent ceux-ci, ce qui permet à l'utilisateur de vérifier, en cas de résultat inattendu, ses paramètres.
Là encore, un programme intermédiaire remplace le programme standard avant de lui donner la main.

Historique des demandes
Fichier : IR6_0SP   /CGGAEHIS          Type : Physique                 Format : CGGAEHF1
          Trace de la fonction $CGGAE                              

 Ordre  Champ      T Long.   D. Début  Fin    Clé  Intitulé
  1/ 14 H1SOC      A     3          1     3        CODE SOCIETE
  2/ 14 H1UTIL     A    10          4    13        PROFIL
  3/ 14 H1DATE     S     8  8.0    14    21        DATE LANCEMENT
  4/ 14 H1HEUR     A     6         22    27        HEURE
  5/ 14 H1ORIO     A     6         28    33        ORIGINE
  6/ 14 H1EXOO     A     4         34    37        EXERCICE
  7/ 14 H1NPDO     A    10         38    47        PIECE DEBUT
  8/ 14 H1NPFO     A    10         48    57        PIECE FIN
  9/ 14 H1ORID     A     6         58    63        ORIGINE DESTIN.
 10/ 14 H1DTCT     S     8  8.0    64    71        DATE DESTIN.
 11/ 14 H1DTPC     S     8  8.0    72    79        DATE PIECE
 12/ 14 H1LIBL     A    23         80   102        LIBELLE
 13/ 14 H1SENS     A     1        103   103        SENS GENERATION
 14/ 14 H1EDIT     A     1        104   104        LISTE
CL de commande
  5722WDS V5R1M0  010525                  LISTE SOURCE SEU       
  FICHIER SOURCE  . . . . .  IR6_0SP/QCLSRC
  MEMBRE  . . . . . . . . .  CGGAE
  SEQNBR*...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8
    100 /* *************************************************************/
    200 /* TRACE DE CGGAE     : TRAITEMENT                             */
    300 /*                                                             */
    400 /*  DJ   11.08.2006                                            */
    500 /* *************************************************************/
    600
    700 PGM
    800
    900              DCL        VAR(&OUTQ) TYPE(*CHAR) LEN(10)
   1000              RTVDTAARA  DTAARA(*LDA (743 10)) RTNVAR(&OUTQ)
   1100
   1200 /* *   CREATION DU FICHIER DE TRAVAIL         */
   1300              CRTDUPOBJ  OBJ(CGGAEHIS) FROMLIB(IR6_0SP) +
   1400                           OBJTYPE(*FILE) TOLIB(QTEMP) NEWOBJ(CGGAETMP)
   1500              MONMSG     CPF0000
   1600              CLRPFM     CGGAETMP
   1700
   1800 /* *   EXTRACTION DES DONNEES                 */
   1900              OVRDBF     CGGAEHIS CGGAETMP
   2000              CALL       CGGAEH1
   2100
   2200 /* *   HISTORISATION                          */
   2300              DLTOVR     CGGAEHIS
   2400              CPYF       CGGAETMP CGGAEHIS MBROPT(*ADD)
   2500
   2600 /* *   LISTE                                  */
   2700              OVRDBF     CGGAEHIS CGGAETMP
   2800              OVRPRTF    QSYSPRT  HOLD(*YES) OUTQ(&OUTQ)
   2900              CALL       CGGAEH2
   3000
   3100 /* *   LANCEMENT DU TRAITEMENT               */
   3200              CALL       IR6_0/CGGAE
   3300
   3400 FIN:
   3500 ENDPGM
                                  * * * *  F I N  D U  S O U R C E  * * * *
Enregistrement des paramètres récupérés en LDA
  5722WDS V5R1M0  010525                  LISTE SOURCE SEU                              
  FICHIER SOURCE  . . . . .  IR6_0SP/QRPGSRC
  MEMBRE  . . . . . . . . .  CGGAEH1
  SEQNBR*...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8
    100       ***************************************************************
    200       *
    300       *    TRACE CGGAE : EXTRACTION DES PARAMETRES
    400       *
    500       *    DJ   11.08.2006
    600       ***************************************************************
    700      H              J
    800      FCGGAEHISO   E                    DISK
    900       ***************************************************************
   1000      ILDA        UDS
   1100      I                                        2   4 H1SOC
   1200      I                                      600 609 H1UTIL
   1300      I                                      310 315 H1ORIO
   1400      I                                      422 425 H1EXOO
   1500      I                                      426 435 H1NPDO
   1600      I                                      436 445 H1NPFO
   1700      I                                      340 345 H1ORID
   1800      I                                      406 4130H1DTCT
   1900      I                                      414 4210H1DTPC
   2000      I                                      358 380 H1LIBL
   2100      I                                      381 381 H1SENS
   2200      I                                      382 382 H1EDIT
   2300       * DATE TRAITEMENT
   2400      IDAT6        DS
   2500      I                                        1   2 JJ
   2600      I                                        3   4 MM
   2700      I                                        5   6 AA
   2800      IDATETR      DS
   2900      I                                        1   4 AAT
   3000      I                                        5   6 MMT
   3100      I                                        7   8 JJT
   3200      C                     EXSR INIT
   3300      C                     EXSR TRT
   3400      C                     MOVEL*ON       *INLR
   3500       ***************************************************************
   3600       *    TRAITEMENT DE L'EXTRACTION DES DONNEES
   3700       ***************************************************************
   3800      C           TRT       BEGSR
   3900       *
   4000      C                     TIME           DATHEU 120
   4100       *
   4200      C                     MOVELDATHEU    H1HEUR
   4300       *
   4400      C                     MOVE DATHEU    DAT6
   4500      C                     MOVELJJ        JJT
   4600      C                     MOVELMM        MMT
   4700      C                     MOVEL'20'      AAT
   4800      C                     MOVE AA        AAT
   4900      C                     MOVELDATETR    H1DATE
   5000       *
   5100      C                     WRITECGGAEHF1
   5200      C*
   5300      C                     ENDSR
   5400       ***************************************************************
   5500       *    INITIALISATION DU PROGRAMME
   5600       ***************************************************************
   5700      C           INIT      BEGSR
   5800      C           *NAMVAR   DEFN *LDA      LDA
   5900      C                     IN   LDA
   6000      C                     ENDSR
                                  * * * *  F I N  D U  S O U R C E  * * * *
 
Liste des paramètres de lancement
  5722WDS V5R1M0  010525                  LISTE SOURCE SEU                              
  FICHIER SOURCE  . . . . .  IR6_0SP/QRPGSRC
  MEMBRE  . . . . . . . . .  CGGAEH2
  SEQNBR*...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8
    100       ***************************************************************
    200       *
    300       *    TRACE CGGAE : LISTE DES PARAMETRES
    400       *
    500       *    DJ   16.08.2006
    600       ***************************************************************
    700      H              J
    800      FCGGAEHISIF  E                    DISK
    900      FQSYSPRT O   F      80            PRINTER
   1000       ***************************************************************
   1100       * DATE TRAITEMENT
   1200      IDATETR      DS
   1300      I                                        1   4 AAT
   1400      I                                        5   6 MMT
   1500      I                                        7   8 JJT
   1600      C                     READ CGGAEHIS                 10
   1700      C           *IN10     DOWEQ'0'
   1800      C                     EXSR TRT
   1900      C                     READ CGGAEHIS                 10
   2000      C                     ENDDO
   2100      C                     MOVEL*ON       *INLR
   2200       ***************************************************************
   2300       *    TRAITEMENT DE L'IMPRESSION
   2400       ***************************************************************
   2500      C           TRT       BEGSR
   2600       *  BASCULE POUR SAUT DE PAGE
   2700      C           *IN01     IFEQ *OFF
   2800      C                     MOVEL*ON       *IN01
   2900      C                     ELSE
   3000      C                     MOVEL*OFF      *IN01
   3100      C                     ENDIF
   3200       * IMPRIMER
   3300      C                     MOVELH1DATE    DATETR
   3400      C                     EXCPTEDIT
   3500       *
   3600      C                     ENDSR
   3700       ***************************************************************
   3800       *    DEFINITION DE L'IMPRESSION
   3900       ***************************************************************
   4000       * SAUT DE PAGE ALTERNE
   4100      OQSYSPRT E  101   01      EDIT
   4200      O                                    1 ' '
   4300      O        E  130  N01      EDIT
   4400      O                                    1 ' '
   4500       *
   4600      O        E  2             EDIT
   4700      O                                   52 '* GENERATION D''ECRITURE'
   4800      O                                      'S *'
   4900       *
   5000      O        E  1             EDIT
   5100      O                                      'Le   '
   5200      O                         JJT
   5300      O                                      '/'
   5400      O                         MMT
   5500      O                                      '/'
   5600      O                         AAT
   5700      O                                      '   à   '
   5800      O                         H1HEUR
   5900      O                                      '   par   '
   6000      O                         H1UTIL
   6100       *
   6200      O        E  2             EDIT
   6300      O                                      'Société : '
   6400      O                         H1SOC
   6500       *
   6600      O        E  1             EDIT
   6700      O                                      'DE          '
   6800      O                                      'Origine ............ '
   6900      O                         H1ORIO
   7000       *
   7100      O        E  1             EDIT
   7200      O                                      '            '
   7300      O                                      'Exercice ........... '
   7400      O                         H1EXOO
   7500       *
   7600      O        E  2             EDIT
   7700      O                                      '            '
   7800      O                                      'Pièces ............. '
   7900      O                         H1NPDO
   8000      O                                      ' à '
   8100      O                         H1NPFO
   8200       *
   8300      O        E  1             EDIT
   8400      O                                      'VERS        '
   8500      O                                      'Origine ............ '
   8600      O                         H1ORID
   8700       *
   8800      O        E  1             EDIT
   8900      O                                      '            '
   9000      O                                      'Date comptable ..... '
   9100      O                         H1DTCT
   9200       *
   9300      O        E  1             EDIT
   9400      O                                      '            '
   9500      O                                      'Date de pièce ...... '
   9600      O                         H1DTPC
   9700       *
   9800      O        E  2             EDIT
   9900      O                                      '            '
  10000      O                                      'Libellé ............ '
  10100      O                         H1LIBL
  10200       *
  10300      O        E  1             EDIT
  10400      O                                      '            '
  10500      O                                      'Sens ............... '
  10600      O                         H1SENS
  10700       *
  10800      O        E  1             EDIT
  10900      O                                      '            '
  11000      O                                      'Liste .............. '
  11100      O                         H1EDIT
                                  * * * *  F I N  D U  S O U R C E  * * * *

Fichier d'aide Iris

Dans le cadre du support du logiciel, de nombreuses procédures ont été mises en place, donnant parfois lieu à des développements spécifiques.
L'exemple donné ici constitue une petite partie des procédures mises en place. Il est présenté sous forme d'un fichier chm, à copier sur un disque local avant de l'ouvrir (assistiris.chm).

Les requêtes sql listées peuvent être copiées directement dans une session sql.