Inviare Mail da AS400

Ho scritto una estensione per AS400 alla classe che invia le mail. Con questa si possono spedire mail da CLP/AS400. Come prerequisito bisogna avere installato su AS400 java a 32bit (5722-JV1 opzione 11) che ibm rilascia gratuitamente. Per usarlo:

  • Controllare di aver installato il prodotto su licenza 5722-jv1 opzione 11 (go licpgm–>10) se non c’è richiederlo a IBM è gratuito!
  • scaricare il software da qui [wpdm_file id=2]
  • Scompattare lo zip
  • restorare la libreria sputifazio
  • Aprire il file SendMail.ini nella cartella sputifazio/project/SendMail/conf
  • Inserire i parametri del mail server da usare per la spedizione
  • copiare la cartella nella root dell’ifs
  • Aggiungere nella lista librerie la libreria sputifazio (addlible sputifazio *last)
  • lanciare il comando §SENDMAIL
  • Se come corpo della mail volete un file di testo va posizionato nella cartella conf (vicino al file .ini)

se non riuscite a spedire potete impostare nel file Sendmail.ini l’opzione DEBUG = true in fase di invio troverete dettagli sulla negoziazione dei parametri con il server smtp.

Versione 1.1:

  • ora il copia conoscenza nascosta funziona.
  • Ho inserito anche la possibilità di prendere il corpo della mail da un file di testo che deve essere posizionato nella cartella conf (vicino al file .ini) e gestibile dal comando AS400.

NOTA: Per quanto riguarda la lunghezza del corpo è un limite dalla JVM di as400 che accetta parametri con lunghezza limitata.

 

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Debug RPG ILE

Per mettere sotto debug programmi RPG ILE in AS400 bisogna:

  • Compilare il programma con l’opzione DBGVIEW = *SOURCE
  • STRDBG PGM(libreria/programma) UPDPROD(*YES) OPMSRC(*YES)
  • Definire con F6 Il punto di arresto
  • Lanciare il programma, durante l’esecuzione si fermerà nel punto definito.

 

