

AWS Il servizio di modernizzazione del mainframe (esperienza Managed Runtime Environment) non è più aperto a nuovi clienti. Per funzionalità simili a AWS Mainframe Modernization Service (esperienza Managed Runtime Environment), esplora AWS Mainframe Modernization Service (Self-Managed Experience). I clienti esistenti possono continuare a utilizzare il servizio normalmente. [Per ulteriori informazioni, consulta AWS Modifica della disponibilità di Mainframe Modernization.](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilità batch disponibili in Mainframe AWS Modernization
<a name="utilities-m2"></a>

Le applicazioni mainframe utilizzano spesso programmi di utilità batch per eseguire funzioni specifiche come l'ordinamento dei dati, il trasferimento di file tramite FTP, il caricamento dei dati nei database, lo scaricamento dei dati dai database e così DB2 via.

Quando si esegue la migrazione delle applicazioni a AWS Mainframe Modernization, sono necessarie utilità sostitutive funzionalmente equivalenti in grado di eseguire le stesse attività di quelle utilizzate sul mainframe. Alcune di queste utilità potrebbero essere già disponibili come parte dei motori di runtime di AWS Mainframe Modernization, ma stiamo fornendo le seguenti utilità sostitutive:
+ M2SFTP: consente il trasferimento sicuro dei file tramite il protocollo SFTP.
+ M2WAIT: attende un determinato periodo di tempo prima di continuare con il passaggio successivo di un processo batch.
+ TXT2PDF: converte i file di testo in formato PDF.
+ M2DFUTIL: fornisce funzioni di backup, ripristino, eliminazione e copia su set di dati simili al supporto fornito dall'utilità ADRDSSU del mainframe.
+ M2RUNCMD: consente di eseguire comandi, script e chiamate di sistema di Rocket Software (precedentemente Micro Focus) direttamente da JCL.

Abbiamo sviluppato queste utilità batch sulla base del feedback dei clienti e le abbiamo progettate per fornire le stesse funzionalità delle utilità mainframe. L'obiettivo è rendere la transizione dalla modernizzazione del mainframe alla modernizzazione del mainframe il più AWS agevole possibile.

**Topics**
+ [

## Ubicazione binaria
](#location-utilities)
+ [

# Utilità batch M2SFTP
](m2sftp.md)
+ [

# Utilità batch M2WAIT
](m2wait.md)
+ [

# TXT2Utilità PDF batch
](txt2pdf.md)
+ [

# Utilità batch M2DFUTIL
](m2dfutil.md)
+ [

# Utilità batch M2RUNCMD
](m2runcmd.md)

## Ubicazione binaria
<a name="location-utilities"></a>

Queste utilità sono preinstallate sui prodotti Rocket Enterprise Developer (ED) e Rocket Software (ES). Puoi trovarle nella seguente posizione per tutte le varianti di ED ed ES:
+ Linux: `/opt/aws/m2/microfocus/utilities/64bit`
+ Windows (32 bit): `C:\AWS\M2\MicroFocus\Utilities\32bit`
+ Windows (64 bit): `C:\AWS\M2\MicroFocus\Utilities\64bit`

# Utilità batch M2SFTP
<a name="m2sftp"></a>

M2SFTP è un programma di utilità JCL progettato per eseguire trasferimenti sicuri di file tra sistemi utilizzando il Secure File Transfer Protocol (SFTP). Il programma utilizza il client Putty SFTP per eseguire i trasferimenti di file `psftp` effettivi. Il programma funziona in modo simile a un programma di utilità FTP per mainframe e utilizza l'autenticazione di utenti e password.

**Nota**  
L'autenticazione a chiave pubblica non è supportata.

Per convertire l'FTP del mainframe in JCLs modo che utilizzi SFTP, cambia in. `PGM=FTP` `PGM=M2SFTP`

**Topics**
+ [

## Piattaforme supportate
](#m2sftp-platforms)
+ [

## Installazione delle dipendenze
](#m2sftp-dependencies)
+ [

## Configurare M2SFTP per Mainframe Modernization Managed AWS
](#m2sftp-configure-managed)
+ [

## Configura M2SFTP per il runtime di modernizzazione AWS del mainframe su Amazon EC2 (comprese le applicazioni) WorkSpaces
](#m2sftp-configure-customer-infra)
+ [

## Esempio JCLs
](#m2sftp-jcl)
+ [

## Riferimento ai comandi del client Putty SFTP (PSFTP)
](#m2sftp-cmd-ref)
+ [

## Fasi successive
](#m2sftp-next)

## Piattaforme supportate
<a name="m2sftp-platforms"></a>

È possibile utilizzare M2SFTP su una delle seguenti piattaforme:
+ AWS Software Mainframe Modernization Rocket (precedentemente Micro Focus) gestito
+ Rocket Software Runtime (su Amazon EC2)
+ Tutte le varianti dei prodotti Rocket Software Enterprise Developer (ED) e Rocket Software Enterprise Server (ES).

## Installazione delle dipendenze
<a name="m2sftp-dependencies"></a>

**Per installare il client SFTP Putty su Windows**
+ Scarica il client [SFTP PuTTY e](https://www.putty.org/) installalo.

**Per installare il client SFTP Putty su Linux:**
+ Esegui il seguente comando per installare il client Putty SFTP:

  ```
    sudo yum -y install putty
  ```

## Configurare M2SFTP per Mainframe Modernization Managed AWS
<a name="m2sftp-configure-managed"></a>

Se le applicazioni migrate sono in esecuzione su AWS Mainframe Modernization Managed, sarà necessario configurare M2SFTP come segue.
+ Imposta le variabili di ambiente Rocket Enterprise Server appropriate per MFFTP. Ecco alcuni esempi:
  + `MFFTP_TEMP_DIR`
  + `MFFTP_SENDEOL`
  + `MFFTP_TIME`
  + `MFFTP_ABEND`

  Puoi impostare quante o quante di queste variabili desideri. Puoi impostarle nel tuo JCL usando l'`ENVAR DD`istruzione. Per ulteriori informazioni su queste variabili, consultate [MFFTP Control Variables](https://www.microfocus.com/documentation/enterprise-developer/ed80/ED-Eclipse/GUID-3F94BBC8-CB97-4642-A4A7-4235C0C079E2.html) nella documentazione di Micro Focus.

Per testare la configurazione, consulta. [Esempio JCLs](#m2sftp-jcl)

## Configura M2SFTP per il runtime di modernizzazione AWS del mainframe su Amazon EC2 (comprese le applicazioni) WorkSpaces
<a name="m2sftp-configure-customer-infra"></a>

Se le applicazioni migrate sono in esecuzione sul runtime di modernizzazione del AWS mainframe su Amazon EC2, configura M2SFTP come segue.

1. Modificate il [percorso del programma Micro Focus JES per includere la posizione binaria](https://www.microfocus.com/documentation/enterprise-developer/ed80/ED-Eclipse/GUID-BC8A1796-9EDE-48EB-8363-31C9BDE7F96B.html) per le utilità batch. Se è necessario specificare più percorsi, utilizzate i due punti (`:`) per separare i percorsi su Linux e il punto e virgola () su Windows. `;`
   + Linux: `/opt/aws/m2/microfocus/utilities/64bit`
   + Windows (32 bit): `C:\AWS\M2\MicroFocus\Utilities\32bit`
   + Windows (64 bit): `C:\AWS\M2\MicroFocus\Utilities\64bit`

1. Imposta le variabili di ambiente Rocket Enterprise Server appropriate per MFFTP. Ecco alcuni esempi:
   + `MFFTP_TEMP_DIR`
   + `MFFTP_SENDEOL`
   + `MFFTP_TIME`
   + ``MFFTP\$1ABEND

   È possibile impostare quante o quante di queste variabili si desidera. Puoi impostarle nel tuo JCL usando l'`ENVAR DD`istruzione. Per ulteriori informazioni su queste variabili, consultate [MFFTP Control Variables](https://www.microfocus.com/documentation/enterprise-developer/ed80/ED-Eclipse/GUID-3F94BBC8-CB97-4642-A4A7-4235C0C079E2.html) nella documentazione di Micro Focus.

Per testare la configurazione, consulta. [Esempio JCLs](#m2sftp-jcl)

## Esempio JCLs
<a name="m2sftp-jcl"></a>

Per testare l'installazione, è possibile utilizzare uno dei seguenti file JCL di esempio.

**M2 .jcl SFTP1**

Questo JCL mostra come chiamare M2SFTP per inviare un file a un server SFTP remoto. Notate le variabili di ambiente impostate nell'istruzione. `ENVVAR DD`

```
//M2SFTP1 JOB 'M2SFTP1',CLASS=A,MSGCLASS=X,TIME=1440
//*
//* Copyright Amazon.com, Inc. or its affiliates.* 
//* All Rights Reserved.* 
//*
//*-------------------------------------------------------------------**
//* Sample SFTP JCL step to send a file to SFTP server* 
//*-------------------------------------------------------------------**
//*
//STEP01 EXEC PGM=M2SFTP,
//            PARM='127.0.0.1 (EXIT=99 TIMEOUT 300'
//*
//SYSFTPD  DD  *
RECFM FB
LRECL 80
SBSENDEOL CRLF
MBSENDEOL CRLF
TRAILINGBLANKS FALSE
/*
//NETRC    DD  *
machine 127.0.0.1 login sftpuser password sftppass
/*
//SYSPRINT DD  SYSOUT=*
//OUTPUT   DD  SYSOUT=*
//STDOUT   DD  SYSOUT=*
//INPUT    DD  *
type a
locsite notrailingblanks
cd files
put 'AWS.M2.TXT2PDF1.PDF' AWS.M2.TXT2PDF1.pdf   
put 'AWS.M2.CARDDEMO.CARDDATA.PS' AWS.M2.CARDDEMO.CARDDATA.PS1.txt
quit
/*
//ENVVAR   DD *
MFFTP_VERBOSE_OUTPUT=ON
MFFTP_KEEP=N
/*
//*
//
```

**M2 SFTP2 .jcl**

Questo JCL mostra come chiamare M2SFTP per ricevere un file da un server SFTP remoto. Notate le variabili di ambiente impostate nell'istruzione. `ENVVAR DD`

```
//M2SFTP2 JOB 'M2SFTP2',CLASS=A,MSGCLASS=X,TIME=1440
//*
//* Copyright Amazon.com, Inc. or its affiliates.* 
//* All Rights Reserved.* 
//*
//*-------------------------------------------------------------------**
//* Sample SFTP JCL step to receive a file from SFTP server* 
//*-------------------------------------------------------------------**
//*
//STEP01 EXEC PGM=M2SFTP
//*
//SYSPRINT DD  SYSOUT=*
//OUTPUT   DD  SYSOUT=*
//STDOUT   DD  SYSOUT=*
//INPUT    DD  *
open 127.0.0.1
sftpuser
sftppass
cd files
locsite recfm=fb lrecl=150
get AWS.M2.CARDDEMO.CARDDATA.PS.txt +
'AWS.M2.CARDDEMO.CARDDATA.PS2' (replace
quit
/*
//ENVVAR   DD *
MFFTP_VERBOSE_OUTPUT=ON
MFFTP_KEEP=N
/*
//*
//
```

**Nota**  
Consigliamo vivamente di archiviare le credenziali FTP in un file NETRC e di limitare l'accesso ai soli utenti autorizzati.

## Riferimento ai comandi del client Putty SFTP (PSFTP)
<a name="m2sftp-cmd-ref"></a>

Il client PSFTP non supporta tutti i comandi FTP. L'elenco seguente mostra tutti i comandi supportati da PSFTP.


| Comando | Description | 
| --- | --- | 
|  \$1  |  Esegui un comando locale  | 
|  addio  |  Termina la tua sessione SFTP  | 
|  cd  |  Cambia la tua directory di lavoro remota  | 
|  chmod  |  Modifica le autorizzazioni e le modalità dei file  | 
|  close  |  Termina la sessione SFTP ma non uscire da PSFTP  | 
|  del  |  Eliminare i file sul server remoto  | 
|  dir  |  Elenca i file remoti  | 
|  Esci  |  Termina la sessione SFTP  | 
|  get  |  Scarica un file dal server sul tuo computer locale  | 
|  aiuto  |  Offri aiuto  | 
|  LCD  |  Cambia la directory di lavoro locale  | 
|  lpwd  |  Stampa la cartella di lavoro locale  | 
|  ls  |  Elenca i file remoti  | 
|  mget  |  Scarica più file contemporaneamente  | 
|  mkdir  |  Crea directory sul server remoto  | 
|  Imput  |  Carica più file contemporaneamente  | 
|  mv  |  Spostare o rinominare i file sul server remoto  | 
|  aperto  |  Connect a un host  | 
|  put  |  Carica un file dal tuo computer locale al server  | 
|  pwd  |  Stampa la tua directory di lavoro remota  | 
|  Esci  |  Termina la sessione SFTP  | 
|  rimpiango  |  Continua a scaricare i file  | 
|  ren  |  Sposta o rinomina i file sul server remoto  | 
|  riportare  |  Continua a caricare i file  | 
|  rm  |  Eliminare i file sul server remoto  | 
|  rmdir  |  Rimuove le directory sul server remoto  | 

## Fasi successive
<a name="m2sftp-next"></a>

Per caricare e scaricare file in Amazon Simple Storage Service utilizzando SFTP, puoi usare M2SFTP insieme a AWS Transfer Family, come descritto nei seguenti post di blog.
+ [Utilizzo delle directory logiche AWS SFTP per creare un semplice servizio di distribuzione dei dati](https://aws.amazon.com/blogs/storage/using-aws-sftp-logical-directories-to-build-a-simple-data-distribution-service/)
+ [Abilita l'autenticazione tramite password per l'utilizzo AWS Transfer for SFTPGestione dei segreti AWS](https://aws.amazon.com/blogs/storage/enable-password-authentication-for-aws-transfer-for-sftp-using-aws-secrets-manager/)

# Utilità batch M2WAIT
<a name="m2wait"></a>

M2WAIT è un programma di utilità per mainframe che consente di introdurre un periodo di attesa negli script JCL specificando una durata in secondi, minuti o ore. Puoi chiamare M2WAIT direttamente da JCL passando il tempo che desideri attendere come parametro di input. Internamente, il programma M2WAIT richiama il modulo `C$SLEEP` fornito da Rocket Software (precedentemente Micro Focus) per attendere un periodo di tempo specificato.

**Nota**  
È possibile utilizzare gli alias Micro Focus per sostituire gli alias presenti negli script JCL. Per ulteriori informazioni, vedete [JES Alias](https://www.microfocus.com/documentation/enterprise-developer/ed80/ED-Eclipse/GUID-D4206FF9-32C4-43E7-9413-5E7E96AA8092.html) nella documentazione di Micro Focus.

**Topics**
+ [

## Piattaforme supportate
](#m2wait-platforms)
+ [

## Configura M2WAIT per AWS Mainframe Modernization Managed
](#m2wait-configure-managed)
+ [

## Configura M2WAIT for AWS Mainframe Modernization runtime su Amazon EC2 (incluse le applicazioni) WorkSpaces
](#m2wait-configure-customer-infra)
+ [

## Esempio JCL
](#m2wait-jcl)

## Piattaforme supportate
<a name="m2wait-platforms"></a>

Puoi utilizzare M2WAIT su una delle seguenti piattaforme:
+ AWS Software di modernizzazione del mainframe Rocket (precedentemente Micro Focus) gestito
+ Rocket Software Runtime (su Amazon EC2)
+ Tutte le varianti dei prodotti Rocket Software Enterprise Developer (ED) e Rocket Software Enterprise Server (ES).

## Configura M2WAIT per AWS Mainframe Modernization Managed
<a name="m2wait-configure-managed"></a>

Se le tue applicazioni migrate sono in esecuzione su AWS Mainframe Modernization Managed, dovrai configurare M2WAIT come segue.
+ Usa il programma M2WAIT nel tuo JCL passando il parametro di input come mostrato in. [Esempio JCL](#m2wait-jcl)

## Configura M2WAIT for AWS Mainframe Modernization runtime su Amazon EC2 (incluse le applicazioni) WorkSpaces
<a name="m2wait-configure-customer-infra"></a>

Se le applicazioni migrate sono in esecuzione sul runtime di modernizzazione del AWS mainframe su Amazon EC2, configura M2WAIT come segue.

1. Modificate il [percorso del programma Micro Focus JES per includere la posizione binaria](https://www.microfocus.com/documentation/enterprise-developer/ed80/ED-Eclipse/GUID-BC8A1796-9EDE-48EB-8363-31C9BDE7F96B.html) per le utilità batch. Se è necessario specificare più percorsi, utilizzate i due punti (`:`) per separare i percorsi su Linux e il punto e virgola () su Windows. `;`
   + Linux: `/opt/aws/m2/microfocus/utilities/64bit`
   + Windows (32 bit): `C:\AWS\M2\MicroFocus\Utilities\32bit`
   + Windows (64 bit): `C:\AWS\M2\MicroFocus\Utilities\64bit`

1. Usa il programma M2WAIT nel tuo JCL passando il parametro di input come mostrato in. [Esempio JCL](#m2wait-jcl)

## Esempio JCL
<a name="m2wait-jcl"></a>

Per testare l'installazione, puoi usare il `M2WAIT1.jcl` programma.

Questo esempio di JCL mostra come chiamare M2WAIT e passarlo per diverse durate.

```
//M2WAIT1 JOB 'M2WAIT',CLASS=A,MSGCLASS=X,TIME=1440
//*
//* Copyright Amazon.com, Inc. or its affiliates.* 
//* All Rights Reserved.* 
//*
//*-------------------------------------------------------------------**
//* Wait for 12 Seconds*
//*-------------------------------------------------------------------**
//*
//STEP01 EXEC PGM=M2WAIT,PARM='S012'
//SYSOUT DD SYSOUT=*
//*
//*-------------------------------------------------------------------**
//* Wait for 0 Seconds (defaulted to 10 Seconds)*
//*-------------------------------------------------------------------**
//*
//STEP02 EXEC PGM=M2WAIT,PARM='S000'
//SYSOUT DD SYSOUT=*
//*
//*-------------------------------------------------------------------**
//* Wait for 1 Minute*
//*-------------------------------------------------------------------**
//*
//STEP03 EXEC PGM=M2WAIT,PARM='M001'
//SYSOUT DD SYSOUT=*
//*
//
```

# TXT2Utilità PDF batch
<a name="txt2pdf"></a>

TXT2PDF è un programma di utilità mainframe comunemente usato per convertire un file di testo in un file PDF. Questa utilità utilizza lo stesso codice sorgente per TXT2 PDF (z/OSfreeware). L'abbiamo modificata per eseguirla nell'ambiente di runtime del software AWS Mainframe Modernization Rocket (precedentemente Micro Focus).

**Topics**
+ [

## Piattaforme supportate
](#txt2pdf-platforms)
+ [

## Configura TXT2 PDF per la modernizzazione del AWS mainframe Managed
](#txt2pdf-configure-managed)
+ [

## Configura TXT2 PDF per il runtime di modernizzazione del AWS mainframe su Amazon EC2 (incluse le applicazioni) WorkSpaces
](#txt2pdf-configure-customer-infra)
+ [

## Esempio di JCL
](#txt2pdf-jcl)
+ [

## Modifiche
](#txt2pdf-mods)
+ [

## Riferimenti
](#txt2pdf-ref)

## Piattaforme supportate
<a name="txt2pdf-platforms"></a>

È possibile utilizzare TXT2 PDF su una delle seguenti piattaforme:
+ AWS Modernizzazione del mainframe: software Rocket gestito
+ Rocket Software Runtime (su Amazon EC2)
+ Tutte le varianti dei prodotti Rocket Enterprise Developer (ED) e Rocket Enterprise Server (ES).

## Configura TXT2 PDF per la modernizzazione del AWS mainframe Managed
<a name="txt2pdf-configure-managed"></a>

Se le applicazioni migrate sono in esecuzione su AWS Mainframe Modernization Managed, configura PDF come segue. TXT2
+ Create una libreria REXX EXEC chiamata. `AWS.M2.REXX.EXEC` Scaricate questi [moduli REXX](https://drm0z31ua8gi7.cloudfront.net/utilities/mf/TXT2PDF/rexx/TXT2PDF_rexx.zip) e copiateli nella libreria. 
  + `TXT2PDF.rex`- TXT2 PDF z/OS gratuito (modificato)
  + `TXT2PDFD.rex`- TXT2 PDF z/OS gratuito (non modificato)
  + `TXT2PDFX.rex`- TXT2 PDF z/OS gratuito (modificato)
  + `M2GETOS.rex`- Per verificare il tipo di sistema operativo (Windows o Linux)

Per testare la configurazione, consulta[Esempio di JCL](#txt2pdf-jcl).

## Configura TXT2 PDF per il runtime di modernizzazione del AWS mainframe su Amazon EC2 (incluse le applicazioni) WorkSpaces
<a name="txt2pdf-configure-customer-infra"></a>

Se le applicazioni migrate sono in esecuzione sul runtime di modernizzazione del AWS mainframe su Amazon EC2, configura il PDF come segue. TXT2

1. Imposta la variabile di ambiente Rocket Software sul valore appropriato, `MFREXX_CHARSET` ad esempio «" `A` per i dati ASCII.
**Importante**  
L'immissione di un valore errato potrebbe causare problemi di conversione dei dati (da EBCDIC ad ASCII), rendendo il PDF risultante illeggibile o inutilizzabile. `MFREXX_CHARSET`Ti `MF_CHARSET` consigliamo di impostarla in modo che corrisponda.

1. Modificate il [percorso del programma Micro Focus JES](https://www.microfocus.com/documentation/enterprise-developer/ed80/ED-Eclipse/GUID-BC8A1796-9EDE-48EB-8363-31C9BDE7F96B.html) per includere la posizione binaria per le utilità batch. Se è necessario specificare più percorsi, utilizzate i due punti (`:`) per separare i percorsi su Linux e il punto e virgola () su Windows. `;`
   + Linux: `/opt/aws/m2/microfocus/utilities/64bit`
   + Windows (32 bit): `C:\AWS\M2\MicroFocus\Utilities\32bit`
   + Windows (64 bit): `C:\AWS\M2\MicroFocus\Utilities\64bit`

1. Create una libreria REXX EXEC chiamata. `AWS.M2.REXX.EXEC`` Scaricate questi [moduli REXX](https://drm0z31ua8gi7.cloudfront.net/utilities/mf/TXT2PDF/rexx/TXT2PDF_rexx.zip) e copiateli nella libreria. 
   + `TXT2PDF.rex`- TXT2 PDF z/OS gratuito (modificato)
   + `TXT2PDFD.rex`- TXT2 PDF z/OS gratuito (non modificato)
   + `TXT2PDFX.rex`- TXT2 PDF z/OS gratuito (modificato)
   + `M2GETOS.rex`- Per verificare il tipo di sistema operativo (Windows o Linux)

Per testare la configurazione, consulta[Esempio di JCL](#txt2pdf-jcl).

## Esempio di JCL
<a name="txt2pdf-jcl"></a>

Per testare l'installazione, puoi utilizzare uno dei seguenti file JCL di esempio.

**TXT2PDF1.jcl**

Questo file JCL di esempio utilizza un nome DD per la TXT2 conversione PDF.

```
//TXT2PDF1 JOB 'TXT2PDF1',CLASS=A,MSGCLASS=X,TIME=1440
//*
//* Copyright Amazon.com, Inc. or its affiliates.* 
//* All Rights Reserved.* 
//*
//*-------------------------------------------------------------------**
//* PRE DELETE*
//*-------------------------------------------------------------------**
//*
//PREDEL  EXEC PGM=IEFBR14
//* 
//DD01     DD DSN=AWS.M2.TXT2PDF1.PDF.VB,                      
//            DISP=(MOD,DELETE,DELETE)
//*
//DD02     DD DSN=AWS.M2.TXT2PDF1.PDF,                       
//            DISP=(MOD,DELETE,DELETE)
//* 
//*-------------------------------------------------------------------**
//* CALL TXT2PDF TO CONVERT FROM TEXT TO PDF (VB)*
//*-------------------------------------------------------------------**
//*
//STEP01 EXEC PGM=IKJEFT1B
//*
//SYSEXEC  DD DISP=SHR,DSN=AWS.M2.REXX.EXEC
//*
//INDD     DD *
1THIS IS THE FIRST LINE ON THE PAGE 1
0THIS IS THE THIRD LINE ON THE PAGE 1
-THIS IS THE   6TH LINE ON THE PAGE 1
THIS IS THE   7TH LINE ON THE PAGE 1
+____________________________________ - OVERSTRIKE 7TH LINE          
1THIS IS THE FIRST LINE ON THE PAGE 2
0THIS IS THE THIRD LINE ON THE PAGE 2
-THIS IS THE   6TH LINE ON THE PAGE 2 
THIS IS THE   7TH LINE ON THE PAGE 2
+____________________________________ - OVERSTRIKE 7TH LINE                 
/*
//*
//OUTDD    DD DSN=AWS.M2.TXT2PDF1.PDF.VB,
//            DISP=(NEW,CATLG,DELETE),
//            DCB=(LRECL=256,DSORG=PS,RECFM=VB,BLKSIZE=0)
//*
//SYSTSPRT DD SYSOUT=*
//SYSTSIN  DD DDNAME=SYSIN
//*
//SYSIN    DD *
%TXT2PDF BROWSE Y IN DD:INDD +
OUT DD:OUTDD +
CC YES
/*
//*
//*-------------------------------------------------------------------**
//* CONVERT PDF (VB) TO PDF (LSEQ - BYTE STREAM)*
//*-------------------------------------------------------------------**
//* 
//STEP02 EXEC PGM=VB2LSEQ
//*
//INFILE   DD DSN=AWS.M2.TXT2PDF1.PDF.VB,DISP=SHR             
//*
//OUTFILE  DD DSN=AWS.M2.TXT2PDF1.PDF,                      
//            DISP=(NEW,CATLG,DELETE),
//            DCB=(LRECL=256,DSORG=PS,RECFM=LSEQ,BLKSIZE=0)
//*
//SYSOUT   DD SYSOUT=*
//*
//
```

**TXT2PDF2.jcl**

Questo JCL di esempio utilizza un nome DSN per la conversione PDF. TXT2

```
//TXT2PDF2 JOB 'TXT2PDF2',CLASS=A,MSGCLASS=X,TIME=1440
//*
//* Copyright Amazon.com, Inc. or its affiliates.* 
//* All Rights Reserved.* 
//*
//*-------------------------------------------------------------------**
//* PRE DELETE*
//*-------------------------------------------------------------------**
//*
//PREDEL  EXEC PGM=IEFBR14
//* 
//DD01     DD DSN=AWS.M2.TXT2PDF2.PDF.VB,                      
//            DISP=(MOD,DELETE,DELETE)
//*
//DD02     DD DSN=AWS.M2.TXT2PDF2.PDF,                       
//            DISP=(MOD,DELETE,DELETE)
//* 
//*-------------------------------------------------------------------**
//* CALL TXT2PDF TO CONVERT FROM TEXT TO PDF (VB)*
//*-------------------------------------------------------------------**
//* 
//STEP01 EXEC PGM=IKJEFT1B
//*
//SYSEXEC  DD DISP=SHR,DSN=AWS.M2.REXX.EXEC
//*
//INDD     DD *
1THIS IS THE FIRST LINE ON THE PAGE 1
0THIS IS THE THIRD LINE ON THE PAGE 1
-THIS IS THE   6TH LINE ON THE PAGE 1
THIS IS THE   7TH LINE ON THE PAGE 1
+____________________________________ - OVERSTRIKE 7TH LINE          
1THIS IS THE FIRST LINE ON THE PAGE 2
0THIS IS THE THIRD LINE ON THE PAGE 2
-THIS IS THE   6TH LINE ON THE PAGE 2 
THIS IS THE   7TH LINE ON THE PAGE 2
+____________________________________ - OVERSTRIKE 7TH LINE                 
/*
//*
//SYSTSPRT DD SYSOUT=*
//SYSTSIN  DD DDNAME=SYSIN
//*
//SYSIN    DD *
%TXT2PDF BROWSE Y IN DD:INDD +
OUT 'AWS.M2.TXT2PDF2.PDF.VB' +
CC YES
/*
//*
//*-------------------------------------------------------------------**
//* CONVERT PDF (VB) TO PDF (LSEQ - BYTE STREAM)*
//*-------------------------------------------------------------------**
//*
//STEP02 EXEC PGM=VB2LSEQ
//*
//INFILE   DD DSN=AWS.M2.TXT2PDF2.PDF.VB,DISP=SHR             
//*
//OUTFILE  DD DSN=AWS.M2.TXT2PDF2.PDF,                      
//            DISP=(NEW,CATLG,DELETE),
//            DCB=(LRECL=256,DSORG=PS,RECFM=LSEQ,BLKSIZE=0)
//*
//SYSOUT   DD SYSOUT=*
//*
//
```

## Modifiche
<a name="txt2pdf-mods"></a>

Per far funzionare il programma TXT2 PDF nell'ambiente di runtime del software AWS Mainframe Modernization Rocket, abbiamo apportato le seguenti modifiche:
+ Modifiche al codice sorgente per garantire la compatibilità con il runtime REXX di Rocket Software
+ Modifiche per garantire che il programma possa essere eseguito su sistemi operativi Windows e Linux
+ Modifiche per supportare sia il runtime EBCDIC che ASCII

## Riferimenti
<a name="txt2pdf-ref"></a>

TXT2Riferimenti PDF e codice sorgente:
+ [Convertitore da testo a PDF](https://homerow.net/rexx/txt2pdf/)
+ [z/OSStrumenti freeware TCP/IP e di posta](http://www.lbdsoftware.com/tcpip.html)
+ [TXT2Guida di riferimento per l'utente in PDF](http://www.lbdsoftware.com/TXT2PDF-User-Guide.pdf)

# Utilità batch M2DFUTIL
<a name="m2dfutil"></a>

M2DFUTIL è un programma di utilità JCL che fornisce funzioni di backup, ripristino, eliminazione e copia su set di dati, simili al supporto fornito dall'utilità ADRDSSU del mainframe. Questo programma mantiene molti dei parametri SYSIN di ADRDSSU, il che semplifica il processo di migrazione a questa nuova utilità.

**Topics**
+ [

## Piattaforme supportate
](#m2dfutil-platforms)
+ [

## Requisiti della piattaforma
](#m2dfutil-platform)
+ [

## Supporto futuro pianificato
](#m2udfutil-future-support)
+ [

## Ubicazioni degli asset
](#mdfutil-assets)
+ [

## Configura M2DFUTIL o il runtime di modernizzazione AWS del mainframe su Amazon EC2 (incluso 2.0) AppStream
](#mdfutil-dependencies)
+ [

## Sintassi generale
](#mdfutil-syntax)
+ [

## Esempio JCLs
](#mdfutil-sample-jcls)

## Piattaforme supportate
<a name="m2dfutil-platforms"></a>

È possibile utilizzare M2DFUTIL su una delle seguenti piattaforme:
+ Rocket Software (precedentemente Micro Focus) ES su Windows (64 bit e 32 bit)
+ Rocket Software ES su Linux (64 bit)

## Requisiti della piattaforma
<a name="m2dfutil-platform"></a>

M2DFUTIL dipende dalla chiamata di uno script per eseguire un test di espressione regolare. In Windows, è necessario installare Windows Services for Linux (WSL) per eseguire questo script.

## Supporto futuro pianificato
<a name="m2udfutil-future-support"></a>

Le funzionalità che attualmente non sono disponibili nell'utilità ADRDSSU per mainframe, ma che rientrano nell'ambito futuro includono: 
+ M2 Managed
+ VSAM
+ Supporto COPY per la ridenominazione dei nomi dei file
+ Supporto RENAME per RESTORE 
+ INCLUDE ed ESCLUDE multipli
+ Clausola BY per la sottoselezione tramite DSORG, CREDT, EXPDT
+ Clausola MWAIT per ripetere gli errori di accodamento
+ Supporto di archiviazione S3 per DUMP/RESTORE

## Ubicazioni degli asset
<a name="mdfutil-assets"></a>

Il modulo di caricamento di questa utilità viene chiamato `M2DFUTIL.so` su Linux e `M2DFUTIL.dll` su Windows. Questo modulo di caricamento si trova nelle seguenti posizioni:
+ Linux: `/opt/aws/m2/microfocus/utilities/64bit`
+ Windows (32 bit): `C:\AWS\M2\MicroFocus\Utilities\32bit`
+ Windows (64 bit): `C:\AWS\M2\MicroFocus\Utilities\64bit`

Viene chiamato lo script utilizzato per il test delle espressioni regolari`compare.sh`. Questo script può essere trovato nelle seguenti posizioni:
+ Linux: `/opt/aws/m2/microfocus/utilities/scripts`
+ Windows (32 bit): `C:\AWS\M2\MicroFocus\Utilities\scripts`

## Configura M2DFUTIL o il runtime di modernizzazione AWS del mainframe su Amazon EC2 (incluso 2.0) AppStream
<a name="mdfutil-dependencies"></a>

Configura la tua regione Enterprise Server con quanto segue:
+ Aggiungere le seguenti variabili in **[ES-Environment**]
  + `M2DFUTILS_BASE_LOC`- La posizione predefinita per l'output DUMP
  + `M2DFUTILS_SCRIPTPATH`**- La posizione dello `compare.sh` script documentata in Asset Locations**
  + `M2DFUTILS_VERBOSE`- [VERBOSE o NORMAL]. Questo controlla il livello di dettaglio dell'output `SYSPRINT `
+ Verificate che il percorso del modulo di carico sia aggiunto all'`JES\Configuration\JES Program Path`impostazione
+ Verificate che gli script nella directory delle utilità dispongano delle autorizzazioni di esecuzione. È possibile aggiungere un'autorizzazione di esecuzione utilizzando il `chmod + x <script name>` comando, nell'ambiente Linux

## Sintassi generale
<a name="mdfutil-syntax"></a>

### DUMP
<a name="mdfutil-dump"></a>

Offre la possibilità di copiare i file dall'attuale posizione catalogata a una posizione di backup. Attualmente questa posizione deve essere un file system.

#### Processo
<a name="mdfutil-dump-process"></a>

DUMP eseguirà le seguenti operazioni:

1. Crea la directory della posizione di destinazione.

1. Cataloga la directory delle posizioni di destinazione come membro PDS.

1. Determinate i file da includere elaborando il parametro INCLUDE.

1. Deseleziona i file inclusi elaborando il parametro EXCLUDE.

1. Determina se i file scaricati devono essere ELIMINATI.

1. Metti in coda i file da elaborare.

1. Copia i file.

1. Esporta le informazioni DCB catalogate dei file copiati in un file laterale nella posizione di destinazione per facilitare le future operazioni di RESTORE.

#### Sintassi
<a name="mdfutil-dump-syntax"></a>

```
DUMP
TARGET ( TARGET LOCATION  )    -
INCLUDE ( DSN. )
[ EXCLUDE ( DSN ) ]
[ CANCEL | IGNORE ]
[ DELETE ]
```

#### Parametri obbligatori
<a name="mdfutil-dump-requiredparam"></a>

Di seguito sono riportati i parametri richiesti per DUMP:
+ `SYSPRINT DD NAME`- Per contenere informazioni di registrazione aggiuntive
+ `TARGET`- Ubicazione dell'obiettivo. Può essere:
  + Percorso completo della posizione di scarico
  + **Nome della sottodirectory creato nella posizione definita nella variabile M2DFUTILS\$1BASE\$1LOC**
+ `INCLUDE`- Un singolo nome DSNAME o una stringa di ricerca DSN mainframe valida
+ `EXCLUDE`- Un solo nome DSNAME o una stringa di ricerca DSN mainframe valida

#### Parametri facoltativi
<a name="mdfutil-dump-optionalparam"></a>
+ ANNULLA - Annulla se si verifica un errore. I file che sono stati elaborati verranno conservati
+ (Impostazione predefinita) IGNORE: ignora qualsiasi errore e processo fino alla fine
+ ELIMINA: se non si verifica alcun errore ENQ, il file viene eliminato e non viene catalogato

### DELETE
<a name="mdfutil-delete"></a>

Offre la possibilità di eliminare e annullare la catalogazione in massa dei file. Non viene eseguito il backup dei file.

#### Processo
<a name="mdfutil-delete-process"></a>

DELETE eseguirà le seguenti operazioni:

1. Determina i file da includere elaborando il parametro INCLUDE.

1. Deseleziona i file inclusi elaborando il parametro EXCLUDE.

1. Accoda i file da elaborare. Impostazione della disposizione su OLD, DELETE, KEEP.

#### Sintassi
<a name="mdfutil-delete-syntax"></a>

```
DELETE
INCLUDE ( DSN )
[ EXCLUDE ( DSN ) ]
[ CANCEL | IGNORE ]
[ DELETE ]
```

#### Parametri obbligatori
<a name="mdfutil-delete-requiredparam"></a>

Di seguito sono riportati i parametri richiesti per DELETE:
+ `SYSPRINT DD NAME`- Per contenere informazioni di registrazione aggiuntive
+ `INCLUDE`- Un singolo nome DSNAME o una stringa di ricerca DSN mainframe valida 
+ `EXCLUDE`- Un solo nome DSNAME o una stringa di ricerca DSN mainframe valida 

#### Parametri facoltativi
<a name="mdfutil-delete-optionalparam"></a>
+ ANNULLA - Annulla se si verifica un errore. I file elaborati verranno conservati 
+ (Impostazione predefinita) IGNORE: ignora qualsiasi errore e processo fino alla fine

### RESTORE
<a name="mdfutil-restore"></a>

Offre la possibilità di ripristinare i file di cui è stato precedentemente eseguito il backup utilizzando DUMP. I file vengono ripristinati nella posizione originale catalogata a meno che non venga utilizzato RENAME per modificare il DSNAME ripristinato.

#### Processo
<a name="mdfutil-restore-process"></a>

RESTORE eseguirà le seguenti operazioni:

1. Convalida la directory di posizione di origine.

1. Determinate i file da includere elaborando il file di esportazione del catalogo.

1. Deselezionate i file inclusi elaborando il parametro EXCLUDE.

1. Accoda i file da elaborare.

1. File di catalogo che non sono catalogati in base alle informazioni di esportazione.

1. Se un file è già catalogato e le informazioni del catalogo di esportazione sono le stesse, RESTORE sostituirà il set di dati catalogato se è impostata l'opzione REPLACE.

#### Sintassi
<a name="mdfutil-restore-syntax"></a>

```
RESTORE
SOURCE ( TARGET LOCATION ) 
INCLUDE ( DSN )
[ EXCLUDE ( DSN ) ]
[ CANCEL | IGNORE ]
[ REPLACE]
```

#### Parametri obbligatori
<a name="mdfutil-restore-requiredparam"></a>

Di seguito sono riportati i parametri richiesti per RESTORE:
+ `SYSPRINT DD NAME`- Per contenere informazioni di registrazione aggiuntive 
+ `SOURCE`- Ubicazione della fonte. Può essere:
  + Percorso completo della posizione di scarico
  + **Nome della sottodirectory creato nella posizione definita nella variabile M2DFUTILS\$1BASE\$1LOC**
+ `INCLUDE`- Un singolo nome DSNAME o una stringa di ricerca DSN mainframe valida
+ `EXCLUDE`- Un solo nome DSNAME o una stringa di ricerca DSN mainframe valida

#### Parametri facoltativi
<a name="mdfutil-restore-optionalparam"></a>
+ ANNULLA - Annulla in caso di errore. I file elaborati vengono conservati
+ (Impostazione predefinita) IGNORE: ignora qualsiasi errore e processo fino alla fine
+ SOSTITUISCI: se il file da ripristinare è già catalogato e i record del catalogo sono gli stessi, sostituisci il file catalogato

## Esempio JCLs
<a name="mdfutil-sample-jcls"></a>

 **Lavoro DUMP**

Questo lavoro creerà una sottodirectory chiamata. `TESTDUMP` Questa è la posizione di backup predefinita specificata dalla variabile **M2DFUTILS\$1BASE\$1LOC**. Creerà una libreria PDS per questo backup chiamata. `M2DFUTILS.TESTDUMP` I dati del catalogo esportati vengono memorizzati in un file sequenziale di righe nella directory di backup denominata. `CATDUMP.DAT` Tutti i file selezionati verranno copiati in questa directory di backup.

```
//M2DFDMP JOB 'M2DFDMP',CLASS=A,MSGCLASS=X
//STEP001  EXEC PGM=M2DFUTIL
//SYSPRINT DD DSN=TESTDUMP.SYSPRINT,
//        DISP=(NEW,CATLG,DELETE),
//        DCB=(RECFM=LSEQ,LRECL=256)
//SYSIN    DD *
DUMP TARGET(TESTDUMP)               -
     INCLUDE(TEST.FB.FILE*.ABC)     -
 CANCEL
/*
//
```

 **CANCELLA il lavoro**

Questo processo eliminerà tutti i file dal catalogo che corrispondono al parametro INCLUDE.

```
/M2DFDEL JOB 'M2DFDEL',CLASS=A,MSGCLASS=X
//STEP001  EXEC PGM=M2DFUTIL
//SYSPRINT DD DSN=TESTDEL.SYSPRINT,
//        DISP=(NEW,CATLG,DELETE),
//        DCB=(RECFM=LSEQ,LRECL=256)
//SYSPRINT DD SYSOUT=A
//SYSIN    DD *
  DELETE                               -
     INCLUDE(TEST.FB.FILE*.ABC)        -
 CANCEL
/*
 //
```

 **Processo RESTORE**

Questo processo ripristinerà i file che corrispondono al parametro INCLUDE dalla posizione `TESTDUMP` di backup. I file catalogati verranno sostituiti se il file catalogato è uguale a quello nell'esportazione CATDUMP e viene specificata l'opzione REPLACE.

```
//M2DFREST JOB 'M2DFREST',CLASS=A,MSGCLASS=X
//STEP001  EXEC PGM=M2DFUTIL
////SYSPRINT DD DSN=TESTREST.SYSPRINT,
//        DISP=(NEW,CATLG,DELETE),
//        DCB=(RECFM=LSEQ,LRECL=256)
//SYSPRINT DD SYSOUT=A
//SYSIN    DD *
RESTORE SOURCE(TESTDUMP)               -
     INCLUDE(TEST.FB.FILE*.ABC)        -
 IGNORE
 REPLACE
/*
//
```

# Utilità batch M2RUNCMD
<a name="m2runcmd"></a>

È possibile utilizzare M2RUNCMD, un programma di utilità batch, per eseguire comandi, script e chiamate di sistema di Rocket Software (precedentemente Micro Focus) direttamente da JCL invece di eseguirli da un terminale o da un prompt dei comandi. L'output dei comandi viene registrato nello spool log del processo batch.

**Topics**
+ [

## Piattaforme supportate
](#m2runcmd-platforms)
+ [

## Configura M2RUNCMD per il runtime di modernizzazione AWS del mainframe su Amazon EC2 (incluso 2.0) AppStream
](#m2runcmd-configure)
+ [

## Esempio JCLs
](#m2runcmd-sample-jcls)

## Piattaforme supportate
<a name="m2runcmd-platforms"></a>

È possibile utilizzare M2RUNCMD sulle seguenti piattaforme:
+ Rocket Software Runtime (su Amazon EC2)
+  Tutte le varianti dei prodotti Rocket Software Enterprise Developer (ED) e Rocket Software Enterprise Server (ES).

## Configura M2RUNCMD per il runtime di modernizzazione AWS del mainframe su Amazon EC2 (incluso 2.0) AppStream
<a name="m2runcmd-configure"></a>

Se le applicazioni migrate sono in esecuzione sul runtime di modernizzazione del AWS mainframe su Amazon EC2, configura M2RUNCMD come segue.
+ Modificate il [percorso del programma Micro Focus JES](https://www.microfocus.com/documentation/enterprise-developer/ed80/ED-Eclipse/index.html?t=GUID-BC8A1796-9EDE-48EB-8363-31C9BDE7F96B.html) per includere la posizione binaria per le utilità batch. Se è necessario specificare più percorsi, utilizzate i due punti (:) per separare i percorsi su Linux e il punto e virgola (;) su Windows.
  + Linux: `/opt/aws/m2/microfocus/utilities/64bit`
  + Windows (32 bit): `C:\AWS\M2\MicroFocus\Utilities\32bit`
  + Windows (64 bit): `C:\AWS\M2\MicroFocus\Utilities\64bit`

## Esempio JCLs
<a name="m2runcmd-sample-jcls"></a>

Per testare l'installazione, è possibile utilizzare uno dei seguenti esempi JCLs.

 **RUNSCRL1.jcl**

Questo esempio di JCL crea uno script e lo esegue. Il primo passaggio crea uno script chiamato `/tmp/TEST_SCRIPT.sh` e con contenuti provenienti da dati `SYSUT1` in-stream. Il secondo passaggio imposta l'autorizzazione di esecuzione ed esegue lo script creato nel primo passaggio. Puoi anche scegliere di eseguire solo il secondo passaggio per eseguire i comandi di sistema e il software Rocket già esistenti.

```
//RUNSCRL1 JOB 'RUN SCRIPT',CLASS=A,MSGCLASS=X,TIME=1440
//*
//*
//*-------------------------------------------------------------------*
//*  CREATE SCRIPT (LINUX)                                           
//*-------------------------------------------------------------------*
//*
//STEP0010 EXEC PGM=IEBGENER
//*
//SYSPRINT DD SYSOUT=*
//SYSIN    DD DUMMY
//*
//SYSUT1   DD *
#!/bin/bash

set -x

## ECHO PATH ENVIRONMNET VARIABLE
echo $PATH

## CLOSE/DISABLE VSAM FILE
casfile -r$ES_SERVER -oc  -ed -dACCTFIL

## OPEN/ENABLE VSAM FILE
casfile -r$ES_SERVER -ooi -ee -dACCTFIL

exit $?
/*
//SYSUT2   DD DSN=&&TEMP,
//            DISP=(NEW,CATLG,DELETE),
//            DCB=(RECFM=LSEQ,LRECL=300,DSORG=PS,BLKSIZE=0)
//*MFE: %PCDSN='/tmp/TEST_SCRIPT.sh'
//*
//*-------------------------------------------------------------------*
//*   RUN SCRIPT (LINUX)                                              *
//*-------------------------------------------------------------------*
//*
//STEP0020 EXEC PGM=RUNCMD
//*
//SYSOUT  DD  SYSOUT=*
//* 
//SYSIN   DD *
*RUN SCRIPT
 sh /tmp/TEST_SCRIPT.sh
/*
//
```

 **SYSOUT**

L'output del comando o dello script che viene eseguito viene scritto nel `SYSOUT` registro. Per ogni comando eseguito, visualizza il comando, l'output e il codice restituito.

```
************ CMD Start ************   
                                                                                    
CMD_STR: sh /tmp/TEST_SCRIPT.sh                                                                                              
CMD_OUT:                                                                                                                                                                                                                             
+ echo /opt/microfocus/EnterpriseServer/bin:/sbin:/bin:/usr/sbin:/usr/bin    
/opt/microfocus/EnterpriseServer/bin:/sbin:/bin:/usr/sbin:/usr/bin           
+ casfile -rMYDEV -oc -ed -dACCTFIL                                                                       
-Return Code:   0                                                                                                         
Highest return code:    0                                                                                                 
+ casfile -rMYDEV -ooi -ee -dACCTFIL                                                                     
-Return Code:   8                                                                                                         
Highest return code:    8                                                                                                 
+ exit 8                                                                                                                  

CMD_RC=8                                                                                                                  

************  CMD End  ************
```

 **RUNCMDL1.jcl**

Questo JCL di esempio utilizza RUNCMD per eseguire più comandi.

```
//RUNCMDL1 JOB 'RUN CMD',CLASS=A,MSGCLASS=X,TIME=1440
//*
//*
//*-------------------------------------------------------------------*
//*   RUN SYSTEM COMMANDS                                             *
//*-------------------------------------------------------------------*
//*
//STEP0001 EXEC PGM=RUNCMD
//*
//SYSOUT  DD  SYSOUT=*
//* 
//SYSIN   DD *
*LIST DIRECTORY
 ls
*ECHO PATH ENVIRONMNET VARIABLE
 echo $PATH
/*
//
```