> Tech > Autre possibilité

Autre possibilité

Tech - Par Renaud ROSSET - 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 cette ressource

Guide de Sécurité IA et IoT

Guide de Sécurité IA et IoT

Compte tenu de l'ampleur des changements que l'IA est susceptible d'entraîner, les organisations doivent élaborer une stratégie pour se préparer à adopter et à sécuriser l'IA. Découvrez dans ce Livre blanc Kaspersky quatre stratégies efficaces pour sécuriser l'IA et l'IoT.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010