PGM PARM(&LIB)
DCL &LIB *CHAR 10
DCL &CODE *DEC (5 0)
DCL &CODC *CHAR 5
DCL &ERRLEN *DEC (5 0)
DCL &ERRTXT *CHAR 70
DCL &MSGTXT *CHAR 70
DCL &ID *CHAR 7
DCL &DTA *CHAR 128
CHKOBJ OBJ(QSYS/&LIB) OBJTYPE(*LIB) AUT(*ALL)
MONMSG CPF0000 EXEC(DO)
SNDPGMMSG MSGID(&ID) MSGF(QCPFMSG) MSGDTA(&DTA) +
MSGTYPE(*ESCAPE)
RETURN
ENDDO
CALL PGM(CRTDROPDB) PARM('D' &LIB &CODE &ERRLEN +
&ERRTXT)
IF (&CODE *GE 0) DO
IF (&CODE *GT 0) DO
CHGVAR VAR(&CODC) VALUE(&CODE)
CHGVAR VAR(&MSGTXT) VALUE(%SST(&ERRTXT 1 &ERRLEN))
SNDPGMMSG MSGID('SQL' *CAT %SST(&CODC 2 4)) +
MSGF(QSQLMSG) MSGDTA(&MSGTXT) MSGTYPE(*DIAG)
ENDDO
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) +
MSGDTA('Bibliotheque SQL ' *CAT &LIB *BCAT +
'détruite') MSGTYPE(*COMP)
ENDDO
ELSE DO
CHGVAR VAR(&CODC) VALUE(&CODE)
CHGVAR VAR(&MSGTXT) VALUE(%SST(&ERRTXT 1 &ERRLEN))
SNDPGMMSG MSGID('SQL' *CAT %SST(&CODC 2 4)) +
MSGF(QSQLMSG) MSGDTA(&MSGTXT) MSGTYPE(*DIAG)
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) +
MSGDTA('Bibliotheque ' *CAT &LIB *BCAT 'non +
détruite suite à CODE SQL :' *BCAT &CODC) +
MSGTYPE(*ESCAPE)
ENDDO
ENDPGM
|