DFHCOMMAREA and TSQ

Both are used to save data among tasks.

1. COMMAREA is private to that transaction only . Like every transaction has its own COMMAREA created by CICS as soon as the transaction is initiated .
TSQ , if queue id is known can be accessed by other transactions also

2. COMMAREA length is s9(4) comp i.e. 65k . TSQ can have any length.

3. COMMAREA is available only during the transaction is running.
TSQ if created with auxiliary option resides in aux memory and available even if main memory crashes.

4.COMMAREA is used to transfer data from one task to another while TSQ is used widely within the task as a scratch pad.