|
Compaq ACMS for OpenVMS
Writing Server Procedures
Order Number:
AA--N691J--TE
December 1999
This manual describes how to write programs to use with tasks and how
to debug tasks and programs.
This manual also describes how Compaq ACMS for OpenVMS
(ACMS) transaction processing (TP) software works with third-party
database managers. It also describes how ACMS TP software works with
Copmpaq's APPC/LU6.2 programming interface software to communicate with
an IBM CICS application on an IBM system.
Revision/Update Information:
This manual supersedes Digital ACMS for OpenVMS Writing Server
Procedures, Version 4.2.
Operating System:
Compaq OpenVMS Alpha Version 6.2 and above, excluding Version 7.0
Compaq OpenVMS VAX Version 6.2 and above, excluding Version 7.0
Software Version:
Compaq ACMS Version 4.3 for OpenVMS
Compaq Computer Corporation
Houston, Texas
December 1999
Digital Equipment Corporation makes no representations that the use of
its products in the manner described in this publication will not
infringe on existing or future patent rights, nor do the descriptions
contained in this publication imply the granting of licenses to make,
use, or sell equipment or software in accordance with the description.
Possession, use, or copying of the software described in this
publication is authorized only pursuant to a valid written license from
Digital Equipment Corporation or an authorized sublicensor.
© Digital Equipment Corporation 1999. All rights reserved.
Compaq, the Compaq logo, and the DIGITAL logo are registered in the
U.S. Patent and Trademark Office.
ACMS, ACMS Desktop, ALL-IN-1, Alpha, AlphaServer, DATATRIEVE, DEC,
DECdesign, DECdtm, DECforms, DEC FORTRAN, DECnet, DECset, DIGITAL,
MicroVAX, OpenVMS, PATHWORKS, Tru64, ULTRIX, VAX, VAX C, VAX COBOL, VAX
DATATRIEVE, VAX DOCUMENT, VAX FMS, VAX FORTRAN, VAX RMS, VAX SMG, VAX
9000, VMS, VMScluster, VT, VT100, VT200, and VT300 are trademarks of
Compaq Computer Corporation.
The following are third-party trademarks:
IBM and CICS are a registered trademarks of International Business
Machines, Inc.
Oracle is a registered trademark of Oracle Corporation.
Oracle CODASYL DBMS, Oracle CDD/Administrator, Oracle CDD/Repository,
Oracle Rdb, Oracle SQL/Services, Oracle Trace, and Oracle Trace
Collector are trademarks of Oracle Corporation.
The following are third-party trademarks:
SCO is a trademark of Santa Cruz Operations, Inc.
Novell and NetWare are registered trademarks of Novell, Inc.
HyperCard is a registered trademark of Apple Computer, Inc.
ZK6607
The OpenVMS documentation set is available on CD-ROM.
Preface
This manual explains how to write and debug procedures for Compaq ACMS for OpenVMS
(ACMS) applications. It also provides reference information for the
ACMS programming services and debugger commands.
In addition, Compaq is commited to maximizing a customer's use of
existing hardware and software by offering interoperable, flexible, and
reliable software such as ACMS, which can interoperate with
third-party database products such as Oracle,
and and interconnect products such as APPC/LU6.2. In keeping with this
commitment, this manual contains guidelines for integrating
Compaq ACMS for OpenVMS with third-party databases such as Oracle. In
addition, this manual provides guidelines for tying together
Compaq ACMS for OpenVMS and IBM® systems.
Intended Audience This document is
intended for persons who will:
- Write step procedures for ACMS tasks
- Write ACMS initialization, termination, and cancellation procedures
- Debug ACMS tasks and procedures
- Integrate ACMS with a third-party database, such as Oracle
- Tie ACMS together with an IBM system
To program the ACMS system, you need a beginner's knowledge of a
programming language that conforms to the OpenVMS Calling
Standard---VAX COBOL or VAX BASIC, for example. If you are using Oracle
CODASYL DBMS or Oracle Rdb, you also need a beginner's knowledge of
database programming. You do not need extensive experience with OpenVMS
programming tools or system programming.
For Part 3, this manual assumes that the reader has a working
knowledge of Oracle databases (especially readers who are
programming-level personnel). This section does not attempt to
illustrate the creation or maintenance of an Oracle database. The
approach that is taken assumes that there is an existing Oracle
database on the OpenVMS system. Also, the Oracle example is for
illustration purposes only; is is not meant to be the definitive way to
create an ACMS application that accesses an Oracle database.
For Part 4, this manual assumes that the reader has a working
knowledge of LU6.2 and DECnet/SNA concepts (especially readers who are
programming-level personnel). This section does not attempt to
illustrate the creation or maintenance of an LU6.2 gateway between an
OpenVMS system and an IBM system or a CICS® application on an IBM
system. The approach that is taken in the detailed sections of the
guide assumes that there is an existing CICS application on the IBM
system and an existing LU6.2 gateway between the systems. Also, the
LU6.2 example is for illustration purposes only; it is not meant to be
the definitive way to create an ACMS application that interfaces with a
CICS application.
Document Structure
This manual contains tutorial information for ACMS application
programming, followed by reference information for ACMS programming
tools and debugging commands, and guidelines for integrating ACMS with
third-party databases and IBM systems. Following the guidelines are
appendixes and an index.
Part 1 --- User Information
Chapter 1
|
Introduces ACMS application programming by explaining procedure server
terminology, the kinds of programs you write, the ACMS tools you use to
write and debug ACMS application programs, and the programming tools
supplied by related products.
|
Chapter 2
|
Explains how to write initialization, termination, and cancel
procedures for ACMS tasks.
|
Chapter 3
|
Presents recommendations for writing step procedures, including naming
and structuring step procedures, using workspaces, handling errors in
step procedures, and performing terminal I/O from a procedure server.
|
Chapter 4
|
Explains how to write procedures for tasks that use Oracle Rdb
databases with SQL, Oracle Rdb with RDO, Oracle CODASYL DBMS databases,
and RMS files.
|
Chapter 5
|
Explains how to create message files for ACMS task groups.
|
Chapter 6
|
Explains how to build procedure server images.
|
Chapter 7
|
Explains how to debug tasks, including tasks called by user-written
agent programs, as well as procedures called by tasks.
|
Chapter 8
|
Provides guidelines to transition procedures so that they run in the
ACMS run-time environment.
|
Part 2 --- Reference Material
Chapter 9
|
Provides reference material for the ACMS programming services.
|
Chapter 10
|
Provides reference material for the ACMS Task Debugger commands.
|
Part 3 --- Interoperability with Third-Party Databases:
Oracle Case Study
Chapter 11
|
Describes key ACMS and Oracle interoperability concepts.
|
Chapter 12
|
Walks you through a sample application that uses ACMS in conjunction
with Oracle.
|
Part 4 --- Interoperability with IBM LU6.2 and
CICS
Chapter 13
|
Describes key ACMS and APPC/LU6.2 technical concepts.
|
Chapter 14
|
Walks you through a sample program that uses ACMS and APPC/LU6.2
products to interoperate with an IBM CICS system and database.
|
Part 5 --- Appendixes
Appendix A
|
Describes the ACMS system workspaces.
|
Appendix B
|
Contains the libraries referred to in the AVERTZ procedures that are
used as examples in the manual.
|
Appendix C
|
Describes superseded features.
|
Related Documents
Read Compaq ACMS for OpenVMS Getting Started before using this guide; this book provides an
introduction to developing applications with ACMS and Compaq DECforms
software. It explains the basic concepts and facilities of ACMS and
other products needed for developing ACMS applications. The collection
of examples in this book shows the development of a complete ACMS
application and explains how to install and run the application. The
following table lists the documents in the ACMS documentation set.
ACMS Information |
Description |
Compaq ACMS Version 4.3 for OpenVMS Release Notes+
|
Information about the latest release of the software
|
Compaq ACMS Version 4.3 for OpenVMS Installation Guide
|
Description of installation requirements, the installation procedure,
and postinstallation tasks.
|
Compaq ACMS for OpenVMS Getting Started
|
Overview of ACMS software and documentation.
Tutorial for developing a simple ACMS application.
Description of the AVERTZ sample application.
|
Compaq ACMS for OpenVMS Concepts and Design Guidelines
|
Description of how to design an ACMS application.
|
Compaq ACMS for OpenVMS Writing Applications
|
Description of how to write task, task group, application, and menu
definitions using the Application Definition Utility.
Description of how to write and migrate ACMS applications on an
OpenVMS Alpha system.
|
Compaq ACMS for OpenVMS Writing Server Procedures
|
Description of how to write programs to use with tasks and how to debug
tasks and programs. Description of how ACMS works with the APPC/LU6.2
programming interface to communicate with IBM CICS applications.
Description of how ACMS works with third-party database managers, with
Oracle used as an example.
|
Compaq ACMS for OpenVMS Systems Interface Programming
|
Description of using Systems Interface (SI) Services to submit tasks to
an ACMS system.
|
Compaq ACMS for OpenVMS ADU Reference Manual
|
Reference information about the ADU commands, phrases, and clauses.
|
Compaq ACMS for OpenVMS Quick Reference
|
List of ACMS syntax with brief descriptions.
|
Compaq ACMS for OpenVMS Managing Applications
|
Description of authorizing, running, and managing ACMS applications,
and controlling the ACMS system.
|
Compaq ACMS for OpenVMS Remote Systems Management Guide
|
Description of the features of the Remote Manager for managing ACMS
systems, how to use the features, and how to manage the Remote Manager.
|
Online help+
|
Online help about ACMS and its utilities.
|
+Available on line only.
The following documentation is also useful:
- DECforms Guide to Commands and Utilities
Explains how to create DECforms forms and design
DECforms panels.
- Oracle CDD/Repository documentation
Describes how to store
record definitions in Oracle CDD/Repository.
- Oracle CODASYL DBMS documentation
Explains how to use DML
statements and callable DBQ in programs using an Oracle CODASYL DBMS
database.
- Oracle Rdb documentation
Provides Oracle Rdb language elements
and statements, and provides information about using Oracle Rdb data
manipulation statements in application programs.
- Documentation for the SQL interface to Oracle Rdb
Describes the
SQL interface to Oracle Rdb, including the statements and compiler used
to write ACMS application programs.
- VAX TDMS Request and Programming Manual
Provides information on Terminal Data Management
System (TDMS) programming calls used in ACMS programs.
- OpenVMS Debugger Manual and VMS Message Utility Manual
Describe how to use the OpenVMS
Debugger and the Message Utility.
- VAX COBOL User Manual and VAX COBOL Reference Manual
DEC COBOL User Manual and DEC COBOL Reference Manual Explain the COBOL statements and
compiler used to write ACMS application programs.
- VAX BASIC User Manual and VAX BASIC Reference Manual
BASIC for OpenVMS Systems User's Manual and BASIC for
OpenVMS Systems Reference Manual Explain the BASIC statements
and compiler used to write ACMS application programs.
For additional information on the compatibility of other software
products with this version of ACMS, refer to the Compaq ACMS for
OpenVMS Software Product Description (SPD 25.50.xx).
For additional information about the Open Systems Software Group (OSSG)
products and services, access the following OpenVMS World Wide Web
address:
http://h18000.www1.hp.com/openvms
|
Reader's Comments
Compaq welcomes your comments on this manual.
Print or edit the online form SYS$HELP:OPENVMSDOC_COMMENTS.TXT and send
us your comments by:
Internet
|
openvmsdoc@compaq.com
|
Fax
|
603 884-0120, Attention: OSSG Documentation, ZKO3-4/U08
|
Mail
|
Compaq Computer Corporation
OSSG Documentation Group, ZKO3-4/U08
110 Spit Brook Rd.
Nashua, NH 03062-2698
|
How To Order Additional Documentation
Use the following World Wide Web address for information about how to
order additional documentation:
http://h18000.www1.hp.com/openvms
|
To reach the OpenVMS documentation website, click the Documentation
link.
If you need help deciding which documentation best meets your needs,
call 1--800--ATCOMPA.
Conventions
The following conventions are used in this manual:
Ctrl/
x
|
A sequence such as Ctrl/
x indicates that you must press and hold the key labeled Ctrl
while you press another key or a pointing device button.
|
PF1
x
|
A sequence such as PF1
x indicates that you must first press and release the key
labeled PF1 and then press and release another key or a pointing device
button.
|
[Return]
|
In examples, a key name enclosed in a box indicates that you press a
key on the keyboard. (In text, a key name is not enclosed in a box.)
In the HTML version of this document, this convention appears as
brackets rather than a box.
|
...
|
A horizontal ellipsis in examples indicates one of the following
possibilities:
- Additional optional arguments in a statement have been omitted.
- The preceding item or items can be repeated one or more times.
- Additional parameters, values, or other information can be entered.
|
.
.
.
|
A vertical ellipsis indicates the omission of items from a code example
or command format; the items are omitted because they are not important
to the topic being discussed.
|
Monospace text
|
Monospace type indicates code examples and interactive screen displays.
In the C programming language, monospace type in text identifies the
following elements: keywords, the names of independently compiled
external functions and files, syntax summaries, and references to
variables or identifiers introduced in an example.
In the HMTL version of this document, this text style may appear as
italics.
|
-
|
A hyphen at the end of a command format description, command line, or
code line indicates that the command or statement continues on the
following line.
|
numbers
|
All numbers in text are assumed to be decimal unless otherwise noted.
Nondecimal radixes---binary, octal, or hexadecimal---are explicitly
indicated.
|
bold text
|
Bold text represents the introduction of a new term or the name of an
argument, an attribute, or a reason.
In the HMTL version of this document, this text style may appear as
italics.
|
italic text
|
Italic text indicates important information, complete titles of
manuals, or variables. Variables include information that varies in
system output (Internal error
number), in command lines (/PRODUCER=
name), and in command parameters in text (where
dd represents the predefined code for the device type).
|
UPPERCASE
|
Uppercase text indicates the name of a routine, the name of a file, the
name of a file protection code, or the abbreviation for a system
privilege.
In command format descriptions, uppercase text is an
optional keyword.
|
UPPERCASE
|
In command format descriptions, uppercase text that is underlined is
required. You must include it in the statement if the clause is used.
|
lowercase
|
In command format descriptions, a lowercase word indicates a required
element.
|
<lowercase>
|
In command format descriptions, lowercase text in angle brackets
indicates a required clause or phrase.
|
( )
|
In command format descriptions, parentheses indicate that you must
enclose the options in parentheses if you choose more than one.
|
[| |]
|
In command format descriptions, vertical bars within square brackets
indicate that you can choose any combination of the enclosed options,
but you can choose each option only once.
|
{| |}
|
In command format descriptions, vertical bars within braces indicate
that you must choose one of the options listed, but you can use each
option only once.
|
References to Products
The ACMS documentation set often refers to products by abbreviated
names. The following product abbreviations are used in this
documentation set:
Abbreviation |
Product |
ACMS
|
Compaq ACMS for OpenVMS Alpha, and Compaq ACMS for OpenVMS VAX
|
Ada
|
DEC Ada for OpenVMS Alpha Systems, and DEC Ada for OpenVMS VAX Systems
|
BASIC
|
DEC BASIC for OpenVMS, and VAX BASIC
|
C
|
DEC C for OpenVMS Alpha Systems, and DEC C for OpenVMS VAX Systems
|
CDD
|
Oracle CDD/Administrator, and Oracle CDD/Repository
|
COBOL
|
DEC COBOL for OpenVMS Alpha Systems, and VAX COBOL for OpenVMS VAX
Systems
|
DATATRIEVE
|
DEC DATATRIEVE for OpenVMS Alpha, and DEC DATATRIEVE for OpenVMS VAX
|
DBMS
|
Oracle CODASYL DBMS
|
DECforms
|
Compaq DECforms
|
FORTRAN
|
DEC Fortran for OpenVMS Alpha Systems, and DEC Fortran for OpenVMS VAX
Systems
|
OpenVMS
|
The Compaq OpenVMS Alpha operating system, and the Compaq OpenVMS VAX
operating system
|
Pascal
|
DEC Pascal, and VAX Pascal
|
PL/I
|
PL/I for VAX VMS
|
Rdb
|
Oracle Rdb
|
SQL
|
The SQL interface to Oracle Rdb
|
TDMS
|
Compaq TDMS
|
|