Я начал писать это как комментарий, но когда я набирал текст, он запрашивает разъяснения и дает ответы.
Какой тип сообщения вы получаете с помощью * ANY и fldkey
?Если это сообщение * REQUEST, это ваша проблема.* FIRST, * NEXT и * PRV - все сообщения с пропуском запросов.
Или, возможно, вы извлекаете сообщение где-то в журнале заданий, но не активную программу или процедуру при извлечении по ключу.* FIRST, * NEXT и * PRV извлекают только сообщения для активной программы или процедуры в очереди.См. документацию для объяснения в описании * NXTJLMSG или * PRVJLMSG.
Я также нахожу в документации под описанием для Ключ сообщения :
Если вам известен ключ сообщения для сообщения, которое вы хотите получить, вы можете получить это сообщение без учета очереди сообщений, содержащей сообщение.Это можно сделать, указав ключ в этом параметре, специальное значение «*» для параметра записи стека вызовов и значение «0» для параметра счетчика стека вызовов.Это полезно, если сообщение было отправлено в запись стека вызовов, которой больше нет в стеке вызовов.
Может быть, то, что будет работать для вас, основываясь на описании * NXTJLMSG, будет использовать *NXTJLMSG и ключ * TOP или x'00000000'
.