CEC 2012 Vienna Forum Francophone Power IBM i ( et AS/400, iSeries, System i, ... )
Forum Francophone Power IBM i ( et AS/400, iSeries, System i,  ... )   Forum Francophone Power IBM i ( et AS/400, iSeries, System i,  ... )   Forum Francophone Power IBM i ( et AS/400, iSeries, System i,  ... )   Forum Francophone Power IBM i ( et AS/400, iSeries, System i,  ... )
18 Mai,2012, 22:39:05 *
Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?

Connexion avec identifiant, mot de passe et durée de la session
Nouvelles:
 
   Accueil   Aide Règles Rechercher Partenaires Identifiez-vous Inscrivez-vous Liens Common France Common Belgique Common Luxembourg  
Pages: [1]   Bas de page
  Imprimer  
Auteur Fil de discussion: [CLP/CLLE]Les nouveautés du CLP en V5R3 et +  (Lu 2184 fois) Average Rating: 5
0 Membres et 2 Invités sur ce fil de discussion.
jmpenasse
Administrator
Membre Héroïque
*****
Hors ligne Hors ligne

Messages: 344




i_SilverDev http://fr.linkedin.com/in/jmpenasse
Voir le profil WWW
« le: 22 Janvier,2009, 00:01:54 »

Depuis ses origines (Sur le S/38 apparu en 1979...), le langage CLP n'avait pas évolué.
Par langage CLP (Control Language Program) j'entends les instructions de programmation, pas les commandes propres à l'OS.

Ainsi depuis plus d'un quart de siècle, les seules instructions à notre disposition étaient : PGM/ENDPGM, DCL/DCLF, RETURN, GOTO, IF, DO/ENDDO, RCVF/SNDF/SNDRCVF, CHGVAR et MONMSG (je ne crois pas en avoir oublié)
Bien sûr quelques rares évolutions sont apparues au fil du temps, comme le %BIN, mais dans l'ensemble on peut dire que le CLP des origines était le même que celui de la V5R2.

On peut positiver en disant que ce n'est pas le nombre d'instructions/fonctions qui fait la force d'un langage et que de toute manière cela ne nous a pas empêché d'écrire des milliers de lignes de code toujours utilisées aujourd'hui.
D'ailleurs la tentative de remplacement par un langage beaucoup plus proche de nos HLL, j'ai nommé le REXX, n'a pas eut grand succès (il faut dire que REXX souffre d'un gros handicap : c'est un langage interprété, aux performances ne pouvant rivaliser avec le CLP)
Et puis le CLP est un langage de "contrôle", il n'a pas besoin d'être aussi puissant que ses grands frères.
Ces "excuses" nous permettent de contenir notre frustration, mais il n'empêche que le CLP est un langage bien frustre.

Or, voici qu'IBM, après tant d'années, nous apporte un lot dévolutions majeures. Réjouissons nous !  Merci

En effet de la V5R3 à la V6R1 (pardon, on doit dire 6.1) c'est un défilé d'innovations auquel nous assistons :

Note : A une exception près, ces nouveautés sont disponibles en CLP (OPM) et en CLLE (ILE) !

