CICS伪编程
❮ 上一页下一章 ❯
截至目前,我们已经覆盖非转换和转换程序。 转换程序有一个主要的缺点是它们的思考时间是相当高的。 为了克服这个问题,伪转换编程来到图片。 现在,我们将讨论更多关于伪转换程序。
伪转换计划以下是其中发生在伪转换程序事件的序列 -
伪变换技术在伪会话要注意的重要一点是传递数据的每一项任务之间。 我们将有关技术传递数据讨论。
COMMAREACOMMAREA被称为通信区。 COMMAREA用于传递任务之间的数据。 下面的示例演示如何传递,其中WSCOMMAREA和WS-COMMAREA长度工作中的存储单元被宣布COMMAREA -
EXEC CICS RETURN TRANSID ('transaction-id') COMMAREA (WS-COMMAREA) LENGTH (WS-COMMAREA-LENGTH) END-EXEC. DFHCOMMAREADFHCOMMAREA是由CICS提供给每个任务一个特殊存储区域。
MOVE DFHCOMMAREA TO WS-COMMAREA. 例发送地图后,任务结束,等待用户的反应。 在这个阶段,将数据需要保存,因为虽然任务已经结束,该事务还没有。 当该事务将被恢复,将所需要的任务的现有状态。 用户进入输入。 这个现在已经由接收MAP命令被接收,然后验证。 下面的示例演示如何声明和COMMAREA DFHCOMMAREA -
WORKING-STORAGE SECTION. 01 WS-COMMAREA. 05 WS-DATA PIC X(10). LINKAGE SECTION. 01 DFHCOMMAREA. 05 LK-DATA PIC X(10). 伪码下面给出的是我们在伪编程中使用伪代码逻辑 -
MOVE DFHCOMMAREA TO WS-COMMAREA IF EIBCALEN = 0 STEP1: SEND MAP STEP2: MOVE <internal-transaction-id1> to WS-COMMAREA STEP3: ISSUE CONDITIONAL RETURN ELSE IF WS-COMMAREA = <internal-transaction-id1> STEP4: RECEIVE MAP STEP5: PROCESS DATA STEP6: SEND OUTPUT MAP STEP7: MOVE <internal-transaction-ID2> to WS-COMMAREA STEP8: ISSUE CONDITIONAL RETURN END-IF END-IF STEP9: REPEAT STEP3 TO STEP7 UNTIL EXIT 例下面的例子显示了一个伪转换程序 -
****************************************************************** * PROGRAM TO DEMONSTRATE PSEUDO-CONVERSATION * ****************************************************************** IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-MESSAGE PIC X(30). 01 WS-COMMAREA PIC X(10) VALUE SPACES. LINKAGE SECTION. 01 DFHCOMMAREA PIC X(10). PROCEDURE DIVISION. MOVE DFHCOMMAREA TO WS-COMMAREA IF WS-COMMAREA = SPACES ****************************************************************** * TRANSACTION GETTING EXECUTED FOR THE FIRST TIME * ****************************************************************** MOVE 'HELLO' TO WS-MESSAGE EXEC CICS SEND TEXT FROM (WS-MESSAGE) END-EXEC MOVE 'FIRST' TO WS-COMMAREA ****************************************************************** * TASK ENDS AS A RESULT OF RETURN. IF AID KEY PRESSED, NEXT * * TRANSACTION SHOULD BE TP002. DATA PASSED FROM WS-COMMAREA TO * * DFHCOMMAREA * ****************************************************************** EXEC CICS RETURN TRANSID('TP002') COMMAREA(WS-COMMAREA) END-EXEC ****************************************************************** * IF COMMAREA IS NOT EMPTY , THEN TP002 HAS BEEN EXECUTED ONCE * * ALREADY, USER INTERACTION IS FACILITATED BY RECEIVE * ****************************************************************** ELSE EXEC CICS RECEIVE INTO(WS-MESSAGE) END-EXEC EXEC CICS SEND TEXT FROM (WS-MESSAGE) END-EXEC ****************************************************************** * TASK ENDS AS A RESULT OF RETURN, NO NEXT TRANSACTION SPECIFIED * * TO BE EXECUTED * ****************************************************************** EXEC CICS RETURN END-EXEC END-IF. 伪转换的优势以下是模拟变换的优点 -
return语句以下是两种类型的这是在CICS使用return语句的 -
返回-1当发出以下无条件退货声明,任务和交易(程序)被终止。
EXEC CICS RETURN END-EXEC. 返回-2当下面的条件返回,即,返回与TRANSID语句发出,要被执行的控制返回到CICS与下TRANSID。 当用户按下一个AID键的下一个事务开始。
EXEC CICS RETURN TRANSID ('trans-id') [COMMAREA(WS-COMMAREA)] END-EXEC.❮ 上一页下一章 ❯
赞助商链接
2017 W3im.com. All Rights Reserved. Email: jacklee8902@gmail.com