wrkmsg - メッセージをアルファベット順に並べ替えるにはどうすればよいですか?
これらのメッセージを好きなように並べ替える方法はありますか?
wrkmsg - メッセージをアルファベット順に並べ替えるにはどうすればよいですか?
これらのメッセージを好きなように並べ替える方法はありますか?
メッセージ キューの現在の内容ではなく、メッセージ ファイルに格納されているメッセージ定義を並べ替えたいということだと思います。データベース テーブル (つまりファイル) を作成して、メッセージの説明を受け取り、それらのレコードに対して好きなことを行うことができます。
通常DSPMSGD
、ファイルを印刷できます。ただし、物理ファイルまたはテーブルを作成し、DSPMSGD
コマンドの出力をファイルにオーバーライドします。最初の 3 つのレコードは、私たちの目的ではゴミであり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
私が今まで見たことがないということではありません。それらは日時順に表示されます。それらは物理ファイルに保存されており、クエリを実行できる場所に保存されていると確信していますが、通常はメッセージをできるだけ早く消去します.