共用方式為


非 DPL 環境中的 TI

非連結的環境 (,也就是非 DPL 環境) 不是使用 IBM Distributed Program Link (DPL) 。 您可以使用 TI 來叫用使用 EXEC CICS RECEIVE INTOEXEC CICS SEND FROM COBOL 命令 (TP) 大型主機交易程式。 當您希望 CICS TP 採用 SNA (APPC/LU 6.2) 交談責任時,這兩個 COBOL 命令很有用,因此略過鏡像 TP。 換句話說, EXEC CICS RECEIVE INTOEXEC CICS SEND FROM COBOL 命令最常用於非連結環境中,將資料傳送至 6.2 (APPC) 的 LU。

TI 支援連結和非連結環境的 LU 6.2 模型。 您可以建立下列遠端環境, (RE) 類型來支援每個模型:

  • 使用 LU 6.2 的 CICS 連結

    在使用鏡像 TP 的 IBM DPL 環境中使用此專案。

  • 使用 LU 6.2 的 CICS

    在略過鏡像 TP 的非 DPL 環境中使用此專案。

    許多客戶會在非 DPL 環境中使用 TI。 唯一的考慮是終端機邏輯是否內嵌在商務邏輯中。 當 COBOL TP 支援 IBM DPL 時,表示邏輯已經與商務邏輯分開,因此您可能不需要修改 COBOL。 不過,如果 TP 是撰寫來與終端機通訊,您可能需要修改 COBOL 程式碼,以將商務邏輯與簡報邏輯分開。

    例如,下列範例 COBOL 程式碼示範如何使用 EXEC CICS RECEIVE INTOEXEC CICS SEND FROM 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.  
  

另請參閱

Windows 起始的處理