VN:F [1.9.22_1171]
Rating: 5.5/10 (2 votes cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

Condividere una cartella condivisa da AS400

Volevo appuntarmi questi comandi per condividere una porzione diIFS (Integrated File System) si AS400 da riga comando. Si può fare facilmente da iSeries Navigator:

  • iSeries Navigator > File Systems > Integrated File System
  • Tasto Destro Condivisione
  • Condivisione

Ma se come me non avete installato la parte di iSeries Access che serve e siete in remoto e non avete il setup in locale allora potete condividere da riga comando:

  • Creare la cartella con: MKDIR DIR(‘/miacartella’)
  • Condividerla con: CALL QZLSADFS PARM(miacartella ‘/nomeinrete’ x’00000010′ x’00000000′   ‘descrizione share’ x’00000002′ x’ffffffff’ x’00000000′)
  • Per terminare la condivisione: CALL QZLSRMS PARM(sputifazio x’00000000′)

Qui c’è una miniguida completa dei dettagli dei parametri di queste api.

VN:F [1.9.22_1171]
Rating: 8.0/10 (2 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Tool integrazione AS400/Office/PDF

Con piacere rendo pubblico il mio ultimo lavoro. Ho perfezionato una suite di comandi che permettono l’intgrazione tra AS400 e il mondo Office. In dettaglio cosa faccio:

  • Apertura interattiva da sessione 5250 di file di Database nativi in excel/openoffice. E’ possibile aprirli manualmente da riga comando/menu o da CLP.
  • Apertura interattiva da sessione 5250 di documenti .DOC .TXT .PDF da riga comando o da CLP
  • Apertura interattiva da sessione 5250 di file di spool generati nativamente da AS400 in un formato pdf con l’aggiunta di una intestazione con logo, piede e titolo personalizzabile al momento del lancio.
  • Importazione da riga comando o da CLP di file di excel (XLS) in tabelle native AS400
  • Esecuzione di report grafici (bolle/Fatture/stampe varie) da riga comando o da CLP visualizzabili interattivamente con i comandi precedenti.
  • Invio di mail da riga comando o da CLP di quanto precedentemente creato.

Il mio tool cosa fa in dettaglio:

Apertura interattiva da sessione 5250 di file di Database nativi in excel/openoffice.

Richiamando il comando §OPNXLS digito il nome file e la libreria mi apre il file excel nativo con l’intestazione delle colonne descrittiva e non con il nome del campo. Il file excel è in formato nativo quindi posso salvarlo o inviarlo o elaborarlo ulteriormente.

Apertura interattiva da sessione 5250 di documenti .DOC .TXT .PDF da riga comando o da CLP

Lanciando il comando §OPNDOC si apre interattivamente un documento di tipo PC (DOC, TXT, PDF o altro), se il documento non esiste viene creato da un template ed è quindi salvabile o elaborabile uleriormente. Faccio notare che tramite il percorso /QNTC posso aprire documenti residenti su una cartella di un server di rete che non è AS400!

Apertura Interattiva di spool nativi AS400 in pdf con l’inserimento di una testata con il titolo personalizzabile e un piede

Avendo uno spool nativo si può lanciare il comando §OPNPRTcon i dati dello spool da aprire

si ottiene:

Creazione ed apertura interattiva di report grafici ad hoc tipo Bolle fatture etichette liste varie

Il comando §RUNJASPER apre un report xml precedentemente creato con ireport successivamente salvato nell’ifs nella cartella conf:

si ottiene un report personalizzato a piacere con i dati riempiti a runtime da una istruzione SQL (select * from libreria/miofile). Questo file può anche essere un file precedentemente elborato da programmi rpg, il report estrarrà solo i record che hanno la chiave univoca (tipicamente il numero del lavoro).

Cosa c’è sotto?

Ho creato una serie di comandi che chiamano del codice RPG/ILE CLP e Java, il tutto è residente in modo nativo su iSeries senza appoggio di server esterni. Ecco i Comandi:

nell’ integrated file system c’è del codice java:

visto da AS400

Prerequisiti:

– il prodotto su licenza 5722-JV1 opzione 11 , è il supporto java a 32 bit che ibm rilascia gratuitamente.

– iSeries Access come l’emulatore 5250 per aprire interattivamente i documenti office generati (con altri emulatori posso generare i documenti lo stesso ma non aprirli interattivamente).

– Il tool del grande G.B. Perotti che ho esteso e adattato. Potete trovarlo al sito www.easy400.net

– Per inviare via mail i docuenti generati ho usato il mio tool che trovate qui

– iReport designer per disegnare i report grafici, questo tool è gratuito e scaricabile dal sito http://community.jaspersoft.com/project/ireport-designer

– un minimo di praticità con Cartelle di rete, comandi sql e rpg.

Se siete interessati a usarlo o a farlo usare a vostri clienti rivendendo come valore aggiunto l’inegrazione con gli ERP esistenti contattatemi.

 

 

VN:F [1.9.22_1171]
Rating: 10.0/10 (2 votes cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

AS400 Aprire da un CLP un file che risiede in rete

Allego un pezzo di codice (CLP) che serve per accedere ad un file che risiede su una cartella condivisa su una macchina in rete (windows o samba):

DCL        VAR(&PATH_AS) TYPE(*CHAR) LEN(512) VALUE(‘ ‘)
DCL        VAR(&PATH_PC) TYPE(*CHAR) LEN(512) VALUE(‘ ‘)
DCL        VAR(&LIB) TYPE(*CHAR) LEN(10) VALUE(‘<LIBRERIA_DATI>’)
MD DIR(‘/QNTC/<IP_MACCHINA_IN_RETE>’)
MONMSG MSGID(CPF0000)
CHGVAR     VAR(&PATH_PC) VALUE(‘/QNTC/<IP_MACCHINA_IN_RETE>/<NOME_SHARE>’)
CHGVAR     VAR(&PATH_AS) VALUE(‘/QSYS.LIB/’ *TCAT <LIBRERIA_DATI> *TCAT ‘.LIB/<NOMEFILEAS>.FILE/<NOMEFILEAS>.MBR’)
CPYTOSTMF  FROMMBR(&PATH_AS) TOSTMF(&PATH_PC) STMFOPT(*REPLACE) STMFCODPAG(*PCASCII)

A questo punto nella libreria <LIBRERIA_DATI> troveremo un file che si chiama <NOMEFILEAS> leggibile da qualunque programma nativo AS400.

Attenzione:

1) Il file in rete deve essere di tipo testo, se è un doc xls, odf o altro necessita di una conversione

2) le credenziali per accedere alla macchina in rete sono user e paassword dell’utente del lavoro attivo su AS400.

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Spegnere la luce di attenzione operatore su AS400

Capita che si accende la famosa luce arancione per motivi futili come per esempio se si scollega la console, oppure dopo un guasto più serio ma la lucina rimane accessa. Per spegnerla bisogna:

  • Loggarsi come QSECOFR
  • STRSST
  • Digitare 1 –> Start a service tool / Avvio di un programma di manutenzione
  • Digitare 7 –> Selezionare Hardware Service manager / Programma di manutenzione hardware
  • Digitare 6 –> Selezionare Work with service action log / Gestione delle registrazioni
    delle azioni di assistenza
  • Impostare le date per selezionare le registrazioni da selezionare
  • Controllare che gli errori siano EFFETTIVAMENTE TUTTI corretti
  • Premere F6 = Acknowledge All Errors / Ricezione di tutti gli errori
  • Rimuovere tutti gli errori presenti , uno alla volta, utilizzando l’opzione 8 di Close (Chiusura) e poi 9 di Delete (Cancellazione). Se non ci sono errori nella pagina ma è presente la funzione F6 fare comunque l’acknowledge per spegnere la luce.
  • Se richiesto premere F10=Conferma
  • Controllare se la luce ora è spenta
VN:F [1.9.22_1171]
Rating: 9.0/10 (5 votes cast)
VN:F [1.9.22_1171]
Rating: +5 (from 5 votes)

Emulatore AS400 per mac

Due dritte per risparmiare un po’ di tempo per configurare al meglio TN5250j su mac:

– Scaricare l’emulatore da qui.

-Espandere la cartella in Applicazioni/tn5250j (o dove volete) sul mac

– Provare L’applicazione da Terminale–> “cd /Applications/tn5250j” e poi “java -jar tn5250j.jar”

– Per creare il link: Lanciare Automator e scegliere applicazione poi esegui applescript

– incollare questo codice:
tell application “Terminal”
activate
do script “cd /Applications/tn5250j/; java -jar tn5250j.jar”
end tell
– Registra con nome –>AS400 –> Tipo Applicazione (allego il mio già pronto AS400.app )

– Se volete aggiungetela al doc.

– Dall’emulatore con tasto destro mappare i tasti corretti.

– Probabilmente per utilizzare al meglio i tasti F1-F24 sarà comodo impostare da preferenze di sistema –> tastiera “Utilizza i tasti F1, F2 come tasti di funzione standard”

VN:F [1.9.22_1171]
Rating: 8.3/10 (4 votes cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

Stampe grafiche gratis su AS400 (e non solo)

Chiunque ha lavorato su AS400 sa che la reportistica non è il massimo. O si usano i printer file o ci si appoggia a prodotti esterni che attingono i dati dalle stampe prodotte o da archivi appositamente prodotti. Fino ad ora ho trovato sltanto prodotti che oltre ad avere dei costi hanno una certa complessità e necessitano spesso e volentieri di server esterni. Ho implementato in azienda un sistema molto pulito ed efficente basato su Jasper Report / iReport. A chi non conosce questi prodotti suggerisco di perderci un po’ di tempo per un eventuale utilizzo ma anche per prendere atto di come si possano sviluppare applicazioni pulite ed intelligenti. Tecnicamente si creano dei file xml contenenti il report da generare usando ireport, un tool grafico che permette di disegnare tipo word o openoffice, e poi si usano con delle classi java opensource fornite da jasper che eseguono un una queri su un database e fanno un merge dei dati ottenuti con la grafica creata con iReport ottenento pdf, word excel html xml. A lavoro ultmato si avrà una classettina java che istanzia jasper un xml con la definizione del’output voluto e basta. Come sapete la classe java è richiamabile tranquillamente da un menu, quindi rieplogando a lavoro ultimato avremo:
Un xml e una classe java che metteremo nell’if del nostro as400. Un CLP che lancia la nostra classe (che crea per esempio un pdf) e che prende questo file generato e lo apre lo spedisce lo archivia etc. il tutto in modo semplice e a costo zero.
Alcuni riferimenti:
http://jasperforge.org/projects/ireport
http://jasperforge.org/index.php?q=project/jasperreports

VN:F [1.9.22_1171]
Rating: 10.0/10 (3 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 2 votes)

Utilizzo i cookie per essere sicuro che tu possa avere la migliore esperienza sul mio sito. Se continui ad utilizzare questo sito assumo che tu ne sia felice.. maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi