Programmazione in linguaggio Rexx

Programmazione in linguaggio Rexx

  • Codice
    DT0327
  • Prezzo
    3.800,00 €
  • Durata
    5 gg
  • Nuovo

Descrizione

Il corso Programmazione in linguaggio Rexx, sul Linguaggio Rexx (REstructured eXtended eXecutor) per z/OS, offre una formazione completa e approfondita su questo potente linguaggio di programmazione, specificamente ottimizzato per l’ambiente Mainframe IBM.

Il corso mostrerà la versatilità e la facilità di utilizzo, rappresentando uno strumento fondamentale per l’automazione dei processi, la manipolazione di dati e lo sviluppo di applicazioni su piattaforme z/OS.

Il corso è stato progettato per fornire una comprensione completa del linguaggio e combinare teoria e pratica, con particolare enfasi sugli scenari reali di utilizzo in ambiente Mainframe.

Gli argomenti principali di questo corso intensivo saranno

  • Architettura z/OS e linguaggio Jcl
  • Struttura e Statement del linguaggio Rexx
  • Funzioni principali e Funzioni avanzate
  • Gestione dei Dataset
  • Accesso al DB2
  • Utilizzo di Servizi di Sistema come MVS, SDSF, TSO

Al termine del corso, i partecipanti saranno in grado di

  • Scrivere applicazioni in Rexx
  • Utilizzare le funzionalità principali
  • Sviluppare applicazioni con interfaccia ISPF
  • Richiedere servizi al Sistema
  • Utilizzare Statement di Diagnostica e Monitoraggio

Solo su richiesta, e solo per utenti altamente qualificati, sarà possibile chiedere una estensione del corso del linguaggio Rexx, riguardante l’utilizzo dei Dataset SMF per il monitoraggio delle applicazioni e dei SubSystem del Sistema Operativo; ad esempio, sarà possibile richiedere l’implementazione sui Record SMF di tipo 30 per il monitoraggio dei Processi Batch oppure i Record SMF di tipo 100, 101 e 102 per il monitoraggio del DB2.

Il corso è strautturato in modo tale da consentire ai partecipanti di implementare il linguaggio Rexx con i linguaggi Panel Definition Language e Command LIST, per consentire la costruzione e la definizione di pannelli ISPF per la creazione e la gestione di applicazioni 3270 di tipo interattivo; questo consentirà di customizzare anche i pannelli ufficiali di IBM in modo tale da personalizzare l’accesso e la gestione di Dataset, Utilities e Device.

Prerequisiti

  • Conoscenza dei Sistemi Operativi
  • Conoscenza base dei Sistemi Mainframe e z/OS
  • Conoscenza dei linguaggi di Programmazione

Programma Corso

Panoramica sul Sistema Operativo z/OS

  • Panoramica sui Mainframe
  • Introduzione al Sistema Operativo z/OS
  • Architettura dei Sistemi Mainframe e dello z/OS
  • Tipologia di Workload dei Mainframe
  • Compiti e Ruoli nei Sistemi Mainframe
  • Introduzione alla Virtualizzazione
  • Dal 1960 un Sistema Operativo che fornisce ambienti Virtuali
  • Gli Address Space
  • Concetti principali della Memoria e delle Risorse Hardware
  • Concetti della Memoria - Mainframe Memory
  • Concetti della Memoria - La Memoria Centrale
  • Concetti della Memoria - Memoria di Paging
  • Concetti della Memoria - La Word ed i Registri
  • Concetti della Memoria - Indirizzamento
  • Memoria Reale e Memoria Virtuale
  • I Frame, le Pagine e gli Slot
  • I gestori della memoria sui sistemi Z Series
  • Utilizzo della Memoria Virtuale
  • Tipologie di Address Space
  • Vista generale dello z/OS
  • Vista generale dello z/OS - System Service
  • Vista generale dello z/OS - Systems Management Services
  • Vista generale dello z/OS - RACF Security Services
  • Vista generale dello z/OS - Application Enablement Services
  • Vista generale dello z/OS - Distributed Computing Services
  • Vista generale dello z/OS - Communications Server
  • Vista generale dello z/OS - UNIX System Services
  • Vista generale dello z/OS - Softcopy Publication Services
  • Vista generale dello z/OS - Cryptographic Services
  • Da un Single System ad un Sysplex

I SubSystem

  • Il Time Sharing Option e Time Sharing Option/Extension
  • TSO ed accesso al Sistema mediante il TCAS
  • Il JES2
  • Il Customer Information Control System
  • L'Information Management System
  • Il Virtual Telecommunications Access Method
  • Il Resource Access Control Facility
  • Il DB2
  • DFSMS ed HSM
  • Esercizio #02.01 - Accesso al Sistema

Lo Storage dei Mainframe

  • Cosa si intende per Storage ?
  • Gestione dello Storage
  • Tipologia dei Dispositivi
  • Memorizzazione fisica dei dati
  • La VTOC
  • Gestione dei dati
  • Il Ciclo di vita di un Dataset
  • Il Catalogo z/OS
  • I Files in ambiente Mainframe
  • I Datasets di Sistema

Introduzione al JES2 ed al linguaggio Jcl

  • Introduzione al JES2
  • Architettura del JES2
  • Il JES2 ed il suo sistema di Code
  • Il Ciclo di Vita di un Processo
  • La fase di INPUT del Ciclo di Vita di un Processo
  • La fase di CONVERSION del Ciclo di Vita di un Processo
  • La fase di PROCESSING del Ciclo di Vita di un Processo
  • La fase di OUTPUT del Ciclo di Vita di un Processo
  • La fase di PRINT del Ciclo di Vita di un Processo
  • Termine di un Processo
  • I Datasets di controllo del JES2
  • Definizione dello Spool
  • Il JES2 e la gerarchia dei pannelli
  • Ambiente SDSF
  • Il pannello SDSF - Active User
  • Il pannello SDSF - Input Queue
  • Il pannello SDSF - Output Queue
  • Il pannello SDSF - Il System Log
  • SDSF ed Automatic Restart Management
  • Introduzione al linguaggio Jcl
  • Il Layout di un Job
  • Layout di uno Statement del Jcl
  • Il campo IDENTIFIER
  • Il Nome
  • L'Operazione
  • I Parametri
  • I Parametri Posizionali
  • I Parametri Keyword
  • I commenti e la continuazione
  • Gli Statement del Jcl

Gli Statement del linguaggio Jcl

  • Lo Statement JOB e la tipologia di Parametri
  • Il Parametro CLASS
  • Il Parametro COND
  • Il Parametro MSGCLASS
  • Il Parametro MSGLEVEL
  • Il Parametro NOTIFY
  • Il Parametro PASSWORD
  • Il Parametro PRTY
  • Il Parametro REGION
  • Il Parametro RESTART
  • Il Parametro SCHENV
  • Il Parametro TIME
  • Il Parametro TYPRUN
  • Introduzione allo Statement EXEC
  • Lo Statement Data Definition ed il Parametro DISPosition
  • I dati INSTREAM
  • Statement IF, THEN, ELSE ed ENDIF
  • Gli Operatori dello Statement IF
  • Started Task, Procedure Instream e Procedure Catalogate
  • Dichiarazione di Librerie Utenti per Procedure
  • Overridding Procedure Statement
  • I simboli del Jcl
  • Includere un gruppo di Statement in un Jcl

Le Utilities zOS

  • Introduzione alle Utilities
  • Utility IEFBR14
  • Esercizio #06.01 - Utilizzo della IEFBR14
  • Utility IEBCOPY
  • Esempio di Utility IEBCOPY
  • Esercizio #06.02 - Utilizzo della IEBCOPY
  • Funzione di COMPRESS con la IEBCOPY
  • Le Schede in comune tra le Utilities
  • Utility IEBGENER
  • Utility IDCAMS
  • Esercizio #06.03 - Utilizzo della IEBGENER e della IDCAMS
  • Il Processo di SORT
  • DFSORT
  • Utility ICETOOL
  • DFSORT con opzione INREC
  • Esercizio #06.04 - Utilizzo delle Utilities per il SORT

Errori ed Abend

  • Introduzione agli errori
  • ABEND di un servizio di sistema e la Macro SETRP
  • Cosa è un DUMP
  • Formato del Completion Code
  • Formato dei messaggi MVS
  • Esempi di Messaggi MVS
  • WTOR - Messaggi che richiedono una risposta
  • Il comando DISPLAY R
  • WTOR - Come determinare la risposta
  • Come identificare chi emette il messaggio
  • Gli ABENDs
  • Errore S001, esempio ed analisi
  • Errore S002, esempio ed analisi
  • Errore S013, esempio ed analisi
  • Errore S03B, esempio ed analisi
  • Errore S04E, esempio ed analisi
  • Errore S0CA, esempio ed analisi
  • Errore S0CB, esempio ed analisi
  • Errore S0C1, esempio ed analisi
  • Errore S0C4, esempio ed analisi

