CAA General and Open Issues

 

This document includes any important or open issues you need to be aware of in a specific product.

CAA-RADE Products and CAA APIs

bullet All CAA-RADE Products
bullet Data Model Customizer
bullet C++ Interactive Dashboard
bullet Java Interactive Dashboard
bullet Multi-Workspace Application Builder
bullet C++ Unit Test Manager
bullet Java Unit Test Manager
bullet C++ API Document Generator
bullet C++ Source Checker
bullet Source Code Manager
bullet Interactive Test Capture
bullet Web Application Composer
     
bullet CAA APIs

All CAA-RADE Products

General Issues

Double Byte Characters cannot be displayed using cout on windows XP.
Due to a problem in the C++ Visual Studio 2005 SP1 compiler, some messages using double byte characters cannot be displayed using cout. This issue is described on support.microsoft.com in KB entry number  927753, on compiler RTM level. No MS patch is available for now on SP1 level, but the description of the KB describes two possible workarounds.

Open Issues

Documentation search "Find next" command fails with Internet Explorer 7
The "Find next" command fails when used after searching the CAA Encyclopedia with Internet Explorer 7 with a red popup stating "netscapejavascript.JSException".
This command enables you to successively find the different occurrences of the searched string in the opened file from the Search result window.

Documentation

CAA Media Content Changes
In order to help customers' and partners' applications comply with the CAA V5 usage rules described in the CAA Encyclopedia, our offering is refined by better aligning the CAA build time media content with the CAA Encyclopedia content. Thus, starting with V5R15, non-CAA Authorized APIs previously located in the ProtectedInterfaces folders are no longer available from the CAA build time media. While enriching the CAA Authorized APIs offering with new CAA APIs matching new needs, we will continue to deliver with CAA RADE a more and more secure development environment by protecting CAA applications from the risks of using non-CAA Authorized APIs. As a reminder, CAA RADE tools prevent the usage of undocumented resources located in ProtectedInterfaces starting with V5R12. In some cases, the CAA RADE tools may not have detected all uses of the non-CAA authorized APIs. To ensure that all non-CAA Authorized APIs have been detected, CAA RADE provides an audit tool. Launch it before attempting to build your CAA applications. Please refer to the What's New in the CAA Encyclopedia for further information on how to use this audit tool. Please contact your local support if you need assistance.
Locating Documentation and Use Cases
 
You can access the CAA Encyclopedia online documentation with a HTML browser at the following addresses:

<CATIA, DELMIA, or ENOVIA CAA APIs installation path>/CAAV5HomePage.htm>
or
<CATIA, DELMIA, or ENOVIA CAA APIs installation path>/CAADoc/Doc/online/CAACenV5Default.htm>

Back to top


Data Model Customizer

 

General Issues

ENOVIA Search does not find all customized objects
When working on an ENOVIA VPLM customization based on several workspaces concatenation, the ENOVIA Search gives only access to customized objects defined in the first workspace of the concatenation. Customized objects defined in the other workspaces are not found.

Bypass: 2 cases can occur

  1. 2 workspaces are used in the concatenation, one for ENOVIA VPLM customization (EnovWorkspace) and one for P&O customization (PnOWorkspace). In that case, please make sure that the EnovWorkspace is specified before the PnOWorkspace. If not, then you will need to copy the SearchEntitiesDefinition.xml file from the EnovWorkspace runtimeview to the PnOWorkspace runtimeview.
  2. 2 or more workspaces a used in the concatenation for several ENOVIA customizations. Then you will need to edit the SearchEntitiesDefinition.xml in the runtimeview of the first workspace in the concatenation and insert inside all additional nodes corresponding to customized objects defined in the SearchEntitiesDefinition.xml files of the other workspaces at the right place, meaning that the syntax of the XML file must be respected. In short, all customized objects defined in used workspaces should appear in the SearchEntitiesDefinition.xml file of the first workspace in the concatenation.

Open Issues

None
 

Documentation

