Problem solve Get help with specific problems with your technologies, process and projects.

Coping with TDQ

I have an application that writes a record to TDQ with a trigger level of 1. Once the trigger is reached another transaction is started that reads the queue and sends information to a printer. Periodically, the TDQ gets "jammed." Several records pile up in the queue and blank pages are being printed.

My question is how can a TDQ with a trigger level of 1 ever have more than one record in it at one time? And, the fact that the printer is issuing blank pages lets me know that the transaction associated with TDQ is being started. Any clues?

It looks like you have sometimes got an arrival rate of stuff into the TDQ so that in the time it takes between the arrival of the first record and the transaction getting going, another record has arrived.

I think you should recode your application that gets triggered to be able to cope with more than one record in the TDQ. I suggest you use some sort of special record that indicates end-of-file for the printing operation and if this is encountered and there is another record in the TDQ after it, stop printing and reschedule the same transaction again (or at least reloop back to the start of items processing). You should also attempt to stop two Triggered transactions from running at the same time for the same TDQ by using a transaction-lasting ENQ.

Robert Harris
CICS Technical Strategist -- CICS expert at Search390.com

Editor's note: Do you agree with this expert's response? If you have more to share, post it in one of our .VO7aaqqaAFk.0@/search390>discussion forums.

Dig Deeper on IBM system z and mainframe systems

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.