> Tech > Autre possibilité

Autre possibilité

Tech - Par iTPro - Publié le 24 juin 2010
email

Figure 6, j'utilise deux instructions READE, dont l'une est incorporée à  la fin de la boucle DOW, pour contrôler la lectu-re des enregistrements provenant d'un fichier avec clés. La figure 7 présente une autre structure de lecture qui réalise la même tâche, mais avec une seule instruc-tion READE. Les différences

Autre possibilité

entre cette structure de lecture et la première com-mencent ligne 4, où j’utilise
une opération DOUEQ (Do Until Equal) au lieu d’une instruction DOWEQ. L’opération
DOUEQ vérifie la condition à  la fin de la structure de boucle au lieu du début,
et il y a donc au moins une itération de la boucle.

Ensuite, ligne 5, l’opération READE met *IN81 à  *ON si un enregistrement correspond
à  la zone de clé que je recherche, et il met *IN81 à  *OFF si le READE échoue.
Avant de poursuivre le traitement plus en détail, je vérifie la valeur de *IN81
(ligne 6) et imprime une ligne détail sur un rapport d’employés (ligne 7). La
ligne 9 est le ENDDO pour notre processus de boucle DOUEQ. Si *IN81 est à  *ON
à  ce stade, le programme quitte la structure de boucle et la lecture se termine.
Si *IN81 est à  *OFF, le traite-ment reprend l’opération DOUEQ et, dans ce cas,
tente de lire un autre enregistre-ment dans le fichier AS/400.



Ces deux techniques de lecture sont logiques et simples à  utiliser. Il existe
d’autres structures de lecture en boucle mais ces deux là  conviendront le plus
souvent. A vous de décider si vous voulez utiliser deux instructions READE ou
une condition IF supplémentaire.







FIGURE 1
LES DDS DE EMPLF1



….+….1….+….2….+….3….+….4….+….5….+….6….+….7.

A……….T.Name++++++.Len++TDpB……Functions++++++++++++++++++

A R EMPPFR PFILE(EMPPF)

A K DEPT

A K LNAME

A K FNAME



FIGURE 2
COMMANDE DSPFD SUR EMPPF



8/07/99 Display File Description

DSPFD Command Input

File . . . . . . . . . . . . . . . . . . . . : FILE EMPPF

Library . . . . . . . . . . . . . . . . . . : *LIBL

Type of information . . . . . . . . . . . . . : TYPE *ACCPTH

File attributes . . . . . . . . . . . . . . . : FILEATR *ALL

System . . . . . . . . . . . . . . . . . . . : SYSTEM *LCL

File Description Header

File . . . . . . . . . . . . . . . . . . . . : FILE EMPPF

Library . . . . . . . . . . . . . . . . . . . : JSUTHERL

Type of file . . . . . . . . . . . . . . . . : Physical

File type . . . . . . . . . . . . . . . . . . : FILETYPE *DATA

Auxiliary storage pool ID . . . . . . . . . . : 01

Access Path Description

Access path . . . . . . . . . . . . . . . . . : Arrival



FIGURE 3
COMMANDE DSPDBR SUR EMPPF



8/07/99 Display Data Base Relations

DSPDBR Command Input

File . . . . . . . . . . . . . . . . . . . . : FILE EMPPF

Library . . . . . . . . . . . . . . . . . . : *LIBL

Member . . . . . . . . . . . . . . . . . . . : MBR *NONE

Record format . . . . . . . . . . . . . . . . : RCDFMT *NONE

Output . . . . . . . . . . . . . . . . . . . : OUTPUT *

Specifications

Type of file . . . . . . . . . . . . . . . . : Physi-cal

File . . . . . . . . . . . . . . . . . . . . : EMPPF

Library . . . . . . . . . . . . . . . . . . : JSU-THERL

Member . . . . . . . . . . . . . . . . . . : *NONE

Record format . . . . . . . . . . . . . . . : *NONE

Number of dependent files . . . . . . . . . : 2

Files Dependent On Specified File

Dependent File Library Dependency JREF

Constraint

EMPLF1 JSUTHERL Data

EMPLF2 JSUTHERL Data



FIGURE 4 COMMANDE
DSPFD SUR EMPLF1



8/07/99 Display File Description

DSPFD Command Input

