Condividi tramite


Importare definizioni host COBOL per i file CICS, IMS e host

La funzionalità TI di Host Integration Server originale Designer è stata introdotta con le funzionalità complete per la progettazione di artefatti di metadati da zero con l'assistenza di un programmatore mainframe. Successivamente, è stata aggiunta la possibilità di importare definizioni host in formato copybook COBOL o RPG per supportare scenari per l'automazione della progettazione e la riduzione del coinvolgimento dei programmatori di mainframe. Nel corso degli anni, questa funzionalità è diventata l'opzione principale per creare artefatti di metadati.

Prerequisiti

Preparare un copybook COBOL

  • I copybook COBOL devono seguire le regole di codifica COBOL di base. Il Designer HIS per App per la logica applica molte di queste regole. La tabella seguente elenca le regole principali:

    Colonne Tipo Osservazione
    1–6 Numero di sequenza Non immettere nulla in queste posizioni.
    7 Indicatore Usare un asterisco (*) o una barra (/) per codificare un commento.
    8-11 Margine (area A) 77 numeri di livello e numeri di livello 01
    12-72 Margine B (area B) Riservato per 02 livelli e superiore
    73-80 Identificazione Non sono consentite definizioni qui.
  • Verificare che il copybook COBOL o RPG soddisfi i requisiti del modello di programmazione selezionato.

  • Verificare i punti alla fine di ogni riga. Assicurarsi che vengano visualizzati, anche se le versioni più recenti di COBOL non richiedono questa formattazione.

  • Se il copybook include REDEFINEs, chiedere al programmatore mainframe di confermare la definizione host che si vuole usare, se non è disponibile alcuna discriminante.

  • Rimuovere qualsiasi carattere diverso da quelli indicati nella tabella precedente. Assicurarsi di avere il numero corretto di caratteri.

Importare una definizione host COBOL (CICS)

La procedura seguente illustra come importare un copybook COBOL per un progetto di applicazione host CICS nel Designer HIS per App per la logica. Questo programma COBOL segue il modello di programmazione CICS ELM Link.

  1. In Visual Studio aprire la soluzione dell'applicazione host CICS, che apre automaticamente il Designer HIS per app per la logica.

  2. Nel riquadro sinistro della finestra di progettazione aprire il menu di scelta rapida del nodo componente e selezionare Importa>definizione host.

    Nell'esempio seguente il nodo del componente è denominato NetCInt1.

    Screenshot che mostra Visual Studio, visualizzazione progettazione HIS e menu di scelta rapida del nodo del componente NetCInt1 con l'opzione Importa, Definizione host selezionata.

  3. Nella casella Import System z COBOL Source File (Importa file di origine COBOL ) selezionare Sfoglia.

    Screenshot shows Import System Z COBOL Source File box for CICS.

  4. Trovare e selezionare il copybook da importare e quindi selezionare Apri.

    Screenshow mostra esplora file e un copybook selezionato da usare per un'applicazione host CICS.

    L'esempio seguente illustra il programma COBOL da importare:

       *****************************************************************
       ** 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.
    
  5. Esaminare il copybook da importare. Quando si è pronti, selezionare Avanti.

    Screenshot che mostra la casella Import System z COBOL Source File con la definizione host selezionata e precaricata per CICS.

  6. Dopo che la casella Opzioni elemento viene aperta e popolata con il nome dell'artefatto e il valore Del nome da collegamento a programma , selezionare Avanti.

    Screenshot che mostra la casella Opzioni elemento per selezionare il tipo di elemento, ad esempio Metodo, Tabella dati, Struttura o Unione per CICS.

    La finestra di progettazione presenta l'artefatto di metadati generato dal copybook COBOL.

    Screenshot che mostra la visualizzazione progettazione degli artefatti dei metadati per CICS nel Designer HIS.

    La finestra di progettazione genera anche una definizione host per il copybook. Questa definizione host non include l'intero copybook fornito, ma solo i campi e i tipi di dati necessari per l'artefatto per interagire con il programma mainframe. Anche se l'esempio fornito in precedenza è un intero programma, il Designer HIS estrae solo le informazioni necessarie in base al modello di programmazione selezionato.

    Screenshot che mostra la visualizzazione delle definizioni dell'host analizzata per CICS in HIS Designer.

  7. Per generare HIDX, selezionare Salva tutto.

    Screenshot che mostra la barra degli strumenti di Visual Studio con l'opzione Salva tutto selezionata.

  8. Per trovare il file HIDX generato, passare alla cartella dell'applicazione host.