Using CAA-RADE Data Model Customizer
  • Publish works correctly only if the ENOVIA database log size has been updated with the following order:
    db2 update dbcfg for $1 using LOGFILSIZ 6000 LOGPRIMARY 6 LOGSECOND 6.

    where $1 is the name of the ENOVIA database. Failing to do this will lead to mask not being updated during the publish operation.

  • With UNIX, when deploying a customization, the following command to launch the ENOVIA server does not work:
    enoviastart -object "-senv WorkspaceEnv -sdirenv $WS_CUSTO/CATEnv"

    Instead, to by-pass this command:
     

    • Rename $CATEnv/ENOVIA_V5_VPM.V5R18.B18.txt to $CATEnv/ENOVIA_V5_VPM.V5R18.B18.txt.save
    • Copy the file $WS_CUSTO/CATEnv/WorkspaceEnv.txt to the $CATEnv
    • Rename WorkspaceEnv.txt to ENOVIA_V5_VPM.V5R18.B18.txt
    • Launch the server as a standard V5 executable:
      catstart -env ENOVIA_V5_VPM.V5R18.B18 -direnv $CATEnv -run ENOVIA

    Where:

    • $WS_CUSTO is the ENOVIA server customization workspace directory
    • $CATEnv is the ENOVIA server environment directory

Back to top


C++ Interactive Dashboard

General Issues

Icons and/or Commands might not be displayed with RADE Tools using Visual Studio 2005
If icons and/or commands are not displayed in the menus:
  1. From the Tools menu, use alternatively the following commands:

    • Remove Mkmk Add-in commands from menus

    • Remove CodeGenerator Add-in commands from menus

    • Remove SCM commands Add-in from menus

  2. Close Microsoft Visual Studio and re-launch it.

If a command is still missing in the menus, proceed as follows:

  1. From the Tools menu, select Customize...
  2. In the Customize dialog box, select the Commands tab and select the Category and the command you want to add. Select Addins->Define Prerequisite Frameworks for example.
  3. Drag and drop this command to the desired menu.
CAA Add-ins might not be correctly loaded with RADE Tools using Visual Studio 2005
If the CAA add-ins are not loaded:
  • Exit Visual Studio
  • Delete the directory C:\Documents and Settings\$user\Application Data\Microsoft\VisualStudio\8.0 and its content
  • Re-start Visual Studio

Open Issues

CAA Shortcuts are not correctly working with Visual Studio 2005

Some CAA shortcuts may not work correctly with Visual Studio 2005. For example, Ctrl+T will transpose characters. CAA commands are assigned to the "Global" domain of use instead of the "Text Editor" domain.

To fix it, redefine the domain of use of the shortcut, as follows:

  • Click Customize in the Tools menu
  • Click the "Keyboard..." button
  • In the combo box "Use new shortcut in" select "Text Editor"
  • In the field "Press shortcut key(s)" enter the shortcut which does not work
  • Select the corresponding CAA command from the list of all available commands
  • Click Assign
  • Click OK

Documentation

None

Back to top


Java Interactive Dashboard

General Issues

None

Open Issues

None

 

Documentation

None

Back to top


Multi-Workspace Application Builder

General Issues

CAA Samples/Applications That Can't Execute on AIX with non US Locale Settings
On locales other than English (en_US) on the AIX Operating System, you can get following error messages on standard output/error when executing a CAA sample or application:
Can't open library libTheViewLibrary.a
--> reason = A file or directory in the path name does not exist

or:

Could not load program MainExe:
Could not load module libShared_1.a.
        Dependent module Shared_2.exp could not be loaded.

Whereas the library exists and is accessible from the application.

In the case the command /usr/bin/dump -H on the impacted library shows an invalid dependency on an export file, such as:

dump -H libShared_1.a
INDEX PATH                 BASE             MEMBER
0 /lib:/usr/lib
1                          libJS0GROUP.a
2                          Shared_2.exp

The problem may be caused by unexpected collation order in non English locales. Problem was reported with German locale setting (de_DE), but other locales may be impacted.

