Compaq ACMS Version 4.3 for OpenVMS
Release Notes


Previous Contents

5.2.12 Application Definition Utility (ADU) Restrictions

The following restrictions apply to the Application Definition Utility.

5.2.12.1 ADU Migration from DMU Dictionary to CDO Dictionary

If the 26th character of an ACMS definition name is an underscore (_) or a dollar sign ($), ADU is not able to convert the definition automatically from the DMU dictionary to the CDO dictionary.

The reason that ACMS is unable to do the conversion is that in order to migrate to the CDO dictionary, ADU must save a copy of the original definition in DMU while it is putting the new copy in CDO. Because you cannot have a definition with the same name in DMU format and CDO format, ADU renames the definition by prefixing the object name with ACMS$.

If the object name was longer than 26 characters to begin with, ADU has to truncate the object name. If the 26th character is a dollar sign or an underscore, DMU does not allow ADU to write this definition to the DMU side of the CDD dictionary.

The workaround is to migrate manually any ACMS definitions with this characteristic.

5.2.12.2 Workaround for MMS Restriction with ADU

The way that ADU handles procedure server transfer modules causes the DEC/Module Management System (MMS) to process the server transfer object module (.OBJ) as if it were out of date. This is because ADU closes the .OBJ before it writes the BUILD audit record to the dictionary. The workaround is to copy the server transfer object module to itself in the action line in which you build your group. For example:


VR_TASK_GROUP.TDB DEPENDS_ON - 
    VR_CHECKIN_TASK^, - 
    VR_CHECKOUT_TASK^, - 
    ... 
    VR_VEHICLES_WKSP^ 
        ADU BUILD GROUP VR_TASK_GROUP VR_TASK_GROUP.TDB 
        COPY VR_READ_SERVER.OBJ VR_READ_SERVER.OBJ 
        PURGE VR_READ_SERVER.OBJ 

This changes the modification date on the server transfer object module so that it is newer than the group definition in the dictionary. This ensures that MMS re-creates the server transfer object module only when necessary.

5.2.12.3 Invalid Characters in ADU Cause ADU to Terminate with TKN_INVALID Error Message

If you use an invalid character in an ACMS definition, ADU terminates after giving the following error message:


ADU> @UPDATE_TASK.TDF 
%ACMSTDU-F-TKN_INVALID, Invalid token class 1 detected by PARSER 
-CMU-F-INROUTINE, error detected in routine PAT$LS_OUTPUT_TOKEN 

The valid characters for identifiers are:

5.2.12.4 Using Search Lists to Point to Multiple Dictionaries in ADU

In ADU, if you set default to a logical name defined as a search list, ADU sets default to only the first dictionary in the search list. If you include a search list logical name in an object's path name, ADU uses all dictionaries included in the search list to process that object.

5.2.12.5 "End of Task-Referenced Workspace Table" Error on Selection of Invalid Task

If you incorrectly specify the same workspace twice while using the TASK ARGUMENTS clause, ADU does not recognize the problem. For example, the following statement should produce a syntax error, but it does not:


TASK ARGUMENTS ARE EMPLOYEE_REC WITH ACCESS READ, 
                   EMPLOYEE_REC; 

If you select this task, it is canceled. The message "end of task-referenced workspace table" is included as a part of the task's Audit Trail record, and it is written to SWL.

If you attempt to dump a task group containing this task, ADU gives an ACCVIO error.

5.2.13 Request Interface (RI) Restrictions

The following restrictions apply to the Request Interface.

5.2.13.1 User-Written Menus for the ACMS$RI_AGENT

When you write a user-written menu routine for the ACMS$RI_AGENT, it is important to be aware of how your chosen language handles dynamic string descriptors. The task name and application name arguments in the ACMS$RI_AGENT are passed to the ACMS$RI_MENU_ROUTINE as dynamic descriptors. If the language you have chosen does not support dynamic string descriptors, you must use an OpenVMS run-time library routine to return the task and application names to the ACMS$RI_AGENT.

The following FORTRAN example accepts an application name and a task name into two fixed-length strings. The STR$TRIM OpenVMS RTL routine is then used to remove trailing spaces and copy the names into the arguments supplied by the ACMS$RI_AGENT.


