wrkmsg - 如何按字母顺序对消息进行排序?
有没有可能以我喜欢的方式对这些消息进行排序?
我假设您的意思是要对存储在消息文件中的消息定义进行排序,而不是对消息队列的当前内容进行排序。您可以创建一个数据库表(即一个文件)来接收消息描述,然后对这些记录做任何您想做的事情。
通常您可以DSPMSGD
打印文件。但是我们将创建一个物理文件或表,并将命令的输出覆盖DSPMSGD
到我们的文件中。就我们的目的而言,前三个记录是垃圾,我们将使用工作文件将它们丢弃CPYF
到最终文件中。
通过将您的图书馆设置为最新的,让事情变得更容易。
CHGCURLIB mylib
您可以在 DDS 中定义您的文件,但我将在 SQL 中对此进行演示。
STRSQL
创建工作文件和结果文件:
CREATE TABLE qtemp/workfile
( x1 char(1),
msgid char(7),
sev char(2),
msgtxt char(132)
)
CREATE TABLE myfile
( msgid char(7),
sev char(2),
msgtxt char(132)
)
退出 SQL 以返回命令行。
将命令的输出文件覆盖DSPMSGD
到您的工作文件,并收集您的数据。
OVRDBF QPMSGD workfile
DSPMSGD RANGE(*FIRST *LAST) MSGF(some_msgf)
DETAIL(*BASIC) OUTPUT(*PRINT)
CPYF workfile myfile MBROPT(*replace)
FROMRCD(4) FMTOPT(*MAP *DROP)
您现在可以返回 SQL 并查看您的劳动成果。
STRSQL
SELECT *
from myfile
order by msgtxt
不是我见过的。它们以日期时间顺序出现。我确信它们存储在一个物理文件中,您可以在那里查询它,但我通常会尽快清除我的消息。