

AWS Le service de modernisation du mainframe (expérience de l'environnement d'exécution géré) n'est plus ouvert aux nouveaux clients. Pour des fonctionnalités similaires au service de modernisation AWS du mainframe (expérience de l'environnement d'exécution géré), explorez le service de modernisation AWS du mainframe (expérience autogérée). Les clients existants peuvent continuer à utiliser le service normalement. Pour plus d'informations, consultez la section [Modification de la disponibilité de la modernisation du AWS mainframe](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilitaires de traitement par lots disponibles dans AWS Mainframe Modernization
<a name="utilities-m2"></a>

Les applications mainframe utilisent souvent des programmes utilitaires par lots pour exécuter des fonctions spécifiques telles que le tri des données, le transfert de fichiers par FTP, le chargement de données dans des bases de données DB2, le déchargement de données depuis des bases de données, etc.

Lorsque vous migrez vos applications vers la modernisation du AWS mainframe, vous avez besoin d'utilitaires de remplacement fonctionnellement équivalents, capables d'effectuer les mêmes tâches que ceux que vous utilisiez sur le mainframe. Certains de ces utilitaires sont peut-être déjà disponibles dans le cadre des moteurs d'exécution AWS Mainframe Modernization, mais nous proposons les utilitaires de remplacement suivants :
+ M2SFTP - permet un transfert de fichiers sécurisé à l'aide du protocole SFTP.
+ M2WAIT - attend pendant un certain temps avant de passer à l'étape suivante d'un traitement par lots.
+ TXT2PDF - convertit les fichiers texte au format PDF.
+ M2DFUTIL : fournit des fonctions de sauvegarde, de restauration, de suppression et de copie sur des ensembles de données similaires au support fourni par l'utilitaire ADRDSSU du mainframe.
+ M2RUNCMD - vous permet d'exécuter des commandes, des scripts et des appels système de Rocket Software (anciennement Micro Focus) directement depuis JCL.

Nous avons développé ces utilitaires par lots en fonction des commentaires des clients et les avons conçus pour fournir les mêmes fonctionnalités que les utilitaires du mainframe. L'objectif est de faciliter au maximum votre transition du mainframe à la modernisation du AWS mainframe.

**Topics**
+ [Emplacement binaire](#location-utilities)
+ [Utilitaire batch M2SFTP](m2sftp.md)
+ [Utilitaire batch M2WAIT](m2wait.md)
+ [TXT2Utilitaire PDF par lots](txt2pdf.md)
+ [Utilitaire de traitement par lots M2DFUTIL](m2dfutil.md)
+ [Utilitaire batch M2RUNCMD](m2runcmd.md)

## Emplacement binaire
<a name="location-utilities"></a>

Ces utilitaires sont préinstallés sur les produits Rocket Enterprise Developer (ED) et Rocket Software (ES). Vous pouvez les trouver à l'emplacement suivant pour toutes les variantes de ED et ES :
+ Linux : `/opt/aws/m2/microfocus/utilities/64bit`
+ Windows (32 bits) : `C:\AWS\M2\MicroFocus\Utilities\32bit`
+ Windows (64 bits) : `C:\AWS\M2\MicroFocus\Utilities\64bit`

# Utilitaire batch M2SFTP
<a name="m2sftp"></a>

M2SFTP est un utilitaire JCL conçu pour effectuer des transferts de fichiers sécurisés entre systèmes à l'aide du protocole SFTP (Secure File Transfer Protocol). Le programme utilise le client Putty SFTP pour effectuer `psftp` les transferts de fichiers réels. Le programme fonctionne de la même manière qu'un utilitaire FTP sur ordinateur central et utilise l'authentification par utilisateur et mot de passe.

**Note**  
L'authentification par clé publique n'est pas prise en charge.

Pour convertir le FTP de votre mainframe JCLs en SFTP, remplacez `PGM=FTP` par. `PGM=M2SFTP`

**Topics**
+ [Plateformes prises en charge](#m2sftp-platforms)
+ [Installation des dépendances](#m2sftp-dependencies)
+ [Configuration du M2SFTP pour la gestion de la modernisation du AWS mainframe](#m2sftp-configure-managed)
+ [Configuration du M2SFTP pour l'exécution de la modernisation AWS du mainframe sur Amazon EC2 (applications incluses) WorkSpaces](#m2sftp-configure-customer-infra)
+ [Exemple JCLs](#m2sftp-jcl)
+ [Référence de commande client Putty SFTP (PSFTP)](#m2sftp-cmd-ref)
+ [Étapes suivantes](#m2sftp-next)

## Plateformes prises en charge
<a name="m2sftp-platforms"></a>

Vous pouvez utiliser M2SFTP sur l'une des plateformes suivantes :
+ AWS Modernisation du mainframe Rocket Software (anciennement Micro Focus) Géré
+ Rocket Software Runtime (sur Amazon EC2)
+ Toutes les variantes des produits Rocket Software Enterprise Developer (ED) et Rocket Software Enterprise Server (ES).

## Installation des dépendances
<a name="m2sftp-dependencies"></a>

**Pour installer le client SFTP Putty sous Windows**
+ Téléchargez le client [SFTP PuTTY](https://www.putty.org/) et installez-le.

**Pour installer le client SFTP Putty sous Linux :**
+ Exécutez la commande suivante pour installer le client SFTP Putty :

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

## Configuration du M2SFTP pour la gestion de la modernisation du AWS mainframe
<a name="m2sftp-configure-managed"></a>

Si vos applications migrées s'exécutent sur AWS Mainframe Modernization Managed, vous devez configurer M2SFTP comme suit.
+ Définissez les variables d'environnement Rocket Enterprise Server appropriées pour le MFFTP. Voici quelques exemples :
  + `MFFTP_TEMP_DIR`
  + `MFFTP_SENDEOL`
  + `MFFTP_TIME`
  + `MFFTP_ABEND`

  Vous pouvez définir aussi peu ou autant de variables que vous le souhaitez. Vous pouvez les définir dans votre JCL à l'aide de l'`ENVAR DD`instruction. Pour plus d'informations sur ces variables, consultez la section Variables de [contrôle MFFTP](https://www.microfocus.com/documentation/enterprise-developer/ed80/ED-Eclipse/GUID-3F94BBC8-CB97-4642-A4A7-4235C0C079E2.html) dans la documentation de Micro Focus.

Pour tester votre configuration, consultez[Exemple JCLs](#m2sftp-jcl).

## Configuration du M2SFTP pour l'exécution de la modernisation AWS du mainframe sur Amazon EC2 (applications incluses) WorkSpaces
<a name="m2sftp-configure-customer-infra"></a>

Si vos applications migrées s'exécutent sur le moteur d'exécution AWS Mainframe Modernization sur Amazon EC2, configurez M2SFTP comme suit.

1. Modifiez le [chemin du programme Micro Focus JES](https://www.microfocus.com/documentation/enterprise-developer/ed80/ED-Eclipse/GUID-BC8A1796-9EDE-48EB-8363-31C9BDE7F96B.html) pour inclure l'emplacement binaire des utilitaires de traitement par lots. Si vous devez spécifier plusieurs chemins, utilisez des deux-points (`:`) pour séparer les chemins sous Linux des points-virgules (`;`) sous Windows.
   + Linux : `/opt/aws/m2/microfocus/utilities/64bit`
   + Windows (32 bits) : `C:\AWS\M2\MicroFocus\Utilities\32bit`
   + Windows (64 bits) : `C:\AWS\M2\MicroFocus\Utilities\64bit`

1. Définissez les variables d'environnement Rocket Enterprise Server appropriées pour le MFFTP. Voici quelques exemples :
   + `MFFTP_TEMP_DIR`
   + `MFFTP_SENDEOL`
   + `MFFTP_TIME`
   + ``MFFTP\$1ABEND

   Vous pouvez définir aussi peu ou autant de variables que vous le souhaitez. Vous pouvez les définir dans votre JCL à l'aide de l'`ENVAR DD`instruction. Pour plus d'informations sur ces variables, consultez la section Variables de [contrôle MFFTP](https://www.microfocus.com/documentation/enterprise-developer/ed80/ED-Eclipse/GUID-3F94BBC8-CB97-4642-A4A7-4235C0C079E2.html) dans la documentation de Micro Focus.

Pour tester votre configuration, consultez[Exemple JCLs](#m2sftp-jcl).

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

Pour tester l'installation, vous pouvez utiliser l'un des exemples de fichiers JCL suivants.

**SFTP1M2.jcl**

Cette JCL montre comment appeler M2SFTP pour envoyer un fichier à un serveur SFTP distant. Notez les variables d'environnement définies dans l'`ENVVAR DD`instruction.

```
//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
/*
//*
//
```

**SFTP2M2.jcl**

Cette JCL montre comment appeler M2SFTP pour recevoir un fichier d'un serveur SFTP distant. Notez les variables d'environnement définies dans l'`ENVVAR DD`instruction.

```
//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
/*
//*
//
```

**Note**  
Nous recommandons vivement de stocker les informations d'identification FTP dans un fichier NETRC et de restreindre l'accès aux seuls utilisateurs autorisés.

## Référence de commande client Putty SFTP (PSFTP)
<a name="m2sftp-cmd-ref"></a>

Le client PSFTP ne prend pas en charge toutes les commandes FTP. La liste suivante répertorie toutes les commandes prises en charge par PSFTP.


| Commande | Description | 
| --- | --- | 
|  \$1  |  Exécuter une commande locale  | 
|  au revoir  |  Terminez votre session SFTP  | 
|  cd  |  Modifier votre répertoire de travail à distance  | 
|  chmod  |  Modifier les autorisations et les modes des fichiers  | 
|  close  |  Terminez votre session SFTP mais ne quittez pas PSFTP  | 
|  del  |  Supprimer des fichiers sur le serveur distant  | 
|  dir  |  Lister les fichiers distants  | 
|  exit  |  Terminez votre session SFTP  | 
|  get  |  Téléchargez un fichier depuis le serveur vers votre machine locale  | 
|  help  |  Donnez de l'aide  | 
|  lcd  |  Modifier le répertoire de travail local  | 
|  lpwd  |  Imprimer le répertoire de travail local  | 
|  ls  |  Lister les fichiers distants  | 
|  mget  |  Téléchargez plusieurs fichiers à la fois  | 
|  mkdir  |  Création de répertoires sur le serveur distant  | 
|  mput  |  Téléchargez plusieurs fichiers à la fois  | 
|  mv  |  Déplacer ou renommer un ou plusieurs fichiers sur le serveur distant  | 
|  ouvrir  |  Se connecter à un hôte  | 
|  put  |  Téléchargez un fichier depuis votre machine locale vers le serveur  | 
|  mobylette  |  Imprimez votre répertoire de télétravail  | 
|  quit  |  Terminez votre session SFTP  | 
|  reget  |  Poursuivre le téléchargement des fichiers  | 
|  ren  |  Déplacer ou renommer un ou plusieurs fichiers sur le serveur distant  | 
|  réputation  |  Poursuivre le téléchargement des fichiers  | 
|  rm  |  Supprimer des fichiers sur le serveur distant  | 
|  rmdir  |  Supprimer des répertoires sur le serveur distant  | 

## Étapes suivantes
<a name="m2sftp-next"></a>

Pour charger et télécharger des fichiers dans Amazon Simple Storage Service à l'aide du protocole SFTP, vous pouvez utiliser le protocole M2SFTP conjointement avec le protocole AWS Transfer Family, comme décrit dans les articles de blog suivants.
+ [Utilisation de répertoires logiques AWS SFTP pour créer un service de distribution de données simple](https://aws.amazon.com/blogs/storage/using-aws-sftp-logical-directories-to-build-a-simple-data-distribution-service/)
+ [Activer l'authentification par mot de passe pour AWS Transfer for SFTP l'utilisation AWS Secrets Manager](https://aws.amazon.com/blogs/storage/enable-password-authentication-for-aws-transfer-for-sftp-using-aws-secrets-manager/)

# Utilitaire batch M2WAIT
<a name="m2wait"></a>

M2WAIT est un utilitaire pour mainframe qui vous permet d'introduire une période d'attente dans vos scripts JCL en spécifiant une durée en secondes, minutes ou heures. Vous pouvez appeler M2WAIT directement depuis JCL en indiquant le temps d'attente comme paramètre d'entrée. En interne, le programme M2WAIT appelle le module fourni par Rocket Software (anciennement Micro Focus) `C$SLEEP` pour attendre un certain temps.

**Note**  
Vous pouvez utiliser des alias Micro Focus pour remplacer le contenu de vos scripts JCL. Pour plus d'informations, consultez la section [JES Alias](https://www.microfocus.com/documentation/enterprise-developer/ed80/ED-Eclipse/GUID-D4206FF9-32C4-43E7-9413-5E7E96AA8092.html) dans la documentation de Micro Focus.

**Topics**
+ [Plateformes prises en charge](#m2wait-platforms)
+ [Configuration de M2WAIT pour la gestion de la AWS modernisation du mainframe](#m2wait-configure-managed)
+ [Configuration de M2WAIT pour le runtime de modernisation du AWS mainframe sur Amazon EC2 (applications incluses) WorkSpaces](#m2wait-configure-customer-infra)
+ [Exemple de JCL](#m2wait-jcl)

## Plateformes prises en charge
<a name="m2wait-platforms"></a>

Vous pouvez utiliser M2WAIT sur l'une des plateformes suivantes :
+ AWS Modernisation du mainframe Rocket Software (anciennement Micro Focus) Géré
+ Rocket Software Runtime (sur Amazon EC2)
+ Toutes les variantes des produits Rocket Software Enterprise Developer (ED) et Rocket Software Enterprise Server (ES).

## Configuration de M2WAIT pour la gestion de la AWS modernisation du mainframe
<a name="m2wait-configure-managed"></a>

Si vos applications migrées s'exécutent sur AWS Mainframe Modernization Managed, vous devez configurer M2WAIT comme suit.
+ Utilisez le programme M2WAIT dans votre JCL en passant le paramètre d'entrée comme indiqué dans. [Exemple de JCL](#m2wait-jcl)

## Configuration de M2WAIT pour le runtime de modernisation du AWS mainframe sur Amazon EC2 (applications incluses) WorkSpaces
<a name="m2wait-configure-customer-infra"></a>

Si vos applications migrées s'exécutent sur le moteur d'exécution AWS Mainframe Modernization sur Amazon EC2, configurez M2WAIT comme suit.

1. Modifiez le [chemin du programme Micro Focus JES](https://www.microfocus.com/documentation/enterprise-developer/ed80/ED-Eclipse/GUID-BC8A1796-9EDE-48EB-8363-31C9BDE7F96B.html) pour inclure l'emplacement binaire des utilitaires de traitement par lots. Si vous devez spécifier plusieurs chemins, utilisez des deux-points (`:`) pour séparer les chemins sous Linux des points-virgules (`;`) sous Windows.
   + Linux : `/opt/aws/m2/microfocus/utilities/64bit`
   + Windows (32 bits) : `C:\AWS\M2\MicroFocus\Utilities\32bit`
   + Windows (64 bits) : `C:\AWS\M2\MicroFocus\Utilities\64bit`

1. Utilisez le programme M2WAIT dans votre JCL en transmettant le paramètre d'entrée comme indiqué dans. [Exemple de JCL](#m2wait-jcl)

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

Pour tester l'installation, vous pouvez utiliser le `M2WAIT1.jcl` programme.

Cet exemple de JCL montre comment appeler M2WAIT et lui transmettre plusieurs durées différentes.

```
//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=*
//*
//
```

# TXT2Utilitaire PDF par lots
<a name="txt2pdf"></a>

TXT2PDF est un utilitaire mainframe couramment utilisé pour convertir un fichier texte en fichier PDF. Cet utilitaire utilise le même code source pour TXT2 PDF (z/OSlogiciel gratuit). Nous l'avons modifié pour qu'il fonctionne dans l'environnement d'exécution du logiciel AWS Mainframe Modernization Rocket (anciennement Micro Focus).

**Topics**
+ [Plateformes prises en charge](#txt2pdf-platforms)
+ [Configuration du TXT2 PDF pour la gestion de la modernisation AWS du mainframe](#txt2pdf-configure-managed)
+ [Configuration du TXT2 PDF pour l'exécution de la modernisation du AWS mainframe sur Amazon EC2 (applications incluses) WorkSpaces](#txt2pdf-configure-customer-infra)
+ [Exemple de JCL](#txt2pdf-jcl)
+ [Modifications](#txt2pdf-mods)
+ [Références](#txt2pdf-ref)

## Plateformes prises en charge
<a name="txt2pdf-platforms"></a>

Vous pouvez utiliser le TXT2 format PDF sur l'une des plateformes suivantes :
+ AWS Modernisation des ordinateurs centraux : Rocket Software Managed
+ Rocket Software Runtime (sur Amazon EC2)
+ Toutes les variantes des produits Rocket Enterprise Developer (ED) et Rocket Enterprise Server (ES).

## Configuration du TXT2 PDF pour la gestion de la modernisation AWS du mainframe
<a name="txt2pdf-configure-managed"></a>

Si vos applications migrées s'exécutent sur AWS Mainframe Modernization Managed, configurez le TXT2 PDF comme suit.
+ Créez une bibliothèque REXX EXEC appelée. `AWS.M2.REXX.EXEC` Téléchargez ces [modules REXX](https://drm0z31ua8gi7.cloudfront.net/utilities/mf/TXT2PDF/rexx/TXT2PDF_rexx.zip) et copiez-les dans la bibliothèque. 
  + `TXT2PDF.rex`- z/OS Logiciel TXT2 PDF gratuit (modifié)
  + `TXT2PDFD.rex`- z/OS Logiciel TXT2 PDF gratuit (non modifié)
  + `TXT2PDFX.rex`- z/OS Logiciel TXT2 PDF gratuit (modifié)
  + `M2GETOS.rex`- Pour vérifier le type de système d'exploitation (Windows ou Linux)

Pour tester votre configuration, consultez[Exemple de JCL](#txt2pdf-jcl).

## Configuration du TXT2 PDF pour l'exécution de la modernisation du AWS mainframe sur Amazon EC2 (applications incluses) WorkSpaces
<a name="txt2pdf-configure-customer-infra"></a>

Si vos applications migrées s'exécutent sur le moteur d'exécution AWS Mainframe Modernization sur Amazon EC2, TXT2 configurez le PDF comme suit.

1. Définissez la variable d'environnement Rocket Software `MFREXX_CHARSET` sur la valeur appropriée, telle que « `A` » pour les données ASCII.
**Important**  
La saisie d'une valeur incorrecte peut entraîner des problèmes de conversion des données (de l'EBCDIC au format ASCII), rendant ainsi le PDF illisible ou inutilisable. Nous recommandons le réglage `MFREXX_CHARSET` correspondant`MF_CHARSET`.

1. Modifiez le [chemin du programme Micro Focus JES](https://www.microfocus.com/documentation/enterprise-developer/ed80/ED-Eclipse/GUID-BC8A1796-9EDE-48EB-8363-31C9BDE7F96B.html) pour inclure l'emplacement binaire des utilitaires de traitement par lots. Si vous devez spécifier plusieurs chemins, utilisez des deux-points (`:`) pour séparer les chemins sous Linux des points-virgules (`;`) sous Windows.
   + Linux : `/opt/aws/m2/microfocus/utilities/64bit`
   + Windows (32 bits) : `C:\AWS\M2\MicroFocus\Utilities\32bit`
   + Windows (64 bits) : `C:\AWS\M2\MicroFocus\Utilities\64bit`

1. Créez une bibliothèque REXX EXEC appelée. `AWS.M2.REXX.EXEC`` Téléchargez ces [modules REXX](https://drm0z31ua8gi7.cloudfront.net/utilities/mf/TXT2PDF/rexx/TXT2PDF_rexx.zip) et copiez-les dans la bibliothèque. 
   + `TXT2PDF.rex`- z/OS Logiciel TXT2 PDF gratuit (modifié)
   + `TXT2PDFD.rex`- z/OS Logiciel TXT2 PDF gratuit (non modifié)
   + `TXT2PDFX.rex`- z/OS Logiciel TXT2 PDF gratuit (modifié)
   + `M2GETOS.rex`- Pour vérifier le type de système d'exploitation (Windows ou Linux)

Pour tester votre configuration, consultez[Exemple de JCL](#txt2pdf-jcl).

## Exemple de JCL
<a name="txt2pdf-jcl"></a>

Pour tester l'installation, vous pouvez utiliser l'un des exemples de fichiers JCL suivants.

**TXT2PDF1.jcl**

Cet exemple de fichier JCL utilise un nom DD pour la conversion TXT2 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**

Cet exemple de JCL utilise un nom DSN pour la conversion TXT2 PDF.

```
//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=*
//*
//
```

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

Pour que le programme TXT2 PDF s'exécute dans l'environnement d'exécution du logiciel AWS Mainframe Modernization Rocket, nous avons apporté les modifications suivantes :
+ Modifications apportées au code source pour garantir la compatibilité avec le runtime Rocket Software REXX
+ Modifications visant à garantir que le programme peut s'exécuter à la fois sur les systèmes d'exploitation Windows et Linux
+ Modifications pour prendre en charge les environnements d'exécution EBCDIC et ASCII

## Références
<a name="txt2pdf-ref"></a>

TXT2Références PDF et code source :
+ [Convertisseur de texte en PDF](https://homerow.net/rexx/txt2pdf/)
+ [z/OSLogiciels gratuits TCP/IP et outils de messagerie](http://www.lbdsoftware.com/tcpip.html)
+ [TXT2Guide de référence de l'utilisateur au format PDF](http://www.lbdsoftware.com/TXT2PDF-User-Guide.pdf)

# Utilitaire de traitement par lots M2DFUTIL
<a name="m2dfutil"></a>

M2DFUTIL est un utilitaire JCL qui fournit des fonctions de sauvegarde, de restauration, de suppression et de copie sur des ensembles de données, de la même manière que le support fourni par l'utilitaire ADRDSSU du mainframe. Ce programme conserve de nombreux paramètres SYSIN d'ADRDSSU, ce qui simplifie le processus de migration vers ce nouvel utilitaire.

**Topics**
+ [Plateformes prises en charge](#m2dfutil-platforms)
+ [Exigences relatives à la plateforme](#m2dfutil-platform)
+ [Assistance future prévue](#m2udfutil-future-support)
+ [Localisation des actifs](#mdfutil-assets)
+ [Configurer le runtime M2DFUTIL ou AWS Mainframe Modernization sur Amazon EC2 (y compris 2.0) AppStream](#mdfutil-dependencies)
+ [Syntaxe générale](#mdfutil-syntax)
+ [Exemple JCLs](#mdfutil-sample-jcls)

## Plateformes prises en charge
<a name="m2dfutil-platforms"></a>

Vous pouvez utiliser M2DFUTIL sur l'une des plateformes suivantes :
+ Rocket Software (anciennement Micro Focus) ES sous Windows (64 bits et 32 bits)
+ Rocket Software ES sous Linux (64 bits)

## Exigences relatives à la plateforme
<a name="m2dfutil-platform"></a>

M2DFUTIL dépend de l'appel d'un script pour effectuer un test d'expression régulière. Sous Windows, vous devez installer Windows Services pour Linux (WSL) pour que ce script s'exécute.

## Assistance future prévue
<a name="m2udfutil-future-support"></a>

Les fonctionnalités qui ne sont pas actuellement disponibles dans l'utilitaire ADRDSSU du mainframe, mais qui seront étendues à l'avenir sont les suivantes : 
+ M2 géré
+ VSAM
+ Support COPY pour le changement de nom de fichier
+ Support de renommage pour RESTORE 
+ Plusieurs options INCLUDE et EXCLUDE
+ Clause BY pour la sous-sélection par DSORG, CREDT, EXPDT
+ Clause MWAIT permettant de réessayer les échecs de la file d'attente
+ Support de stockage S3 pour DUMP/RESTORE

## Localisation des actifs
<a name="mdfutil-assets"></a>

Le module de chargement de cet utilitaire est `M2DFUTIL.so` appelé sous `M2DFUTIL.dll` Linux et Windows. Ce module de chargement se trouve aux emplacements suivants :
+ Linux : `/opt/aws/m2/microfocus/utilities/64bit`
+ Windows (32 bits) : `C:\AWS\M2\MicroFocus\Utilities\32bit`
+ Windows (64 bits) : `C:\AWS\M2\MicroFocus\Utilities\64bit`

Le script utilisé pour tester les expressions régulières est appelé`compare.sh`. Ce script se trouve aux emplacements suivants :
+ Linux : `/opt/aws/m2/microfocus/utilities/scripts`
+ Windows (32 bits) : `C:\AWS\M2\MicroFocus\Utilities\scripts`

## Configurer le runtime M2DFUTIL ou AWS Mainframe Modernization sur Amazon EC2 (y compris 2.0) AppStream
<a name="mdfutil-dependencies"></a>

Configurez la région de votre serveur d'entreprise avec les éléments suivants :
+ Ajoutez les variables suivantes dans **[ES-Environment**]
  + `M2DFUTILS_BASE_LOC`- L'emplacement par défaut pour la sortie DUMP
  + `M2DFUTILS_SCRIPTPATH`- L'emplacement du `compare.sh` script documenté dans **Asset Locations**
  + `M2DFUTILS_VERBOSE`- [VERBEUX ou NORMAL]. Cela contrôle le niveau de détail de la `SYSPRINT ` sortie
+ Vérifiez que le chemin du module de charge est ajouté au `JES\Configuration\JES Program Path` paramètre
+ Vérifiez que les scripts du répertoire des utilitaires disposent des autorisations d'exécution. Vous pouvez ajouter une autorisation d'exécution à l'aide de la `chmod + x <script name>` commande, dans l'environnement Linux

## Syntaxe générale
<a name="mdfutil-syntax"></a>

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

Permet de copier des fichiers de l'emplacement catalogué actuel vers un emplacement de sauvegarde. Cet emplacement doit actuellement être un système de fichiers.

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

DUMP effectuera les opérations suivantes :

1. Créez le répertoire de localisation cible.

1. Cataloguez le répertoire de localisation cible en tant que membre du PDS.

1. Déterminez les fichiers à inclure en traitant le paramètre INCLUDE.

1. Désélectionnez les fichiers inclus en traitant le paramètre EXCLUDE.

1. Déterminez si les fichiers à vider doivent être SUPPRIMÉS.

1. Mettez en file d'attente les fichiers à traiter.

1. Copiez les fichiers.

1. Exportez les informations DCB cataloguées des fichiers copiés vers un fichier secondaire situé à l'emplacement cible afin de faciliter les futures opérations de restauration.

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

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

#### Paramètres requis
<a name="mdfutil-dump-requiredparam"></a>

Les paramètres requis pour DUMP sont les suivants :
+ `SYSPRINT DD NAME`- Pour contenir des informations de journalisation supplémentaires
+ `TARGET`- Emplacement cible. Il peut s’agir de :
  + Chemin complet de l'emplacement de décharge
  + Nom du sous-répertoire créé à l'emplacement défini dans la variable **M2DFUTILS\$1BASE\$1LOC**
+ `INCLUDE`- Soit une chaîne de recherche DSNAME unique nommée, soit une chaîne de recherche DSN valide pour le mainframe
+ `EXCLUDE`- Soit une chaîne de recherche DSNAME unique nommée, soit une chaîne de recherche DSN valide pour le mainframe

#### Paramètres facultatifs
<a name="mdfutil-dump-optionalparam"></a>
+ ANNULER - Annulez en cas d'erreur. Les fichiers traités seront conservés
+ (Par défaut) IGNORER - Ignore toute erreur et tout processus jusqu'à la fin
+ SUPPRIMER - Si aucune erreur ENQ ne se produit, le fichier est supprimé et n'est pas catalogué

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

Permet de supprimer et de décataloguer des fichiers en masse. Les fichiers ne sont pas sauvegardés.

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

DELETE effectuera les opérations suivantes :

1. Déterminez les fichiers à inclure en traitant le paramètre INCLUDE.

1. Désélectionnez les fichiers inclus en traitant le paramètre EXCLUDE.

1. Mettez en file d'attente les fichiers à traiter. Régler la disposition sur OLD, DELETE, KEEP.

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

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

#### Paramètres requis
<a name="mdfutil-delete-requiredparam"></a>

Les paramètres requis pour DELETE sont les suivants :
+ `SYSPRINT DD NAME`- Pour contenir des informations de journalisation supplémentaires
+ `INCLUDE`- Soit une chaîne de recherche DSNAME unique nommée, soit une chaîne de recherche DSN valide pour le mainframe 
+ `EXCLUDE`- Soit une chaîne de recherche DSNAME unique nommée, soit une chaîne de recherche DSN valide pour le mainframe 

#### Paramètres facultatifs
<a name="mdfutil-delete-optionalparam"></a>
+ ANNULER - Annulez en cas d'erreur. Les fichiers traités seront conservés 
+ (Par défaut) IGNORER - Ignore toute erreur et tout processus jusqu'à la fin

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

Permet de restaurer des fichiers précédemment sauvegardés à l'aide de DUMP. Les fichiers sont restaurés à leur emplacement catalogué d'origine, sauf si RENAME est utilisé pour modifier le DSNAME restauré.

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

RESTORE effectuera les opérations suivantes :

1. Validez le répertoire de localisation source.

1. Déterminez les fichiers à inclure en traitant le fichier d'exportation du catalogue.

1. Désélectionnez les fichiers inclus en traitant le paramètre EXCLUDE.

1. Mettez en file d'attente les fichiers à traiter.

1. Cataloguez les fichiers qui ne sont pas catalogués en fonction de leurs informations d'exportation.

1. Si un fichier est déjà catalogué et que les informations du catalogue d'exportation sont les mêmes, RESTORE remplacera le jeu de données catalogué si l'option REPLACE est définie.

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

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

#### Paramètres requis
<a name="mdfutil-restore-requiredparam"></a>

Les paramètres requis pour RESTORE sont les suivants :
+ `SYSPRINT DD NAME`- Pour contenir des informations de journalisation supplémentaires 
+ `SOURCE`- Emplacement de la source. Il peut s’agir de :
  + Chemin complet de l'emplacement de décharge
  + Nom du sous-répertoire créé à l'emplacement défini dans la variable **M2DFUTILS\$1BASE\$1LOC**
+ `INCLUDE`- Soit une chaîne de recherche DSNAME unique nommée, soit une chaîne de recherche DSN valide pour le mainframe
+ `EXCLUDE`- Soit une chaîne de recherche DSNAME unique nommée, soit une chaîne de recherche DSN valide pour le mainframe

#### Paramètres facultatifs
<a name="mdfutil-restore-optionalparam"></a>
+ ANNULER - Annulez en cas d'erreur. Fichiers traités conservés
+ (Par défaut) IGNORER - Ignore toute erreur et tout processus jusqu'à la fin
+ REMPLACER - Si le fichier en cours de restauration est déjà catalogué et que les notices du catalogue sont les mêmes, remplacez le fichier catalogué

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

 **tâche DUMP**

Cette tâche créera un sous-répertoire appelé`TESTDUMP`. Il s'agit de l'emplacement de sauvegarde par défaut spécifié par la variable **M2DFUTILS\$1BASE\$1LOC**. Il créera une bibliothèque PDS pour cette sauvegarde appelée`M2DFUTILS.TESTDUMP`. Les données du catalogue exportées sont stockées dans un fichier séquentiel de lignes situé dans le répertoire de sauvegarde appelé`CATDUMP.DAT`. Tous les fichiers sélectionnés seront copiés dans ce répertoire de sauvegarde.

```
//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
/*
//
```

 **SUPPRIMER une tâche**

Cette tâche supprimera tous les fichiers du catalogue qui correspondent au paramètre 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
/*
 //
```

 **tâche RESTORE**

Cette tâche restaurera les fichiers correspondant au paramètre INCLUDE à partir de l'emplacement de `TESTDUMP` sauvegarde. Les fichiers catalogués seront remplacés si le fichier catalogué est le même que celui de l'export CATDUMP et si l'option REPLACE est spécifiée.

```
//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
/*
//
```

# Utilitaire batch M2RUNCMD
<a name="m2runcmd"></a>

Vous pouvez utiliser M2RUNCMD, un utilitaire de traitement par lots, pour exécuter des commandes, des scripts et des appels système de Rocket Software (anciennement Micro Focus) directement depuis JCL au lieu de les exécuter à partir d'un terminal ou d'une invite de commande. Le résultat des commandes est enregistré dans le journal des spoules du traitement par lots.

**Topics**
+ [Plateformes prises en charge](#m2runcmd-platforms)
+ [Configurer M2RUNCMD pour l'exécution de la modernisation AWS du mainframe sur Amazon EC2 (y compris 2.0) AppStream](#m2runcmd-configure)
+ [Exemple JCLs](#m2runcmd-sample-jcls)

## Plateformes prises en charge
<a name="m2runcmd-platforms"></a>

Vous pouvez utiliser M2RUNCMD sur les plateformes suivantes :
+ Rocket Software Runtime (sur Amazon EC2)
+  Toutes les variantes des produits Rocket Software Enterprise Developer (ED) et Rocket Software Enterprise Server (ES).

## Configurer M2RUNCMD pour l'exécution de la modernisation AWS du mainframe sur Amazon EC2 (y compris 2.0) AppStream
<a name="m2runcmd-configure"></a>

Si vos applications migrées s'exécutent sur le moteur d'exécution AWS Mainframe Modernization sur Amazon EC2, configurez M2RUNCMD comme suit.
+ Modifiez le [chemin du programme Micro Focus JES](https://www.microfocus.com/documentation/enterprise-developer/ed80/ED-Eclipse/index.html?t=GUID-BC8A1796-9EDE-48EB-8363-31C9BDE7F96B.html) pour inclure l'emplacement binaire des utilitaires de traitement par lots. Si vous devez spécifier plusieurs chemins, utilisez deux points (:) pour séparer les chemins sous Linux des points-virgules (;) sous Windows.
  + Linux : `/opt/aws/m2/microfocus/utilities/64bit`
  + Windows (32 bits) : `C:\AWS\M2\MicroFocus\Utilities\32bit`
  + Windows (64 bits) : `C:\AWS\M2\MicroFocus\Utilities\64bit`

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

Pour tester l'installation, vous pouvez utiliser l'un des exemples suivants JCLs.

 **RUNSCRL1.jcl**

Cet exemple de JCL crée un script et l'exécute. La première étape consiste à créer un script appelé `/tmp/TEST_SCRIPT.sh` et dont le contenu provient de données `SYSUT1` in-stream. La deuxième étape définit l'autorisation d'exécution et exécute le script créé lors de la première étape. Vous pouvez également choisir de n'effectuer que la deuxième étape pour exécuter le logiciel Rocket et les commandes système déjà existants.

```
//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**

Le résultat de la commande ou du script exécuté est écrit dans le `SYSOUT` journal. Pour chaque commande exécutée, il affiche la commande, le code de sortie et le code de retour.

```
************ 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**

Cet exemple de JCL utilise RUNCMD pour exécuter plusieurs commandes.

```
//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
/*
//
```