! 
!   THIS ROUTINE GETS THE TASK AND APPLICATION 
!   NAMES FROM THE USER.... 
! 
INTEGER FUNCTION ACMS$RI_MENU_ROUTINE(TASK,APPL,TASK_STS) 
! 
! Addresses of appl and task name dynamic string descriptors 
INTEGER*4 TASK, APPL 
! 
! Completion status of previous task (0 if 1st time through) 
INTEGER*4 TASK_STS 
! 
! Local strings to input application and task names 
CHARACTER*32 TNAME, ANAME 
! 
! RTL completion status 
INTEGER*4 STATUS 
! 
! RTL routine to trim spaces from a string 
INTEGER*4 STR$TRIM 
! 
WRITE( UNIT=5,FMT='(A,$)' ) ' INPUT APPLICATION SELECTION: ' 
READ ( UNIT=5,FMT='(A32)' ) ANAME 
WRITE( UNIT=5,FMT='(A,$)' ) ' INPUT TASK SELECTION: ' 
READ ( UNIT=5,FMT='(A32)' ) TNAME 
! 
STATUS = STR$TRIM( %REF(TASK), %DESCR(TNAME) ) 
IF (STATUS) THEN 
STATUS = STR$TRIM( %REF(APPL), %DESCR(ANAME) ) 
END IF 
! 
ACMS$RI_MENU_ROUTINE = STATUS 
RETURN 
END 

5.2.14 ACMS and DECforms Restrictions

The following restrictions apply to ACMS and DECforms.

5.2.14.1 Problems Using DECforms and TDMS in the Same ACMS Application

DECforms does not know when screen management routines or other forms products have changed the state of the display. This situation can result in incorrect painting of the screen, particularly during a sequence of task calls or chained tasks performing DECforms I/O and non-DECforms I/O.

In this case, add the REFRESH and the REMOVE statements to the form source file to eliminate incorrect repainting.

5.2.14.2 DECforms Timeout Values

DECforms allows you to specify an infinite number of seconds as a timeout value for a panel or icon by specifying a zero or a negative value with the TIMEOUT subclause.

As an alternative, ACMS allows you to specify an infinite timeout value in ACMS in one of the following ways:

Note that if you specify timeout values in both the DECforms and the ACMS definitions, the ACMS timeout value overrides the DECforms timeout value.

5.2.14.3 Naming Form Image Files

Each form image file must have a unique name. If two form image files have the same name, problems occur.

DECforms uses the OpenVMS image activator to activate form images. The activator uses the file name to keep track of the images. Each image can be activated only once in a process. If an image file has been activated, then a different image file with the same name cannot be activated. Rather than giving two form image files the same name, use different file names. For example:


FORMS ARE 
    form_a IN "DISK1$:[USER1]FORM.EXE" WITH NAME F1, 
    form_b IN "DISK2$:[USER2]FORM.EXE" WITH NAME F2; 
 
FORMS ARE 
    form_a IN "DISK1$:[USER1]FORM_1.EXE" WITH NAME F1, 
    form_b IN "DISK2$:[USER2]FORM_2.EXE" WITH NAME F2; 

5.2.14.4 BOLD Video Attribute Carried Forward from Menus

If a task selected from a DECforms menu performs terminal I/O, stream I/O, or runs a DCL server, the characters in the task are displayed on the screen with the BOLD video attribute.

In the DECforms form that displays the menu, the message panel uses the BOLD video attribute to display messages. After you enter input for the menu, the message line is updated and the BOLD video attribute is turned on. The BOLD video attribute is not turned off until DECforms or TDMS displays something on the terminal. Therefore, if you select a task that uses terminal I/O or stream I/O, or that runs a DCL server, the screen displays characters in the task with the BOLD video attribute.

There are two workarounds to this problem. Both of them change the appearance of the menu slightly and require the modification of the DECforms form that displays the menu.

If it is not necessary to use the BOLD video attribute in the message panel, change the definition of the message panel as follows:


/* Message Panel */ 
            
Message Panel MSGS_PANEL 
                                                
End Panel 

