SYS : Convertir un fichier BD en CSV (2)

 

Suite de l'astuce, qui vous permet de faire la copie pour tous les fichiers d'une bibliothèque.

Cet exemple ne gère pas le multimembre.  

 

/*-------------------------------------------------*/
/* copie de tous les fichiers d'une bibliothèque   */
/*-------------------------------------------------*/
PGM  PARM(&LIB &REPERT)
DCL &LIB *CHAR 10
DCL &REPERT *CHAR 30
/* DECLARATION DU FICHIER MODEL DE QSYS */
/* VOIR FICHIER QA* DANS QSYS           */
DCLF QSYS/QAFDMBR
/* GENERATION DU FICHIER DE TRAVAIL */
             DSPFD      FILE(&LIB/*ALL) TYPE(*MBR) OUTPUT(*OUTFILE) +
                          FILEATR(*PF) OUTFILE(QTEMP/WAFDMBR)
/* SUBSTITUTION DE FICHIER SYSTEME PAR KE FICHIER DE TRAVAIL */
             OVRDBF     FILE(QAFDMBR) TOFILE(QTEMP/WAFDMBR) LVLCHK(*NO)
/* BOUCLE DE LECTURE                                         */
BOUCLE:
RCVF
/* TEST FIN DE FICHIER                                       */
MONMSG CPF0864 EXEC(GOTO SUITE)
/* hypthese nom de membre unique                             */
             IF         COND((&MBDTAT = 'D') *AND (&MBFILE = +
                          &MBNAME)) THEN(DO)
             SNDUSRMSG  MSG(&MBFILE *BCAT 'Copié') MSGTYPE(*INFO)
                          CALL CPYIFS (&MBFILE &MBLIB &REPERT)
                          ENDDO
                          GOTO BOUCLE
                          SUITE:
/* ARRET DE LA SUBSTITUTION */
DLTOVR QAFDMBR
MONMSG CPF0000
                          ENDPGM