1

wrkmsg - 如何按字母顺序对消息进行排序?

有没有可能以我喜欢的方式对这些消息进行排序?

4

2 回答 2

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
于 2011-09-06T23:24:12.280 回答
0

不是我见过的。它们以日期时间顺序出现。我确信它们存储在一个物理文件中,您可以在那里查询它,但我通常会尽快清除我的消息。

于 2011-09-06T13:43:42.340 回答