If it is necessary to use the BOLD video attribute in the message panel, an alternative solution is to add a panel to display a blank space at the upper left hand corner of the terminal. This panel is displayed by the control text response for clearing the screen. When you select a task from a menu displayed by DECforms, ACMS calls this control text response to clear the screen. When this control text response displays the added panel, the BOLD video attribute is turned off. Change the control text response and add a new panel as follows:


/* Control Text Response for clearing the screen */ 
            
Control Text Response "CLSCR" 
    Remove All 
    Display 
        VIDEO_OFF_PANEL 
End Response 
                                                                      
/* Dummy panel to turn off video attributes from 
   previous display */ 
            
Panel VIDEO_OFF_PANEL 
    Viewport DEFAULT_VIEW 
                                
    Literal Text 
        Line 1 
        Column 1 
        Value " " 
    End Literal 
    
End Panel 


Chapter 6
General Information

This chapter discusses topics of general interest concerning the ACMS Version 4.3 release.

6.1 Compaq DECforms Web Connector Version 2.0 Available

Compaq DECforms Web Connector Version 2.0 is now available. This software product provides transparent Web access to existing DECforms applications running on OpenVMS systems, including ACMS based applications.

For more information, see the following World Wide Web (WWW) address:


    http://www.openvms.digital.com/commercial/webconnector/index.htm 

6.2 ACMSMGR SHOW Displays are Not Supported

The displays produced by the ACMSMGR SHOW COMMANDS are subject to change. The documented way for obtaining the values shown by the ACMSMGR client are through the RPC or SNMP interface.

6.3 ACMSTRC$_NOSUCHPGM Warning Message

A new warning message, ACMSTRC$_NOSUCHPGM, may occasionally appear in the SWL log file. The following information was extracted from the trace message file that describes the most common circumstance that causes this message, and what, if anything, you should do when you see it.

Problem: This message is signaled when a trace mail message is received by the trace monitor from a program indicating that the program is about to exit and the trace manager was unaware that the program was running.

Action: In some cases, this message is normal, such as when some ACMS processes are started before the trace monitor starts and the processes exit shortly after the trace monitor starts. If you see an unusually high number of these messages, then you should report this to your Compaq support representative.

To minimize the occurrence of these messages, start the Remote Manager process before starting ACMS. The Remote Manager will start the Trace monitor process.

6.4 ACMS Does Not Support Pixel-Based Display Devices

DECforms Version 2.1 and higher provide display support for character-cell (VT series) and pixel (DECwindows Motif) devices. ACMS support is limited to the character-cell devices.

6.5 ACMS$TRACE_SHR.EXE Cannot be Installed Resident

ACMS$TRACE_SHR.EXE cannot be installed resident because it is built with traceback. It could be built with notraceback, but the image never really needs to be installed resident anyway.

ACMSTART.COM was modified to remove the optional resident flag from the install command for ACMS$TRACE_SHR.COM.

6.6 Remote Manager Shutdown Causes Accounting Records to be Written

When the ACMSMGR STOP MANAGER command is issued, records similar to the following are written to the accounting file:


 
     Date / Time      Type     Subtype     Username      ID     Source   Status 
-------------------------------------------------------------------------------- 
15-JUL-1999 11:08:50 PROCESS SUBPROCESS  VANPEENEN    2160056A          00FDA8AA 
15-JUL-1999 11:08:52 PROCESS DETACHED    VANPEENEN    21600569          00FE9F49 

6.7 Logical Names for Workspace Pool Sizes in EXC

Prior to ACMS Version 4.2, the execution controller (EXC) used ACMSGEN parameters to size the workspace pools used during the execution of a task.

In ACMS Version 4.2, logical names can be defined to size the workspace pools on a per-application basis. The logicals that can be defined are:

The logicals can be defined at any level. To make them application-specific, reference logicals in the application definition or in a name table associated with an application. For example, in the application definition:


 APPLICATION LOGICAL NAMES ARE 
     ACMS$EXC_TWS_POOLSIZE = "1750", 
     ACMS$EXC_TWSC_POOLSIZE = "75"; 

EXC allows one additional translation of the logical name so that an application definition does not have to be rebuilt to change a value. For example:

