处理通信区的内容

终端错误程序从 DFHTACP 接收控制后,应通过 EXEC CICS ADDRESS COMMAREA 命令获取通信区域的地址。

关于此任务

通过在程序中编码 DFHTEPCA TYPE=DSECT 来生成通信区域 DSECT。 通信区域的布局如 图 1所示。
图 1。 DFHTACP/DFHTEP 通信区域
                              IN/OUT
                               PARM
 
                      0XL4              Standard Header
TEPCALDS     DS       XL1        I      Function Code        Always '1'
TEPCAGDS     DS       XL2        I      Component Code       Always 'TC'
             DS       XL1               Reserved
TEPCATCA     DS       A          I      Address of TACLE being processed
TEPCECIA     DS       A          I      Address of TCTUA
TEPCECIL     DS       H          I      Length of TCTUA
TEPCAACT     DS       XL1       I/O     User action byte
TEPCATID     DS       CL4        I      Terminal identity
TEPCATDB     DS       F          I      Current time of day binary
 
参数列表包含以下信息:
TEPCALDS
功能代码。 "功能代码" 是一个可打印字符,表示调用 DFHTEP 的 TCP 中任务的标识。 它始终具有值 "1"。
TEPCAGDS
组件代码。 此值始终为 "TC" ,表示 TCP 的组件。
TEPCATCA
包含正在处理的去触角的地址。
TEPCECIA
包含终端控制表用户区域 (TCTUA) 的地址。
TEPCECIL
包含 TCTUA 的长度。
TEPCAACT
用户操作字节。 通信区域的主要用途之一是传输要对终端执行的操作。 TEPCAACT 包含以下标志,可以在 DFHTEP 中重置这些标志:
LINEOS (X'80 ')
将线路置于服务之外
NONPRGT (X'40 ')
终端上存在不可清除的任务
TERMOS (X'20 ')
将终端置于服务外
ABENDT (X'10 ')
在终端上异常终止任务
ABORTWR (X'08 ')
异常终止写,可用终端存储器
RELTTIOA (X'04 ')
释放 TCAM 入局消息。 (不再支持 TCAM。)
SIGNOFF (X'02 ')
呼叫注销程序。
在进入 DFHTEP 时,这些标志表示 DFHTACP 设置的缺省操作。 如果设置了位置行外服务位 (X'80 ') ,那么将始终设置写异常终止位 (通信区域字段 ABORTWR) 和异常终止任务位 (通信区域字段 ABENDT); 但如果指示了 "哑终端" ,那么将禁止这两个位 (请参阅 重置用户操作字节 TEPCAACT 中的标志)。

返回到 DFHTACP 时,这些标志表示 DFHTEP 修改的操作。

TEPCATID
包含出错的终端的标识。
TEPCATDB
包含发生错误的时间 (二进制格式)。