Importare una definizione host COBOL (IMS)

Sia CICS che IMS ospitano programmi cruciali, ma ognuno ha requisiti diversi. La procedura seguente illustra come importare un copybook COBOL per un progetto di applicazione host IMS nel Designer HIS per App per la logica. Questo programma COBOL segue il modello di programmazione IMS Connect.

  1. In Visual Studio aprire la soluzione dell'applicazione host IMS, che apre automaticamente il Designer HIS per App per la logica.

  2. Nel riquadro sinistro della finestra di progettazione aprire il menu di scelta rapida del nodo componente e selezionare Importa>definizione host.

    Nell'esempio seguente il nodo del componente è denominato NetCInt1.

    Screenshot che mostra Visual Studio, la visualizzazione progettazione HIS e il menu di scelta rapida del nodo del componente NetCInt1 con l'opzione Importa, Definizione host selezionata.

  3. Nella casella Import System z COBOL Source File (Importa file di origine COBOL ) selezionare Sfoglia.

    Screenshot che mostra la casella Import System Z COBOL Source File for IMS (Importa file di origine Z COBOL per IMS).

  4. Trovare e selezionare il copybook da importare e quindi selezionare Apri.

    Screenshow mostra esplora file e un copybook selezionato da usare per un'applicazione host IMS.

    L'esempio seguente illustra il programma COBOL da importare:

     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.
    
  5. Esaminare il copybook da importare. Quando si è pronti, selezionare Avanti.

    Screenshot che mostra la casella Import System z COBOL Source File con la definizione host selezionata e precaricata per IMS.

  6. Dopo che la casella Opzioni elemento viene aperta e popolata con il nome dell'artefatto e il valore id transazione , selezionare Avanti.

    Nota

    Per i passaggi successivi, verificare che l'opzione Usa le impostazioni predefinite dell'utilità di importazione non sia selezionata o disponibile, che deve essere il comportamento predefinito quando si usa un'applicazione host IMS.

    Screenshot che mostra la casella Opzioni elemento per selezionare il tipo di elemento, ad esempio Metodo, Tabella dati, Struttura o Unione per IMS.

  7. Dopo aver aperto la casella Area di input , selezionare tutti gli elementi nel nodo AREA DI INPUT e quindi selezionare Avanti.

    Screenshot che mostra la casella Area di input per la transazione host IMS.

  8. Dopo aver aperto la casella Area di output , selezionare tutti gli elementi nel nodo AREA OUTPUT e quindi selezionare Avanti.

    Screenshot che mostra la casella Area di output per la transazione host IMS.

  9. Dopo aver aperto la casella Valore restituito , selezionare un elemento nel nodo AREA OUTPUT per il valore restituito e quindi selezionare Avanti.

    Screenshot che mostra la casella Valore restituito per la transazione host IMS.

  10. Dopo l'apertura della casella Tabelle dati, Strutture e unioni , selezionare i gruppi da usare per le tabelle dati e le strutture e quindi selezionare Avanti.

    Questo esempio non richiede alcuna selezione, quindi non viene selezionato alcun elemento.

    Screenshot che mostra la casella Tabelle dati, Strutture e Unioni per IMS.

  11. Dopo aver aperto la casella Area campi LL , selezionare i campi LL che devono essere esclusi dalla transazione. Quando si è pronti, selezionare Avanti.

    Screenshot che mostra la casella Area campi LL per IMS.

  12. Dopo aver aperto la casella Area campi ZZ , selezionare i campi ZZ che devono essere esclusi dalla transazione. Quando si è pronti, selezionare Avanti.

    Screenshot che mostra la casella Area campi ZZ.

  13. Dopo aver aperto la casella Area campi TRANCODE , selezionare i campi TRANCODE che devono essere esclusi dalla transazione. Quando si è pronti, selezionare Fine.

    Screenshot che mostra la casella Area campi TRANCODE.

    La finestra di progettazione mostra l'artefatto dei metadati generato dal copybook COBOL:

    Screenshot che mostra la visualizzazione progettazione degli artefatti dei metadati per IMS nel Designer HIS.

    La finestra di progettazione genera anche una definizione host per il copybook. Questa definizione host non include l'intero copybook fornito, ma solo i campi e i tipi di dati necessari per l'artefatto per interagire con il programma mainframe. Anche se l'esempio fornito in precedenza è un intero programma, il Designer HIS estrae solo le informazioni necessarie in base al modello di programmazione selezionato.

    Screenshot che mostra la visualizzazione delle definizioni dell'host analizzata per IMS nel Designer HIS.

  14. Selezionare Salva tutto per generare HIDX.

    Screenshot che mostra la barra degli strumenti di Visual Studio con l'opzione Salva tutto selezionata.

  15. Per trovare il file HIDX generato, passare alla cartella dell'applicazione host.

