JT400からAS400のMSGWジョブに返信することはできますか?
は私が仕事の要素を持っているし、それがJT400 - MSGWジョブへの返信
例をJob.MESSAGE_REPLY_WAITINGによってMSGW状態でだ場合、私は知ることができます:通常私は実際にこれを試していない
JT400からAS400のMSGWジョブに返信することはできますか?
は私が仕事の要素を持っているし、それがJT400 - MSGWジョブへの返信
例をJob.MESSAGE_REPLY_WAITINGによってMSGW状態でだ場合、私は知ることができます:通常私は実際にこれを試していない
これは動作するコードです。私はそれが短縮され、最適化できると思います。
もっと良い方法が必要です。
public boolean answer(String answer) throws MyOperationException {
if (answer == null || answer.length() > 1) {
throw new MyOperationException();
}
MessageQueue msgq = new MessageQueue(as.getAS400(), QSYSObjectPathName.toPath(MyAS400.LIBRARY_LIST, "QSYSOPR", "MSGQ"));
msgq.setSelectMessagesNeedReply(true);
msgq.setListDirection(false);
try {
Enumeration m = msgq.getMessages();
while (m.hasMoreElements()) {
QueuedMessage msg = (QueuedMessage) m.nextElement();
if (msg.getFromJobNumber().trim().equals(getNumber())) {
msgq.reply(msg.getKey(), answer);
return true;
}
}
} catch (AS400SecurityException | ErrorCompletingRequestException | InterruptedException | IOException | ObjectDoesNotExistException ex) {
ex.printStackTrace();
}
return false;
}
メッセージキューがわからない場合は、ObjectListを使用できます。
WRKACTJOBを経由して「C」を使用しますが、取りますreply
の機能をMessageQueue(JTOpen)に表示します。
Davidの正しい...しかし、不足しているカップルの手順は、私はこれを試していませんでしたノートをthink..andのいずれか..
は、ジョブ・ログを取得:
Job.getJobLog()
がキューに入れられたメッセージを取得し
JobLog.getMessages
は、メッセージキュー
QueuedMessage.getQueue()
次に返信
MessageQueue.reply()
お知らせします。 – LppEdd
すべてのMessageQueueでnullを返します。 – LppEdd
何がnullを返しましたか?たぶんあなたはいくつかのコードを投稿する必要があります。 –