Archive for the ‘AS400 - iSeries - System i -IBM i’ Category.
29th Marzo 2008, 04:07 pm
Come abbiamo detto, l'utente di collegamento da utililizzare con il comando STRSST (Start System Service Tools) e DST (Dedicated System Tools) è QSECOFR, ma la sua password può essere differente da quella del normale utente QSECOFR. Se non si conosce tale password, è possibile, collegandosi come normale QSECOFR, ripristinarla al valore di default tramite il comando: CHGDSTPWD *DEFAULT.
Continue reading ‘Utenti e password per STRSST e DST’ »
29th Marzo 2008, 03:47 pm
Per verificare il corretto funzionamento di un'unità nastro o CD su AS400 (iSeries) procedere come segue:
- Digitare STRSST da una sessione 5250.
- Immettere come utente QSECOFR (in maiuscolo) e la password (sensibile a maiuscono/minuscolo) di tale utente relativa a SST (attenzione: può essere differente da quella del normale utente QSECOFR. A questo proposito vedi il prossimo post
).
- 1. Avvio di un programma di manutenzione
- 7. Programma di manutenzione hardware
- 2. Risorse logiche hardware
- 1. Risorse bus di sistema
- Cercare la voce "IOP funzione combinat" ed espanderla con la funzione "9=Risorse associate all'IOP"
- Cercare l'unità nastro o CD e, dopo aver inserito la cassetta od il CD di test, fornito con l'AS400, utilizzare l'opzione "7=Verifica"
9th Marzo 2008, 04:55 pm
E’ possibile richiamare un qualsiasi programma AS400 da una connessione JDBC utilizzando lo statement SQL CALL. Questo non solo dal Toolbox for Java, ma, teoricamente, da una qualsiasi connessione ODBC/JDBC.
Se non si devono ricevere dei parametri di ritorno dal programma, non è necessario creare anticipatamente una definizione di Stored procedure, altrimenti occorre prima definire la procedura con lo statement SQL CREATE PROCEDURE.
Continue reading ‘Come richiamare un programma AS400 da Java o Access’ »
5th Marzo 2008, 06:37 pm
In un precedente post ho parlato della configurazione di ANT su AS400. Manca ora l'indicazione di come richamare ANT (ma la cosa vale per un qualsiasi script QSH) dall'interno di un programma CL.
Il comando QSH (o QSH) se invocato senza parametri apre una sessione QSH interattiva. Come abbiamo visto l'ambiente di tale sessione viene inizializzato tramite il file /etc/profile, da un eventualmente file .profile presente nella home dell'utente e dal file indicato nella variabile di ambiente ENV.
A QSH possiamo passare anche un comando da eseguire. In questo caso, però, gli script di inizializzazione vengono ignorati, ad eccezione di quello indicato nella variabile ENV. Per far funzionare il tutto dobbiamo quindi scrivere in un CL:
ADDENVVAR ENVVAR(ENV) VALUE('/etc/profile') REPLACE(*YES)
QSH ('cd /my/dir/with/build; ant')
29th Febbraio 2008, 11:51 pm
L'IBM Toolbox for Java è una libreria di classi utili al collegamento a sistemi AS400.
Esso è un programma su licenza gratuito, che viene installato nell'IFS di AS400 alla posizione
/QIBM/ProdData/HTTP/Public/jt400/lib/jt400.jar
Viene anche distribuito con iSeries Access (Client Access) e non richiede licenza per il suo utilizzo.
L'installazione di default avviene nel percorso:
C:\Programmi\IBM\Client Access\jt400\lib\jt400.jar
Esite anche una versione open source del Toolbox, detta JTOpen.
Il pacchetto sicuramente più sfruttato del toolbox è il driver JDBC per il collegamento con AS400. Non tutti sanno che se si desidera utilizzare solo tale funzionalità è possibile ridurre la dimensione del file jar estraendo solo le classi necessarie. Il comando da utilizzare sarà simile al il seguente:
java -cp jt400.jar utilities.AS400ToolboxJarMaker -component JDBC -ccsid 1144
In questo caso estraiamo le classi necessarie al dirver JDBC per la code-page italiana (1144).
17th Febbraio 2008, 10:55 pm
Su AS400 è possibile effettuare il controllo di ogni connessione ODBC/JDBC tramite l'uso di Exit Programs che possono essere mandati in esecuzione:
1) Al collegamento di ogni client; (Punto di uscita QIBM_QZDA_INIT)
2) Prima dell’esecuzione di ogni statement SQL. (Punto di uscita QIBM_QZDA_SQL1)
Tali programmi, gestiti con il comando WRKREGINF, ricevono in ingresso i dati della richiesta (profilo utente, statement SQL...) e restituiscono un flag che indica se accettarla.
Vediamo un semplice programma CL per il controllo del collegamento:
PGM PARM(&STATUS &REQUEST)
/* Flag di accettazione/rifiuto richiesta */
DCL VAR(&STATUS) TYPE(*CHAR) LEN(1)
/* Parametro di ingresso contenente anche il nome utente */
DCL VAR(&REQUEST) TYPE(*CHAR) LEN(2000)
DCL VAR(&UTENTE) TYPE(*CHAR) LEN(10)
/* Di default rifiuto tutte le connessioni */
CHGVAR VAR(&STATUS) VALUE('0')
/* Recupero nome utente */
CHGVAR VAR(&UTENTE) VALUE(%SST(&REQUEST 1 10))
/* Abilito solo le connessioni di FRANCO */
IF COND(&UTENTE *EQ 'FRANCO') THEN(CHGVAR +
VAR(&STATUS) VALUE('1'))
ENDPGM
Per attivare il programma si utilizzi il comando
ADDEXITPGM EXITPNT(QIBM_QZDA_INIT) FORMAT(ZDAI0100) PGMNBR(1) PGM(LIB/PGM)
che avrà effetto al riavvio di tutti i programmi QZDASOINIT (programmi sever che gestiscono le chiamate ODBC/JDBC).
14th Febbraio 2008, 07:01 pm
Mi sono trovato a dover usare ANT su AS400 tramite QShell. Per poter far funzionare questo strumento in modo corretto, dopo aver copiato il contenuto di una installazione standard di ANT in una qualsiasi cartella dell'Integrated File System di AS400 (nel nostro esempio /pippo/ant), è necessario immettere qualche piccola configurazione nel file /ect/profile.
E' possibile modificare o creare ex novo tale file ad esempio tramite il comando EDTF '/etc/profile', impostandolo quindi in un modo simile al seguente:
#Modificare l'impostazione seguente con la versione voluta di JDK
export JAVA_HOME=/QIBM/ProdData/Java400/jdk14
export ANT_HOME=/pippo/ant
export PATH=:$ANT_HOME/bin:$PATH
#Non c'entra con ANT, ma diamo un aspetto migliore al promt QSH
PS1='$PWD'\>
26th Gennaio 2008, 10:18 am
Lo strumento QSH (QShell interpreter) su AS400 ha enormi possibilità.
Per esempio ecco un comando per generare una stampa contenente l'elenco degli oggetti in una libreria ordinati per dimensione:
QSH CMD('ls -al /qsys.lib/NOMELIBRERIA.lib | grep .FILE | sort +4 -r | RFile -wQ QSYSPRT')