在 AS400 中搜索多个假脱机文件
如何在 IBM AS400 中同时搜索多个假脱机文件以查找某些消息或错误?
我不是专家,但我只是想要一个功能,可以同时搜索特定时间或作业的所有假脱机文件。
安装了
7.2
或更高版本并安装了 SYSTOOLS
后,您可以尝试以下操作
查询。QSYS2.OUTPUT_QUEUE_ENTRIES
视图和 SYSTOOLS.SPOOLED_FILE_DATA
表函数列出内容在 SPOOLED_DATA
列中的所有作业日志。
SELECT JOB_NAME, OUTPUT_QUEUE_NAME, FILE_NUMBER, SPOOLED_DATA
FROM QSYS2.OUTPUT_QUEUE_ENTRIES OQE
CROSS JOIN TABLE(SYSTOOLS.SPOOLED_FILE_DATA(JOB_NAME => OQE.JOB_NAME, SPOOLED_FILE_NAME => OQE.SPOOLED_FILE_NAME, SPOOLED_FILE_NUMBER => OQE.FILE_NUMBER))
WHERE SPOOLED_FILE_NAME = 'QPJOBLOG';
资源:
https://www.ibm.com/docs/en/i/7.3?topic=services-output-queue-entries-view
https://www.ibm.com/docs/en/i/7.3?topic=services-spooled-file-data-table-function
请记住,IBM 的 SPOOLED_FILE_DATA 表函数只是 CPYSPLF 后跟 SELECT 语句的包装器。您可以使用各种可用的方法提取它的 SQL 源来确认这一点。当执行许多 SPOOLED 文件时,例如链接到 OUTQ 条目列表,您会创建许多临时/工作文件。所以你要确定这就是你需要做的。 IBM 的 Omni Search(或者是 Omni Find?)可以使用 SQL 搜索 SPOOLED 文件,但我没有这方面的经验。 SQL 工具库中有一个非常高效的 READSPLF(读取 SPOOLED 文件数据)SQL 表函数,但这需要少量的许可费用。它不使用工作/临时文件,而是直接读取/扫描 SPOOLED 文件内容。