//BCHJOB JOB(JDBG) JOBD(QBATCH) OUTQ(QPRINT) ENDSEV(60) + LOG(4 00 *SECLVL) MSGQ(*USRPRF) /* Open source scaricabile da www.neroni.it di Claudio Neroni */ /* SE L'USO DELLA JOB DESCRIPTION "QBATCH" TI E' IMPEDITO, */ /* UTILIZZANE UNA DIVERSA. */ /* From System: "IUBICSVI" */ /* From Library: "UTI" */ /* Unload Time: 2009-02-09 16:08 */ /* To File : "JDBG" */ /* To Library : "NERONI2" */ /* To Text : "Debug. Src" */ /********* INIZIO ISTRUZIONI *******************************************/ /* LE SUCCESSIVE ISTRUZIONI PERMETTONO DI RICARICARE I SORGENTI. */ /* 1) DA UN VIDEO COMANDI DELL'AS400 RICEVENTE */ /* CREARE UN FILE SORGENTE DI LUNGHEZZA RECORD 112: */ /* CRTSRCPF FILE(NERONI2/STRINGHE) RCDLEN(112) */ /* 2) SPOSTARE IL FILE "JDBG.txt" NELL'INDIRIZZARIO */ /* DI UN PC CONNESSO IN RETE CON L'AS400 RICEVENTE */ /* (AD ES.: "c:\"). */ /* 3) DAL VIDEO COMANDI DEL PC CHIAMARE FTP: */ /* ftp nomeas400 */ /* 4) DIGITARE UTENTE E PASSWORD. */ /* 5) ESEGUIRE IL COMANDO DI COPIA DA FILE PC A MEMBRO AS400: */ /* put "c:\JDBG.txt" "/qsys.lib/NERONI2.lib/stringhe.file/JDBG.mbr" */ /* 6) ABBANDONARE FTP: */ /* quit */ /* 7) DA UN VIDEO COMANDI DELL'AS400 RICEVENTE */ /* ESEGUIRE LA STRINGA COPIATA NEL MEMBRO SORGENTE: */ /* SBMDBJOB FILE(NERONI2/STRINGHE) MBR(JDBG) JOBQ(QBATCH) */ /* LE SUCCESSIVE ISTRUZIONI PERMETTONO DI CREARE L'UTILITY. */ /* 8) DA UN VIDEO COMANDI DELL'AS400 RICEVENTE */ /* ESEGUIRE LA STRINGA O LE STRINGHE SORGENTE DI TIPO SEU "CL" */ /* (IL CUI NOME TERMINA SEMPRE CON ".") */ /* PRESENTI NEL FILE RICARICATO "NERONI2/JDBG" */ /* FACENDO ATTENZIONE ALL'ORDINE DI ESECUZIONE INDICATO NEL */ /* MEMBRO FACOLTATIVO "A.LEGGIMI", AD ESEMPIO: */ /* SBMDBJOB FILE(NERONI2/JDBG) MBR(JDBG.) JOBQ(QBATCH) */ /********* FINE ISTRUZIONI *********************************************/ /* Crea la libreria. */ MKDIR DIR('/qsys.lib/NERONI2.lib') CHGLIB LIB(NERONI2) TEXT('Utility di Claudio Neroni') /* Imposta la lista librerie. */ CHGLIBL LIBL(QTEMP NERONI2 QGPL) /* Crea il file sorgente. */ DLTF FILE(NERONI2/JDBG) CRTSRCPF FILE(NERONI2/JDBG) RCDLEN(112) + TEXT('Debug. Src') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(JDBG) TOFILE(NERONI2/JDBG) + TOMBR(JDBG) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JDBG) MBR(JDBG) + SRCTYPE(CMD) + TEXT('Debug. Cmd') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(JDBG.) TOFILE(NERONI2/JDBG) + TOMBR(JDBG.) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JDBG) MBR(JDBG.) + SRCTYPE(CL) + TEXT('Debug. CrtJs') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(JDBGC) TOFILE(NERONI2/JDBG) + TOMBR(JDBGC) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JDBG) MBR(JDBGC) + SRCTYPE(CLLE) + TEXT('Debug. Cpp') /*---------------------------------------------------------------------*/ //DATA FILE(JDBG) FILETYPE(*SRC) ENDCHAR('//ENDSRC') CMD PROMPT('Set Width of Debug Display') PARM KWD(WIDTH) TYPE(*CHAR) LEN(3) RSTD(*YES) + DFT(132) VALUES(132 80) PROMPT('Width of + Debug Display') //ENDSRC /*---------------------------------------------------------------------*/ //DATA FILE(JDBG.) FILETYPE(*SRC) ENDCHAR('//ENDSRC') //BCHJOB JOB(JDBG.) JOBD(QBATCH) OUTQ(QPRINTS) ENDSEV(60) LOG(4 00 + *SECLVL) MSGQ(*USRPRF) /* Claudio Neroni 09-02-2009 Creato. */ /* JDBG */ /* Debug. */ /* Prerequisiti: nessuno */ /* Imposta la lista librerie. */ CHGLIBL LIBL(QTEMP QGPL) ADDLIBLE LIB(NERONI2) POSITION(*AFTER QTEMP) /* Cancella gli oggetti preesistenti. */ DLTCMD CMD(NERONI2/JDBG) DLTPGM PGM(NERONI2/JDBGC) /* Crea gli oggetti. */ CRTBNDCL PGM(NERONI2/JDBGC) SRCFILE(JDBG) DBGVIEW(*ALL) CRTCMD CMD(NERONI2/JDBG) PGM(JDBGC) SRCFILE(JDBG) PRDLIB(NERONI2) //ENDBCHJOB //ENDSRC /*---------------------------------------------------------------------*/ //DATA FILE(JDBGC) FILETYPE(*SRC) ENDCHAR('//ENDSRC') /* http://cs.senecac.on.ca/~tmckenna/RPG544/STRDBG.html */ PGM PARM(&WIDTH) DCL VAR(&WIDTH) TYPE(*CHAR) LEN(3) IF COND(&WIDTH *EQ '132') THEN(DO) ADDENVVAR ENVVAR(ILE_DEBUGGER_1) + VALUE(ALLOW_WIDE_SCREEN) LEVEL(*JOB) + REPLACE(*YES) ENDDO IF COND(&WIDTH *NE '132') THEN(DO) RMVENVVAR ENVVAR(ILE_DEBUGGER_1) LEVEL(*JOB) MONMSG MSGID(CPF0000 MCH0000) ENDDO ENDPGM //ENDSRC //ENDBCHJOB