

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.

# Migración y réplica de archivos VSAM a Amazon RDS o Amazon MSK mediante Connect de Precisely
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely"></a>

*Prachi Khanna y Boopathy Gopalsamy, Amazon Web Services*

## Resumen
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-summary"></a>

Este patrón le muestra cómo migrar y replicar archivos del Método de Acceso a Almacenamiento Virtual (VSAM) de un mainframe a un entorno de destino en la nube de AWS mediante [Connect](https://www.precisely.com/product/precisely-connect/connect) de Precisely. Los entornos de destino indicados en este patrón incluyen Amazon Relational Database Service (Amazon RDS) y Amazon Managed Streaming para Apache Kafka (Amazon MSK). Connect emplea [registro de datos de cambios (CDC)](https://www.precisely.com/resource-center/productsheets/change-data-capture-with-connect) para supervisar continuamente las actualizaciones de sus archivos VSAM de origen y, a continuación, transferir estas actualizaciones a uno o más de sus entornos de destino de AWS. Puede usar este patrón para lograr sus objetivos de modernización de aplicaciones o análisis de datos. Por ejemplo, puede usar Connect para migrar los archivos de aplicaciones de VSAM a la nube de AWS con baja latencia, o migrar sus datos de VSAM a un almacenamiento de datos o lago de datos de AWS para realizar análisis que puedan tolerar latencias de sincronización superiores a las requeridas para la modernización de las aplicaciones.

## Requisitos previos y limitaciones
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-prereqs"></a>

**Requisitos previos **
+ [IBM z/OS V2R1](https://www-40.ibm.com/servers/resourcelink/svc00100.nsf/pages/zosv2r1-pdf-download?OpenDocument) o posterior
+ [CICS Transaction Server para z/OS (CICS TS) V5.1 o posterior (captura de datos CICS/VSAM](https://www.ibm.com/support/pages/cics-transaction-server-zos-51-detailed-system-requirements))
+ [IBM MQ 8.0](https://www.ibm.com/support/pages/downloading-ibm-mq-80) o posterior
+ Cumplimiento de los [requisitos de seguridad de z/OS (por ejemplo, la autorización de la APF](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Installation/Install-Connect-CDC-SQData-on-zOS/Prerequisites-for-z/OS/Security-authorization-requirements-for-z/OS) para cargar bibliotecas) SQData 
+ Registros de recuperación de VSAM activados
+ (Opcional) [Versión de recuperación de CICS VSAM (CICS VR)](https://www.ibm.com/docs/en/cics-vr/5.1?topic=started-introducing-cics-vr) para capturar automáticamente los registros de CDC
+ Una cuenta de AWS activa
+ Una [nube privada virtual (VPC) de Amazon](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-getting-started.html) con una subred a la que pueda acceder la plataforma antigua
+ Una licencia de VSAM Connect de Precisely

**Limitaciones**
+ Connect no admite la creación automática de tablas de destino basadas en cuadernos o esquemas VSAM de origen. Debe definir la estructura de la tabla de destino por primera vez.
+ En el caso de destinos que no son de transmisión, como Amazon RDS, debe especificar el mapeo entre el origen de la conversión y el destino en el script de configuración de Apply Engine.
+ Las funciones de registro, monitoreo y alerta se implementan a través de componentes externos (como Amazon CloudWatch) APIs y requieren que estén completamente operativas.

**Versiones de producto**
+ SQData 40134 para z/OS
+ SQData 4.0.43 para la Amazon Machine Image (AMI) de Amazon Linux en Amazon Elastic Compute Cloud (Amazon) EC2

## Arquitectura
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-architecture"></a>

**Pila de tecnología de origen**
+ Lenguaje de control de tareas (JCL)
+ Shell z/OS Unix e Instalación de Sistema Interactivo de Productividad (ISPF)
+ Utilidades VSAM (IDCAMS)

**Pila de tecnología de destino**
+ Amazon EC2
+ Amazon MSK
+ Amazon RDS
+ Amazon VPC

**Arquitectura de destino**

*Migración de archivos VSAM a Amazon RDS*

El siguiente diagrama muestra cómo migrar archivos VSAM a una base de datos relacional, como Amazon RDS, en tiempo real o casi en tiempo real mediante el CDC agent/publisher en el entorno de origen (mainframe local) y el [Apply Engine](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Apply-engine) en el entorno de destino (nube de AWS).

![\[Diagram showing VSAM file migration from on-premises mainframe to Nube de AWS using CDC and Apply Engine.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/4ee183bd-1c0d-449d-8cdc-eb6e2c41a695/images/47cefbde-e0c8-4c36-ba48-cccc2c443074.png)


El diagrama muestra el siguiente flujo de trabajo por lotes:

1. Connect registra los cambios en un archivo comparando los archivos VSAM de los archivos de copia de seguridad para identificar los cambios y, a continuación, los envía al flujo de registro.

1. El publicador consume los datos del flujo de registro del sistema.

1. El publicador comunica los cambios registrados en los datos a un motor de destino a través de TCP/IP. El controlador Daemon autentica la comunicación entre los entornos de origen y destino.

1. El Apply Engine del entorno de destino recibe los cambios del agente publicador y los aplica a una base de datos relacional o no relacional.

En el diagrama, se muestra el siguiente flujo on line:

1. Connect registra los cambios en el archivo online mediante una réplica de registro y, a continuación, transmite los cambios registrados a un flujo de registro.

1. El publicador consume los datos del flujo de registro del sistema.

1. El publicador comunica los cambios en los datos registrados al motor de destino a través de TCP/IP. El controlador Daemon autentica la comunicación entre los entornos de origen y destino.

1. El motor de implementación del entorno de destino recibe los cambios del agente publicador y los aplica a una base de datos relacional o no relacional.

*Migración de archivos VSAM a Amazon MSK*

El siguiente diagrama muestra cómo transmitir estructuras de datos de VSAM desde un mainframe a Amazon MSK en modo de alto rendimiento, y cómo generar automáticamente conversiones de esquemas JSON o AVRO que se integran con Amazon MSK.

![\[Diagram showing data flow from on-premises mainframe to Nube de AWS services via Amazon VPC.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/4ee183bd-1c0d-449d-8cdc-eb6e2c41a695/images/13eb27ad-c0d2-489b-91e1-5b2a729fb8dd.png)


El diagrama muestra el siguiente flujo de trabajo por lotes:

1. Connect registra los cambios en un archivo mediante CICS VR o comparando los archivos VSAM de los archivos de copia de seguridad para identificar los cambios. Los cambios registrados se envían al flujo de registro.

1. El publicador consume los datos del flujo de registro del sistema.

1. El publicador comunica los cambios en los datos registrados al motor de destino a través de TCP/IP. El controlador Daemon autentica la comunicación entre los entornos de origen y destino.

1. El motor replicador, que funciona en modo de procesamiento paralelo, divide los datos en una unidad de caché de trabajo.

1. Los subprocesos de trabajo registran los datos de la caché.

1. Los datos se publican en los temas de Amazon MSK desde los hilos de trabajo.

1. [Los usuarios aplican los cambios de Amazon MSK a destinos como Amazon DynamoDB, Amazon Simple Storage Service (Amazon S3) OpenSearch o Amazon Service mediante conectores.](https://docs.aws.amazon.com/msk/latest/developerguide/msk-connect-connectors.html)

En el diagrama, se muestra el siguiente flujo on line:

1. Los cambios en el archivo online se registran mediante una réplica de registro. Los cambios registrados se envían al flujo de registro.

1. El publicador consume los datos del flujo de registro del sistema.

1. El publicador comunica los cambios en los datos registrados al motor de destino a través de TCP/IP. El controlador Daemon autentica la comunicación entre los entornos de origen y destino.

1. El motor replicador, que funciona en modo de procesamiento paralelo, divide los datos en una unidad de caché de trabajo.

1. Los subprocesos de trabajo registran los datos de la caché.

1. Los datos se publican en los temas de Amazon MSK desde los hilos de trabajo.

1. [Los usuarios aplican los cambios de Amazon MSK a destinos como DynamoDB, Amazon S3 o Service mediante OpenSearch conectores.](https://docs.aws.amazon.com/msk/latest/developerguide/msk-connect-connectors.html)

## Tools (Herramientas)
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-tools"></a>
+ [Amazon Managed Streaming para Apache Kafka (Amazon MSK)](https://docs.aws.amazon.com/msk/latest/developerguide/what-is-msk.html) es un servicio completamente administrado que le permite crear y ejecutar aplicaciones que utilizan Apache Kafka para procesar datos de streaming.
+ [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) le ayuda a configurar, utilizar y escalar una base de datos relacional en la nube de AWS.

## Epics
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-epics"></a>

### Prepare el entorno de origen (mainframe)
<a name="prepare-the-source-environment-mainframe"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Instale Connect CDC 4.1. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | Desarrollador/administrador de IBM Mainframe | 
| Configure el directorio zFS. | Para configurar un directorio zFS, siga las instrucciones de [Directorios de variables zFS](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Installation/Install-Connect-CDC-SQData-on-zOS/Prerequisites-for-z/OS/Security-authorization-requirements-for-z/OS/zFS-variable-directories) en la documentación de Precisely.Las configuraciones de Controller Daemon y Capture/Publisher agente se almacenan en el sistema de archivos de z/OS UNIX Systems Services (denominado ZfS). Los agentes de controlador Daemon, registrador, almacenamiento y publicador requieren una estructura de directorios zFS predefinida para almacenar un número reducido de archivos. | Desarrollador/administrador de IBM Mainframe | 
| Configure los puertos. TCP/IP  | Para configurar TCP/IP los puertos, siga las instrucciones de los [puertos TCP/IP](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Installation/Install-Connect-CDC-SQData-on-UNIX/Prerequisites-for-UNIX/Security-authorization-requirements-for-UNIX/TCP/IP-ports) de la documentación de Precily.El controlador Daemon requiere TCP/IP puertos en los sistemas de origen. Los puertos son referenciados por los motores en los sistemas de destino (donde se procesan los datos de cambios registrados). | Desarrollador/administrador de IBM Mainframe | 
| Cree un flujo de z/OS registro. | Para crear un flujo de registro de [z/OS, siga las instrucciones de [Create z/OS system LogStreams](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-sources/IMS-z/OS/IMS-TM-EXIT-capture/Prepare-environment/Create-z/OS-system-logStreams?tocId=wy6243SXlIiEczwR8JE8WA)](https://www.ibm.com/docs/en/was/8.5.5?topic=SSEQTP_8.5.5/com.ibm.websphere.installation.zseries.doc/ae/cins_logstrm.html) en la documentación de Precily.Connect utiliza el flujo de registro para registrar y transmitir datos entre el entorno de origen y el entorno de destino durante la migración.Para ver un ejemplo de JCL que crea un z/OS LogStream, consulte [Crear flujos de registro z/OS del sistema](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-sources/IMS-z/OS/IMS-TM-EXIT-capture/Prepare-environment/Create-z/OS-system-logStreams?tocId=wy6243SXlIiEczwR8JE8WA) en la documentación de Precily. | Desarrollador de Mainframe de IBM | 
| Identifique y autorice a IDs los usuarios de ZfS y a las tareas iniciadas. | Use RACF para conceder acceso al sistema de archivos OMVS zFS. Para ver un ejemplo de JCL, consulte [Identificar y autorizar el usuario de ZfS y la tarea iniciada IDs](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-sources/IMS-z/OS/IMS-log-reader-capture/Prepare-environment/Identify-and-authorize-zFS-user-and-started-task-IDs?tocId=MrBXpFu~N0iAy~8VTrH0tQ) en la documentación de Precily. | Desarrollador/administrador de IBM Mainframe | 
| Genere las claves z/OS públicas/privadas y el archivo de claves autorizado. | Ejecute JCL para generar el par de claves. Para ver un ejemplo, consulte *Ejemplo de par de claves* en la sección de *Información adicional* de este patrón.Para obtener instrucciones, consulte [Generar claves z/OS públicas y privadas y un archivo de claves autorizadas](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-sources/Db2-z/OS/Prepare-the-environment/Generate-z/OS-public-and-private-keys-and-authorized-key-file?tocId=fceE77dWT8smZsSaE~FeMQ) en la documentación de Precily. | Desarrollador/administrador de IBM Mainframe | 
| Active el registro replicado de CICS VSAM y adjúntelo al flujo de registro. | Ejecute el siguiente script de JCL.<pre> //STEP1 EXEC PGM=IDCAMS<br /> //SYSPRINT DD SYSOUT=*<br /> //SYSIN DD *<br />   ALTER SQDATA.CICS.FILEA -<br />   LOGSTREAMID(SQDATA.VSAMCDC.LOG1) -<br />   LOGREPLICATE</pre> | Desarrollador/administrador de IBM Mainframe | 
| Active el registro de recuperación de archivos de VSAM mediante FCT. | Modifique la tabla de control de archivos (FCT) para que refleje los siguientes cambios en los parámetros:<pre> Configure FCT Parms<br />   CEDA ALT FILE(name) GROUP(groupname)<br />   DSNAME(data set name)<br />   RECOVERY(NONE|BACKOUTONLY|ALL)<br />   FWDRECOVLOG(NO|1–99)<br />   BACKUPTYPE(STATIC|DYNAMIC)<br />   RECOVERY PARAMETERS<br />   RECOVery : None | Backoutonly | All<br />   Fwdrecovlog : No | 1-99<br />   BAckuptype : Static | Dynamic</pre> | Desarrollador/administrador de IBM Mainframe | 
| Configure el CDCz registro para el agente publicador. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | Desarrollador/administrador de IBM Mainframe | 
| Active el controlador Daemon. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | Desarrollador/administrador de IBM Mainframe | 
| Active el publicador. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | Desarrollador/administrador de IBM Mainframe | 
| Active el flujo de registro. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | Desarrollador/administrador de IBM Mainframe | 

### Prepare el entorno de destino (AWS)
<a name="prepare-the-target-environment-aws"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Instale Precily en una EC2 instancia. | Para instalar Connect from Precisely en la AMI de Amazon Linux para Amazon EC2, siga las instrucciones de [Instalar Connect CDC (SQData) en UNIX](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Installation/Install-Connect-CDC-SQData-on-UNIX) en la documentación de Precily. | AWS general | 
| Abra los TCP/IP puertos. | Para modificar el grupo de seguridad e incluir los puertos del controlador Daemon para el acceso entrante y saliente, siga las instrucciones de [TCP/IP](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-sources/Change-data-capture/Transient-storage-and-publishing/TCP/IP) en la documentación de Precisely. | AWS general | 
| Cree directorios de archivos. | Para crear directorios de archivos, siga las instrucciones de [Preparación del entorno de aplicación de destino](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-targets/Kafka/Prepare-target-apply-environment) en la documentación de Precisely. | AWS general | 
| Cree el archivo de configuración de Apply Engine. | Cree el archivo de configuración de Apply Engine en el directorio de trabajo de Apply Engine. El siguiente ejemplo de archivo de configuración muestra Apache Kafka como destino:<pre>builtin.features=SASL_SCRAM<br />  security.protocol=SASL_SSL<br />  sasl.mechanism=SCRAM-SHA-512<br />  sasl.username=<br />  sasl.password=<br />  metadata.broker.list=</pre>Para obtener más información, consulte [Security](https://kafka.apache.org/documentation/#security) en la documentación de Apache Kafka. | AWS general | 
| Cree scripts para el procesamiento de Apply Engine. | Cree scripts para que Apply Engine procese los datos de origen y los replique en el destino. Para obtener más información, consulte [Crear un script de Apply Engine](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Apply-engine/Apply-engine-script-development/Create-an-apply-engine-script) en la documentación de Precisely. | AWS general | 
| Ejecute los scripts. | Para iniciar el script, ejecute los comandos `SQDPARSE` y `SQDENG`. Para obtener más información, consulte [Analizar un script para zOS](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Apply-engine/Apply-engine-script-development/Parse-a-script/Parse-a-script-for-zOS) en la documentación de Precisely. | AWS general | 

### Validar el entorno
<a name="validate-the-environment"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide la lista de archivos VSAM y las tablas de destino para su procesamiento en CDC. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | AWS general, Mainframe | 
| Compruebe que el SQData producto Connect CDC esté vinculado. | Ejecute un trabajo de prueba y compruebe que el código de retorno de este trabajo es 0 (correcto).Los mensajes de estado de Connect CDC SQData Apply Engine deben mostrar mensajes de conexión activa. | AWS general, Mainframe | 

### Ejecute y valide casos de prueba (lote)
<a name="run-and-validate-test-cases-batch"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Ejecute el trabajo por lotes en el mainframe. | Ejecute el trabajo de aplicación por lotes con un JCL modificado. Incluya pasos en el JCL modificado para hacer lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | AWS general, Mainframe | 
| Comprobar el flujo de registros. | Compruebe el flujo de registro para confirmar que puede ver los datos de cambios del trabajo por lotes completado en el mainframe. | AWS general, Mainframe | 
| Valide los recuentos de la tabla de cambios delta de origen y de destino. | Para confirmar que se han contabilizado los registros, haga lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | AWS general, Mainframe | 

### Ejecute y valide casos de prueba (On line)
<a name="run-and-validate-test-cases-online"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Ejecute la transacción online en una región CICS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | Desarrollador de Mainframe de IBM | 
| Comprobar el flujo de registros. | Confirme que el flujo de registro incluye los cambios específicos a nivel de registro. | Desarrollador de AWS Mainframe | 
| Valide el recuento en la base de datos de destino. | Supervise Apply Engine para comprobar el recuento a nivel de registro. | Precisely, Linux | 
| Valide los recuentos de registros y los registros de datos en la base de datos de destino. | Consulte la base de datos de destino para validar los recuentos de registros y los registros de datos. | AWS general | 

## Recursos relacionados
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-resources"></a>
+ [VSAM z/OS](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-sources/VSAM-z/OS) (documentación de Precisely)
+ [Apply engine](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Apply-engine) (documentación de Precisely)
+ [Motor de replicador](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Replicator-engine) (documentación de Precisely)
+ [Flujo de registro](https://www.ibm.com/docs/en/zos/2.3.0?topic=logger-log-stream) (documentación de IBM)

## Información adicional
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-additional"></a>

**Archivo de configuración de ejemplo**

Este es un archivo de configuración de ejemplo para un flujo de registro en el que el entorno de origen es un mainframe y el entorno de destino es Amazon MSK:

```
 
  -- JOBNAME -- PASS THE SUBSCRIBER NAME
  -- REPORT  progress report will be produced after "n" (number) of Source records processed.
  
  JOBNAME VSMTOKFK;
  --REPORT EVERY 100;
  -- Change Op has been ‘I’ for insert, ‘D’ for delete , and ‘R’ for Replace. For RDS it is 'U' for update
  -- Character Encoding on z/OS is Code Page 1047, on Linux and UNIX it is Code Page 819 and on Windows, Code Page 1252
  OPTIONS
  CDCOP('I', 'U', 'D'),
  PSEUDO NULL = NO,
  USE AVRO COMPATIBLE NAMES,
  APPLICATION ENCODING SCHEME = 1208;
  
  --       SOURCE DESCRIPTIONS
  
  BEGIN GROUP VSAM_SRC;
  DESCRIPTION COBOL ../copybk/ACCOUNT AS account_file;
  END GROUP;
  
  --       TARGET DESCRIPTIONS
  
  BEGIN GROUP VSAM_TGT;
  DESCRIPTION COBOL ../copybk/ACCOUNT AS account_file;
  END GROUP;
  
  --       SOURCE DATASTORE (IP & Publisher name)
  
  DATASTORE cdc://10.81.148.4:2626/vsmcdct/VSMTOKFK
  OF VSAMCDC
  AS CDCIN
  DESCRIBED BY GROUP VSAM_SRC ACCEPT ALL;
  
  --       TARGET DATASTORE(s) - Kafka and topic name
  
  DATASTORE 'kafka:///MSKTutorialTopic/key'
  OF JSON
  AS CDCOUT
  DESCRIBED BY GROUP VSAM_TGT FOR INSERT;
  
  --       MAIN SECTION
  
  PROCESS INTO
  CDCOUT
  SELECT
  {
  SETURL(CDCOUT, 'kafka:///MSKTutorialTopic/key')
  REMAP(CDCIN, account_file, GET_RAW_RECORD(CDCIN, AFTER), GET_RAW_RECORD(CDCIN, BEFORE))
  REPLICATE(CDCOUT, account_file)
  }
  FROM CDCIN;
```

**Ejemplo de par de claves**

Este es un ejemplo de cómo ejecutar JCL para generar el par de claves:

```
//SQDUTIL EXEC PGM=SQDUTIL //SQDPUBL DD DSN=&USER..NACL.PUBLIC, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=21200), // DISP=(,CATLG,DELETE),UNIT=SYSDA, // SPACE=(TRK,(1,1)) //SQDPKEY DD DSN=&USER..NACL.PRIVATE, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=21200), // DISP=(,CATLG,DELETE),UNIT=SYSDA, // SPACE=(TRK,(1,1)) //SQDPARMS DD  keygen //SYSPRINT DD SYSOUT= //SYSOUT DD SYSOUT=* //SQDLOG DD SYSOUT=* //*SQDLOG8 DD DUMMY
```