Introduzione alla programmazione

  • La Programmazione
  • I linguaggi di Programmazione
  • Tipologia dei linguaggi
  • I linguaggi Compilati
  • I linguaggi Interpretati
  • Analisi e Programmazione
  • Metodologie di Programmazione
  • Programmazione non Strutturata e concetto di Spaghetti Code
  • La Programmazione Strutturata
  • Metodologia TOP-DOWN
  • Gli Algoritmi
  • Gli Array

Introduzione al linguaggio Rexx

  • Introduzione al linguaggio Rexx
  • Regole di sintassi
  • Linguaggio REXX per sistemi z/Series
  • Rexx, TSO e modalit? di esecuzione
  • Explicit Execution
  • Implicit Execution
  • Extended Implicit Execution
  • Commenti nel linguaggio Rexx
  • Indentazione e continuazione

Le aree di memoria

  • Le Variabili e le Costanti
  • Compound Variable e Data Stack
  • Utilizzo delle Compound Variable
  • Utilizzo del TAIL come Indice di un Dataset
  • La Funzione SYMBOL
  • La Funzione OUTTRAP
  • Il Data Stack
  • Il Buffer
  • Riempimento Stack Area
  • Comandi di Stack
  • Il comando NEWSTACK
  • Il comando DELSTACK
  • Il comando QSTACK
  • Comandi MAKEBUF e QBUF
  • Comando QELEM
  • Il comando DROPBUF
  • I comandi ĞImmediatiğ
  • Le operazioni matematiche in Rexx
  • Concatenazione di Stringhe
  • Esercizio #10.01 - Cattura dei messaggi con OUTTRAP
  • Esercizio #10.02 - Lavorare con le aree di memoria

Panoramica sugli Statement e la gestione del Flusso Logico

  • Panoramica sugli Statement
  • Lo Statement SAY
  • Lo Statement PARSE
  • Lo Statement PARSE con l'operando ARG
  • Lo Statement TRACE
  • Lo Statement IF
  • Lo Statement IF nidificato
  • Lo Statement SELECT
  • Gli operatori Logici e l'algebra di Boole
  • Esercizio #11.01 - Utilizzo del PARSE ed ARG
  • Esercizio #11.02 - Tracciamento del programma
  • Esercizio #11.03 - Controllo del flusso con la IF
  • Esercizio #11.04 - Controllo del flusso con la SELECT

Cicli Iterativi

  • Cosa sono i Cicli Iterativi ?
  • Il Loop
  • Il Ciclo DO WHILE
  • Il Ciclo DO UNTIL
  • Il Ciclo CR DO, Controlled Repetitive
  • Il NOT DO o Number Of Times
  • Il Ciclo DO FOREVER
  • Utilizzare il GOTO
  • Gli Statement LEAVE ed ITERATE
  • Esercizio #12.01 - Sviluppo programma con Ciclo DO WHILE
  • Esercizio #12.02 - Sviluppo programma con Ciclo DO UNTIL
  • Esercizio #12.03 - Sviluppo programma con LEAVE ed ITERATE

File, Record e Campi

  • La gestione dei Dataset in REXX
  • Organizzazione dei Dataset
  • La Variabile di controllo dei Dataset
  • Dichiarazione della struttura del Dataset e come strutturare un Record

Funzioni e Sub Routine

  • Introduzione alle Funzioni
  • Tipologia di Funzioni
  • Funzioni BUILT-IN
  • La Funzione ABBREV
  • La Funzione ABS
  • La Funzione B2X
  • La Funzione BITAND
  • La Funzione BITOR
  • La Funzione BITXOR
  • La Funzione C2D
  • La Funzione C2X
  • La Funzione CENTER
  • La Funzione COMPARE
  • La Funzione COPIES
  • La Funzione D2C
  • La Funzione D2X
  • La Funzione DATATYPE
  • La Funzione DATE
  • La Funzione DELSTR
  • La Funzione DELWORD
  • La Funzione DIGITS ed il Numeric Digits
  • La Funzione ERRORTEXT
  • La Funzione FORM
  • La Funzione FORMAT
  • La Funzione FUZZ
  • La Funzione INSERT
  • La Funzione JUSTIFY
  • Le Funzioni LASTPOS e POS
  • Le Funzioni LEFT e RIGHT
  • La Funzione LENGTH
  • La Funzione LINESIZE
  • Le Funzioni MAX e MIN
  • La Funzione OVERLAY
  • La Funzione RANDOM
  • La Funzione REVERSE
  • La Funzione SIGN
  • La Funzione SOURCELINE
  • La Funzione SPACE
  • La Funzione STRIP
  • La Funzione SUBSTR
  • La Funzione SUBWORD
  • La Funzione SYSCPUS
  • La Funzione SYSVAR
  • La Funzione TIME
  • La Funzione TRANSLATE
  • La Funzione TRUNC
  • La Funzione USERID
  • La Funzione VERIFY
  • La Funzione WORD
  • La Funzione WORDINDEX
  • La Funzione WORDLENGTH
  • La Funzione WORDPOS
  • La Funzione WORDS
  • La Funzione X2B
  • La Funzione X2C
  • La Funzione X2D
  • La Funzione XRANGE
  • Esercizio #14.01 - Sviluppo di un Programma REXX con l'utilizzo delle principali Funzioni

