Server Guide
Preface
Notices
Trademarks
About this book
Who this book is for
What's new?
Support for Seaside has been added
VAST Platform 2024 (version 13.0.0)
VAST Platform 2024 (version 13.0.1)
Conventions used in this book
Tell us what you think
Developing server applications
Introducing VAST Server
The Smalltalk development environment
The Smalltalk cross development environment
Using passive images
Keeping an image and its runtime code in sync
Maintaining Smalltalk code between development and passive images
Recovering when the development image crashes
Preparing projects for cross development
Examining a subapplication's configuration expressions
Resolving global references
Referring to the Smalltalk dictionary
Referring to the current image
Referring to the current image's Smalltalk dictionary
Declaring pool dictionaries, pool constants and globals
Referring to a global in the current image
Referring to a subsystem type in the current image
Examining the application's toBeLoadedCode and wasRemovedCode
Examining the loaded and initializeAfterLoad code
Project design hints for server platforms
Developing projects for native server environments
Making applications headless
Obtaining user input
Externalizing strings for translation
Handling processes concurrently
Loading sample Applications
Using Smalltalk to develop CICS applications
Accessing CICS services using Smalltalk
Invoking CICS commands from Smalltalk
Finding output when using the Transcript class
Testing for error conditions
Developing a CICS application
Developing your CICS application on the workstation
Step 1: Interactively coding and testing your Smalltalk application
References
Step 2: Packaging for CICS on the workstation
Step 3: Creating a DLL of your application image
Step 4: Defining an application to CICS
Step 5: Running an application on CICS
Using call-in support
Supported environments
Functions provided
Application design considerations
Workstation environment
Server execution environments
Supported languages and environments
Building your application
Function descriptions
VASTART
VARUN
VASTOP
Building your application for Windows or UNIX
IOArea class definition
ioarea.h
Common header file
abtvxt40.h
C call-in sample program
csamp.c
Makefiles
COBOL call-in sample program
cobsamp.cbl
makesamp.cmd
Using call-out support (inter-language communication)
Example call to a COBOL application
Packaging server applications
Step 1: Establishing prerequisites
Step 2: Releasing all classes to your Application(s)
Packaging a Smalltalk image
Managing packaging instructions
Packaging Steps
How to…
Create the passive image
Set the current image
Make the passive image the current image
Make the development image the current image
Load code into the passive image
Set up the development and target environments for interactive debug
Enable remote debugging
Establish a connection between the development and target environments
Tell the remote debugger what workstation to open
Set image startup class
Packaging your project as a single module
Step 3: Making the passive image the current image
Step 4: Loading your project into the passive image
Step 5: Producing the packaged single image
Browse Packaged Images
Create New Instructions
Choosing Existing Instructions
Modify Instructions
Applications and ICs
Startup Code
Reduce
Examine & Fix Problems
Image Contents Examine & Fix Problems
Save Instructions
Storing a Snapshot
Output Image
Close packager
References
Versioning packaging instructions
Example: Simple Single Module Packaging
Example: Seaside HelloWorld Single Module Packaging
Example: Seaside Traffic Light Single Module Packaging
Packaging into image components
Multiple (reusable/leaf) IC packaging for other server environments
Packaging a base or reusable module
Step 3: Making the passive image the current image
Step 4: Loading your project into the passive image
Step 5: Producing the packaged base or reusable image
Browse Packaged Images
Create New Instructions
Choosing Existing Instructions
Modify Instructions
Applications and ICs
Startup code
Reduce
Examine & Fix Problems
Image Contents Examine & Fix Problems
Save Instuctions
Storing a Snapshot
Output Image
Close packager
Packaging a dependent or leaf module
Step 3: Making the passive image the current image
Step 4: Loading your project into the passive image
Step 5: Producing the packaged dependent or leaf image
Browse Packaged Images
Create New Instructions
Choosing Existing Instructions
Modify Instructions
Applications and ICs
Startup Code
Reduce
Examine & Fix Problems
Image Contents Examine & Fix Problems
Save Instructions
Storing a Snapshot
Output Image
Close packager
Automated XD Building
AbsXDBuildSpecification
Attributes:
Actions:
Validations and Logging
Build Artifacts Output
Testing server applications
Running a packaged image
Development Environment
VAST Runtime
Problems
Examples in this Guide
Running Hello World
Development Envirionment
VAST Runtime
Running Seaside Hello World
Launching in Development Environment
Launching in VAST Runtime
Seaside launched
Browse page
Troubleshooting
OS error 126: Module could not be found
Firewall
‘(ExWAError) An exception has occurred: no secure key generator available because seeding failed’
‘Process reportError: (ExWAError) An exception has occurred: no secure key generator available because seeding failed’
Resetting
Running Seaside Traffic Light
Launching in Development Environment
Launching in VAST Runtime
Browse page
Debugging
Troubleshooting
Cannot find interactive debugger
Cannot find passive image that matches target image
Cannot save Smalltalk method in interactive debugger
Stack Dump Debugger cannot load stack
Clearing out Seaside state
Debugging Smalltalk errors
Using the stack trace
Using the stack dump debugger
Viewing a stack dump in Smalltalk
Accessing variables with the stack dump debugger
Accessing global variables
Accessing pool variables
Accessing class variables
Accessing class instance variables
Writing a stack dump exception routine
Using the interactive debugger
Setting up the Smalltalk interactive debug facility
Setting up the development and target environments for interactive debug using TCP/IP
Setting up the development environment for interactive debug using CPI-C
Defining the transaction program
Setting up the target environment for interfactive debug using CPI-C
Setting up CICS Transaction Server using CPI-C
Setting up the packaged workstation image environment using CPI-C
Specifying the workstation address on the target environment using CPI-C or TCP/IP
Initiating the interactive debugger
Starting the interactive debugger
Using the interactive debugger Transcript
Changing methods during debugging
Disconnecting the interactive debugger
Deploying server applications
Deploying server applications on CICS
Deploying on TXSeries for Multiplatforms
Adding your application to Windows Services
Making your application into a Windows Service
Appendixes
Appendix A. DB2 SQL error codes
Appendix B. CICS Smalltalk classes
ABEND command
ABEND command
ADDRESS command
Defined instance methods
Parameters supplied to CICS in CICSAddress
Parameters returned by CICS in CICSAddressResult
Examples
Example 1
Example 2
ALLOCATE command
Defined instance methods
Parameters supplied to CICS in CICSAppcallocate
Parameters returned by CICS in CICSAppcallocateResult
Example
ASKTIME command
Defined instance methods
Parameters supplied to CICS in CICSAsktime
Parameters returned by CICS in CICSAsktimeResult
Example
ASSIGN command
Defined instance methods
Parameters supplied to CICS in CICSAssign
Parameters returned by CICS in CICSAssignResult
Example
CANCEL command
Defined instance methods
Parameters supplied to CICS in CICSCancel
Parameters returned by CICS in CICSCancelResult
Example
CONNECT PROCESS command
Defined instance methods
Parameters supplied to CICS in CICSAppcconnectprocess
Parameters returned by CICS in CICSAppcconnectprocessResult
Example
CONVERSE command
Defined instance methods
Parameters supplied to CICS in CICSAppcconverse
Parameters returned by CICS in CICSAppcconverseResult
Example
DELAY command
Defined instance methods
Parameters supplied to CICS in CICSDelay
Parameters returned by CICS in CICSDelayResult
Example
DELETE command
Defined instance methods
Parameters supplied to CICS in CICSDelete
Parameters returned by CICS in CICSDeleteResult
Example
DELETEQ TD command
Defined instance methods
Parameters supplied to CICS in CICSDeleteqtd
Parameters returned by CICS in CICSDeleteqtdResult
Example
DELETEQ TS command
Defined instance methods
Parameters supplied to CICS in CICSDeleteqts
Parameters returned by CICS in CICSDeleteqtsResult
Example
DEQ command
Defined instance methods
Parameters supplied to CICS in CICSDeq
Parameters returned by CICS in CICSDeqResult
Example
ENDBR command
Defined instance methods
Parameters supplied to CICS in CICSEndbr
Parameters returned by CICS in CICSEndbrResult
Example
ENQ command
Defined instance methods
Parameters supplied to CICS in CICSEnq
Parameters returned by CICS in CICSEnqResult
Example
EXTRACT ATTRIBUTES command
Defined instance methods
Parameters supplied to CICS in CICSAppcextractattributes
Parameters returned by CICS in CICSAppcextractattributesResult
Example
EXTRACT PROCESS command
Defined instance methods
Parameters supplied to CICS in CICSAppcextractprocess
Parameters returned by CICS in CICSAppcextractprocessResult
Example
FORMATTIME command
Defined instance methods
Parameters supplied to CICS in CICSFormattime
Parameters returned by CICS in CICSFormattimeResult
Example
FREE command
Defined instance methods
Parameters supplied to CICS in CICSAppcfree
Parameters returned by CICS in CICSAppcfreeResult
Example
FREEMAIN command
Defined instance methods
Parameters supplied to CICS in CICSFreemain
Parameters returned by CICS in CICSFreemainResult
Example
GETMAIN command
Defined instance methods
Parameters supplied to CICS in CICSGetmain
Parameters returned by CICS in CICSGetmainResult
Example
INQUIRE FILE command
Defined instance methods
Parameters supplied to CICS in CICSInquirefile
Parameters returned by CICS in CICSInquirefileResult
Example
INQUIRE PROGRAM command
Defined instance methods
Parameters supplied to CICS in CICSInquireprogram
Parameters returned by CICS in CICSInquireprogramResult
Example
INQUIRE TDQUEUE command
Defined instance methods
Parameters supplied to CICS in CICSInquiretdqueue
Parameters returned by CICS in CICSInquiretdqueueResult
Example
INQUIRE TRANSACTION command
Defined instance methods
Parameters supplied to CICS in CICSInquiretransaction
Parameters returned by CICS in CICSInquiretransactionResult
Example
ISSUE ABEND command
Defined instance methods
Parameters supplied to CICS in CICSAppcissueabend
Parameters returned by CICS in CICSAppcissueabendResult
Example
ISSUE CONFIRMATION command
Defined instance methods
Parameters supplied to CICS in CICSAppcissueconfirmation
Parameters returned by CICS in CICSAppcissueconfirmationResult
Example
ISSUE ERROR command
Defined instance methods
Parameters supplied to CICS in CICSAppcissueerror
Parameters returned by CICS in CICSAppcissueerrorResult
Example
ISSUE SIGNAL command
Defined instance methods
Parameters supplied to CICS in CICSAppcissuesignal
Parameters returned by CICS in CICSAppcissuesignalResult
LINK command
Defined instance methods
Parameters supplied to CICS in CICSLink
Parameters returned by CICS in CICSLinkResult
Example
LOAD command
Defined instance methods
Parameters supplied to CICS in CICSLoad
Parameters returned by CICS in CICSLoadResult
Examples
READ command
Defined instance methods
Parameters supplied to CICS in CICSRead
Parameters returned by CICS in CICSReadResult
Examples
READNEXT command
Defined instance methods
Parameters supplied to CICS in CICSReadnext
Parameters returned by CICS in CICSReadnextResult
Example
READPREV command
Defined instance methods
Parameters supplied to CICS in CICSReadprev
Parameters returned by CICS in CICSReadprevResult
Example
READQ TD command
Defined instance methods
Parameters supplied to CICS in CICSReadqtd
Parameters returned by CICS in CICSReadqtdResult
Example
READQ TS command
Defined instance methods
Parameters supplied to CICS in CICSReadqts
Parameters returned by CICS in CICSReadqtsResult
Examples
RECEIVE command
Defined instance methods
Parameters supplied to CICS in CICSReceive
Parameters returned by CICS in CICSReceiveResult
Example
RECEIVE (APPC) command
Defined instance methods
Parameters supplied to CICS in CICSAppcreceive
Parameters returned by CICS in CICSAppcreceiveResult
Example
RESETBR command
Defined instance methods
Parameters supplied to CICS in CICSResetbr
Parameters returned by CICS in CICSResetbrResult
Example
RETRIEVE command
Defined instance methods
Parameters supplied to CICS in CICSRetrieve
Parameters returned by CICS in CICSRetrieveResult
Example
RETURN command
Defined instance methods
Parameters supplied to CICS in CICSReturn
Parameters returned by CICS in CICSReturnResult
Example
REWRITE command
Defined instance methods
Parameters supplied to CICS in CICSRewrite
Parameters returned by CICS in CICSRewriteResult
Example
SEND command
Defined instance methods
Parameters supplied to CICS in CICSSend
Parameters returned by CICS in CICSSendResult
Example
SEND (APPC) command
Defined instance methods
Parameters supplied to CICS in CICSAppcsend
Parameters returned by CICS in CICSAppcsendResult
Example
SEND CONTROL command
Defined instance methods
Parameters supplied to CICS in CICSSendcontrol
Parameters returned by CICS in CICSSendcontrolResult
Example
SEND TEXT command
Defined instance methods
Parameters supplied to CICS in CICSSendtext
Parameters returned by CICS in CICSSendtextResult
Example
SET FILE command
Defined instance methods
Parameters supplied to CICS in CICSSetfile
Parameters returned by CICS in CICSSetfileResult
Example
SET FILE CLOSED command
Defined instance methods
Parameters supplied to CICS in CICSSetfileclosed
Parameters returned by CICS in CICSSetfileclosedResult
Example
SET FILE DISABLED command
Defined instance methods
Parameters supplied to CICS in CICSSetfiledisabled
Parameters returned by CICS in CICSSetfiledisabledResult
Example
SET FILE ENABLED command
Defined instance methods
Parameters supplied to CICS in CICSSetfileenabled
Parameters returned by CICS in CICSSetfileenabledResult
Example
SET FILE OPEN command
Defined instance methods
Parameters supplied to CICS in CICSSetfileopen
Parameters returned by CICS in CICSSetfileopenResult
Example
SET TDQUEUE command
Defined instance methods
Parameters supplied to CICS in CICSSettdqueue
Parameters returned by CICS in CICSSettdqueueResult
Example
START command
Defined instance methods
Parameters supplied to CICS in CICSStart
Parameters returned by CICS in CICSStartResult
Example
STARTBR command
Defined instance methods
Parameters supplied to CICS in CICSStartbr
Parameters returned by CICS in CICSStartbrResult
Example
SUSPEND command
Defined instance methods
Parameters supplied to CICS in CICSSuspend
Parameters returned by CICS in CICSSuspendResult
Example
SYNCPOINT command
Defined instance methods
Parameters supplied to CICS in CICSSyncpoint
Parameters returned by CICS in CICSSyncpointResult
Examples
UNLOCK command
Defined instance methods
Parameters supplied to CICS in CICSUnlock
Parameters returned by CICS in CICSUnlockResult
Example
WAIT CONVID command
Defined instance methods
Parameters supplied to CICS in CICSAppcwait
Parameters returned by CICS in CICSAppcwaitResult
Example
WRITE command
Defined instance methods
Parameters supplied to CICS in CICSWrite
Parameters returned by CICS in CICSWriteResult
Example
WRITEQ TD command
Defined instance methods
Parameters supplied to CICS in CICSWriteqtd
Parameters returned by CICS in CICSWriteqtdResult
Example
WRITEQ TS command
Defined instance methods
Parameters supplied to CICS in CICSWriteqts
Parameters returned by CICS in CICSWriteqtsResult
Example
XCTL command
Defined instance methods
Parameters supplied to CICS in CICSXctl
Parameters returned by CICS in CICSXctlResult
Example
CICS class
Defined class methods
Defined instance methods
Example
CICSTTY class
Defined class methods
Examples
Example 1
Example 2
Appendix C. CICS return codes
Server Guide
Server Guide
Preface
Notices
Trademarks
About this book
Who this book is for
What's new?
Conventions used in this book
Tell us what you think
Developing server applications
Introducing VAST Server
The Smalltalk development environment
The Smalltalk cross development environment
Using passive images
Keeping an image and its runtime code in sync
Maintaining Smalltalk code between development and passive images
Recovering when the development image crashes
Preparing projects for cross development
Examining a subapplication's configuration expressions
Resolving global references
Referring to the Smalltalk dictionary
Referring to the current image
Referring to the current image's Smalltalk dictionary
Declaring pool dictionaries, pool constants and globals
Referring to a global in the current image
Referring to a subsystem type in the current image
Examining the application's toBeLoadedCode and wasRemovedCode
Examining the loaded and initializeAfterLoad code
Project design hints for server platforms
Developing projects for native server environments
Making applications headless
Handling processes concurrently
Loading sample Applications
Using Smalltalk to develop CICS applications
Accessing CICS services using Smalltalk
Invoking CICS commands from Smalltalk
Finding output when using the Transcript class
Testing for error conditions
Developing a CICS application
Developing your CICS application on the workstation
Using call-in support
Supported environments
Functions provided
Application design considerations
Workstation environment
Server execution environments
Supported languages and environments
Building your application
Function descriptions
Building your application for Windows or UNIX
Using call-out support (inter-language communication)
Example call to a COBOL application
Packaging server applications
Step 1: Establishing prerequisites
Step 2: Releasing all classes to your Application(s)
Packaging a Smalltalk image
Managing packaging instructions
Packaging Steps
How to…
Create the passive image
Set the current image
Load code into the passive image
Set up the development and target environments for interactive debug
Packaging your project as a single module
Step 3: Making the passive image the current image
Step 4: Loading your project into the passive image
Step 5: Producing the packaged single image
Browse Packaged Images
Create New Instructions
Modify Instructions
Reduce
Examine & Fix Problems
Save Instructions
Output Image
Close packager
Versioning packaging instructions
Example: Simple Single Module Packaging
Example: Seaside HelloWorld Single Module Packaging
Example: Seaside Traffic Light Single Module Packaging
Packaging into image components
Multiple (reusable/leaf) IC packaging for other server environments
Packaging a base or reusable module
Browse Packaged Images
Create New Instructions
Modify Instructions
Reduce
Examine & Fix Problems
Save Instuctions
Output Image
Close packager
Packaging a dependent or leaf module
Browse Packaged Images
Create New Instructions
Modify Instructions
Reduce
Examine & Fix Problems
Save Instructions
Output Image
Close packager
Automated XD Building
Testing server applications
Running a packaged image
Running Hello World
Running Seaside Hello World
Running Seaside Traffic Light
Debugging Smalltalk errors
Using the stack trace
Using the stack dump debugger
Viewing a stack dump in Smalltalk
Writing a stack dump exception routine
Using the interactive debugger
Setting up the Smalltalk interactive debug facility
Initiating the interactive debugger
Using the interactive debugger Transcript
Changing methods during debugging
Disconnecting the interactive debugger
Deploying server applications
Deploying server applications on CICS
Deploying on TXSeries for Multiplatforms
Adding your application to Windows Services
Making your application into a Windows Service
Appendixes
Appendix A. DB2 SQL error codes
Appendix B. CICS Smalltalk classes
ABEND command
ADDRESS command
ALLOCATE command
ASKTIME command
ASSIGN command
CANCEL command
CONNECT PROCESS command
CONVERSE command
DELAY command
DELETE command
DELETEQ TD command
DELETEQ TS command
DEQ command
ENDBR command
ENQ command
EXTRACT ATTRIBUTES command
EXTRACT PROCESS command
FORMATTIME command
FREE command
FREEMAIN command
GETMAIN command
INQUIRE FILE command
INQUIRE PROGRAM command
INQUIRE TDQUEUE command
INQUIRE TRANSACTION command
ISSUE ABEND command
ISSUE CONFIRMATION command
ISSUE ERROR command
ISSUE SIGNAL command
LINK command
LOAD command
READ command
READNEXT command
READPREV command
READQ TD command
READQ TS command
RECEIVE command
RECEIVE (APPC) command
RESETBR command
RETRIEVE command
RETURN command
REWRITE command
SEND command
SEND (APPC) command
SEND CONTROL command
SEND TEXT command
SET FILE command
SET FILE CLOSED command
SET FILE DISABLED command
SET FILE ENABLED command
SET FILE OPEN command
SET TDQUEUE command
START command
STARTBR command
SUSPEND command
SYNCPOINT command
UNLOCK command
WAIT CONVID command
WRITE command
WRITEQ TD command
WRITEQ TS command
XCTL command
CICS class
CICSTTY class
Appendix C. CICS return codes