Importación de definiciones de host de COBOL para archivos CICS, IMS y host
La característica de TI original de Host Integration Server Designer se introdujo con las funcionalidades completas para diseñar artefactos de metadatos desde cero con la ayuda de un programador del sistema central. Más adelante, se agregó la capacidad de importar definiciones de host en formato cobol o de cuaderno de rol para admitir escenarios para automatizar el diseño y reducir la participación de los programadores del sistema central. A lo largo de los años, esta funcionalidad se convirtió en la opción principal para crear artefactos de metadatos.
Requisitos previos
Descargar e instalar Visual Studio. Después de la instalación, asegúrese de instalar también la carga de trabajo denominada Desarrollo de escritorio con C++ en Visual Studio. De lo contrario, obtendrá la excepción de error de HRESULT 0x800A007C.
Descargue e instale el Designer HIS para Azure Logic Apps. El único requisito previo es Microsoft .NET Framework 4.8.
Un proyecto y solución de aplicación host de Visual Studio (CICS o IMS o proyecto de solución de archivo host donde desea importar la definición de host).
Nota
El Designer HIS proporciona y muestra diferentes opciones en función de si abre una solución de archivos CICS, IMS o host.
Comprenda cómo funciona el modelo de programación para la tecnología que desea integrar, que es CICS o IMS. Ambas plataformas tienen diferentes requisitos y formas de pasar y recibir información. Asegúrese de obtener información sobre el modelo de programación adecuado antes de importar las definiciones de host.
Obtenga las definiciones de host (copybooks) que desea importar en HIS Designer para Logic Apps. Este diseñador admite los copybooks COBOL y RPG.
Preparación de un libro de copia de COBOL
Los copybooks de COBOL deben seguir las reglas básicas de codificación de COBOL. El Designer HIS para Logic Apps aplica muchas de esas reglas. En la tabla siguiente se enumeran las reglas principales:
Columnas Tipo Observación 1–6 Número de secuencia No escriba nada en estas posiciones. 7 Indicador Use un asterisco (*) o una barra diagonal (/) para codificar un comentario. 8-11 Un margen (área A) Números de nivel 77 y números de nivel 01 12-72 Margen B (área B) Reservado para 02 niveles y superiores 73-80 Identificación No se permiten definiciones aquí. Compruebe que el copybook de COBOL o RPG cumple el requisito del modelo de programación seleccionado.
Compruebe los puntos al final de cada línea. Asegúrese de que aparecen, aunque las versiones más recientes de COBOL no requieran este formato.
Si el libro de copia incluye REDEFINEs, haga que el programador del sistema central confirme la definición de host que desea usar, si no hay ningún discriminante disponible.
Quite cualquier carácter que no sea el indicado en la tabla anterior. Asegúrese de que tiene el número correcto de caracteres.
Importación de una definición de host COBOL (CICS)
En los pasos siguientes se muestra cómo importar un libro de copia COBOL para un proyecto de aplicación host cics en el Designer HIS para Logic Apps. Este programa COBOL sigue el modelo de programación CICS ELM Link.
En Visual Studio, abra la solución de aplicación host CICS, que abre automáticamente la Designer HIS para Logic Apps.
En el panel izquierdo del diseñador, abra el menú contextual del nodo de componente y seleccione Importar>definición de host.
En el ejemplo siguiente, el nodo de componente se denomina NetCInt1.
En el cuadro Import System z COBOL Source File (Importar sistema z COBOL Source File ), seleccione Examinar.
Busque y seleccione el libro de copia que se va a importar y, a continuación, seleccione Abrir.
En el ejemplo siguiente se muestra el programa COBOL que se va a importar:
***************************************************************** ** THIS PROGRAM IS A SAMPLE CICS SERVER THAT DEMONSTRATES A * ** SIMPLE BANKING APPLICATION WHICH FORMATS AND RETURNS AN * ** ARRAY OF ACCOUNT RECORDS THAT WILL CONTAIN EITHER CHECKING OR* ** SAVINGS INFORMATION. * ***************************************************************** IDENTIFICATION DIVISION. PROGRAM-ID. GETAINFO. ENVIRONMENT DIVISION. DATA DIVISION. ***************************************************************** ** VARIABLES FOR INTERACTING WITH THE TERMINAL SESSION * ***************************************************************** WORKING-STORAGE SECTION. LINKAGE SECTION. 01 DFHCOMMAREA. 05 SSN PIC X(9). 05 ACCT-ARRAY OCCURS 2 TIMES. 10 ACCT-NUM PIC X(10). 10 ACCT-TYPE PIC X. 10 ACCT-INFO PIC X(39). 10 CHECKING REDEFINES ACCT-INFO. 15 CHK-OD-CHG PIC S9(3)V99 COMP-3. 15 CHK-OD-LIMIT PIC S9(5)V99 COMP-3. 15 CHK-OD-LINK-ACCT PIC X(10). 15 CHK-LAST-STMT PIC X(10). 15 CHK-DETAIL-ITEMS PIC S9(7) COMP-3. 15 CHK-BAL PIC S9(13)V99 COMP-3. 10 SAVINGS REDEFINES ACCT-INFO. 15 SAV-INT-RATE PIC S9(1)V99 COMP-3. 15 SAV-SVC-CHRG PIC S9(3)V99 COMP-3. 15 SAV-LAST-STMT PIC X(10). 15 SAV-DETAIL-ITEMS PIC S9(7) COMP-3. 15 SAV-BAL PIC S9(13)V99 COMP-3. 15 FILLER PIC X(12). PROCEDURE DIVISION. IF SSN = '111223333' THEN ********************************************************** * SSN = 111223333 IS AN INDICATION TO RETURN A * DISCRIMINATED UNION OF CHECKING AND SAVINGS ACCOUNTS ********************************************************** MOVE 'CHK4566112' TO ACCT-NUM OF ACCT-ARRAY(1) MOVE 'C' TO ACCT-TYPE OF ACCT-ARRAY(1) MOVE SPACES TO ACCT-INFO OF ACCT-ARRAY(1) MOVE 25.00 TO CHK-OD-CHG OF ACCT-ARRAY(1) MOVE 2000.00 TO CHK-OD-LIMIT OF ACCT-ARRAY(1) MOVE 'SAV1234567' TO CHK-OD-LINK-ACCT OF ACCT-ARRAY(1) MOVE '10/31/2005' TO CHK-LAST-STMT OF ACCT-ARRAY(1) MOVE 1 TO CHK-DETAIL-ITEMS OF ACCT-ARRAY(1) MOVE 41852.16 TO CHK-BAL OF ACCT-ARRAY(1) MOVE 'SAV1234567' TO ACCT-NUM OF ACCT-ARRAY(2) MOVE 'S' TO ACCT-TYPE OF ACCT-ARRAY(2) MOVE SPACES TO ACCT-INFO OF ACCT-ARRAY(2) MOVE 4.50 TO SAV-INT-RATE OF ACCT-ARRAY(2) MOVE 5.00 TO SAV-SVC-CHRG OF ACCT-ARRAY(2) MOVE '10/15/2005' TO SAV-LAST-STMT OF ACCT-ARRAY(2) MOVE 1 TO SAV-DETAIL-ITEMS OF ACCT-ARRAY(2) MOVE 146229.83 TO SAV-BAL OF ACCT-ARRAY(2) ELSE ********************************************************** * SSN = 333221111 IS AN INDICATION TO RETURN A * SIMPLE REDEFINITION OF CHECKING ACCOUNTS ONLY ********************************************************** MOVE 'CHK4566112' TO ACCT-NUM OF ACCT-ARRAY(1) MOVE 'C' TO ACCT-TYPE OF ACCT-ARRAY(1) MOVE SPACES TO ACCT-INFO OF ACCT-ARRAY(1) MOVE 25.00 TO CHK-OD-CHG OF ACCT-ARRAY(1) MOVE 2000.00 TO CHK-OD-LIMIT OF ACCT-ARRAY(1) MOVE 'SAV1234567' TO CHK-OD-LINK-ACCT OF ACCT-ARRAY(1) MOVE '10/31/2005' TO CHK-LAST-STMT OF ACCT-ARRAY(1) MOVE 1 TO CHK-DETAIL-ITEMS OF ACCT-ARRAY(1) MOVE 41852.16 TO CHK-BAL OF ACCT-ARRAY(1) MOVE 'CHK7896112' TO ACCT-NUM OF ACCT-ARRAY(2) MOVE 'C' TO ACCT-TYPE OF ACCT-ARRAY(2) MOVE SPACES TO ACCT-INFO OF ACCT-ARRAY(2) MOVE 25.00 TO CHK-OD-CHG OF ACCT-ARRAY(2) MOVE 2000.00 TO CHK-OD-LIMIT OF ACCT-ARRAY(2) MOVE 'SAV7891234' TO CHK-OD-LINK-ACCT OF ACCT-ARRAY(2) MOVE '10/31/2005' TO CHK-LAST-STMT OF ACCT-ARRAY(2) MOVE 1 TO CHK-DETAIL-ITEMS OF ACCT-ARRAY(2) MOVE 41852.16 TO CHK-BAL OF ACCT-ARRAY(2) END-IF. EXEC CICS RETURN END-EXEC.
Revise el libro de copia que se va a importar. Cuando esté listo, seleccione Siguiente.
Una vez que se abra el cuadro Opciones de elemento y se rellene con el nombre del artefacto y el valor Nombre del vínculo al programa, seleccione Siguiente.
El diseñador presenta el artefacto de metadatos que se genera a partir del libro de copia de COBOL.
El diseñador también genera una definición de host para el libro de copia. Esta definición de host no incluye todo el libro de copia proporcionado, sino solo los campos y los tipos de datos necesarios para que el artefacto interactúe con el programa del sistema central. Aunque el ejemplo proporcionado anteriormente es un programa completo, his Designer extrae solo la información necesaria en función del modelo de programación seleccionado.
Para generar HIDX, seleccione Guardar todo.
Para buscar el archivo HIDX generado, vaya a la carpeta de la aplicación host.
Importación de una definición de host COBOL (IMS)
Tanto CICS como IMS hospedan programas críticos, pero cada uno tiene requisitos diferentes. En los pasos siguientes se muestra cómo importar un libro de copia COBOL para un proyecto de aplicación host de IMS en la Designer HIS para Logic Apps. Este programa COBOL sigue el modelo de programación imS Connect.
En Visual Studio, abra la solución de aplicación host de IMS, que abre automáticamente la Designer HIS para Logic Apps.
En el panel izquierdo del diseñador, abra el menú contextual del nodo de componente y seleccione Importar>definición de host.
En el ejemplo siguiente, el nodo de componente se denomina NetCInt1.
En el cuadro Import System z COBOL Source File (Importar sistema z COBOL Source File ), seleccione Examinar.
Busque y seleccione el libro de copia que se va a importar y, a continuación, seleccione Abrir.
En el ejemplo siguiente se muestra el programa COBOL que se va a importar:
IDENTIFICATION DIVISION. PROGRAM-ID. GETBAL. ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. ************************************************************** * USER DATA DEFINITIONS. * ************************************************************** 01 INPUT-AREA. 05 LLI PIC S9(4) COMP VALUE ZERO. 05 ZZI PIC S9(4) COMP VALUE ZERO. 05 TRAN PIC X(7) VALUE SPACES. 05 NAME PIC X(30). 05 ACCNUM PIC X(6). 01 OUTPUT-AREA. 05 LLO PIC S9(4) COMP VALUE ZERO. 05 ZZO PIC S9(4) COMP VALUE ZERO. 05 ACCBAL PIC S9(7)V9(2) COMP-3. 01 IMS-VALUES. 02 END-OF-MSG PIC X(2) VALUE 'QD'. 02 QUEUE-EMPTY PIC X(2) VALUE 'QC'. 02 GU PIC X(4) VALUE 'GU '. 02 ISRT PIC X(4) VALUE 'ISRT'. 02 CHNG PIC X(4) VALUE 'CHNG'. LINKAGE SECTION. 01 IOTP-PCB. 05 IOTP-LTERM PIC X(8). 05 FILLER PIC X(2). 05 IOTP-STATUS PIC X(2). 05 IOTP-PREFIX. 10 IOTP-DATE PIC S9(7) COMP-3. 10 IOTP-TIME PIC S9(7) COMP-3. 10 IOTP-MSG-NUMBER PIC S9(4) COMP. 10 FILLER PIC X(2). 05 IOTP-MOD-NAME PIC X(8). 05 IOTP-USER-ID PIC X(8). PROCEDURE DIVISION. ENTRY 'DLITCBL' USING IOTP-PCB. CALL 'CBLTDLI' USING GU IOTP-PCB INPUT-AREA. IF IOTP-STATUS = END-OF-MSG DISPLAY 'IOTP-STATUS = END-OF-MSG' END-IF. IF IOTP-STATUS = QUEUE-EMPTY DISPLAY 'IOTP-STATUS = QUEUE-EMPTY' END-IF. IF IOTP-STATUS NOT = ' ' DISPLAY 'CALL FAILED IOTP-STATUS = ' IOTP-STATUS END-IF. MOVE 777.12 TO ACCBAL OF OUTPUT-AREA. MOVE LENGTH OF OUTPUT-AREA TO LLO. CALL 'CBLTDLI' USING ISRT IOTP-PCB OUTPUT-AREA. IF IOTP-STATUS NOT = ' ' DISPLAY 'SEND FAILED IOTP-STATUS = ' IOTP-STATUS END-IF. GOBACK.
Revise el libro de copia que se va a importar. Cuando esté listo, seleccione Siguiente.
Una vez que se abra el cuadro Opciones de elemento y se rellene con el nombre del artefacto y el valor id. de transacción , seleccione Siguiente.
Nota
Para los pasos siguientes, confirme que la opción Usar valores predeterminados del importador no está seleccionada o disponible, que debe ser el comportamiento predeterminado cuando se trabaja con una aplicación host de IMS.
Una vez que se abra el cuadro Área de entrada , seleccione todos los elementos del nodo ÁREA DE ENTRADA y, a continuación, seleccione Siguiente.
Una vez que se abra el cuadro Área de salida , seleccione todos los elementos del nodo ÁREA DE SALIDA y, a continuación, seleccione Siguiente.
Una vez que se abra el cuadro Valor devuelto , seleccione un elemento en el nodo ÁREA DE SALIDA para el valor devuelto y, a continuación, seleccione Siguiente.
Una vez que se abra el cuadro Tablas de datos, Estructuras y uniones , seleccione los grupos que se usarán para las tablas y estructuras de datos y, a continuación, seleccione Siguiente.
En este ejemplo no se requieren selecciones, por lo que no se selecciona ningún elemento.
Una vez que se abra el cuadro Área de campos LL , seleccione los campos LL que se deben excluir de la transacción. Cuando esté listo, seleccione Siguiente.
Una vez que se abra el cuadro Área de campos ZZ , seleccione los campos ZZ que se deben excluir de la transacción. Cuando esté listo, seleccione Siguiente.
Una vez que se abra el cuadro Área de campos TRANCODE , seleccione los campos TRANCODE que se deben excluir de la transacción. Cuando tenga todo listo, seleccione Finish (Finalizar).
El diseñador muestra el artefacto de metadatos generado a partir del libro de copia de COBOL:
El diseñador también genera una definición de host para el libro de copia. Esta definición de host no incluye todo el libro de copia proporcionado, sino solo los campos y los tipos de datos necesarios para que el artefacto interactúe con el programa del sistema central. Aunque el ejemplo proporcionado anteriormente es un programa completo, his Designer extrae solo la información necesaria en función del modelo de programación seleccionado.
Seleccione Guardar todo para generar hidx.
Para buscar el archivo HIDX generado, vaya a la carpeta de la aplicación host.
Importar una definición de archivo de host COBOL (archivos host)
Los archivos host de IBM tienen varios tipos y pueden existir en sistemas centrales o de rango medio. Cada uno tiene sus propios tipos y características. La demanda aumenta para modernizar o migrar aplicaciones de sistema central y de rango medio que usan datos de archivos host. Un ejemplo es migrar archivos de método de acceso de almacenamiento virtual (VSAM) a Azure. Con esta demanda, el caso de uso es cada vez más común para acceder a estos archivos e integrarlos en soluciones modernas.
En los pasos siguientes se muestra cómo importar un libro de copia COBOL para un proyecto de archivo host en el Designer HIS para Logic Apps. Este libro de copia COBOL representa un archivo VSAM simple. El asistente para importación crea estructuras y uniones. Después de importar el libro de copia, puede crear y asignar tablas a los esquemas correctos.
En Visual Studio, abra la solución de archivos de host, que abre automáticamente la Designer HIS para Logic Apps.
el panel izquierdo del diseñador, abra el menú contextual del nodo del componente y seleccione Importar>definición de host.
En el ejemplo siguiente, el nodo de componente se denomina HostFileDefinition1.
En el cuadro Import System z COBOL Source File (Importar sistema z COBOL Source File ), seleccione Examinar.
Busque y seleccione el libro de copia que se va a importar y, a continuación, seleccione Abrir.
En el ejemplo siguiente se muestra el programa COBOL que se va a importar:
****************************************************************** *HIS TRANSACTION DESIGNER EXPORT, 9.0 *DATA DECLARATION GENERATED ON 9/23/2013 5:21:51 PM ****************************************************************** *LIBRARY NAME.............CustomerDatabaseZOS.HIDX *DESCRIPTION..............NONE AVAILABLE ****************************************************************** 01 CUSTOMER-RECORD. 05 CUSTOMER-NAME PIC X(30). 05 CUSTOMER-SSN PIC X(9). 05 CUSTOMER-ADDRESS. 10 CUSTOMER-STREET PIC X(20). 10 CUSTOMER-CITY PIC X(10). 10 CUSTOMER-STATE PIC X(4). 10 CUSTOMER-ZIP PIC 9(5). 05 CUSTOMER-PHONE PIC X(13). 05 CUSTOMER-ACCESS-PIN PIC X(4).
En el cuadro Import System z COBOL Source File (Importar archivo de origen del sistema z COBOL ), revise el copybook que se va a importar.
Confirme que las selecciones de las siguientes opciones para la definición de host: REDEFINE, Use Importer defaults (Redefinir valores predeterminados) y Generate structure on indents (Generar estructura en sangrías). Cuando esté listo, seleccione Siguiente.
El diseñador muestra el artefacto de metadatos generado a partir del libro de copia de COBOL. Este artefacto está incompleto, por lo que debe crear una o varias tablas que reflejen el archivo host.
En el árbol de nodos del componente, abra el menú contextual Tablas y seleccione Agregar tabla.
Abra el menú contextual de la nueva tabla y seleccione Propiedades. En la ventana Propiedades , actualice las propiedades siguientes:
Propiedad Descripción Alias El nombre de la tabla, por ejemplo, CUSTOMER Nombre de archivo de host El nombre del sistema central o de rango medio para el archivo host, por ejemplo, HISDEMO. NWIND. CLIENTE Esquema El esquema importado anteriormente, por ejemplo, CUSTOMER_RECORD En el ejemplo siguiente se muestran las propiedades de tabla actualizadas:
En el ejemplo siguiente se muestra el artefacto de metadatos del archivo host completado:
Para generar hidx. archivo, seleccione Guardar todo.
Para buscar el archivo HIDX generado, vaya a la carpeta de la aplicación host.