V5R3M0 :

  • DOUNTIL/ENDDO Boucle "Jusqu'à"
  • DOWHILE/ENDDO Boucle Tant que"
  • DOFOR/ENDDO Heu... boucle "Pour"
  • ITERATE Passage à l'itération suivante d'une boucle
  • LEAVE Sortie prématurée d'une boucle
  • SELECT/WHEN/OTHERWISE/ENDSELECT Select, quoi ! pratique pour des écrans de style menus
  • 5 Fichiers (DCLF) Ne rêvez pas, il ne peut y en avoir qu'un en Entrée/Sortie (écran) , les autres n'étant qu'en entrée. Toujours pas de PRTF  Cry
  • Type de données *INT/*UINT Les entiers signés et non signés

V5R4M0 :
Le festival contine !

  • SUBR/ENDSUBR/CALLSUBR/RTNSUBR Les Subroutines  Cheesy
  • Type de données *PTR, et zones basées les pointeurs. Je sais, faut aimer. Et j'aime  Grin
  • Structures de données Les DS, Youppi !

V6R1M0 :
Ça se calme, dommage, on y prenait goût  Smiley...

  • INCLUDE = /COPY, pour les "gapistes". C'est bien avec les structures.
  • CLOSE de fichier Ferme un fichier, le prochain RCVF le ré-ouvre au début
  • DCLPRCOPT (CLLE). Stockage d'options de compilation, comme les spec H du RPG4

Il manque encore de nombreuses choses pour atteindre le Nirvana (Tableaux, fichiers en sortie, positionnement sur clé ...) mais ne faisons pas la fine bouche. Merci  "M. IBM"  Merci

Espérons seulement qu'il ne faudra pas attendre encore un quart de siècle pour les prochaines évolutions ...  Wink

Un petit exemple (pas le meilleur, je sais, mais vous pouvez contribuer ) :

Code:
PGM
     DCL VAR(&EOF) TYP(*LGL) VALUE(‘0’)
     DCLF FILE(PCLIENT)
     RCVF  /* 1ère lecture */
     MONMSG MSGID(CPF0864) EXEC(CHGVAR &EOF ‘1’)
     DOWHILE (*NOT &EOF)
     /* ici traitement de chaque enregistrement lu */
          RCVF
          MONMSG MSGID(CPF0864) EXEC(CHGVAR &EOF ‘1’)
     ENDDO
ENDPGM


« Dernière édition: 24 Janvier,2009, 04:58:00 par jmpenasse » Journalisée

Il y a 10 sortes de gens : Ceux qui comprennent le binaire et les autres ...
Didier
Bureau
Membre Senior
*****
Hors ligne Hors ligne

Messages: 158




http://fr.linkedin.com/pub/didier-adriaenssens/17/735/346
Voir le profil WWW
« Répondre #1 le: 22 Janvier,2009, 18:52:12 »

Code:
Bonjour,
juste une petite remarque pour le positionnement sur les fichier en CLP, il y a qu'en même
une commande  "OVRDBF"                                                                                 
[code] Fichier à substituer . . . . . .                 Nom                           
 Fichier BD de substitution . . .   *FILE         Nom, *FILE                   
   Bibliothèque . . . . . . . . .                 Nom, *LIBL, *CURLIB           
 Membre de substitution . . . . .                 Nom, *FIRST, *LAST, *ALL     
 Position de début:                                                             
   Option de position . . . . . .                 *NONE, *START, *END, *RRN... 
   *RRN-rang *KEY-nb zones clés                   Nombre                       
   *KEY-format avec clé . . . . .                 Nom                           
   *KEY-valeur de la clé  . . . .                                               
                                                                               
Il faut juste les informations par un parametre en entrée  Wink

Edit Jmpenasse : ajout de la balise "code" pour formatage présentation[/code]
« Dernière édition: 23 Janvier,2009, 01:26:27 par jmpenasse » Journalisée
jmpenasse
Administrator
Membre Héroïque
*****
Hors ligne Hors ligne

Messages: 344




i_SilverDev http://fr.linkedin.com/in/jmpenasse
Voir le profil WWW
« Répondre #2 le: 23 Janvier,2009, 01:05:36 »

Ouaip, mais j'ai préféré considérer que ça n'existait même pas   ange
Je dois avoir de mauvais souvenirs avec ça ..

Parce qu'avec une seule zone clé alpha ça va bien, mais avec des clés composées en packé ...  Grrrrrr
« Dernière édition: 23 Janvier,2009, 01:23:15 par jmpenasse » Journalisée

Il y a 10 sortes de gens : Ceux qui comprennent le binaire et les autres ...
Pages: [1]   Haut de page
  Imprimer  
 
Aller à:  


Propulsé par MySQL Propulsé par PHP Common France © 2008, 2009  
AS/400, AS400, iSeries, i5, Power i sont des marques déposées d'International Business Machines Corp.

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines
SMFAds for Free Forums
SMF customization services by 2by2host.com
XHTML 1.0 Transitionnel valide ! CSS valide !
SimplePortal 2.1.1