To workaround this problem, you should:

  • Remove involved shared libraries in aix_a/code/bin directory of the user's workspace
  • Remove involved export files in aix_a/code/lib directory of the user's workspace
  • Export the following environment variable:
    export LC_COLLATE=C
  • Rebuild the involved shared libraries.

You can also add the export of the environment variable at the end /usr/DassaultSystemes/B18/aix_a/code/command/mkinit.sh

CAA Samples/Applications That Can't Build in Debug Mode on Solaris
 
Building CAA samples or applications in debug mode (mkmk -g) on Solaris may fail due to additional links to unauthorized symbols added by the Solaris C++ compiler.
Multi Workspace Application Builder doesn't support anymore LINK_WITH cards that includes the module extension

 

Up to V5R15 included, the following syntaxes were equivalent in Imakefile.mk files:

LINK_WITH myModule.m

or

LINK_WITH myModule

they were both requesting link-edit against module myModule.m. Starting in V5R16, the first syntax is not supported anymore because, as mkmk now supports module names with multiple dots, like for example:

my.module.m

it is so not able anymore to understand whether myModule.m stands for module myModule.m or myModule.m.m.

Build time control of usage of non Authorized CAA APIs does not work on Windows 64-bit.
RADE Multi Workspace Application Builder does not perform checks on usage of non Authorized and deprecated CAA APIs on Windows 64-bit. Take care to also build your code on a Windows 32-bit platform to be sure not to use non supported APIs.

Open Issues

None

 

Documentation

None

Back to top


C++ Unit Test Manager

General Issues

None

Open Issues

None

 

Documentation

None

Back to top


Java Unit Test Manager

General Issues

None

Open Issues

None

 

Documentation

None

Back to top


C++ API Document Generator

General Issues

None

Open Issues

None

 

Documentation

None

Back to top


C++ Source Checker

General Issues

None

Open Issues

Using Implementations of Specs Modeler Interfaces

A new MkCheckSource error (VISI) detects the usage of prohibited implementations of Specs Modeler interfaces. An example is the CATSpecObject class. You are invited to check this error, and modify your code to use the appropriate interface in place of the internal class. For example, do not use CATSpecObject, but instead use the interface that CATSpecObject implements and that supplies the CATSpecObject method. In this release, without this migration, your code could fail.

Documentation

None

Back to top


Source Code Manager

General Issues

None

Open Issues

None

 

Documentation

None

Back to top


Interactive Test Capture

General Issues

None

Open Issues

None

 

Documentation

None

Back to top


Web Application Composer

General Issues

None

Open Issues

Mappings tab page is displayed empty
The Mappings tab page that allows you to define data mapping between the different data sources (widgets, Session Data, Web Methods, custom-written java code ) is displayed empty.

Documentation

None

Back to top


CAA APIs

General Issues

CAA C++ and VBScript/VBA Applications are not supported in a Small Scale session.
Small Scale is a capability available since V5R18 that allows to create geometry in a new geometrical range with a submicron precision. This capability has the following constraints:
  • Any application may need to be modified to support this new mode
  • As of V5R19, only a restricted list of DS interactive commands will be supported
  • No Data interoperability between modes: data created in a small scale session cannot be loaded in a standard scale session and conversely

Due to the complexity involved by those constraints, V5R19 Small Scale sessions will not support CAA applications:
Interactive Commands created with CAA are disabled in a Small Scale session.
CAA C++ code that is not called through interactive commands, like implementation of user exits, must not be used in a Small Scale session.
VBScript or VBA macros, must not be used in a Small Scale Session.

Compilation error when using windows afx windows APIs in CAA V5 modules
The following message may be issued when using afx windows APIs within a CAA V5 module:

C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\afxv_w32.h(16) : fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>

This is due to modifications in base CAA header files aimed to improve build performance and reduce debug files size. The recommended solution to solve this problem is to create a file called CATIAV5Precompiled.h file in the LocalInterfaces folder of your module with the following content:

#ifndef CATIAV5Precompiled_H

