WRITE JOURNALNAME
创建日志记录
描述
WRITE JOURNALNAME 将指定数据区中的日志记录写入对应于 CICS® 日志名称或 SMF 的系统记录器日志流。 该请求可以用于同步或异步输出; 这些术语的定义以及有关日志输出同步的信息位于 日志输出同步 中。
选项
- FLENGTH (data-value)
- 以全字二进制值的形式指定要构建到日志记录中的用户数据的长度 (以字节为单位)。请注意,日志记录的最大总长度取决于多个因素:
- 如果日志正在使用 SMF ,那么限制为 32KB 减去 400 字节。
- 映射到日志流的日志的限制是所使用结构的 MAXBUFSIZE 属性中表示的值减去 400 字节。 这必须包含用户数据,前缀数据和 2 字节 JTYPEID。
注: 使用 SUBSYS=LOGR 接口的脱机作业无法读取长度超过 32K 字节的数据。 - FROM (数据区)
- 指定要构建到日志记录中的用户数据。
- JOURNALNAME (data-value)
- 指定 1-to 8 字符的日志名。 日志名称的有效字符是大写字母 A 到 Z ,数字字符 0 到 9 以及特殊符号 $@ 和 #。
首次引用此日志名称时, CICS 必须能够将日志名称映射到相应的 MVS™ 系统日志日志流或 MVS SMF 数据集。 为此, CICS 会搜索已安装的 JOURNALMODEL 定义,在日志模型中查找匹配的日志名称。 CICS 会查找特定匹配项或通用匹配项。 如果找不到匹配的条目,那么 CICS 会尝试使用缺省日志流名称。
要写入 CICS 系统日志,请指定 DFHLOG 作为日志名称。
注: CICS 系统日志应仅用于恢复所需的短期数据。 您不应该为诸如审计跟踪之类的内容编写用户记录。要写入使用日志编号约定定义的日志 (例如,写入文件资源定义中定义的自动日志) ,请将名称指定为 DFHJnn,其中 nn 是范围在 1 到 99 之间的日志编号。
除非您写入其匹配的 JOURNALMODEL 与同一日志流名称相关联的日志,否则无法写入 CICS 仅通过其 26 个字符的日志流名称 (直接派生自 VSAM ICF 目录) 来识别的正向恢复日志。
在此命令上指定 DFHJ01 是指用户日志, 不是 系统日志。
- JTYPEID (data-value)
- 指定要放置在日志记录中以标识其源的 2 字符标识。
- 无暂挂
- 指定不针对 NOJBUFSP 条件暂挂应用程序。 将忽略用户记录。
- PFXLENG (data-value)
- 指定要包含在日志记录中的用户前缀数据的长度 (半字二进制值) (以字节计)。请注意,日志记录的最大总长度取决于多个因素:
- 如果日志正在使用 SMF ,那么限制为 32KB 减去 400 字节。
- 映射到日志流的日志的限制是所使用结构的 MAXBUFSIZE 属性中表示的值减去 400 字节。 这必须包含前缀数据,用户数据和 2 字节 JTYPEID。
注: 使用 SUBSYS=LOGR 接口的脱机作业无法读取长度超过 32K 字节的数据。 - PREFIX (data-value)
- 指定要包含在日志记录中的用户前缀数据。 必须在 COBOL 程序中提供数据区。
- REQID (data-area)
- 指定用于标识日志记录的数据区。 数据区是全字二进制变量。 CICS 将变量设置为可用于同步的令牌。 REQID 仅对异步输出有效 (即,未指定 WAIT 选项)。
- WAIT
- 指定需要同步日志输出。 请求任务将一直等待,直到已硬化记录为止。
条件
- 16 INVREQ
- 该命令对于 CICS处理无效。
缺省操作: 异常终止任务。
- 17 IOERR
- 由于系统记录器日志流或 SMF 返回了不可恢复的错误情况,因此未输出日志记录。
缺省操作: 如果日志是系统日志,那么 CICS 会停顿或异常终止 CICS。 如果该日志是常规日志,那么该任务将异常终止。
- 43 JIDERR
- 由于下列其中一个原因, CICS 无法连接到指定日志名称所引用的日志流:
- 日志流不存在,无法使用缺省模型定义动态创建。
- 日志流是一个仅 DASD 的日志流,另一个 MVS 映像中的 CICS 区域当前连接到该日志流。
缺省操作: 异常终止任务。
- 22 LENGERR
- 包含用户数据 (FROM , JTYPE 和 PREFIX 数据) 和 CICS 头数据的日志记录的聚集长度过大,无法满足日志流所允许的最大块大小。
缺省操作: 异常终止任务。
- 45 个 NOJBUFSP
- 日志缓冲区在逻辑上已满 (即,当前缓冲区没有足够的空间用于此日志记录,并且正在备用缓冲区上进行 I/O)。
缺省操作: CICS 暂挂任务活动,直到可以满足日志请求为止。 CICS 确保将两个缓冲区都写出到辅助存储器,从而释放它们以用于新记录。 (您可以通过 NOSUSPEND 选项覆盖缺省操作。)
- 70 NOTAUTH
- JOURNALNAME (data value) 上的资源安全性检查失败。
缺省操作: 异常终止任务。
- 19 NOTOPEN
- 在下列任何情况下发生:
- 无法执行该命令,因为用户已显式禁用指定的日志。
- 无法满足请求,因为指定的日志是使用将其映射到用作此 CICS 系统的系统日志的日志流的日志模型定义的。 尝试连接到日志流时检测到该错误,并导致安装 JOURNALNAME 的定义并将其设置为 "failed"。
缺省操作: 异常终止任务。
示例
以下示例显示如何写入同步日志输出并等待输出操作完成:
EXEC CICS WRITE
JOURNALNAME('ACCTSJNL')
JTYPEID('XX')
FROM(KEYDATA)
FLENGTH(40000)
PREFIX(PROGNAME)
PFXLENG(6)
WAIT
以下示例显示如何将延迟 (异步) 用户恢复数据写入 CICS 系统日志:
EXEC CICS WRITE
JOURNALNAME('DFHLOG')
JTYPEID('UR')
FROM(COMDATA)
FLENGTH(10)
REQID(ENTRYID)