Testing di un Programma Rexx

  • Debug e gestione degli errori
  • Lo Statement SIGNAL
  • SIGNAL ON NOVALUE
  • SIGNAL ON ERROR
  • Convenzioni per il Return Code
  • Diagnosi degli errori e relativa gestione
  • La fase di Test
  • Lo Statement TRACE
  • Lo Statement EXECUTIL

Introduzione ai Comandi HOST

  • Cosa sono gli Statement HOST ?
  • Eseguire gli Statement HOST
  • Lo Statement SUBCOM
  • Lo Statement ADDRESS
  • Lo Statement ISPEXEC
  • Lo Statement ISREDIT
  • Lo Statement CONSOLE
  • Altri Statement HOST

Interagire con i Dataset e compilazione

  • Gestione dei Dataset in Rexx
  • Lo Statement EXECIO
  • Parametri per la gestione dei Dataset
  • Struttura generale dello Statement EXECIO
  • Il Parametro Lines
  • Allocazione di un Dataset
  • Il Parametro DISKR
  • Lo Statement DISKW
  • Il Parametro STEM
  • I Metodi FIFO e LIFO
  • Pacchetto di Funzioni per lo Stream INPUT ed OUTPUT
  • Lo Statement STREAM
  • La Funzione CHARIN
  • La Funzione CHAROUT
  • La Funzione CHARS
  • La Funzione LINEIN
  • La Funzione LINEOUT
  • La Funzione LINES
  • Il Compilatore Rexx
  • Metodi di compilazione
  • I comandi per il Compilatore e le Direttive di Controllo
  • Esecuzione di un Programma Rexx tramite Jcl
  • Gli Statement CONSPROF e CONSOLE
  • Esercizio #17.01 - Sviluppo per lettura e scrittura Dataset

Il linguaggio Rexx ed il DB2

  • Overview sul DB2
  • Il Database e gli archivi
  • IL DB2 dell'IBM
  • Architettura DB2
  • Catalogo DB2
  • Gli Address Space del DB2
  • Il linguaggio Sql
  • Lo Statement di SELECT
  • Lo Statement di UPDATE
  • Gli Statement INSERT e DELETE
  • Il Rexx ed il DB2
  • Interfaccia DSNREXX e lo Statement RXSUBCOM
  • Connessione al DB2 da Rexx
  • Dichiarazione dei Cursori
  • Lo Statement PREPARE
  • Lo Statement OPEN
  • Lo Statement FETCH
  • Lo Statement CLOSE
  • Disconnesione dal DB2
  • La Variabile SQLCODE
  • Esercizio #18.01 - Sviluppo di un programma con accesso al DB2

Funzionalità avanzate del REXX

  • Sottomettere un Job dinamicamente dal Rexx
  • Gli Statement VGET e VPUT e le aree di memoria del Profilo ISPF
  • Esempio di definizione e valorizzazione di una Variabile
  • Cosa si intende per Tailoring ?
  • Gli Statement FTOPEN, FTINCL, FTCLOSE ed FTERASE
  • Il linguaggio Panel Definition Language
  • La sezione ATTR
  • La sezione BODY, il Front End dell'ISPF
  • La sezione INIT, le prime operazioni al caricamento del Pannello
  • La sezione PROC
  • Lo Statement VER
  • Esercizio #19.01 - Sviluppo Software con Pannello e DB2

Note

Laboratori

  • Laboratori messi a disposizione su una Istanza z/OS
  • Necessaria una connessione Internet “aperta” senza restrizioni per accedere al Server Remoto
  • Utilizzo di emulatore 3270
  • I corsisti dovranno avere la possibilità di installare liberamente i Tools