You are on page 1of 15

Introduction aux systmes AS/400

Introduction lAS/400

AS/400 est une gamme de mini-ordinateurs IBM apparue dbut fvrier !"#$ %ans linformati&ue de gestion dIBM' il e(iste trois gammes dordinateurs ) les gros s*st+mes ,appels Main-rame.' /S/!000' sous le s*st+me d0e(ploitation M1S ou 1M les dpartementau( ou mini-ordinateurs' AS/400' fonctionnant avec le s*st+me d0e(ploitation 2S400 les micro-ordinateurs' 3S/4' sous 2S/4

50AS/400 est une arc6itecture compose d0lments matriels et logiciels' comportant notamment une base de donnes et des lments de scurit avancs$ 5a force de l0AS400 rside dans la modularit de ses lments constitutifs lui confrant un 6aut degr d0adaptabilit et de scurit$

/n effet l0arc6itecture AS/400 est une structure en couc6e sparant les lments matriels et logiciels$ 5e s*st+me d0e(ploitation de l0AS/400 est appel 2S/400$ Il repose sur une couc6e appele MI ,Mac6ine Interface. c6arge de fournir un ensemble de fonctions ,A3I' application programming interface. &ue les applicatifs doivent utiliser afin de s0interfacer avec le matriel$

7ontrairement la plupart des s*st+mes d0e(ploitation' la gestion de la plupart des composants matriels ,mmoire' entres-sorties' gestion des processus' $$$. est rgie par une couc6e indpendante' appele S5I7 ,S*stem 5icensed Internal 7ode.' situe sous la couc6e MI$ Ainsi l0arc6itecture AS400 assure une relle indpendance entre le matriel' le s*st+me d0e(ploitation et les applications$ Applications 2S/400 MI

S5I7 Matriel

%escription du s*st+me 2S/400

5e s*st+me de(ploitation 2S/400 est un s*st+me multiutilisateur' cest-dire &ue plusieurs personnes peuvent travailler sur lordinateur simultanment' notamment gr8ce un terminal reli l0AS/400$ 7elui-ci comprend un cran et un clavier$ 5es crans classi&ues de lAS/400 sont passifs' ils ne permettent donc pas une gestion de la souris ou de laffic6age de nombreuses couleurs$ 7e &ui est affic6 lcran est appel un panneau$ Il en e(iste plusieurs sortes ) 5es panneau( de t*pe I9-2 ) 7es panneau( affic6ent des informations$ 5es touc6es 3:;3 et 3:%9 permettent le dplacement vers les panneau( suivants ou prcdents$ 5es panneau( de t*pe SAISI/ permettent lutilisateur de remplir un ou plusieurs c6amps < celui-ci peut passer dun c6amp lautre avec la touc6e =AB$ 5es panneau( de t*pe M/9; ) ;n menu est affic6' lutilisateur c6oisit parmi les rubri&ues par lintermdiaire dune ligne de commande situe en bas de lcran$ 5affic6age respecte un standard' lArc6itecture ;nifie dApplications ,A;3.' afin davoir une co6rence dans la gamme des ordinateurs de gestion dIBM$ 5es panneau( de t*pe 5IS=/ servent travailler sur des ensembles dlments prsents sous forme dune liste' avec un lment par ligne$ 7ertains c6amps de saisie sont rservs au traitement de llment sur c6a&ue ligne$ 5utilisateur indi&ue loption &uil a slectionne parmi les c6oi( disponibles pour c6acun des c6amps$ 2rganisation des donnes

%ans AS/400 tout lment renfermant des informations et tant accessible via l0interface d02S/400 est reprsent sous forme d0ob>et$ 5es donnes sont stoc?es selon une arborescence trois niveau( )

bibliot6+&ue' ob>et' membre$ 5es ob>ets

3rati&uement tout lment est considr comme un ob>et' &ue ce soit les programmes ou bien les fic6iers de donnes$ ;n ob>et est compos de deu( parties ) un ensemble d0attributs le dcrivant et les donnes proprement dites$ 5es attributs de l0ob>et sont notamment son nom' son t*pe' sa taille' sa date de cration ainsi &u0une partie description' et enfin la librairie la&uelle l0ob>et appartient$ ;n ob>et est tou>ours rattac6 une bibliot6+&ue$ 5a nature de lob>et est indi&ue par son t*pe$ 5es bibliot6+&ues

5es bibliot6+&ues sont des ob>ets de t*pe @5IB ,librar*.$ /lles rfrencent les ob>ets du s*st+me et contiennent des informations sur ceu(-ci' comme le t*pe ou lemplacement p6*si&ue oA ils sont stoc?s sur le support p6*si&ue$ ;ne bibliot6+&ue nest pas limite en nombre dob>ets$ %ans une bibliot6+&ue' deu( ob>ets de mBme t*pe ne peuvent pas avoir le mBme nom$ 3ar contre' ils le peuvent sils sont dans deu( bibliot6+&ues diffrentes$ ;ne bibliot6+&ue tant un ob>et' elle est rattac6e aussi une bibliot6+&ue$ Il e(iste une bibliot6+&ue particuli+re' CSDS' dans la&uelle toutes les bibliot6+&ues sont prsentes$ CSDS contient le s*st+me de(ploitation ,2S/400. et des informations pour celui-ci$ 5es membres

5es donnes contenues dans un fic6ier peuvent Btre regroupes par bloc' les membres$ 3ar e(emple' dans un fic6ier A:/97/ contenant le nom des agences dune ban&ue rparties sur toute la -rance' un membre pourra regrouper tous les noms des agences dune rgion$ Il * aura autant de membres &ue de rgions$ Interaction avec le s*st+me

Sans perdre ses informations' il est possible dinterrompre son travail pour effectuer des oprations et le reprendre ensuite$ 5appel au s*st+me' en tapant simultanment sur les touc6es SEI-= et A==9 sur les claviers AS/400 ,A5=:F et IM3F pour les claviers 04 touc6es. puis /9=F// affic6e un panneau avec un menu$ 1oici &uel&ues options de ce menu ) Sessions alternes ) 7ette premi+re option permet de lancer un nouveau travail sans arrBter le premier$ 3our passer de lun lautre' il suffit de taper A33/SDS $ ;n seul des travau( est actif' lautre est endormi$ 7ette option ne permet pas de lancer des travau( en t8c6e de fond$ Cuand lun des travau( est arrBt ,par la commande SI:92-- par e(emple.' lutilisateur retrouve lautre travail$ ArrBt dun programme ) 7ette seconde option arrBte le programme &ui tait actif$ :estion des travau( ) 7ette troisi+me option affic6e un nouveau menu &ui regroupe les fonctions de gestion des travau($ Affic6age des messages ) 7ette &uatri+me option affic6e les messages de lutilisateur$ -in du travail ) 5option "0 sauvegarde lenvironnement de lutilisateur' il sera restitu la proc6aine session$ 5option !0 arrBte le travail ,SI:92--.$

Les commandes AS/400


Il e(iste environ un millier de commandes dans l02S/400' regroupes sous le nom de G 5angage de 7ontrHle I$ ;n utilisateur pourra les lancer depuis la ligne 2ption ou 7ommande situe au bas de l0cran' &uand celle-ci est disponible' comme dans un menu s*st+me$

7omme sous %2S ou sous ;9IJ' ces commandes ont un nombre de param+tres et d0options &ui peut varier$ :r8ce une certaine 6armonie dans le nom des commandes' il est ais de retrouver le nom d0une d0entreelles$ 5e nom des commandes

5e nom d0une commande commence tou>ours par un verbe anglais' limit sur trois lettres$ /nsuite' le t*pe de l0ob>et sur le&uel s0appli&ue la

commande est donn$ 7ertaines commandes ont parfois un troisi+me terme$

1oici &uel&ues e(emples de commandes ) affic6er un message ,displa* message. %S3MS: envo*er un message ,send message. S9%MS: grer les travau( d0un utilisateur ,Kor? submit >ob. LFMSBMN2B 5es param+tres des commandes

5es param+tres de la commande peuvent Btre saisis dans la ligne de commande ou bien dans une interface d0aide' appele Invite de commande' accessible par la touc6e -4$ %ans ce cas' un menu s0affic6e' diffrent pour c6a&ue commande' oA les c6amps remplir correspondent au( param+tres$ Si les indications l0cran ne suffisent pas' l0appui sur la touc6e - affic6e des informations spcifi&ues au c6amp oA se situe le curseur$ 5es menus

Il est possible de retrouver le nom d0une commande dans l0arborescence des menus' partir du menu MAI9$ Il suffit de naviguer dans les menus en c6oisissant les G bonnes I options$ 3our accder plus rapidement au menu de la commande dsire' on peut taper :2 7M% suivi de l0abrviation du verbe ou de l0ob>et dont on rec6erc6e la commande$

3ar e(emple G :2 7M%5IB I affic6e un menu dcrivant toutes les commandes a*ant un rapport avec les bibliot6+&ues$ 5es messages utilisateurs

5a communication entre le s*st+me' les utilisateurs et les programmes se fait par messages$ 7eu(-ci sont stoc?s dans des files dattente de messages' ob>et de t*pe @MS:C$ 76a&ue poste de travail a une file dattente &ui lui est propre$ 76a&ue profil utilisateur est rattac6 galement une file' celle-ci peut-Btre prive ou partage avec dautres

utilisateurs ,les membres dune &uipe de comptables ont une file dattente de messages commune.$ ;ne personne a acc+s deu( files dattente' celle de son profil utilisateur et celle de son poste de travail$

Il e(iste une file dattente indispensable &ui reOoit les messages du s*st+me' elle est nomme CSDS23F$ 5es probl+mes tels &ue labsence de papier dans une imprimante sont indi&us dans un message stoc? dans cette file$ 5oprateur s*st+me doit surveiller cette file avec la plus grande attention afin d0Btre capable de rsoudre les incidents dans des dlais raisonnables$ 5e Mode de rception

5e mode de rception indi&ue comment lutilisateur va Btre inform de larrive de messages$ Il e(iste trois modes ) Brea? ) 5e message apparaPt immdiatement lcran$ 5e travail en cours est repris normalement sans perte dinformation apr+s la lecture du message$ 9otif* ) ;n Bip sonore informe lutilisateur de larrive dun message dans une de ses files dattente$ Eold ) 5e message est a>out la file dattente sans en informer lutilisateur$ /nvoi de messages

3our envo*er un message' la commande utiliser est S9%MS: ,send message.$ Si le message est une &uestion' de t*pe @I9C' il faudra prciser la file &ui recevra la rponse$ 3our &uun message arrive avec le mode Brea?' il * a la commande S9%BFMMS:$

/(emple ) 3our envo*er un avertissement tous les utilisateurs &ue le s*st+me va Btre arrBt dans trente minutes il suffit de taper la commande suivante ) S9%BFMMS: MS:,Qarret du s*steme dans trente minutes. =2MS:C,@A55LS. @A55LS signifie tous les postes de travail ,all Kor?sations.$

Affic6age de messages

5a commande %S3MS: affic6e les messages stoc?s dans une file dattente$ 5e param+tre indi&ue le contenu de la file affic6er$ Sans param+tre' la commande affic6e les messages de la file de lcran et de la file du profil de lutilisateur ,la touc6e A33/SDS 4 galement.$ 3ar e(emple l0affic6age de la file CSDS23F se fait avec la commande suivante ) %S3MS: MS:C,CSDS23F. 7ommandes usuelles %S3MS: Affic6e les messages dans la file d0attente

%S3MS:% Affic6e la description des messages LFMMS:- C73-MS: LFMSBMN2B @N2B LFMA7=N2B LFM;SF3FLFM;SFN2B travaille LFM2BN LFMS35Affic6e le contenu de M29MS: Affic6e les travau( de la session en cours

Affic6e tous les travau( actifs 3ermet de travailler avec un profil utilisateur particulier Affic6e la liste des travau( sur les&uels l0utilisateur

3ermet de travailler sur un ob>et Affic6e les fic6iers de la file d0attente

LFM2;=C Affic6e des membres spcifi&ues de l02;=C %S35IB /%=5IB5 Affic6e le contenu d0une librairie spcifi&ue 3ermet l0a>out et la suppression de librairies dans la liste A>oute une librairie la liste

A%%5IB5/ 9omRdeRlaR5ibrairie S=F%B: A%%BM3 FM1BM3 /9%%B: %marre le dbogage

A>oute un point d0arrBt dans le dbogueur /nl+ve un point d0arrBt dans le dbogueur =ermine le dbogage

S=F%B; %marre %B; ,%atabase ;tilit*.' permettant d0accder et de modifier la base de donnes

S=F%-; %marre %-; ,%ata -ile ;tilit*.' permettant d0accder au( fic6iers et de les modifier %S3--% %S3-% %S33-M %S3%BAffic6e les c6amps de description des fic6iers Affic6e les c6amps de description pour un fic6ier particulier Affic6e les membres d0un fic6ier p6*si&ue Affic6e le contenu du fic6ier de base de donnes

%S33:MF/Affic6e les fic6iers utiliss par un programme particulier' ainsi &ue les librairies avec les&uelles il a t compil LFMN2BS7%/ Affic6e les travau( planifis /(cute une re&uBte sans param+tres sur un

F;9CFD CFD-I5/,5IB/-I5/. fic6ier

%S3%BF 5IB/-I5/ Montre les fic6iers logi&ues associs un fic6ier p6*si&ue

Bibliograp6ie

Les commandes indispensables de lAS/400.


1ous trouvereS ci-dessous une liste de commandes &uil est bon de connaPtre &uand on travaille sur un AS/400$ 7ertaines de ces commandes sont plus utiles une personne soccupant de(ploitation' dautres sont plus intressantes pour un programmeur' c6acun de faire son petit marc6$ =outes ces commandes sont documentes sur lAS/400$ Il suffit' pour affic6er laide' de taper la commande' puis de presser la touc6e -4 pour faire apparaPtre lcran de saisie paramtr' puis de presser la touc6e de fonction T- T ,ou la touc6e TAideT &uivalente. pour affic6er laide correspondant la commande ,prendre soin de placer le curseur au dessus du premier param+tre de la commande' sinon laide affic6e correspondra au premier param+tre et non la commande elle-mBme.$

5iste des commandes$ :2 ASSIS= ) Menu dassistance pour utilisateurs dbutants :2 5I73:M ) 3ermet de connaPtre la liste des programmes installs sur un AS/400 LFMA7=N2B ) :estion des travau( actifs

LFMN2BC ) :estion de toutes les files dattente de travau( LFM2;=C ) :estion de toutes les files dattente en sortie LFMSDSS=S ) :rer ltat du s*st+me LFM7-:S=S ) :rer tat de la configuration LFMS35- ) :estion de tous les fic6iers spoule LFMSBMN2B ) :estion des travau( soumis LFM;SFN2B ) :estion des travau( de lutilisateur LFM2BN3%M ) :estion des ob>ets par 3%M LFMCFD ) %marrage de Cuer*/400 F;9CFD ) 5ancer une anal*se Cuer*/400 S=FSC5 ) %marrage de SC5/400 7E:3L% ) 76anger le mot de passe du profil utilisateur S=F3%M ) :estionnaire de dveloppement - 3%M AS/400 S=FS/; ) %marrer lditeur de source S/; S=F3:MM9; ) %marrer le menu programmeur %S3MS: ) Affic6er les messages %S33-M ) Affic6er membre de fic6ier p6*si&ue %S35IB ) Affic6er une bibliot6+&ue SA15IB/FS=5IB ) Sauvegarder/Festaurer une bibliot6+&ue SA12BN/FS=2BN ) Sauvegarder/Festaurer un ob>et S9%9/=- ) /nvo*er un fic6ier au rseau LFM%S=C ) :estion des files dattente de distribution LFMN2BS7%/ ) :rer les postes du planning de travau( LFMF3D5/ ) :rer postes liste de rponse SBMN2B ) Soumettre un travail en file dattente de travau( F:U3-M ) Forganiser membre de fic6ier p6*si&ue 7A55 C/US9%M: ) /nvoi de message 7A55 C7M% ) /ntre de commande

