# Compaq ACMS for OpenVMS
Writing Applications

Previous | Contents | Index

# Appendix H
Checklist of References to Platform-Specific Files

An ACMS application executing on OpenVMS Alpha must reference images that have been built (either natively or by using the VEST utility) on OpenVMS Alpha. Similarly, an ACMS application on OpenVMS VAX must reference images that have been built on OpenVMS VAX. This appendix identifies potential areas that may cause platform compatibility errors.

# H.1 Task Group Definition

Check that the following objects or image files referenced in the task group definition are compatible with the platform on which the application is executing:

- Procedure server object module
- Procedure server image
- Message object module
- Message executable image
- Form file image

# H.2 ADU BUILD GROUP Command

The ADU BUILD GROUP command has several qualifiers that reference platform-specific object modules and libraries. If you use the qualifiers /OBJECT, /SYSLIB, /SYSSHR, or /USERLIBRARY when building a task group, check that the object modules or libraries you reference are compatible with the platform on which the application is executing.

# Appendix I
Common Errors

This appendix contains common errors that you may get when you are writing or migrating an ACMS application for OpenVMS Alpha. The errors are in one of the following categories:

- ADU
- Task debugger
- Application startup
- Task execution

# I.1 ADU

This section lists some of the common errors that ADU may return.

ACMSTDU-E-INVLIBTYPA, <filename> is not an OpenVMS AXP object or shared image library.
Explanation: ADU encountered an error when trying to open a file specified with the /USERLIBRARY qualifier. The file specified was not an Alpha object library or an Alpha shared image library.
User Action: Check to see that the specified file is an OpenVMS Alpha object or shared image library. This can be checked by executing the DCL LIBRARY command LIBRARY/LIST. Only OpenVMS Alpha object libraries and shared image libraries are valid input with the /USERLIBRARY qualifier.

ACMSTDU-W-INVVAXOBJMOD, <filename> is not an OpenVMS VAX object module.
Explanation: ADU encountered an error when trying to access a file specified on the /OBJECT qualifier. The file specified was not an OpenVMS VAX object module.
User Action: Check to see that the specified file is an OpenVMS VAX object module. This can be checked by executing the DCL ANALYZE command ANALYZE/OBJECT.

ACMSTDU-W-INVALPHAOBJMOD, <filename> is not an OpenVMS AXP object module.
Explanation: ADU encountered an error when trying to access a file specified on the /OBJECT qualifier. The file specified was not an OpenVMS Alpha object module.
User Action: Check to see that the specified file is an OpenVMS Alpha object module. This can be checked by executing the DCL ANALYZE command ANALYZE/OBJECT.

# I.2 Task Debugger

This section lists some of the common errors that the Task Debugger may return.

ACMSDBG-W-WLK_DEAD, Unexpected Workspace Symbol Image termination -IMGACT-F-NOTNATIVE, image is not an OpenVMS AXP image
Explanation: The workspace symbol process could not be created for debugging workspaces because the task group being debugged was built on an OpenVMS VAX system.
User Action: Build the task group on an OpenVMS Alpha system.

ACMSDBG-I-SPDIED, Server <server-name> stopped unexpectedly
Explanation: This error can occur when starting a server within the task debugger. Additional information on why the server stopped unexpectedly can be found in the SWL. Typical reasons for this are:

- CLI-E-IMAGEFNF, image file not found <filename>
- IMGACT-F-NOTNATIVE, image is not an OpenVMS Alpha image
- IMGACT-F-BAD_LINK, image, linked /NATIVE_ONLY, cannot call a translated routine

User Action: Check the SWL log for the cause of the server stopping unexpectedly. Then issue the following command for more information on the error:

    $ HELP/MESSAGE <message identifier>

# I.3 Application Startup

This section lists some of the common errors that can occur at application startup.

ACMSEXC-E-ACTIVATE_MSG, Error activating message file <filename> in task group <task-group> -IMGACT-F-NOTNATIVE, image is not an OpenVMS AXP image
Explanation: A message file defined for a task group is invalid.
User Action: Check the MESSAGE FILES clause in the task group definition and build an OpenVMS Alpha message executable image.

