

AWS El servicio de modernización de mainframes (experiencia en entornos de ejecución gestionados) ya no está abierto a nuevos clientes. Para obtener prestaciones similares a las del Servicio de Modernización de AWS Mainframe (experiencia en entornos de ejecución gestionados), explore el Servicio de Modernización de AWS Mainframe (experiencia autogestionada). Los clientes existentes pueden seguir utilizando el servicio con normalidad. Para obtener más información, consulte Cambio en la disponibilidad de la modernización del [AWS mainframe.](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Tutorial: Convierte código de Assembler a COBOL en AWS Mainframe Modernization
<a name="assembler-conversion-steps"></a>

Puede utilizar este documento como step-by-step guía para comprender cómo convertir el código del ensamblador de modernización del mainframe a COBOL. Además, también puede consultar [Automated code conversion from Assembler to COBOL workshop](https://catalog.workshops.aws/awsm2ccm-assembler-cobol/en-US) para obtener más información sobre el proceso de conversión.

**Contents**
+ [Requisitos previos](#tutorial-assembler-conversion-prerequisites)
+ [Paso 1: Comparta los activos de construcción con Cuenta de AWS](#tutorial-assembler-conversion-share-assets)
+ [Paso 2: creación de buckets de Amazon S3](#tutorial-assembler-conversion-create-bucket)
+ [Paso 3: creación de la política de IAM](#tutorial-assembler-conversion-IAM-policy)
+ [Paso 4: creación de un rol de IAM](#tutorial-assembler-conversion-IAM-role)
+ [Paso 5: asociación de las políticas de IAM al rol de IAM.](#tutorial-assembler-conversion-attach)
+ [Paso 6: Crea el CodeBuild proyecto](#tutorial-assembler-conversion-create-project)
  + [Paso 6.1: creación del proyecto Definir](#tutorial-conversion-define-project)
  + [Paso 6.2: creación del proyecto de Code Analysis](#tutorial-conversion-analysis-project)
  + [Paso 6.3: creación del proyecto de Code Conversion](#tutorial-conversion-code-project)
+ [Paso 7: definición del proyecto y carga del código fuente](#tutorial-assembler-conversion-define-upload)
+ [Paso 8: ejecución del análisis y comprensión de los informes](#tutorial-assembler-conversion-run-analysis)
+ [Paso 9: ejecución de la conversión del código](#tutorial-assembler-conversion-run-code)
+ [Paso 10: verificación de la conversión de código](#tutorial-assembler-conversion-verify)
+ [Paso 11: descarga del código convertido](#tutorial-assembler-conversion-download)
+ [Eliminar recursos](#tutorial-assembler-conversion-clean-resources)

## Requisitos previos
<a name="tutorial-assembler-conversion-prerequisites"></a>

Lea la [Descripción de la facturación por conversión de código para la conversión de ensambladores](assembler-conversion-billing.md) sección para entender cómo la conversión de código de Assembler genera cargos (informes de facturación) y cómo AWS Account Management funciona la facturación.

## Paso 1: Comparta los activos de construcción con Cuenta de AWS
<a name="tutorial-assembler-conversion-share-assets"></a>

En este paso, asegúrate de compartir los activos de construcción con los tuyos Cuenta de AWS, especialmente en la región en la que se utilizan los activos.

1. Abre la AWS Mainframe Modernization consola en [https://console.aws.amazon.com/m2/](https://us-west-2.console.aws.amazon.com/m2/home?region=us-west-2#/).

1. En el panel de navegación izquierdo, seleccione **Herramientas**.

1. En **AWS Mainframe Modernization Code Code Conversion with MLogica**, elija **Compartir activos** con mi. Cuenta de AWS

**importante**  
Debe realizar este paso una vez en cada AWS región en la que desee realizar las compilaciones.

## Paso 2: creación de buckets de Amazon S3
<a name="tutorial-assembler-conversion-create-bucket"></a>

En este paso, creará buckets de Amazon S3. El primer bucket es el del proyecto AWS CodeBuild para contener el código fuente y, a continuación, colocar el bucket de salida para contener la salida de AWS CodeBuild (código convertido). Para obtener más información, consulte [Creación, configuración y trabajo con buckets de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) en la *Guía del usuario de Amazon S3*.

1. Para crear el bucket de proyecto, inicie sesión en la consola de Amazon S3 y elija **Crear bucket**.

1. En la **configuración general**, proporciona un nombre para el depósito y especifica el Región de AWS lugar en el que quieres crearlo. Un nombre de ejemplo es `codebuild-regionId-accountId-bucket`, donde: 
   + `regionId`es el Región de AWS del depósito.
   +  `accountId`es tu Cuenta de AWS carné de identidad.
**nota**  
Si va a crear el depósito en un lugar diferente al Región de AWS de EE. UU. Este (Virginia del Norte), especifique el `LocationConstraint` parámetro. Para obtener más información, consulte [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) en *Amazon Simple Storage Service API Referenc*.

1. Retenga todos los demás valores y elija **Crear bucket**.

Utilice los mismos nombres que elija para los buckets en todo este tutorial.

## Paso 3: creación de la política de IAM
<a name="tutorial-assembler-conversion-IAM-policy"></a>

En este paso, creará una [política de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html). La política de IAM proporcionada concede permisos específicos AWS CodeBuild para interactuar con Amazon S3, Amazon Elastic Container Registry, [ CloudWatch los registros de Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) que CodeBuild genera y Amazon Elastic Compute Cloud los recursos para la conversión de código. Esta política no está personalizada para los clientes. La política concede permisos para AWS Mainframe Modernization interactuar y obtener las estadísticas de conversión del código para facturar al cliente de forma adecuada.

Para obtener más información sobre la creación de una política de IAM, consulte [Creación de políticas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) en la *Guía del usuario de IAM*.

**Creación de una política**

1. Inicie sesión en la consola de IAM; y elija **Políticas** en el panel de navegación de la izquierda.

1. Elija **Crear política**.

1. Copie y pegue la siguiente política de JSON en el editor de políticas.

------
#### [ JSON ]

****  

   ```
   { 
       "Version":"2012-10-17",		 	 	  
       "Statement": [ 
           { 
               "Action": [
                   "s3:PutObject", 
                   "s3:GetObject", 
                   "s3:GetBucketLocation", 
                   "s3:ListBucket", 
                   "s3:PutObjectAcl", 
                   "s3:GetBucketAcl" 
               ], 
               "Resource": [ 
                   "arn:aws:s3:::codebuild-regionId-accountId-bucket", 
                   "arn:aws:s3:::codebuild-regionId-accountId-bucket/*", 
                   "arn:aws:s3:::aws-m2-repo-*" ], 
                       "Effect": "Allow" 
             }, 
             {
                 "Action": [ 
                   "ecr:GetAuthorizationToken", 
                   "ecr:BatchCheckLayerAvailability", 
                   "ecr:BatchGetImage", 
                   "ecr:GetDownloadUrlForLayer", 
                   "logs:*", 
                   "ec2:DescribeSecurityGroups", 
                   "ec2:DescribeSubnets", 
                   "ec2:DescribeNetworkInterfaces", 
                   "ec2:DeleteNetworkInterface", 
                   "ec2:CreateNetworkInterface", 
                   "ec2:DescribeDhcpOptions", 
                   "ec2:DescribeVpcs", 
                   "ec2:CreateNetworkInterfacePermission" 
               ], 
               "Resource": "*", 
               "Effect": "Allow" 
            } 
       ] 
   }
   ```

------

1. Si lo desea, puede agregar etiquetas a la política. Las etiquetas son pares clave-valor que pueden ayudarle a organizar, controlar el acceso a la política o realizar su seguimiento.

1. Elija **Next: Review**.

1. Escriba un nombre para la política, por ejemplo, `CodeBuildAWSM2CCMPolicy`.

1. Si lo desea, puede introducir una descripción de la política y revisar el resumen de la política para asegurarse de que es correcto.

1. Elija **Crear política**.

## Paso 4: creación de un rol de IAM
<a name="tutorial-assembler-conversion-IAM-role"></a>

En este paso, debe crear un nuevo [rol de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) que le CodeBuild permita interactuar con AWS los recursos, después de asociar las políticas de IAM que creó anteriormente a este nuevo rol de IAM.

Para obtener información sobre la creación de un rol de servicio, consulte [Creación de un rol para delegar permisos a un AWS servicio](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) en la guía del usuario de *IAM*.

1. Inicie sesión en la consola de IAM y elija **Roles** en el panel de navegación de la izquierda.

1. Elija **Crear rol**.

1. En **Tipo de entidad de confianza**, seleccione **Servicio de AWS**.

1. **En Casos de uso de otros servicios de AWS**, elija y **CodeBuild**, a continuación, **CodeBuild**vuelva a elegir.

1. Elija **Siguiente**.

1. Elija **Siguiente** en la página **Agregar permisos**. Posteriormente, asignará una política al rol.

1. En **Detalles del rol**, proporcione un nombre para el rol, por ejemplo, `IAMRoleTaskExecutionRoleForCodeBuild`.

1. En **Seleccionar entidades de confianza**, compruebe que el documento de política tenga el siguiente aspecto:

------
#### [ JSON ]

****  

   ```
   {
             "Version":"2012-10-17",		 	 	 
             "Statement": [
               {
                 "Effect": "Allow",
                 "Principal": {
                   "Service": "codebuild.amazonaws.com"
                 },
                 "Action": "sts:AssumeRole"
               }
             ]
   }
   ```

------

1. Elija **Crear rol**.

## Paso 5: asociación de las políticas de IAM al rol de IAM.
<a name="tutorial-assembler-conversion-attach"></a>

En este paso, asociará la política de IAM que ha creado antes al rol de IAM `IAMRoleTaskExecutionRoleForCodeBuild`.

1. Inicie sesión en la consola de IAM y elija **Roles** en el panel de navegación de la izquierda.

1. En **Roles**, elija el rol que ha creado anteriormente, por ejemplo, `IAMRoleTaskExecutionRoleForCodeBuild`.

1. En la sección **Políticas de permisos**, elija **Agregar permisos** y, después, **Asociar políticas**.

1. En **Otras políticas de permisos**, elija las políticas que ha creado anteriormente, por ejemplo, `CodeBuildAWSM2CCMPolicy`.

1. Seleccione **Asociar políticas**.

## Paso 6: Crea el CodeBuild proyecto
<a name="tutorial-assembler-conversion-create-project"></a>

En este paso, crearás tres CodeBuild proyectos diferentes basados en el `buildspec.yml` archivo mencionado anteriormente.

### Paso 6.1: creación del proyecto Definir
<a name="tutorial-conversion-define-project"></a>

**Creación del proyecto Definir**

1. Inicie sesión en la CodeBuild consola y elija **Crear proyecto de compilación**.

1. En la sección **Configuración del proyecto**, proporciona un nombre para el proyecto, por ejemplo, `1-awsm2ccm-define-project`.

1. En la sección **Origen**, en **Proveedor de origen**, deje la selección predeterminada.

1. En la sección **Entorno**, seleccione **Imagen personalizada**.

1. En el campo **Tipo de entorno**, seleccione **Linux**.

1. En **Registro de imágenes**, seleccione **Otro registro**.

1. En el campo **URL de registro externo**, siga la sección [AWS Mainframe Modernization contenedor](assembler-conversion-components-process.md#assembler-conversion-components-container).

1. En **Rol de servicio**, elija **Rol de servicio existente** y, en el campo **ARN de rol**, el rol de servicio que ha creado anteriormente (por ejemplo, `IAMRoleTaskExecutionRoleForCodeBuild`).

1. Amplíe la sección **Configuración adicional** y haga lo siguiente:

   1. VPC: configúrela si es necesario en función de la configuración.

   1. Tiempo de espera: establézcalo en **60 minutos**.

   1. Tiempo de espera en cola: establézcalo en **480 minutos**.

   1. Cifrado: elija la configuración de cifrado adecuada (la configuración predeterminada es correcta).

   1. En la sección **Variables de entorno**, agregue las siguientes variables, una por una:
      + Nombre: **PROJECT\_BUCKET**. Valor: `codebuild-regionId-accountId- bucket`. Tipo: **Plaintext**
      + Nombre: **PROJECT\_DIR**. Valor: `prj_codebuild_01`. Tipo: **Plaintext**
      + Nombre: **AWSM2CCM\_ACTION**. Valor: `define_project`. Tipo: **Plaintext**
      + **Nombre: CCM\_LOGGING\_BUCKET. AWSM2** Valor: `s3:// codebuild-regionId-accountId-bucket`. Tipo: **Plaintext**

1. En **Especificación de compilación**, elija **Insertar comandos de compilación** y, a continuación, **Cambiar al editor**.

1. Reemplace los valores actuales por lo siguiente:

   ```
   version: 0.2 
   phases: 
       build: 
           commands: 
               - . /app/awsm2ccm_prod/bin/setup_env.sh 
               - run_awsm2ccm.sh $PROJECT_DIR 
   artifacts: 
       files: 
           - '**/*' 
       discard-paths: no 
       base-directory: $PROJECT_DIR
   ```

   donde PROJECT\_DIR son variables de entorno disponibles en él. CodeBuild Para obtener más información, consulte [Variables de entorno en los entornos de compilación](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html).

1. En la sección **Artefactos**, haga lo siguiente:
   + en **Tipo**, elija **Amazon S3** y, a continuación, el bucket de salida, por ejemplo, `codebuild-regionId-accountId-bucket`.
   + en **Ruta**, deja este campo vacío.
   + en **Nombre**, escriba `prj_codebuild_01`.
   + en **Empaquetado de artefactos**, seleccione **Ninguno**.
   + en **Sustituir el nombre del artefacto**, desmarque esta opción.
   + en **Cifrado**, déjelo en la configuración predeterminada.

1. En la sección **Registro**, haga lo siguiente:
   + CloudWatch **registros: deshabilitado**
   + Registros de S3: **Habilitado**
   + Bucket: `codebuild-regionId-account-bucket`
   + Ruta de registro: `CODEBUILD-LOGS`

1. Elija **Crear el proyecto de compilación**.

### Paso 6.2: creación del proyecto de Code Analysis
<a name="tutorial-conversion-analysis-project"></a>

**Creación del proyecto de Code Analysis**

1. Inicie sesión en la CodeBuild consola y elija **Crear proyecto de compilación**.

1. En la sección **Configuración del proyecto**, proporciona un nombre para el proyecto, por ejemplo, `2-awsm2ccm-analysis`.

1. En la sección **Origen**, en **Proveedor del origen**, elija **Amazon S3** y, a continuación, el bucket de entrada que ha creado anteriormente, (por ejemplo, `codebuild-regionId-accountId-bucket`).

1. En el campo **Clave de objeto S3** o **Carpeta S3**, escriba `prj_codebuild_01`.

1. En la sección **Entorno**, seleccione **Imagen personalizada**.

1. En el campo **Tipo de entorno**, seleccione **Linux**.

1. En **Registro de imágenes**, seleccione **Otro registro**.

1. En el campo **URL de registro externo**, siga la sección [AWS Mainframe Modernization contenedor](assembler-conversion-components-process.md#assembler-conversion-components-container).

1. En **Rol de servicio**, elija **Rol de servicio existente** y, en el campo **ARN de rol**, el rol de servicio que ha creado anteriormente (por ejemplo, `IAMRoleTaskExecutionRoleForCodeBuild`).

1. Amplíe la sección **Configuración adicional** y haga lo siguiente:

   1. VPC: configúrela si es necesario en función de la configuración.

   1. Tiempo de espera: establézcalo en **60 minutos**.

   1. Tiempo de espera en cola: establézcalo en **480 minutos**.

   1. Cifrado: elija la configuración de cifrado adecuada (la configuración predeterminada es correcta).

   1. En la sección **Variables de entorno**, agregue las siguientes variables, una por una:
      + Nombre: **PROJECT\_BUCKET**. Valor: `codebuild-regionId-accountId-bucket`. Tipo: **Plaintext**
      + Nombre: **PROJECT\_DIR**. Valor: `prj_codebuild_01`. Tipo: **Plaintext**
      + Nombre: **AWSM2CCM\_ACTION**. Valor: `analysis`. Tipo: **Plaintext**
      + **Nombre: CCM\_LOGGING\_BUCKET. AWSM2** Valor: `s3:// codebuild-regionId-accountId-bucket`. Tipo: **Plaintext**

1. En **Especificación de compilación**, elija **Insertar comandos de compilación** y, a continuación, **Cambiar al editor**.

1. Reemplace los valores actuales por lo siguiente:

   ```
   version: 0.2 
   phases: 
       build: 
           commands: 
               - ln -s $CODEBUILD_SRC_DIR $PROJECT_DIR 
               - . /app/awsm2ccm_prod/bin/setup_env.sh 
               - run_awsm2ccm.sh $PROJECT_DIR
   artifacts: 
       files: 
           - '*.log' 
           - '_Converted/*/*' 
           - '_Reports/*' 
       secondary-artifacts: 
           reports: 
               files: 
                   - '_Reports/AWSM2CCM*' 
       discard-paths: no 
       base-directory: $PROJECT_DIR
   ```

   donde PROJECT\_DIR son variables de entorno disponibles en él. CodeBuild Para obtener más información, consulte [Variables de entorno en los entornos de compilación](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html).

1. En la sección **Artefactos**, haga lo siguiente:
   + en **Tipo**, elija **Amazon S3** y, a continuación, el bucket de salida (p. ej., `codebuild-regionId-accountId-bucket`).
   + en **Ruta**, escriba **ARTIFACTS**.
   + en **Nombre**, escriba `prj_codebuild_01`.
   + en **Empaquetado de artefactos**, seleccione **Ninguno**.
   + en **Sustituir el nombre del artefacto**, desmarque esta opción.
   + en **Cifrado**, déjelo en la configuración predeterminada.

1. En la sección **Registro**, haga lo siguiente:
   + CloudWatch **registros: deshabilitado**
   + Registros de S3: **Habilitado**
   + Bucket: `codebuild-regionId-account-bucket`
   + Ruta de registro: `CODEBUILD-LOGS`

1. Elija **Crear el proyecto de compilación**.

### Paso 6.3: creación del proyecto de Code Conversion
<a name="tutorial-conversion-code-project"></a>

**Creación del proyecto de Code Conversion**

1. Inicie sesión en la CodeBuild consola y elija **Crear proyecto de compilación**.

1. En la sección **Configuración del proyecto**, proporcione un nombre para el proyecto, (por ejemplo, `3-awsm2ccm-convert`).

1. En la sección **Origen**, en **Proveedor del origen**, elija **Amazon S3** y, a continuación, el bucket de entrada que ha creado anteriormente, (por ejemplo, `codebuild-regionId-accountId-bucket`).

1. En el campo **Clave de objeto S3** o **Carpeta S3**, escriba `prj_codebuild_01`.

1. En la sección **Entorno**, seleccione **Imagen personalizada**.

1. En el campo **Tipo de entorno**, seleccione **Linux**.

1. En **Registro de imágenes**, seleccione **Otro registro**.

1. En el campo **URL de registro externo**, siga la sección [AWS Mainframe Modernization contenedor](assembler-conversion-components-process.md#assembler-conversion-components-container).

1. En **Rol de servicio**, elija **Rol de servicio existente** y, en el campo **ARN de rol**, elija el rol de servicio que ha creado anteriormente; por ejemplo, `IAMRoleTaskExecutionRoleForCodeBuild`.

1. Amplíe la sección **Configuración adicional** y haga lo siguiente:

   1. VPC: configúrela si es necesario en función de la configuración.

   1. Tiempo de espera: establézcalo en **60 minutos**.

   1. Tiempo de espera en cola: establézcalo en **480 minutos**.

   1. Cifrado: elija la configuración de cifrado adecuada (la configuración predeterminada es correcta).

   1. En la sección **Variables de entorno**, agregue las siguientes variables, una por una:
      + Nombre: **PROJECT\_BUCKET**. Valor: `codebuild-regionId-accountId-bucket`. Tipo: **Plaintext**
      + Nombre: **PROJECT\_DIR**. Valor: `prj_codebuild_01`. Tipo: **Plaintext**
      + Nombre: **AWSM2CCM\_ACTION**. Valor: `conversion`. Tipo: **Plaintext**
      + **Nombre: CCM\_LOGGING\_BUCKET. AWSM2** Valor: `s3:// codebuild-regionId-accountId-bucket`. Tipo: **Plaintext**

1. En **Especificación de compilación**, elija **Insertar comandos de compilación** y, a continuación, **Cambiar al editor**.

1. Reemplace los valores actuales por lo siguiente:

   ```
   version: 0.2 
   phases: 
       build: 
           commands: 
               - export AWSM2CCM_PUSH_RUNTIME_COPYBOOKS=y 
               - ln -s $CODEBUILD_SRC_DIR $PROJECT_DIR 
               - . /app/awsm2ccm_prod/bin/setup_env.sh
               - run_awsm2ccm.sh $PROJECT_DIR
   artifacts: 
       files: 
           - '*.log' 
           - '_Converted/*/*' 
           - '_Reports/*'  
       discard-paths: no 
       base-directory: $PROJECT_DIR
   ```

   donde PROJECT\_DIR son variables de entorno disponibles en él. CodeBuild Para obtener más información, consulte [Variables de entorno en los entornos de compilación](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html).

1. En la sección **Artefactos**, haga lo siguiente:
   + en **Tipo**, elija **Amazon S3** y, a continuación, el bucket de salida (p. ej., `codebuild-regionId-accountId-bucket`).
   + en **Ruta**, escriba **ARTIFACTS**.
   + en **Nombre**, escriba `prj_codebuild_01`.
   + en **Empaquetado de artefactos**, seleccione **Ninguno**.
   + en **Sustituir el nombre del artefacto**, desmarque esta opción.
   + en **Cifrado**, déjelo en la configuración predeterminada.

1. En la sección **Registro**, haga lo siguiente:
   + CloudWatch **registros: deshabilitado**
   + Registros de S3: **Habilitado**
   + Bucket: `codebuild-regionId-account-bucket`
   + Ruta de registro: `CODEBUILD-LOGS`

1. Elija **Crear el proyecto de compilación**.

## Paso 7: definición del proyecto y carga del código fuente
<a name="tutorial-assembler-conversion-define-upload"></a>

El proyecto Definir configura la carpeta del proyecto y los archivos de configuración, inicializados con las configuraciones predeterminadas. En este paso, iniciará la compilación. Para ello:

1. Inicie sesión en la AWS CodeBuild consola.

1. En el panel de navegación, elija **Proyectos de compilación**.

1. Seleccione el proyecto creado anteriormente (`1-awsm2ccm-define-project`) para crearlo.

1. Seleccione **Iniciar la compilación** y, a continuación, **Comenzar ahora** para definir el proyecto. Una vez que comience la compilación, el estado cambiará a *En curso*.

1. Seleccione **los detalles de la fase** para ver el progreso de cada paso orquestado por el AWS CodeBuild proyecto.

1. Espere a que el estado cambie a **Realizado correctamente** para todos los pasos.

1. Uso de la consola de Amazon S3.

1. Localice y haga clic en el bucket de Amazon S3 llamado `codebuild-regionId-accountId-bucket`.
   + **`CODEBUILD-LOGS/`**la carpeta contiene los AWS CodeBuild registros de los AWS CodeBuild proyectos en ejecución.
   + La carpeta **`prj_codebuild_01/`** que contiene la estructura del proyecto. Se usa durante los pasos de análisis, expand\_macros y conversión. Puede seleccionar `prj_codebuild_01/` para explorar los detalles.
   + Archivo de configuración **`cobol_reserved.rsw`** (lista de palabras COBOL) reservado para el conversor. Se usa durante el paso de conversión.
   + La carpeta **`Macro_Expansion/`** contiene macros para expandir en programas de ensamblador. Se usa durante el paso expand\_macros.
   + El archivo de configuración **`macro_settings.json`** contiene un reemplazo de macros personalizado. Se usa durante el paso expand\_macros.
   + La carpeta **`macrolib/`** contiene las macros de ensamblador que se convertirán. Se usa durante el paso de análisis y conversión.

     1. Seleccione `macrolib/`.

     1. De forma predeterminada, se proporciona una macro de ensamblador llamada `MACRO1.mac` como archivo de ejemplo. Elimine este archivo, puesto que no es necesario para el análisis.

     1. Cargue sus macros en este directorio.
   + El archivo de configuración **`project_settings_aux.json`** contiene los ajustes relacionados con la página de códigos. Se usa durante el paso de conversión.
   + El archivo de configuración **`project_settings.json`** contiene los ajustes del convertidor. Se usa durante el paso de conversión.
   + La carpeta **`srclib/`** contiene los programas de ensamblador que se convertirán. Se usa durante el paso de análisis y conversión.

     1. Elija `srclib/`.

     1. De forma predeterminada, dos programas de ensamblador llamados `SQtest01.asm` y `SQtest02.asm` se proporcionan como ejemplos. Elimine estos archivos, ya que no son necesarios para el análisis y la conversión.

     1. Cargue sus programas de ensamblador en este directorio.

1. Compruebe el estado del paso `1-awsm2ccm-define-project`. Debería haberse realizado correctamente en la pestaña **Estado de compilación más reciente**.

Ya tiene todo preparado para el siguiente paso: **Análisis del código**.

## Paso 8: ejecución del análisis y comprensión de los informes
<a name="tutorial-assembler-conversion-run-analysis"></a>

**nota**  
AWS Mainframe Modernization El paso de *análisis* de conversión de código es gratuito.

En este paso, iniciará otra compilación:

1. En el panel de navegación, elija **Proyectos de compilación**.

1. Elija el proyecto que ha creado en el paso 6.2 para compilar: `2-awsm2ccm-analysis`.

1. Seleccione **Iniciar la compilación** y, a continuación, **Comenzar ahora** para generar informes de análisis. Esto iniciará la compilación y cambiará el estado a *En curso*.

1. Elija **los detalles de la fase**, donde verá el progreso de cada paso orquestado por el AWS CodeBuild proyecto. Espere a que el estado cambie a *Realizado correctamente* para todos los pasos.

1. Desde Consola de administración de AWS, vaya a la consola de servicio de Amazon S3.

1. Localice el bucket de Amazon S3 y haga clic en él: `codebuild-regionId-accountId-bucket`.

   1. La carpeta **`ARTIFACTS/`** contiene las salidas de los pasos *análisis* y *conversión*.

   1. Elija `ARTIFACTS/prj_codebuild_01/_Reports/`.

   1. Estarán disponibles los siguientes informes:
      + `AWSM2CCM-Analysis-Report-<timestamp>.pdf`es un informe ejecutivo que proporciona la facturación y el alcance de la conversión del AWS Mainframe Modernization código, lo que mejora la conversión, el resumen de la conversión y las estadísticas de conversión detalladas. También resume los recuentos de códigos y los recuentos de códigos facturables en el proyecto y proporciona métricas y listas de los miembros a los que se hace referencia para cada componente. Es fundamental ejecutar y examinar este informe antes de ejecutar la conversión real.
      + `Conversion_Detailed_Statistics.txt` proporciona la frecuencia y el resultado de conversión esperado (que se muestra como Estado de la conversión) para cada instrucción que se encuentra en cada componente. Esto proporciona una manera rápida de identificar si las instrucciones son claras o si el conversor no las admite. Los posibles resultados del *Estado de la conversión* son:
        + **Totalmente convertida**: la instrucción se convertirá con precisión a COBOL.
        + **Parcialmente convertida**: la instrucción se admite, pero utiliza un parámetro o expresión no admitidos. Es probable que sea necesario realizar ajustes manuales después de la conversión.
        + **No convertida**: el convertidor no admite la instrucción.
        + **Instrucciones de precompilación para verificación**: normalmente se incluyen dentro de las macros y hacen referencia a lo que probablemente se conozca también como instrucciones de *Lenguaje ensamblador condicional* (por ejemplo, AIF, AGO) en el mainframe. Estas se gestionan por el precompilador, que depende de dichas instrucciones o directivas, selecciona y produce un código ASM *limpio y estático*. Estas instrucciones dependen de los valores reales de los parámetros de la macro que se compilan. Por lo tanto, la misma macro puede generar diferentes fragmentos de código ASM, según los valores de los parámetros pasados. Esto se debe a la presencia de dichas *instrucciones de precompilación*. En ese caso, considere la posibilidad de expandir o rediseñar la macro.
      + `Conversion_Global_Statistics.txt` proporciona un resumen del *Estado de la conversión* en el componente.
      + `CrossReference_PgmToCpyMacro.txt` informa sobre las dependencias del programa de ensamblador con respecto a las macros. Proporciona una manera rápida de determinar si falta alguna macro en el código cargado.
      + `CrossReference_PgmToPgm.txt` informa sobre las dependencias del programa de ensamblador con respecto a otros programas de este tipo. Proporciona una manera rápida de determinar si falta algún programa de ensamblador en el código cargado.

1. Regrese a la consola AWS CodeBuild de servicio.

1. Verifique el estado del paso **2-awsm2ccm-analysis**. Debería haberse **realizado correctamente** en la pestaña **Estado de compilación más reciente**.

Ya tiene todo preparado para el siguiente paso: **Conversión del código**.

## Paso 9: ejecución de la conversión del código
<a name="tutorial-assembler-conversion-run-code"></a>

**importante**  
AWS Mainframe Modernization El paso de *conversión* del código se facturará según el uso que hagas. Para obtener más información sobre la facturación, consulte [Descripción de la facturación por conversión de código para la conversión de ensambladores](assembler-conversion-billing.md).

En este paso, configurará el proceso de conversión y, a continuación, iniciará la compilación.

1. Desde Consola de administración de AWS, vaya al servicio Amazon S3.

1. Localice el bucket de Amazon S3 y haga clic en él: `codebuild-regionId-accountId-bucket`.

   1. Vaya a `prj_codebuild_01/`.

   1. Seleccione `project_settings.json` y elija **Descargar**.

   1. Abra el archivo `project_settings.json` para ver la siguiente estructura JSON:

      ```
      { 
      "Source programs directory":"srclib", 
      "Source copybooks/macros directory":"macrolib", 
      "Copybook/Macros Conversion":"Called_only", 
      "Do not regenerate the Copy/Macro if already exists":"false", 
      "Target Compiler":"IBM", 
      "Endianess":"Big", 
      "Converted programs extension":"", 
      "Converted CICS programs extension":"", 
      "Converted copies/macros extension":"", 
      "Trace Level":"STANDARD", 
      "Trace file open mode":"append", 
      "Data definition level":5, 
      "Start picture column":40, 
      "Generate Sync FILLER with name":"FILL-SYNC", 
      "Use SYNC clause":"yes", 
      "Decimal Point Comma":"true", 
      "Original Source Placement":"RIGHT" 
      }
      ```

      donde,
      + **Directorio de programas de origen**: contiene los programas de ensamblador necesarios para la conversión.
      + **Directorio de macros y cuadernos de origen**: contiene las macros y los cuadernos de ensamblador necesarios para la conversión.
      + La **conversión de cuadernos o macros** puede realizarse de una de las siguientes maneras:
        + **Todos**: este botón de radio indica que la *conversión completa* convertirá todo lo que copybook/Macros esté disponible en el directorio, independientemente de si lo están utilizando los programas o no.
        + **Called\_only**: Este botón de radio indica que la *conversión completa* solo convertirá lo copybook/Macros que realmente utilizan los programas.
      + 
**importante**  
No es necesario regenerar el si ya existe. Copy/Macro 

        Si esto es cierto, la herramienta no volverá a convertir el cuaderno o la macro si ya se ha convertido (existe en la carpeta de salida). 
      + **Destino**: la conversión de los programas (código generado) depende del compilador COBOL de destino. Las siguientes opciones son compatibles:
        + IBM para el mainframe de IBM
        + MF para COBOL de Micro Focus 
        + VERYANT para isCOBOL de Veryant
        + NTT para NTT DATA Enterprise COBOL (Unikix)
      + **Endianess y Bitness**: la conversión de los programas (código generado) depende de la plataforma de destino (bit/endianess). Esta combinación permite seleccionar las siguientes opciones admitidas:
        + Endianess: *Grande* (para Big-Endian)/Little (Little-Endian). Por ejemplo, el z/OS mainframe de IBM es Big-Endian, Windows es Little-Endian y Linux varía según la distribución (por ejemplo, Amazon Linux 2 en EC2 es Little-Endian).
        + Bitness: 32/64 (si no se indica, el valor predeterminado será 32). La configuración recomendada es de 32 bits.
      + **Extensión de programa convertida**: sirve para establecer la extensión de archivo de los programas COBOL generados. Vacío (“”): sin extensión. En el caso de los objetivos COBOL de Rocket Software (anteriormente Micro Focus), se recomienda usar *CBL* para permitir que Rocket Enterprise Developer reconozca los archivos correctamente.
      + **Extensión de programa CICS convertida**: sirve para establecer la extensión de archivo de los programas CICS COBOL generados. Vacío (“”): sin extensión. En el caso de los objetivos COBOL de Rocket Software, se recomienda utilizar el *CBL* para que Rocket Enterprise Developer reconozca correctamente los archivos.
      + **Extensión de cuadernos o macros convertidos**: sirve para establecer la extensión de archivo de los cuadernos COBOL generados. Vacío (“”): sin extensión. En el caso de los objetivos COBOL de Rocket Software, se recomienda utilizar el *CPY* para que Rocket Enterprise Developer reconozca correctamente los archivos.
      + **Nivel de rastreo**: el rastreo es la información que se registra CodeBuild durante la conversión. El usuario puede seleccionar el nivel de detalle mediante cualquiera de las opciones proporcionadas.
        + **ERROR** = TRACE ERROR: solo se muestran los errores de conversión.
        + **STANDARD** = TRACE STANDARD: se muestran los errores de conversión y la información estándar. Esta es la configuración predeterminada.
        + **ALL** = TRACE ALL: nivel máximo de seguimiento
      + **Modo de apertura del archivo de rastreo**: no se utiliza. Se recomienda la configuración predeterminada de *añadir*.
      + **Nivel de definición de datos**: indica el nivel inicial de los subcampos (después del nivel 01) definidos en la sección de trabajo-almacenamiento y vinculación. Debe ser un número.
      + **Columna de imagen inicial**: se trata del formato del código COBOL generado e indica la columna en la que se coloca la cláusula *PIC* (después de los nombres de los campos). Debe ser un número.
      + **Ubicación original del origen:** indica la posición en la que se colocan los comentarios en el programa. Tiene dos secciones:
        + **DERECHA**: esta opción colocará el comentario o la información adicional en la posición correcta después de la septuagésima tercera (73) columna. En COBOL, el código se escribe en las primeras setenta y dos (1-72) columnas y todo lo que aparezca desde la septuagésima tercera (>= 73) se considerará un comentario.
        + **ARRIBA**: esta opción colocará el comentario encima del contenido traducido.
      + **Generar FILLER de sincronización con nombre**: esta opción está relacionada con la alineación en la memoria de campos binarios (tipos de datos del ensamblador H, F y D, que se convierten al tipo de datos COMP de COBOL). Para garantizar el *límite de alineación* correcto, se añadirán campos de *relleno* explícitos durante la conversión. Se trata de una opción basada en texto; el valor debe ser una cadena (como FILL-SYNC).
      + **Usar la cláusula SYNC**: esta opción se refiere a la alineación en la memoria de los campos binarios. Sí = todos los campos convertidos a COBOL. COMP se definirá con la cláusula SYNC (por ejemplo, 05 WRKFLD PIC S9 (09) COMP SYNC).
      + **Coma decimal**: si esto es verdadero, se añadirá la cláusula *DECIMAL-POINT IS COMMA* al párrafo de COBOL “SPECIAL-NAMES”.

   1. En función de sus requisitos, cambie los parámetros adecuados y, a continuación, guarde `project_settings.json`.

   1. Elimine el archivo `project_settings.json` existente de `prj_codebuild_01/` del bucket de Amazon S3 y, a continuación, cargue la nueva versión.

1. Vuelva al AWS CodeBuild servicio.

1. Seleccione el proyecto para compilar que ha creado anteriormente: `3-awsm2ccm-convert`

   1. Seleccione **Iniciar la compilación** y, a continuación, **Comenzar ahora** para convertir macros y programas de ensamblador en cuadernos y programas de COBOL.

   1. Espere a que el estado de compilación cambie a **Realizado correctamente** para este proyecto. Aparecerá en la pestaña **Estado de compilación más reciente**.

## Paso 10: verificación de la conversión de código
<a name="tutorial-assembler-conversion-verify"></a>

1. Desde Consola de administración de AWS, vaya al servicio Amazon S3.

1. Localice el bucket de Amazon S3 y haga clic en él: `codebuild-regionId-accountId-bucket`.

1. Navegue hasta **`awsm2ccm-do-not-delete `**. AWS Mainframe Modernization La conversión de código crea archivos binarios codificados para cada módulo ensamblador o macro durante el proceso de conversión. Estos archivos son esenciales para evitar la facturación duplicada a los clientes y también para hacer un seguimiento de cuánto del código de ensamblador proporcionado se analizó y convirtió. Los archivos se almacenan en la siguiente ubicación `codebuild-regionId-accountId- bucket/awsm2ccm-do-not-delete/<your_AWS_account_id>/Hash`: Los archivos codificados no contienen código de ensamblador y tampoco es posible extraer código del cliente de estos archivos.
**importante**  
No edite tampoco estos archivos manualmente ni los elimine. La edición o eliminación de estos archivos puede provocar facturaciones múltiples para los mismos componentes.

   Trate la carpeta **`awsm2ccm-do-not-delete/`** como un directorio administrado por el sistema. Consulte Soporte antes de realizar cualquier cambio en este directorio o en su contenido.

1. Haga clic en `codebuild-regionId-accountId-bucket` para volver al bucket.

1. Elija **`ARTIFACTS/prj_codebuild_01/`**. La carpeta **\_Converted/** contiene las salidas COBOL generadas como resultado del paso de conversión de código. Tendrá los siguientes subdirectorios:
   + La carpeta **copybooks/** contiene los cuadernos COBOL generados.
   + La carpeta **programs/** contiene los programas COBOL generados.
   + La carpeta **runtime\_lib/** contiene programas COBOL adicionales y cuadernos proporcionados por la solución.

1. Si los *informes de análisis* y otros informes indican que la conversión se ha realizado correctamente y el AWS CodeBuild proyecto `3-awsm2ccm-convert` está marcado como realizado **correctamente**, descargue el código COBOL y los cuadernos del directorio **\_Converted/**.

## Paso 11: descarga del código convertido
<a name="tutorial-assembler-conversion-download"></a>

En este paso, descargue el código de COBOL y los cuadernos del directorio **\_Converted/** y compílelos en el entorno de COBOL de destino.

1. Desde Consola de administración de AWS, vaya al servicio Amazon S3.

1. Localice el bucket de Amazon S3 y haga clic en él: `codebuild-regionId-accountId-bucket`.

1. Navegue hasta la ubicación: ` ARTIFACTS/prj_codebuild_01/_Converted/`.

1. Descargue el código COBOL convertido de todos los subdirectorios de **\_Converted/**. También puede utilizar el siguiente comando CLI para descargarlos a la vez:

   ```
   aws s3 cp s3://codebuild-regionId-accountId- 
   bucket/ARTIFACTS/prj_codebuild_01/_Converted/ . --recursive
   ```

1. Analice y compile el COBOL convertido en el entorno de COBOL de destino.

## Eliminar recursos
<a name="tutorial-assembler-conversion-clean-resources"></a>

Si ya no necesita los recursos que ha creado para este tutorial, elimínelos para evitar cargos adicionales. Para ello, complete los siguientes pasos.
+ Elimine los depósitos de S3 que ha creado para este tutorial. Para obtener más información, consulte [Eliminar un bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html) en la *Guía del usuario de Amazon Simple Storage Service*.
+ Elija las políticas que ha creado para este tutorial. Para obtener más información, consulte [Eliminación de políticas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-delete.html) en la *Guía del usuario de IAM*.
+ Elija el rol de IAM que ha creado para este tutorial. Para obtener más información, consulte [Eliminación de roles o perfiles de instancia](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html) en la *Guía del usuario de IAM*.
+ Elimine el CodeBuild proyecto que creó para este tutorial. Para obtener más información, consulte [Eliminar un proyecto de compilación CodeBuild en](https://docs.aws.amazon.com/codebuild/latest/userguide/delete-project.html) la *Guía del AWS CodeBuild usuario*.