Joined: 09 May 2008 Posts: 3 Location: Bhubaneswar
thank you very much for taking time to look at my question.I need to look some old programs where these old control parameters were being used.So, I just wanted somebody's help who had worked on these.
Common work area (CWA)
To access the Common Work Area (CWA), which is a CICS system area defined by the system programmer in SIT.
The common work area (CWA) is a single control block that is allocated at system startup time and it exists for the region. The size is fixed by specifying a value for the CWASize parameter in the Region Definition (RD). This means that the CWA has the following characteristics:
Almost no overhead is involved in the storing or retrieving data from the CWA. Transaction programs must issue one ADDRESS command to get the address of the area but, after that, they can access it directly.
Data in the CWA is not recovered if a transaction or the system fails.
Data in the CWA is not subject to resource-level security.
CICS does not regulate use of the CWA. All programs in all applications that use the CWA must follow the same rules for shared use. The content of, and access to, the CWA is one of the design issues that you need to discuss with application developers. It is sensible to supply a copybook or include file to describe the contents.
The CWA is especially suitable for small amounts of data that are read or updated frequently by multiple programs in an application, such as status information.
The CWA is not suitable for large-volume or short-lived data because it is always allocated.
You must follow the rules for shared use (discussed above) to ensure that data that is used in one transaction does not overlay data that is used in another.
You must ensure that programs do not overrun the end of the CWA, because this corrupts the storage areas in the Task Shared Pool, causing other transactions to fail.
Transaction work area (TWA)
The size of the transaction work area is determined by the TWASize option in the Transaction Definitions (TD). If this is given a nonzero value, the TWA is always allocated, it lasts for the duration of the transaction, and it is accessible to all the programs that are in the transaction. Processor overhead that is associated with using the TWA is minimal. You do not need an EXEC CICS GETMAIN command to access it, and you address it with a single EXEC CICS ADDRESS command.
The TWA is suitable for fairly small data storage requirements and for larger requirements that are both relatively fixed in size and are used more or less for the duration of the transaction. Because the TWA exists for the whole transaction, a large TWA size has much greater benefit for conversational transactions than for pseudoconversational transactions.
TIOAPFX=YES To reserve the prefix space (12 bytes) for BMS commands to access TIOA properly.
BMS removes the responsibility of formatting the screen from the application program. BMS places the data with necessary control characters in the TIOA. The control characters are removed before the message is displayed on the screen.
The symbolic map starts with the 01 level definition of FILLER PIC X(12), which is the TIOA prefix created by TIOAPFX=YES of the DFHMSD macro, and this is required by BMS under the CICS command level.
Joined: 14 Jan 2008 Posts: 2504 Location: Atlanta, Georgia, USA
What Earl has said is true; these sound like they originated as old Macro-Level programs.
The other issue is that TWA can be used in an MRO and/or CICSPLEX environment, providing that the task doesn't need to communicate outside of its own region.
But, the CWA is a different animal and if a particular region is used (for example) to save certain tidbits of information that belong to this region only, such as addresses, counters, etc, these values cannot be used in other regions, especially the addresses.
An alternative would be to define the CWA as a User Data Table and have it defined and allocated by a particular AOR and placed in the FOR at CICS Startup. Then, access to the CWA can be performed by a single user-written sub-program, which function ships to the FOR, via the FCT entry.
As far as the TIOA, I don't see the need for addressing this data anymore.