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.
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:
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. |
See the following for more information:
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:
When you package an image to run under CICS, you must package the image as a single module. See Packaging your application as a single module for the steps to package a single module.
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.
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:
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. . . . . . . . . :
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. |
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.