ACMSEXC-E-ERROPENVFF, Error in opening DECforms file specification <file-name>.EXE_VAX; -RMS-E-FNF, file not found
Explanation: The ACMS$MULTIPLE_SUBMITTER_PLATFORMS logical is defined and the form image file for the OpenVMS VAX submitter nodes is not found on the application node.
User Action: Build the form image file on OpenVMS VAX with the extension .EXE if it has not been built. Then rename the .EXE file to use the extension .EXE_VAX and copy the file to the application node.

ACMSEXC-E-ERROPENVFF, Error in opening DECforms file specification <file-name>.EXE_AXP; -RMS-E-FNF, file not found
Explanation: The ACMS$MULTIPLE_SUBMITTER_PLATFORMS logical is defined and the form image file for the OpenVMS Alpha submitter nodes is not found on the application node.
User Action: Build the form image file on OpenVMS Alpha with the extension .EXE if it has not been built. Then rename the .EXE file to use the extension .EXE_AXP and copy the file to the application node.

ACMSEXC-E-WP_TRM, Server Process for server <server-name> defined in group <task-group> died unexpectedly
Explanation: This error can occur when starting an application. Additional information on why the server died unexpectedly can be found in the SWL. Typical reasons for this are:

- CLI-E-IMAGEFNF, image file not found <filename>
- IMGACT-F-NOTNATIVE, image is not an OpenVMS Alpha image
- IMGACT-F-BAD_LINK, image, linked /NATIVE_ONLY, cannot call a translated routine

User Action: Check the SWL log for the cause of the server dying unexpectedly. Then issue the following command for more information on the error:

    $ HELP/MESSAGE <message identifier>

ACMSEXC-E-ERROPENVFF, Error in opening DECforms file specification <filename>
Explanation: An error occurred while opening a DECforms file specification. All DECforms files used by an application must be accessible when starting the application.
User Action: Check the file specification in the task group definition and check to see if the file exists. Check the file protection on the form file to make sure the EXC process can access it.

ACMSEXC-E-OPEN_RLB, Error opening Request Library <filename> in task group <task-group>
Explanation: The request library defined for a task group is invalid.
User Action: Check the REQUEST LIBRARY clause in the task group definitions. See accompanying messages for more information.

# I.4 Task Execution

This section lists some of the common errors that can occur when a task executes.

%FORMS-F-LOADFORM, failure attempting to load a binary form. -FORMS-F-INVFHDSIZ, invalid form header size.
Explanation: The DECforms form file image was not built properly or was built on a different OpenVMS platform than from which it is being called.
User Action: Relink the form image file with the /symbol_vector option and include (Forms$AR_Form_Table=Data) as shown in Section 16.2.1.1. If the application uses multiple submitter platforms, make sure to build the form image file on the appropriate platform and use the naming convention explained in Section 16.2.1.

%FORMS-E-BADRECLEN, the record length argument does not match the length of the record in the form. -FORMS-W-RECORD_LEN, you specified a record length of 234, but the length of the MENU_HEADER record is 236.
Explanation: The data alignment in the form file is not consistent with the alignment in the application.
User Action: Retranslate the form file using the /MEMBER_ALIGNMENT or /NOMEMBER_ALIGNMENT qualifier to match the alignment of the application, or rebuild the application to match the alignment of the form file.

TDMSNOTAVAIL, Task performs TDMS I/O but TDMS is not installed on the system
Explanation: The selected task requires TDMS to perform exchange I/O, however, the TDMS software is not installed.
User Action: Select the task from an OpenVMS VAX node that has the TDMS software installed on it or install the TDMS software on the OpenVMS VAX node on which the submitter is selecting the task. TDMS is not available on OpenVMS Alpha.

CANTPASSTERM, Remote tasks cannot pass terminals to processing steps
Explanation: A user on a remote submitter node selected a task on an application node and the task attempted to access the user's terminal to perform I/O from a server process. The task is canceled because server processes can only access terminals that are on the application node.
User Action: There are a number of possible solutions:

- The terminal user can log in to the application node and select the task again.
- If the task does not need to access the terminal directly, the PROCESSING step definition can be rewritten using the WITH NO I/O phrase. For example, it is not necessary to pass a terminal to a DCL set that is being used to submit batch or print jobs.
- Redesign the system to provide an application on the submitter's node. For example, you may want to allow terminal users access to the VMS MAIL facility. You can provide an application on the submitter's node that contains a DCL server and a task that invokes MAIL.

Index | Contents