#define CATIAV5Precompiled_H

#ifdef _WINDOWS_SOURCE

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000

#ifndef WIN32_LEAN_AND_MEAN

#define WIN32_LEAN_AND_MEAN

#endif

#include <stdio.h>

#include <stdlib.h>

#include <stddef.h>

#include <string.h>
#if (defined(_MFC_VER) && _MFC_VER>=0x0800) && ( defined PLATEFORME_DS64 )

#pragma warning(push)

#pragma warning(disable:4530)

#ifndef _WINDOWS_

#include <wtypes.h>

#include <wchar.h>

#include <tchar.h>

#include <shellapi.h>

#endif // _WINDOWS_

#include <objbase.h>

#pragma warning(pop)

#else

#ifndef _WINDOWS_

#include <afxwin.h>

#endif // _WINDOWS_

#include <objbase.h>

#endif

#endif // _WINDOWS_SOURCE

#endif

If needed, replace the include of afxwin.h by any afx APIs header file required.

NB: In CAA applications, it is recommended to use CAA APIs instead of native platform APIs when the CAA platform provides the required functionality. This avoids compatibility problems with V5 behavior and allows to take the full benefit of the muti-platform capability of CAA V5, minimizing for exemple migrations efforts required to have your CAA application support new platforms.

For exemple, when possible, it is recommended no to use MFC classes but the Dialog framework instead.   

Inter release compatibility of VB/VBA macros
Please note that existing VB/VBA projects may require manual adjustments to be usable on a new release. Consult the Automation documentation article "About VB, VBA, Debug, and Portability" for more information.

Open Issues

Session freezes when displaying a customer defined contextual menu.

The session freezes when trying to display a contextual menu associated to an instance of class CATDlgTableView. Is is recommended not to use this functionality in CAA Applications until it is corrected.

Documentation

CAA Authorized APIs Are in PublicInterfaces
The CAA authorized C++ , Java, and IDL APIs are located in the PublicInterfaces directories of the exposing frameworks.

CAA authorized APIs:

  • Are documented in the CAA Encyclopedia
  • Are in the framework PublicInterfaces directories only
  • Are in header files that include the CAA Tag @CAA2Level L1 at the top
  • Are NOT preceded by a @nodoc tag in the comment just above them

As a rule, never use other APIs from the PublicInterfaces directories. APIs from header files located in the PublicInterfaces directories that include the CAA Tag @CAA2Level L0 at the top are beta-authorized APIs. They are not intended to be used in your applications, except for tests. They are neither build time stable, nor run time stable, and can disappear without previous notice.

Using CAA Interfaces with a PDM Product
Since V5R7, when using the implementation of the CATIDocEnvironment interface of the ObjectModelerBase framework, the CATIA Team PDM license is checked and the methods fail if no license is found.
Warning C4251 on Windows
When using the Multi Workspace Application Builder with -g option, the Microsoft Visual Studio 2005 compiler produces a lot of C4251 warnings concerning CAA APIs, like for example:

CATMoldDesignUI\PublicInterfaces\CATMldComponentDlg.h(1005) : warning C4251: 'CATMldComponentDlg::_hSurf1ToComputeCompAxis' : class 'CATSurface_var' needs to have dll-interface to be used by clients of class 'CATMldComponentDlg'

Denoting possible link-edit problems when using the CATMldComponent class. There is no such problems in V5R19 CAA APIs, so those warnings, when issued on CAA APIs, can be safely ignored. Those warning can also be filtered out by adding to the Imakefile.mk of the client application modules the following cards:

OS = win_b64
LOCAL_CCFLAGS= /wd4251

This will also filter out similar warning issued on the client application code, possibly hiding real problems, but such problems would appear at link-edit anyway.
Warning 4995 at compilation
The following warning appears at compilation:

warning C4995: '_OLD_IOSTREAMS_ARE_DEPRECATED':  name was marked as #pragma deprecated 

It is due to a Windows deprecated pragma. It can be ignored.

Back to top