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
Scaricare e installare Visual Studio. Dopo l'installazione, assicurarsi di installare anche il carico di lavoro denominato Sviluppo desktop con C++ in Visual Studio. In caso contrario, viene visualizzato l'errore Eccezione dal 0x800A007C HRESULT.
Scaricare e installare l'Designer HIS per App per la logica di Azure. L'unico prerequisito è Microsoft .NET Framework 4.8.
Una soluzione e un progetto dell'applicazione host di Visual Studio (CICS o IMS o progetto di soluzione file host in cui si vuole importare la definizione dell'host.
Nota
Il Designer HIS fornisce e mostra opzioni diverse in base alla possibilità di aprire una soluzione di file CICS, IMS o host.
Informazioni sul funzionamento del modello di programmazione per la tecnologia che si vuole integrare, ovvero CICS o IMS. Entrambe le piattaforme hanno requisiti e modi diversi per passare e ricevere informazioni. Prima di importare le definizioni dell'host, assicurarsi di conoscere il modello di programmazione appropriato.
Ottenere le definizioni host (copybook) da importare in HIS Designer per App per la logica. Questa finestra di progettazione supporta i copybook COBOL e RPG.
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.
In Visual Studio aprire la soluzione dell'applicazione host CICS, che apre automaticamente il Designer HIS per app per la logica.
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.
Nella casella Import System z COBOL Source File (Importa file di origine COBOL ) selezionare Sfoglia.
Trovare e selezionare il copybook da importare e quindi selezionare Apri.
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.
Esaminare il copybook da importare. Quando si è pronti, selezionare Avanti.
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.
La finestra di progettazione presenta l'artefatto di metadati generato dal copybook COBOL.
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.
Per generare HIDX, selezionare Salva tutto.
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.
In Visual Studio aprire la soluzione dell'applicazione host IMS, che apre automaticamente il Designer HIS per App per la logica.
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.
Nella casella Import System z COBOL Source File (Importa file di origine COBOL ) selezionare Sfoglia.
Trovare e selezionare il copybook da importare e quindi selezionare Apri.
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.
Esaminare il copybook da importare. Quando si è pronti, selezionare Avanti.
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.
Dopo aver aperto la casella Area di input , selezionare tutti gli elementi nel nodo AREA DI INPUT e quindi selezionare Avanti.
Dopo aver aperto la casella Area di output , selezionare tutti gli elementi nel nodo AREA OUTPUT e quindi selezionare Avanti.
Dopo aver aperto la casella Valore restituito , selezionare un elemento nel nodo AREA OUTPUT per il valore restituito e quindi selezionare Avanti.
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.
Dopo aver aperto la casella Area campi LL , selezionare i campi LL che devono essere esclusi dalla transazione. Quando si è pronti, selezionare Avanti.
Dopo aver aperto la casella Area campi ZZ , selezionare i campi ZZ che devono essere esclusi dalla transazione. Quando si è pronti, selezionare Avanti.
Dopo aver aperto la casella Area campi TRANCODE , selezionare i campi TRANCODE che devono essere esclusi dalla transazione. Quando si è pronti, selezionare Fine.
La finestra di progettazione mostra l'artefatto dei metadati generato dal copybook COBOL:
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.
Selezionare Salva tutto per generare HIDX.
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.
In Visual Studio aprire la soluzione file host, che apre automaticamente il Designer HIS per app per la logica.
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.
Nella casella Import System z COBOL Source File (Importa file di origine COBOL ) selezionare Sfoglia.
Trovare e selezionare il copybook da importare e quindi selezionare Apri.
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).
Nella casella Import System z COBOL Source File (Importa file di origine COBOL) esaminare il copybook da importare.
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.
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.
Nell'albero dei nodi del componente aprire il menu di scelta rapida Tabelle e selezionare Aggiungi tabella.
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:
L'esempio seguente mostra l'artefatto dei metadati del file host completato:
Per generare HIDX. file, selezionare Salva tutto.
Per trovare il file HIDX generato, passare alla cartella dell'applicazione host.