Developing your CICS application on the workstation
The following steps describe how to develop a CICS Smalltalk application on the workstation, prepare the packaged image to run on CICS, and then run the application on CICS in your production environment.
Step 1: Interactively coding and testing your Smalltalk application
In Smalltalk, code your application. The Smalltalk CICS access classes enable you to call CICS services directly from your Smalltalk application. The following CICS services are supported:
•APPC
•CPI-C
•DB control (DL/I)
•Diagnostic services
•Environment services
•File control
•Interval control
•MQSeries
•Program control
•Storage control
•System programmer commands (for selected functions)
•Syncpoint
•Task control
•TCP/IP
•Temporary storage control
•Terminal control (for selected functions)
•Transient data
To use CICS services in the development image, start Smalltalk under CICS by running the
STI transaction from a CICS terminal window. (This assumes that you have defined the
STI transaction as described in
Defining Smalltalk to CICS on the workstation.)
Note:
Smalltalk caches the pointers (commarea, cwa, eib, tctua, and twa) returned by the CICS ADDRESS command for proper operation and to improve performance. The result is that Smalltalk issues a CICS ADDRESS command prior to the first CICS command issued by the application. Subsequent invocations of CICS ADDRESS are taken from cache rather than being re-issued to CICS. This has no effect on the behavior of the CICS ADDRESS command.
References
See the following for more information:
•The CICS Application Programming manual for more information about writing CICS applications for the workstation.
•VA Smalltalk Communications/Transactions Guide for more information about CICS applications for APPC, CPI-C, TCP/IP, and MQSeries.
•Refer to your TCP/IP documentation for more information about developing CICS applications for TCP/IP.
Step 2: Packaging for CICS on the workstation
While you can interactively test individual CICS services without packaging, you must package your CICS application if you want to emulate full CICS transaction behavior. That is, to accurately simulate the environment (a transaction without Smalltalk workspaces, browsers, and so on), you must package your image.
Packaging for CICS enables your application to run as it would in the target CICS system. The reasons for testing your application on CICS before porting it to the target CICS system are as follows:
•To debug the packaging process.
•To verify your application's operation without user interfaces.
•To verify CICS transaction semantics.
•To test those commands that are not supported in the development environment:
•ABEND
•RETURN
•XCTL
•To test those commands that require a defined CICS module.
Step 3: Creating a DLL of your application image
Run the ABTVBLD program against each new application image only once. Once a DLL is created for an application image, you can ignore this step.
Because CICS cannot run an image directly without a DLL, you must use the ABTVBLD program to create a CICS transaction program (a DLL) from the packaged image of your Smalltalk application.
Because the program does not modify the image and only builds a DLL to run it, ABTVBLD needs to be run only once for each new application image. Thereafter, the same image can be modified and repackaged without running the ABTVBLD program again.
The syntax of the ABTVBLD program is as follows:
ABTVBLD <image name>
where <image name> is the name of the fully qualified packaged image file.
For example, to run ABTVBLD against an image named ABTCSAMP, you enter:
ABTVBLD ABTCSAMP
This command will create a DLL that can be run under CICS; in this case, abtcsamp.dll. The DLL assumes that the Smalltalk packaged image resides on the same directory as the DLL itself.
Step 4: Defining an application to CICS
Before you can test your application in the simulation environment, you must define it to CICS. Because the application definition is retained by CICS, this only needs to be done once for each new application. To define a new application to CICS, do the following:
1. Run the CEDA transaction by entering CEDA on a CICS terminal window.
2. Define the program to the program control table (PCT) by placing a slash next to PCT in the list.
3. Fill in the transaction code, group name, and program name on the following screen. The program name is the name of the DLL you produced using the ABTVBLD program.
FAAPCT2 Program Control Table-1
Transaction Code . . . . . . : SAMP
Group Name . . . . . . . . . : ABT
Program Name . . . . . . . . : ABTCSAMP
Task Class . . . . . . . . . : N (1-10 or N)
Secure . . . . . . . . . . . : N (Y or N)
Can Be Purged. . . . . . . . : Y (Y or N)
Use Alternate Screen Size. . : N (Y or N)
Priority . . . . . . . . . . : 0 (0-255)
System ID. . . . . . . . . . :
Remote Transaction Code. . . :
Description. . . . . . . . . :
4. Install the program.
The image can now be modified and repackaged without restarting CICS.
Note:
It is important, however, to place the repackaged image in the same directory that it had been in previously, overwriting the previously packaged image.
Step 5: Running an application on CICS
To run your application on CICS, enter the transaction code from a CICS terminal window. For example, using the transaction code from the example screen on page
***, you would enter
SAMP to run the application ABTCSAMP. Or, invoke it from another transaction using, for example, XCTL LINK.