File . . . . . . . . . . . . . . . . . . . . : FILE EMPLF1

Library . . . . . . . . . . . . . . . . . : *LIBL

Type of information . . . . . . . . . . . . : TYPE *ACCPTH

File attributes . . . . . . . . . . . . . . : FILEATR *ALL

System . . . . . . . . . . . . . . . . . . : SYSTEM *LCL

File Description Header

File . . . . . . . . . . . . . . . . . . . : FILE EMPLF1

Library . . . . . . . . . . . . . . . . . . : JSUTHERL

Type of file . . . . . . . . . . . . . . . : Logical

File type . . . . . . . . . . . . . . . . . : FILETYPE *DATA

Auxiliary storage pool ID . . . . . . . . . : 01

Access Path Description

Access path maintenance . . . . . . . . . . : MAINT *IMMED

Unique key values required . . . . . . . . : UNIQUE No

Key order . . . . . . . . . . . . . . . . . : Not specified

Select/omit specified . . . . . . . . . . . : No

Access path journaled . . . . . . . . . . . : No

Access path . . . . . . . . . . . . . . . . : Keyed

Number of key fields . . . . . . . . . . . : 3

Record format . . . . . . . . . . . . . . . :
EMPPFR

Key field . . . . . . . . . . . . . . . . . : DEPT

Sequence . . . . . . . . . . . . . . . . : Ascending

Sign specified . . . . . . . . . . . . . : UNSIGNED

Zone/digit specified . . . . . . . . . . : *NONE

Alternative collating sequence . . . . . : No

Key field . . . . . . . . . . . . . . . . . : LNAME

Sequence . . . . . . . . . . . . . . . . : Ascending

Sign specified . . . . . . .
. . . . . . : UNSIGNED

Zone/digit specified . . . . . . . . . . : *NONE

Alternative collating sequence . . . . . : No

Key field . . . . . . . . . . . . . . . . . : FNAME

Sequence . . . . . . . . . . . . . . . . : Ascending

Sign specified . . . . . . . . . . . . . : UNSIGNED

Zone/digit specified . . . . . . . . . . : *NONE

Alternative collating sequence . . . . . : No

Files accessed by logical file PFILE

File Library LF Format

EMPPF JSUTHERL EMPPFR



FIGURE 5
CARTE F POUR NOTRE EXEMPLE DE PROGRAMME RPG




….+….1….+….2….+….3….+….4….+….5….+….6….+….7.

FFilenameIPEAF……..L..I……..Device+……KExit++Entry+A….U

FEMPLF1 IF E K DISK



FIGURE 6
PREMIER EXEMPLE DE BOUCLE READE




….+….1….+….2….+….3….+….4….+….5….+….6….+….7.

CL0N01N02N03Factor1+++OpcdeFactor2+++ResultLenDHHiLoEqComments++++

1 C MOVEL’SALES’ DEPT

2 C DEPT SETLLEMPPFR 80 ON IF THERE

3 C *IN80 IFEQ *ON

4 C DEPT READEEMPPFR 81

5 C *IN81 DOWEQ*OFF

6 C EXCPTDETAIL

7 C DEPT READEEMPPFR 81

8 C ENDDO

9 C ENDIF



FIGURE 7
SECOND EXEMPLE DE BOUCLE READE




….+….1….+….2….+….3….+….4….+….5….+….6….+….7.

CL0N01N02N03Factor1+++OpcdeFactor2+++ResultLenDHHiLoEqComments++++

1 C MOVEL’SALES’ DEPT

2 C DEPT SETLLEMPPFR 80 ON IF THERE

3 C *IN80 IFEQ *ON

4 C *IN81 DOUEQ*ON

5 C DEPT READEEMPPFR 81

6 C *IN81 IFEQ *OFF

7 C EXCPTDETAIL

8 C ENDIF

9 C ENDDO

10 C ENDIF


Téléchargez gratuitement cette ressource

Comment sécuriser la Digital Workplace ?

Comment sécuriser la Digital Workplace ?

Avec le recours généralisé au télétravail, les entreprises ont ouvert davantage leur SI. En dépit des précautions prises, elles ont mécaniquement élargi leur surface d’exposition aux risques. Découvrez 5 axes à ne pas négliger dans ce Top 5 Sécurité du Télétravail.

Tech - Par iTPro - Publié le 24 juin 2010