Importare una definizione di file host COBOL (file host)

I file host IBM hanno più tipi e possono esistere in mainframe o sistemi midrange. Ognuno ha i propri tipi e caratteristiche. La domanda aumenta per modernizzare o eseguire la migrazione di applicazioni mainframe e midrange che usano i dati dei file host. Un esempio è la migrazione dei file VSAM (Virtual Storage Access Method) ad Azure. Con questa richiesta, il caso d'uso sta diventando più comune per accedere e integrare questi file in soluzioni moderne.

La procedura seguente illustra come importare un copybook COBOL per un progetto di file host nel Designer HIS per App per la logica. Questo copybook COBOL rappresenta un semplice file VSAM. La procedura guidata di importazione crea strutture e unioni. Dopo aver importato il copybook, è possibile creare e assegnare tabelle agli schemi corretti.

  1. In Visual Studio aprire la soluzione file host, che apre automaticamente il Designer HIS per app per la logica.

  2. il riquadro sinistro della finestra di progettazione, aprire il menu di scelta rapida del nodo componente e selezionare Importa>definizione host.

    Nell'esempio seguente il nodo del componente è denominato HostFileDefinition1.

    Screenshot che mostra Visual Studio, la visualizzazione progettazione HIS e il menu di scelta rapida del nodo del componente HostFileDefinition1 con l'opzione Importa, Definizione host selezionata.

  3. Nella casella Import System z COBOL Source File (Importa file di origine COBOL ) selezionare Sfoglia.

    Screenshot che mostra la casella Import System Z COBOL Source File per un file host.

  4. Trovare e selezionare il copybook da importare e quindi selezionare Apri.

    Screenshow mostra esplora file e un copybook selezionato da usare per un file host.

    L'esempio seguente illustra il programma COBOL da importare:

          ******************************************************************        
          *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).
    
  5. Nella casella Import System z COBOL Source File (Importa file di origine COBOL) esaminare il copybook da importare.

  6. Verificare che le selezioni per le opzioni seguenti per la definizione dell'host: REDEFINE, Use Importer defaults e Generate structure on indents .Confirm that the selections for the following options for the host definition: REDEFINE, Use Importer defaults, and Generate structure on indents. Quando si è pronti, selezionare Avanti.

    Screenshot che mostra la casella Import System z COBOL Source File con la definizione host selezionata e precaricata per un file host.

    La finestra di progettazione mostra l'artefatto dei metadati generato dal copybook COBOL. Questo artefatto è incompleto, pertanto è necessario creare una o più tabelle che riflettono il file host.

    Screenshot che mostra la visualizzazione dell'artefatto dei metadati in HIS Designer per un file host.

  7. Nell'albero dei nodi del componente aprire il menu di scelta rapida Tabelle e selezionare Aggiungi tabella.

    Screenshot che mostra la visualizzazione struttura degli artefatti e il menu di scelta rapida Apri tabelle con l'opzione Aggiungi tabella selezionata.

  8. Aprire il menu di scelta rapida della nuova tabella e selezionare Proprietà. Nella finestra Proprietà aggiornare le proprietà seguenti:

    Proprietà Descrizione
    Alias Nome della tabella, ad esempio CUSTOMER
    Nome file host Nome del sistema mainframe o midrange per il file host, ad esempio HISDEMO. NWIND. CLIENTE
    Schema Schema importato in precedenza, ad esempio , CUSTOMER_RECORD

    L'esempio seguente mostra le proprietà aggiornate della tabella:

    Screenshot che mostra la finestra delle proprietà della tabella con le proprietà Alias, Host File Name e Schema.

    L'esempio seguente mostra l'artefatto dei metadati del file host completato:

    Screenshot che mostra l'artefatto dei metadati completato in HIS Designer per un file host.

  9. Per generare HIDX. file, selezionare Salva tutto.

    Screenshot che mostra la barra degli strumenti di Visual Studio con l'opzione Salva tutto selezionata.

  10. Per trovare il file HIDX generato, passare alla cartella dell'applicazione host.