In the Application Definition Utility (ADU):


 APPLICATION LOGICAL NAMES ARE 
     ACMS$EXC_TWS_POOLSIZE = "ACMS$EXC_SAMPLE_TWS_POOLSIZE"; 

At DCL level:


 $ DEFINE/SYSTEM ACMS$EXC_SAMPLE_TWS_POOLSIZE  "1750"

The logical name (or the translation of it) must contain a valid decimal number (in pages for VAX, in pagelets for Alpha).

The ACMSGEN parameters are used if the logical cannot be translated or if the logical contains an invalid value or character.

If the value in one or more of the logicals is too high, the application will not start. (This behavior is the same for any value specified by ACMSGEN.)

The ACMSPARAM and ACMEXCPAR procedures do not have any knowledge of the changes being made to the workspace pools. Any calculations done by these procedures reflects the values in ACMSGEN.

6.8 Use Logical Names for File Allocation in ACMSATL

The Audit Trail Logger (ACMSATL) now attempts to translate the following logical names and uses the values specified when the Audit Trail Log file is created:

See the OpenVMS Record Management Services Reference Manual for additional information on these fields.

6.9 New Logical Name Must be Defined for RI Agents and User-Written Agents

During the initialization of a CP process or a user-written agent, ACMS determines the following two conditions: whether CMA is in the process and the version of DECforms being used. Depending on these two conditions, the ACMS agent with respect to DECforms operates in either SINGLE-USER mode or MULTI-USER mode.

SINGLE-USER mode is defined as one (1) user at a time executing an ACMS task. A single-threaded user-written agent is an example of SINGLE-USER mode.

MULTI-USER mode is defined as more than one (1) user at a time executing an ACMS task. A CP process is an example of MULTI-USER mode. If you use a MULTI-USER user-written agent with DECforms Version 2.2, the agent must be linked with CMA.

ACMS provides the logical name ACMS$DECFORMS_IN_AGENT. This logical name must be defined as a process logical name when a user-written agent uses DECforms in ACMS tasks. The following values are valid for defining the logical name to a TRUE value: 1, "T", "t", "Y", "y". For example:


$ DEFINE/PROCESS ACMS$DECFORMS_IN_AGENT "Y"

ACMS Version 4.1 used the logical name ACMS$CMA_USER_AGENT for essentially the same purpose, but the name was confusing. ACMS Version 4.2 and Version 4.3 still support this logical name, but it is undocumented.

Compaq recommends that you use settings for the logical name based on the version of DECforms that the agent uses, as follows:

Define the logical name ACMS$DECFORMS_IN_AGENT only when using DECforms Version 2.1B or when using DECforms Version 2.2 or later in MULTI-USER mode.

6.10 ACMS Installation Procedures Modified to Remove Reboot Messages

Past versions of ACMS included the option of rebooting the system following an installation. The option has not been available for several versions. Messages about rebooting the system during installation have been removed from the installation procedures.

6.11 Cache Directories for Application and Forms Files Should Not Be Write Protected

The directories used for caching the application and forms files should not be write protected. Write protecting the caching directories will cause the task to fail when caching of the application or forms files to the submitter node is performed.

6.12 Reduced Reliance on CDD for Task Builds

The functionality for reducing reliance on CDD for task builds, described in the following sections, was provided with the ACMS Version 4.2 software and is documented in the ACMS Version 4.3 documentation set.

6.12.1 No Longer Necessary to Store ACMS Definitions in CDD

In previous versions of ACMS, after ACMS definitions were checked for syntax errors they were always stored in CDD. When all the definitions were processed, the definitions were read out of the dictionary, and a database file to be used by the ACMS run-time software was created. With ACMS Version 4.3, the ACMS definitions no longer have to be stored in CDD. The ADU COMPILE command can be used to compile ACMS definitions and store the results in an OpenVMS file. Once all the definitions are processed, the ADU LINK command can be used to create the runtime database files.

CDD record definitions must continue to be stored in the dictionary. When determining whether to store definitions in CDD or to compile the definitions into OpenVMS files, keep in mind the following:

For more information about the ADU COMPILE and LINK commands, refer to the Compaq ACMS for OpenVMS ADU Reference Manual.


Previous Next Contents