wrkmsg - 如何按字母顺序对邮件进行排序?
有没有办法以我喜欢的方式对这些邮件进行排序?
答案 0 :(得分:3)
我假设您要对存储在消息文件中的消息定义进行排序,而不是对消息队列的当前内容进行排序。您可以创建一个数据库表(即文件)来接收消息描述,然后根据这些记录执行任何操作。
通常你可以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
答案 1 :(得分:0)
不是我见过的。它们出现在日期时间顺序中。我确信它们存储在您可以查询它的某个物理文件中,但我通常会尽快清除我的消息。