F=175SF7 ) /(traire un source 75 dun programme 75 S=F2BN719 ) %marrer la conversion dob>et %S33:MF/- ) Affic6er les rfrences programmes %S3-% ) Affic6er description fic6ier %S3--% ) Affic6er description des Sones %S3%BF ) Affic6er relations B%

Crez os !onctions S"L.


1ous pouveS crer dans une base %B4' des fonctions spcifi&ues vos besoins , user defined function .$ 7est le su>et de cet article$

Il est bas sur un e(emple rudimentaire' >uste pour aborder le su>et$ 5es liens en fin darticle vous permetront daller plus avant$

Fappel

;ne e(pression est )

un ensemble de variables ,contenu dune colonne.' de constantes de fonctions combines au mo*en doprateurs$

5es e(pressions peuvent figurer )

en tant &ue colonne rsultat dun S/5/7=' dans une clause LE/F/' dans une clause 2F%/F BD $

;ne fonction )

retourne une valeur dpendant de ses arguments &ui peuvent Btre eu(-mBmes des e(pressions$

SC5 offre un grand nombre de fonctions )

arit6mti&ues c6aines de caract+res dates conversions autres 3rocdons via un e(emple concret$

%onnes servant le(emple

;ne table tRarticle contient les articles et lunit de vente utilise$ 3ar e(emple larticle 000000 reprsente un tissu$ ;ne table tRpri( contient le pri( des articles dans leur unit de vente par dfaut$ 3ar e(emple larticle 000000 ,du tissu. est vendu 40 /uros le m+tre linaire$ ;ne table tRunite contient les units de vente possibles pour un article$ 3ar e(emple larticle 000000 ,du tissu. peut Btre vendu au m+tre linaire' ou au rouleau' avec le coefficient arit6mti&ue permettant de convertir une unit en une autre$ 5e pri( au m+tre linaire est de 40 /uros ,stoc? dans tRpri(. ;n rouleau reprsente V0 m+tres linaires ,le coefficient V0 est stoc? dans tRunit.

3robl+me pos

/diter une liste des articles et des pri( de vente au rouleau$ Si le pri( est stoc? au rouleau' il suffit de le rcuprer dans tRpri($ Si le pri( est stoc? au m+tre linaire' il faut le rcuprer dans tRpri( et * appli&uer une r+gle de trois pour passer du m+tre linaire au rouleau$

+re solution

%clarer un curseur &ui lira les articles &ui peuvent Btres vendus au rouleau' louvrir' le lire 3our c6a&ue article' traiter les units pour appli&uer la r+gle de trois$

4nde solution

7rer une fonction SC5 &ui sera c6arge de calculer le pri( apr+s r+gle de W' en fonction de larticle' et de lunit de vente passe en param+tre$ ;tiliser la fonction SC5 pour construire votre re&uBte$

1ous laveS devin ,mais ce ntait pas difficile.' cest cette seconde solution &ui est traite dans cet article$ 5e code source de la fonction SC5

7ommenceS par crer une bibliot6+&ue sur votre s*st+me AS400$ AppeleS la par e(emple BIBSC5-;9$ 7F=5IB 5IB,BIBSC5-;9. =/J=,0Bib de fonctions SC5 pour mon applicatif0.

7est dans cette bibliot6+&ue &ue le s*st+me crera le programme de service correspondant votre fonction$

7rer la fonction F/:5/W

er param+tre ) le code article$

4nd param+tre ) lunit de vente sou6aite$ rec6erc6e du pri( de larticle et de lunit de vente par dfaut dans tRpri( si lunit de vente sou6aite est gale lunit de vente par dfaut' le coefficient appli&u par la r+gle de trois sera de $ si lunit de vente sou6aite est diffrente de lunit de vente par dfaut' le coefficient appli&uer est c6erc6 dans tRunite$ la fonction retourne le pri( de larticle' dans lunit de vente passe en param+tre$ Ne vous conseille dintgrer la cration de la fonction dans un script SC5 &ue vous stoc?ereS dans un membre source ou dans un programme de t*pe rpg ile$ 7F/A=/ -;97=I29 BIBSC5-;9/F/:5/W , 1AF=I75/ 7EAF,#. ' 1;9I=/1=/ 7EAF,4. ' . F/=;F9S %/7IMA5,40' !. 5A9:;A:/ SC5 M2%I-I/S SC5 %A=A B/:I9 %/75AF/ 13FIJ %/7IMA5,40' !.< %/75AF/ 172/-- %/7IMA5,40' !.< %/75AF/ 1;9I=/ 7EAF,4.<

S/= 13FIJ X 0 < S/= 172/-- X 0 <

S/5/7= pri(' unite I9=2 13FIJ ' 1;9I=/ -F2M tRpri( LE/F/ article X 1AF=I75/ < /9% I- <

I- 1;9I=/1=/ X 1;9I=/ =E/9 S/= 172/-- X /5S/ S/5/7= coeff I9=2 172/--F2M tRunite LE/F/ article X 1AF=I75/ A9% unite X 1;9I=/1=/ < /9% I- < <

S/= 13FIJ X 13FIJ @ 172/-- <

F/=;F9 13FIJ <

/9%

;tiliser la fonction F/:5/W

Il vous est impossible de passer une constante en param+tre de la fonction$ 5es param+tres sont le contenu dune colonne ou une variable 6Hte$ 1ous deveS indi&ueS SC5 le sc6ma ,ici BIBSC5-;9. oA aller c6erc6er la fonction F/:5/W$ le(emple ci-dessous rcup+re le pri( arrondi deu( dcimales' dans la variable 6Hte pri( pour larticle 000000 ,variable 6Hte article. et lunit rouleau ,variable 6Hte unite.$ /J/7 SC5 S/= 23=I29 SC53A=E X 0BIBSC5-;90 /9%-/J/7 unite X 0F50

article X 0000000 0 pri( X 0 /J/7 SC5 S/5/7= F2;9%,F/:5/W,a$article ' )unite. ' 4 . I9=2 )pri( -F2M tRarticle a LE/F/ a$article X )article /9%-/J/7 7omment voir les param+tres de la fonction cre S/5/7= F2;=I9/R9AM/'S3/7I-I7R9AM/'S3/7I-I7RS7E/MA' I9R3AFMS' 2;=R3AFMS' I92;=R3AFMS -F2M CSDS4/SDSF2;=I9/S LE/F/ F2;=I9/R9AM/ 5IM/ 0F/:5/WY0 7omment supprimer la fonction %F23 S3/7I-I7 -;97=I29 BIBSC5-;9/F/:5/W 1ous narriveS pas tester la variable SC5S=A=/ Z

SC5S=A=/ nest pas une variable automati&uement dclare$ 1ous deveS la dclarer sur une longueur de V c6aract+res ) %/75AF/ SC5S=A=/ 7EAF,V.<

3our tester si une lecture aboutie par e(emple' vous pouveS utiliser SC5S=A=/ comme suite ) I- SC5S=A=/ [\ 0040000 =E/9 S/= -5 X 020 < /9% I-<

You might also like