Corso Rpg AS/400

download Corso Rpg AS/400

of 242

  • date post

    16-Oct-2015
  • Category

    Documents

  • view

    355
  • download

    17

Embed Size (px)

description

Corso Rpg AS/400

Transcript of Corso Rpg AS/400

  • Claudio Neroni e Riccardo Battistutta

    Corso di Programmazione

    applicativa su AS/400 in Rpg Ile

    Ultima revisione 10 novembre 2008

    Altre modifiche in corso!

  • CorsoRpg.doc pag 2/242

    Postfazione

    Abbiamo scritto il presente manuale per fare da traccia ad un corso introduttivo alla programmazione RpgIle su AS/400. Esso non sostituisce nessuno dei manuali in dotazione al software di base di tale macchina. piuttosto la sintesi delle esperienze di addestramento di numerosi programmatori a partire dallormai lontano 1980, anno dellapparizione della prima versione di questo software sul mitico S/38. Gli argomenti trattati sono un sottoinsieme di tutti quelli possibili poich il primo scopo del testo quello di abilitare allievi completamente digiuni nel giro di 60 o, al massimo, 90 giorni, come detta il mercato. Abbiamo perci privilegiato arbitrariamente un gruppo di argomenti che ci sembra sufficiente a inventare e a rendere autonomo un programmatore sbarbato. Il testo concepito per luso contemporaneo di un AS/400 sul quale esercitarsi, ma pu essere utile anche senza corpore vili. Il corso porter allautonomia sufficiente a capire lanalista per cui si lavorer e alla capacit di consultare e capire i manuali DDS, RPG e CL sul web, quando necessario. Dal sito www.neroni.it sempre scaricabile gratuitamente lultima edizione del corrente manuale e sar bene accetto un commento alla mail [email protected] per segnalarci errori, argomenti secondo voi necessari ma non sviluppati o, infine, apprezzamenti e giudizi.

    Claudio Neroni e Riccardo Battistutta 2003 Mi son trovato, nel rivedere lopera per una migliore edizione dopo il primo utilizzo, a scavare una discreta quantit di idee tanto metabolizzate nella pratica dellinsegnamento da considerarle in qualche modo ovvie e sottintese. La durata breve del corso ha reso indispensabile levidenziazione scritta di certi atteggiamenti logici che il tempo breve non permette di comunicare per semplice osmosi agli allievi. nata cos una particolare attenzione alla descrizione del modo in cui nasce la programmazione, sperando che serva a far scattare la scintilla della comprensione e dellautonomia negli allievi.

    Claudio Neroni 23-09-2008 Fino ad oggi il pregio principale dellopera, alla faccia delle pretese culturali degli autori, sembrano essere la gratuit e litalianit. Penser per ripicca se trasformarla in comense . Lavorando per la gloria, devo dire che il centinaio di richieste di ultima edizione mi hanno effettivamente indotto a riprendere limpresa. Ho riletto il manuale con scrupolo e credo di aver ritrovato lintenzione di finirlo. Sperm!

    Claudio Neroni 10-10-2008 Sto concludendo questo modo vecchio stile di usare l RPG Ile che comunque indispensabile alla formazione di un manutentore. Poi vedr se merita allevare sviluppatori alla moda. Non vorrei convertire gente che pensa moderno il PC in ambito gestionale.

    Claudio Neroni

  • CorsoRpg.doc pag 3/242

    Note sulla terminologia

    Nel testo si menzionano frequentemente Rpg400 ed RpgIle. Il termine RpgIV da considerare sinonimo di RpgIle. Per Rpg400 si intende la versione pi vecchia del linguaggio, ancora molto presente nei pacchetti praticamente in uso, ma ferma per sempre al rilascio 3.2.0. Per RpgIle si intende lultima versione del linguaggio, nata nel rilascio 3.1.0 e in forte evoluzione fino ad oggi, rilascio 5.2.0. Per RPG si intende di solito sia Rpg400 che RpgIle. Nella maggior parte dei casi, luso del termine RPG copre entrambi i linguaggi, salva diversa indicazione del contesto. Il testo insegna un RpgIle moderno solo dove necessario, cavalcando una via di mezzo tra vecchio e nuovo per creare familiarit con entrambi. LIBM ha anche tentato di soppiantare il termine AS/400 con il termine iSeries. Loperazione goffamente commerciale e affligge forse lhardware. Un cambio di nome poteva essere giustificato nel passaggio di tecnologia del processore AS/400 da CISC a RISC, ma non fu attuato. Le parti in rosso sono da completare, rivedere o verificare.

  • CorsoRpg.doc pag 4/242

    SOMMARIO

    Ritentare. Il sommario deve essere ottenuto automaticamente da Word ma cambiare la tipologia dei paragrafi da indicizzare non cos indenne da inconvenienti come vorrei per farlo subito.

  • CorsoRpg.doc pag 5/242

    1 Uso dellAS/400 da parte del programmatore. (01C)

    Per accedere al sistema AS/400 necessario possedere alcune nozioni di base. In primis, come un guidatore non deve essere anche meccanico per guidare, cos un programmatore applicativo non deve necessariamente avere nozioni oltre a quelle tipiche richieste per usare linterfaccia di programmazione verso il sistema. Pu averne, ma solo per cultura e non per necessit. Il programmatore deve invece possedere tutte le nozioni per costruire e variare linterfaccia che egli medesimo, programmando, mette a disposizione dellutente finale.

    1.1 Comandi.

    I comandi del sistema AS/400 hanno nomi fino a 10 caratteri, composti riunendo abbreviazioni di parole o brevi frasi standard precostituite. Ad esempio.

    CRT =CReaTe DLT =DeLeTe DSP =DiSPlay LIB =LIBrary F =File OBJ =OBJect MOV =MOVe PDM =Program Developement Manager PF =Physical File SPL =SPooL TAP =TAPe WRK =WoRK

    Sono in maiuscolo le lettere del testo che generano labbreviazione. Tali parole, riunite opportunamente, formano i nomi dei comandi. Ad esempio.

    CRTPF =Create Physical File DLTF =Delete File DSPLIB =Display Library DSPTAP =Display Tape MOVOBJ =Move Object WRKOBJPDM =Work Object PDM WRKSPLF =Work Spool File

    Naturalmente, non basta che lacronimo sia significativo, ma occorre che il programmatore del sistema abbia veramente concepito la funzione e le abbia dato proprio quel nome.

    1.2 Parametri dei comandi.

    Ogni comando poi dotato di parole chiave (keyword) e, dentro le parole chiave, di parametri, secondo la forma seguente.

    CRTPF FILE(library/file) RCDLEN(100) TEXT(*SRCMBRTXT) I nomi delle keyword non rispettano regole altrettanto precise che i nomi dei comandi, e meno ancora hanno regole i parametri, anche per quei valori precostituiti che, di solito, cominciano con un asterisco.

    1.3 Immissione comandi.

    Il video fondamentale per interagire con il sistema quello fornito dal programma immissione Comandi (CALL QCMD) che permette la digitazione dei comandi, vera e completa interfaccia di chiamata dei programmi di sistema. Battuto il solo nome di un comando o il comando e qualche parametro, sempre possibile, tramite F4, accedere ad una forma particolarmente estesa ed assistita del comando stesso, il

  • CorsoRpg.doc pag 6/242

    prompter. Invio, sia sul video comandi che sul prompter, provoca lesecuzione del comando stesso. I comandi digitati vengono accodati al programma esecutore (QCMD) che li smaltisce immediatamente e li fotografa in una coda messaggi del programma, costantemente visibile tramite il video comandi stesso. La coda contiene anche i messaggi di risposta del sistema e dei programmi eseguiti. Tramite i tasti di scorrimento, detta coda rivedibile per il ripescaggio di comandi gi eseguiti ma che possono servire da scheletro ad una nuova richiesta. Se il cursore posizionato su di un comando gi eseguito, F9 lo copia nellarea di digitazione, F4 lo copia e lo prompterizza. Se il cursore non posizionato, F9 copia lultimo o, di seguito, il precedente allultimo copiato. F10 commuta una visualizzazione pi estesa o meno estesa della coda messaggi.

    1.4 Riga comandi.

    Su molti video di sistema presente la riga comandi, che visualizza poche informazioni circa i comandi gi eseguiti e si presta solo con difficolt alla digitazione di comandi pi lunghi della riga medesima. Da questa si accede comunque al prompter. F9 copia lultimo comando eseguito o, di seguito, il precedente allultimo copiato, attingendo comunque alla stessa coda detta per limmissione comandi.

    1.5 Prompter.

    Il prompter (suggeritore) uninterfaccia che permette la digitazione assistita dei comandi, sia quelli di sistema che, eventualmente, quelli predisposti dal programmatore. Esso fornisce un breve testo per ogni parametro e permette laccesso ai video di aiuto che spiegano e commentano con dettaglio i particolari dei campi del comando e dei valori che vi si possono inserire. Lintervento, a richiesta, del prompter acconcia i dati digitati nella forma pi estesa con keyword e parametri. Molti comandi sopportano, peraltro, una digitazione semplificata fino al terzo o quarto parametro senza keyword. Oltre tale limite, le restanti keyword vanno comunque digitate per esteso.

    1.6 Men.

    Mentre laccesso dal video comandi richiede conoscenza preventiva dei comandi da usare, i men, permettono di navigare a vista alla ricerca del comando adatto. Ai men si accede tramite il comando GO. GO MAIN Accede al men principale, dal quale sono raggiungibili tutti gli altri. GO PROGRAM Presenta il men pi adatto al programmatore, ma comunque raggiungibile dal

    MAIN. GO CMDxxx Dove xxx una parola cercata (ad es: CRT). Presenta lelenco di tutti i comandi

    che contengono nel loro nome la parola cercata (ad es: CRTLIB, CRTPF, ). Il men MAIN pu essere chiamato anche da F16 dellimmissione comandi. Se il profilo lo prevede, finita lesecuzione del programma iniziale, il collegamento si ferma sul men iniziale. Il men iniziale di un profilo si cambia dinamicamente battendo F23 sul men desiderato. Alla chiusura dei men, il collegamento termina.

    1.7 Profilo utente del programmatore e sue opzioni.

    Per accedere al sistema AS/400 come programmatore necessario usare un profilo utente adatto gi definito sullelaboratore da un responsabile della sicurezza. Nome e parola dordine del profilo utente, digitate sul video di collegamento, permettono di ottenere un video di immissione comandi o un v