Compartir a través de


TI en un entorno sin DPL

Un entorno no vinculado (es decir, un entorno no DPL) es aquel que no usa Enlace de programa distribuido (DPL) de IBM. Puede utilizar TI para invocar a un programa de transacción (TP) del sistema central que utiliza los comandos EXEC CICS RECEIVE INTO y EXEC CICS SEND FROM de COBOL. Estos dos comandos de COBOL son útiles cuando se quiere que un TP de CICS asuma responsabilidades de conversación de SNA (APPC/LU 6.2) y, por tanto, omita el TP reflejado. En otras palabras, los comandos EXEC CICS RECEIVE INTO y EXEC CICS SEND FROM de COBOL se utilizan con mayor frecuencia en un entorno no vinculado para transferir datos desde una LU de tipo 6.2 (APPC) y hacia ella.

TI admite el modelo LU 6.2 para entornos vinculados y no vinculados. Puede crear los siguientes tipos de entornos remotos para admitir cada modelo:

  • CICS Link con LU 6.2

    Utilícelo en entorno DPL de IBM que utiliza el TP reflejado.

  • CICS con LU 6.2

    Utilícelo en un entorno sin DPL que omita el TP reflejado.

    Muchos clientes usan TI en un entorno no DPL. La única preocupación es si la lógica de terminal está insertada en la lógica de negocios. Cuando un TP de COBOL admite DPL de IBM, la lógica de presentación ya se ha separado de la lógica de negocios, por lo que probablemente no tenga que modificar COBOL. Pero si el TP se ha escrito para comunicarse con un terminal, es probable que tenga que modificar el código de COBOL para separar la lógica de negocios de la lógica de presentación.

    Por ejemplo, el código COBOL de ejemplo siguiente muestra cómo controlar conjuntos de registros de salida mediante el uso de los comandos EXEC CICS RECEIVE INTO y EXEC CICS SEND FROM de COBOL:

*****************************************************  
* Example showing how to send unbounded recordsets  
* to a client application.  
*****************************************************  
 IDENTIFICATION DIVISION.  
  
 ENVIRONMENT DIVISION.  
  
 DATA DIVISION.  
  
 WORKING-STORAGE SECTION.  
  
* INPUT AREA  
 01  CUSTOMER-INPUT-NUMBER                PIC 9(9).  
  
* OUTPUT AREA  
 01  CUSTOMER-DATA.  
     05  LAST-NAME                        PIC X(20).  
     05  FIRST-NAME                       PIC X(20).  
  
* ONE ROW IN A DATABASE TABLE  
 01  INVOICES.  
     05  INVOICE-NUMBER                   PIC 9(10).  
     05  INVOICE-DATE                     PIC 9(7) COMP-3.  
     05  INVOICE-AMOUNT                   PIC S9(13)V9(2) COMP-3.  
     05  INVOICE-DESCRIPTION              PIC X(40).  
  
 LINKAGE SECTION.  
  
 PROCEDURE DIVISION.  
*  
*   Get the input customer account number from the  
*   client applicaton:  
*  
     MOVE LENGTH OF CUSTOMER-INPUT-NUMBER TO RECEIVE-LENGTH  
     EXEC-CICS RECEIVE INTO(CUSTOMER-INPUT-NUMBER)  
               LENGTH(RECEIVE-LENGTH)  
               END-EXEC.  
*  
*   Do some work; then send the first and last name back:  
*  
     MOVE LENGTH OF CUSTOMER-DATA TO SEND-LENGTH  
     EXEC-CICS SEND FROM(CUSTOMER-DATA)  
               LENGTH(SEND-LENGTH)  
               END-EXEC.  
*  
*   Follow regular data with unbounded table data that  
*   the client application sees as a recordset:  
*  
     MOVE LENGTH OF INVOICES TO SEND-LENGTH  
     PERFORM UNTIL        NO-MORE-INVOICES  
*  
*   Do some work to get the next row:  
*  
     MOVE DB-INVOICE-NUMBER TO INVOICE-NUMBER  
     MOVE DB-INVOICE-DATE   TO INVOICE-DATE  
     MOVE DB-INVOICE-AMOUNT TO INVOICE-AMOUNT  
     MOVE DB-INVOICE-DESC   TO INVOICE-DESCRIPTION  
*  
*   Send the row:  
*  
     EXEC-CICS SEND FROM(INVOICES)  
               LENGTH(SEND-LENGTH)  
               END-EXEC.  
     END-PERFORM.  
  

Consulte también

Procesamiento iniciado por Windows