
|
Frtvmbrlibdcf e workstn
*=====================================
*= retrouve la bibliothèque du
*= fichier contenant un membre précis.
*=
*= on donne le nom du fichier
*= le nom du membre sur un écran.
*=
*= le programme principale qui gère l'écran
*= utilise une fonction qui masque
*= l'appel à l'API QUSMBRD.
*=====================================
* définition de la procédure
DRTVMBRLIBF PR 10
D FICHIER 10 CONST
D MEMBRE 10 CONST
*
* données globales
Dfichier S 10 INZ('QCLSRC')
Dmembre S 10 INZ('QSTRUP')
Dbibliotheq S 10 INZ('QSTRUP')
 
* pgm principal
*
c exfmt win
c dow not *in03
C eval bibliotheq = rtvmbrlibf(fichier : membre)
c if bibliotheq <> *blank
C eval bib = 'Bibliothèque ' + bibliotheq
c else
C eval bib = 'Membre non trouvé'
c endif
c exfmt win
c enddo
 
C eval *inlr = *on
* procédure
* (peut être utilisée par d'autres pgms)
P rtvmbrlibf B EXPORT
* Définition de l'Interface de procédure (PI)
* doit être conforme avec le prototype.
D PI 10
D objet 10 CONST
D membre 10 CONST
|
 
* définitions locales
DQUSRMBRD PR EXTPGM('QUSRMBRD')
D rcvvar 28 options(*varsize)
D rcvvarlg 10I 0 const
D format 8 const
D objlib 20 const
D membre 10 const
D ovr 1 const
D errcode 8 const
D libl 1 const
 
* variables locales
Drcvvar DS
D filler 18
D biblio 10
Derrds DS
D error 5I 0 inz(%size(errds))
D suite 5I 0 inz(0)
 
 
 
* traitement
*
* appel de l'API QUSMBRD (information sur un membreà) en format libre
*
* paramètres: 1/ variable en retour
* 2/ lg de 1/
* 3/ format (structure) MBRD0100
* 4/ objet - blibliothèque
* 5/ membre
* 6/ tenir compte des OVRDBF ?
* 7/ code erreur en retour
* cette API a un nouveau paramètre (le 8/ et dernier)
*
* '0' on recherche le membre dans le premier fichier de *LIBL
* '1' on recherche dans *LIBL tous les fichiers du nom indiqué
* jusqu'à ce que l'on trouve le membre. (éventuellement)
*
C CALLP QUSRMBRD(rcvvar : %size(rcvvar) :
C 'MBRD0100' : objet + '*LIBL' : membre :
C '0' : errds : '1')
C RETURN biblio
P rtvmbrlibf E
|