//BCHJOB JOB(JBISCMD) JOBD(NERONI2/NERONI2) OUTQ(QPRINT) + ENDSEV(60) LOG(4 00 *SECLVL) MSGQ(*USRPRF) /* Open source scaricabile da www.neroni.it */ /* LA JOB DESCRIPTION "NERONI2/NERONI2" DEVE PREESISTERE. PUO' ESSERE */ /* IDENTICA A QBATCH E PUO' ESSERE SOSTITUITA DA QBATCH O SIMILE. */ /* From System: "S65D69DA" */ /* From Library: "NERONI2" */ /* Unload Time: 2015-06-16 17:02 */ /* To File : "JBISCMD" */ /* To Library : "NERONI2" */ /* To Text : "Bis Command. 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 "JBISCMD.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:\JBISCMD.txt" "/qsys.lib/NERONI2.lib/stringhe.file/JBISCMD.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(JBISCMD) 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/JBISCMD" */ /* FACENDO ATTENZIONE ALL'ORDINE DI ESECUZIONE INDICATO NEL */ /* MEMBRO FACOLTATIVO "A.LEGGIMI", AD ESEMPIO: */ /* SBMDBJOB FILE(NERONI2/JBISCMD) MBR(JBISCMD.) 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/JBISCMD) CRTSRCPF FILE(NERONI2/JBISCMD) RCDLEN(112) + TEXT('Bis Command. Src') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(JBISCMD) TOFILE(NERONI2/JBISCMD) + TOMBR(JBISCMD) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JBISCMD) MBR(JBISCMD) + SRCTYPE(CMD) + TEXT('Bis Command. Cmd') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(JBISCMD.) TOFILE(NERONI2/JBISCMD) + TOMBR(JBISCMD.) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JBISCMD) MBR(JBISCMD.) + SRCTYPE(CL) + TEXT('Bis Command. CrtJs') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(JBISCMDC) TOFILE(NERONI2/JBISCMD) + TOMBR(JBISCMDC) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JBISCMD) MBR(JBISCMDC) + SRCTYPE(CLLE) + TEXT('Bis Command. Cpp MANCA RADDOPPIO INDICI') /* Copia il sorgente dalla stringa al membro del file sorgente. */ /* Modifica testo e tipo seu del sorgente caricato. */ CPYF FROMFILE(JBISCMDP) TOFILE(NERONI2/JBISCMD) + TOMBR(JBISCMDP) MBROPT(*REPLACE) SRCOPT(*SEQNBR) CHGPFM FILE(NERONI2/JBISCMD) MBR(JBISCMDP) + SRCTYPE(PNLGRP) + TEXT('Bis Command. Help DA SCRIVERE') /*---------------------------------------------------------------------*/ //DATA FILE(JBISCMD) FILETYPE(*SRC) ENDCHAR('//ENDSRC') /* Bis Command. Cmd */ /* Claudio Neroni 15-10-2014 Creato. */ CMD PROMPT('Bis Command') PARM KWD(CMD1) TYPE(*CHAR) LEN(2000) MIN(1) + PROMPT('First Command string (?)') PARM KWD(CMD2) TYPE(*CHAR) LEN(2000) MIN(1) + PROMPT('Second Command String (?)') //ENDSRC /*---------------------------------------------------------------------*/ //DATA FILE(JBISCMD.) FILETYPE(*SRC) ENDCHAR('//ENDSRC') //BCHJOB JOB(JBISCMD.) JOBD(NERONI2/NERONI2) OUTQ(QPRINTS) + ENDSEV(60) LOG(4 00 *SECLVL) MSGQ(*USRPRF) /* Claudio Neroni 15-10-2014 Creato. */ /* JBISCMD */ /* Bis Command. */ /* Prerequisiti: nessuno */ /* Imposta la lista librerie. */ CHGLIBL LIBL(QTEMP QGPL) ADDLIBLE LIB(NERONI2) POSITION(*AFTER QTEMP) /* Cancella gli oggetti preesistenti. */ DLTCMD CMD(NERONI2/JBISCMD) DLTPNLGRP PNLGRP(NERONI2/JBISCMDP) DLTPGM PGM(NERONI2/JBISCMDC) /* Crea gli oggetti. */ CRTBNDCL PGM(NERONI2/JBISCMDC) SRCFILE(JBISCMD) TGTRLS(*CURRENT) + DBGVIEW(*ALL) CRTPNLGRP PNLGRP(NERONI2/JBISCMDP) SRCFILE(JBISCMD) CRTCMD CMD(NERONI2/JBISCMD) PGM(JBISCMDC) SRCFILE(JBISCMD) + HLPPNLGRP(JBISCMDP) HLPID(CMD) PRDLIB(NERONI2) //ENDBCHJOB //ENDSRC /*---------------------------------------------------------------------*/ //DATA FILE(JBISCMDC) FILETYPE(*SRC) ENDCHAR('//ENDSRC') /* Bis Command. Cpp */ /* Claudio Neroni 15-10-2014 Creato. */ /* Esegue i due comandi ricevuti in input. */ /* Nato per eseguire con un solo comando */ /* Lista Librerie e Creazione di oggetto. */ /* Risolve il problema di compilazione RDI */ /* che sottomette un solo comando. */ PGM PARM(&CMD1 &CMD2) /* Riceve Comando 1. */ DCL VAR(&CMD1) TYPE(*CHAR) LEN(2000) /* Riceve Comando 2. */ DCL VAR(&CMD2) TYPE(*CHAR) LEN(2000) DCL VAR(&C1) TYPE(*CHAR) LEN(1) DCL VAR(&C2) TYPE(*CHAR) LEN(1) CHGVAR VAR(&C1) VALUE(%SST(&CMD1 1 1)) CHGVAR VAR(&C2) VALUE(%SST(&CMD2 1 1)) IF COND((&C1 *EQ '?') *OR (&C2 *EQ '?')) THEN(DO) IF COND(&C1 *NE '?') THEN(CHGVAR VAR(&CMD1) + VALUE('?' *CAT &CMD1)) IF COND(&C2 *NE '?') THEN(CHGVAR VAR(&CMD2) + VALUE('?' *CAT &CMD2)) CALL PGM(QCMDCHK) PARM(&CMD1 2000) CALL PGM(QCMDCHK) PARM(&CMD2 2000) SNDPGMMSG MSG('JBISCMD CMD1(''' *CAT &CMD1 *TCAT ''') + CMD2(''' *CAT &CMD2 *TCAT ''')') + MSGTYPE(*RQS) RETURN ENDDO /* Logga il comando. */ SNDPGMMSG MSG(&CMD1) MSGTYPE(*RQS) /* Esegue il primo comando. */ CALL PGM(QCMDEXC) PARM(&CMD1 2000) MONMSG MSGID(CPF0000 MCH0000) /* Logga il comando. */ SNDPGMMSG MSG(&CMD2) MSGTYPE(*RQS) /* Esegue il secondo comando. */ CALL PGM(QCMDEXC) PARM(&CMD2 2000) MONMSG MSGID(CPF0000 MCH0000) ENDPGM //ENDSRC /*---------------------------------------------------------------------*/ //DATA FILE(JBISCMDP) FILETYPE(*SRC) ENDCHAR('//ENDSRC') :PNLGRP. .*--------------------------------------------------------------------- :HELP NAME=CMD. :H3.Comando JBISCMD :H2.Esegue i due comandi ricevuti in input. :P.Nato per eseguire con un solo comando Lista Librerie e Creazione di oggetto. :P.Risolve il problema di compilazione RDI che sottomette un solo comando. :EHELP. .*--------------------------------------------------------------------- :HELP name='CMD/liblcmd'. :H3.Library List Command string (LIBLCMD) :P.Stringa comando che sostituisce la lista librerie. :P.Valori permessi: :PARML. :PT.stringa-comando-eseguibile :PD.Il valore è obbligatorio. :P.Il parametro deve contenere un comando valido e formalmente eseguibile. :EPARML. :EHELP. .*--------------------------------------------------------------------- :HELP name='CMD/crtcmd'. :H3.Create Command string (CRTCMD) :P.Stringa comando che crea l'oggetto. :P.Valori permessi: :PARML. :PT.stringa-comando-eseguibile :PD.Il valore è obbligatorio. :P.Il parametro deve contenere un comando valido e formalmente eseguibile. :EPARML. :EHELP. .*--------------------------------------------------------------------- :EPNLGRP. //ENDSRC //ENDBCHJOB