*
* ce pgm appel DSPLIBLC (rtvlibl) qui lui retourne un tableau
* contenant *LIBL (partie système puis utilisateur)
* Il doit la retourner sous forme d'une DS à occurence.
*
DDSlibl ds occurs(265)
D unebib 10
DUSRlibl ds
d tblibl 11 dim(265)
 
D i S 5I 0
D R S 5I 0
 
Drtvlibl PR EXTPROC('DSPLIBLC')
D 2750
 
/free
rtvlibl(USRLIBL);
 
for i=1 to 265;
if tblibl(i) = *blanks and i > 15; // on est dans USRLIBL
leave;
// chargement d'une occurence avec un poste du tableau
else;
if tblibl(i) <> *blanks;
R = R + 1;
%occur(DSlibl) = R;
unebib = tblibl(i);
endif;
endif;
endfor;
/end-free
 
* renvoi de la DS en tant que "pseudo-curseur" au client(VB, JAVA ...)
 
C/EXEC SQL
C+ SET RESULT SETS ARRAY :DSLIBL FOR :R ROWS
C/END-EXEC
 
/free
return;
/end-free
|