Loading...
 

Frequently Asked Questions (FAQs) and Known Error Messages, their causes and suggested solutions

Frequently Asked Questions (FAQs) and known error messages, their cause and suggested solutions


General

up.png Why is my data not saved when I close the window?
Data to be entered is always saved via the disc symbol save.png is saved.
Closing a window directly allows you to reset data that has not yet been saved.

up.png How can I cancel the search via an input field?
You can try to cancel a running transaction using the key combination 'Ctrl-F12'.
If this is not possible, you will have to be patient.

up.png How can I close all open windows at the same time?
Select 'Close all' in the last menu item 'Windows'.

up.png Why does ClassiX react® does not respond to my mouse or keyboard input?
There are various reasons why ClassiX® does not respond to your inputs:
  • You have started a somewhat more extensive transaction, such as generating a longer list.
    cursorrdb.gifcursorwdb.gifcursordsp.gifcursorrdb_old.gifcursorwdb_old.gifcursordsp_old.gif Then you can see from the cursor that your computer is still working on it.
    (You can try to cancel the operation with the key combination 'Ctrl-F12').
  • The network connection is temporarily under heavy load due to other processes running via the server.
  • You have inadvertently not confirmed an information or error message with 'OK', for example after an incorrect entry. This then blocks the system until it is confirmed. You will find this on the start bar of your Windows environment.
  • The system has really crashed and you must restart the computer.

up.png Display problems - labelling of buttons, checkboxes etc. is not displayed completely
There are various reasons why the labelling of buttons, checkboxes etc. is not displayed correctly in ClassiX®
  • You have set the Windows font size to over 100%. To ensure that the labelling is displayed correctly again, set the Windows font size back to the default value of 100%.
    You can check and adjust this as follows
    • Windows 7: Right-click on the desktop -> Customisation -> click on Display in the bottom left of the new window
    • Windows 7: Control Panel -> Appearance and Customisation -> Display
    • Windows 7, Vista, XP: Control Panel -> Display
  • You are using a computer with Windows XP on a widescreen monitor. Use a monitor that is compatible with the resolution used or use a newer operating system (Windows Vista, Windows 7) that can provide the required resolution of the monitor.

Printing (Word/BIRT/PDF)

up.png General problems when printing with Word (Word preview)
  • Write authorisation on temp?
  • Is Word still open in the background (possibly multiple times)?
    • End Word process via the task manager
  • Is a Word file open that contains special formatting? (e.g. a Word document in which text blocks have been locked for the editor)
    • Close Word document
  • Double-click on filled OLE objects to open a notification window asking whether the macros of this document should be activated or deactivated
    • Under Start (Word 2010), Option opens the options window. The Security Centre can be selected there and the Security Centre can be started with the "Settings for the Security Centre" button. In the "Settings for macros" area, you can set how Word should behave when a document with macros is opened. If the macros are deactivated ("Deactivate all macros without notification"), the notification window no longer appears.

up.png General problems when creating PDF files
  • Why is the file created with the page order reversed?
    • In the printer settings of the AdobePSGenericPostScriptPrinter, change the page order to "From back to front".
  • Why is the PDF file created completely, with errors or not at all?
    • This may be caused by Windows spooling the print jobs.
      In the AdobePSGenericPostScriptPrinter, change the print processing from "Print pages in the background" or similar to "Send print jobs directly to the printer" or similar.

up.png Continuous text is wrapped incorrectly
  • Why is continuous text e.g. in text modules which is defined in Word with headings (bold etc.) wrapped incorrectly?
    or
    Why does the heading appear on one page and the body text on the next?
    • Edit the body text and insert a soft line break (SHIFT+ENTER) at the end of the heading instead of a hard line break, possibly format the following lines as normal text again, i.e. not bold etc.

up.png Printing from ClassiX® and the contents of the clipboard
  • Why have I lost the contents of the clipboardafter printing from ClassiX® or why does the clipboard now contain different data?
    • For printing, ClassiX® creates a Word document into which the individual blocks are inserted via the Windows clipboard. Therefore it is not possible at the moment to get the old content of the clipboard after printing (or print preview etc.) in ClassiX®

up.png When sending an email, Outlook displays an error message
  • Why does Outlook display an error message when I send an email and how can I avoid this?
    • Emails can be sent from ClassiX either via a corresponding printer driver or via Outlook. With the second option, sending can be disturbed by a message ("A foreign programme is trying...") from Outlook. This problem can be solved by installing the Advanced Security for Outlook programme.

up.png Missing information in data fields (person, signature, ...)
  • Why does the cover letter of my letter (offer etc.) only say "Dear Sir or Madam" and not the person to whom the letter should be addressed?
    • For offers etc., the recipient of the letter must be entered in the Contact person field so that they appear in the cover letter.
  • Why does the cover letter of my letter (offer etc.) only say "Dear Sir or Madam" and not the person to whom the letter should be addressed although the contact person is entered?
    • If the contact person has been added subsequently, ClassiX® does not recognise this fully automatically. Press the "Refresh" button in the cover letter tab of the offer to display it correctly.
  • Why does my signature not appear in the cover letter of my letter (offer etc.) even though I am entered as the processor?
    • The signature of the respective staff member must be entered in the Signature field for the staff member role.
  • (XML print) Why is the cover letter not printed even though the Print cover letter option is set?
    • The cover letter must be stored in MS-WORD format.
  • Why are the document variables (example: << ordered.personInCharge.Speech(3,0,2) >>) not filled out in the cover letter of my letter (offer etc.)?
    • The cover letter must be stored in MS-WORD format if document variables are to be filled in.
    • The document variables were not inserted correctly into the MS-WORD document, but simply copied or written in. In this case, please follow this link to the description of how to insert document variables: Dynamic data fields (document variables)

up.png The control cannot be processed when printing -> Incorrect installation, registration or licensing
Controll_with_error.jpg
Possible cause:
This message occurs if the control to be accessed is faulty. The control can be MS Word, a component of Microsoft WebCoponents2003 etc.
Verification:
Check in the code which control is to be accessed.
Solution:
WebComponents:
If WebComponents2003 are faulty, they must be reinstalled.

MSWord
An incorrect Word document has been created and attached to a ClassiX object. This Word document must be deleted and replaced with a new Word document.
To avoid this problem in the future, the user's profile must be reset. Before doing so, check whether the error only occurs with the local user or whether the domain profile (if available) is affected.

up.png BIRT: Value in totals line is incorrect
Possible cause:
This behaviour occurred in an English-language operating system environment with German ClassiX Locale (location).
Verification:
Check config.ini in the BIRT Runtime folder
Solution:
The following entry must be added to config.ini in the BIRT runtime folder (%BIRT_HOME%\ReportEngine\configuration\):

osgi.nl=de_DE

This sets the locale hard to German, which means that the totals are calculated correctly again

up.png When OLE printing or editing OLE objects, the message "Name of function not in MDI ..." appears
The message appears when editing OLE objects in ClassiX or when OLE printing from ClassiX:

CAll(ACTIVATE) OLE GetApplication

Possible cause:
  1. This message occurs when MS Word/Excel has choked.
  2. Add-ins from third-party providers have changed the interface of MS Word/Excel so that it can no longer communicate with ClassiX.
  3. MS Word/Excel does not respond because the application is currently busy.
  4. A document is already open with MS Word/Excel and cannot respond to the request from ClassiX or cannot implement the request from ClassiX with the open document.
  5. In rare cases, a registry entry was made by MS Word/Excel, making it almost impossible to work with MS Word/Excel from ClassiX's point of view.
Solution:
  1. Open Task Manager and end the MS Word/Excel process.
  2. Deactivate all third-party add-ins.
  3. Wait until MS Word/Excel responds again or end the MS Word/Excel process in the Task Manager.
  4. Close document. Check whether an MS Word/Excel process remains open in the Task Manager. Close it if necessary.
  5. This entry must be removed again. Problem: We do not know which entry it is. The Windows profile must therefore be deleted and recreated on the computer.

up.png Error! Unknown op-code for linked condition
The expression with XML displays the following line: Error! Unknown op-code for linked condition
Possible cause:
In the document module, the call following an IF statement is not in inverted commas:
IF { DOCVARIABLE ... }
Solution:
Determine document module and check all IF statements there and add missing inverted commas:
IF "{ DOCVARIABLE ... }"

Then don't forget to convert the block

up.pngBarcodes are not printed under Word
Barcodes entered in Word are not printed.
Possible cause:
Solution:

With the field function

{ DisplayBarcode "http://www.microsoft.com" QR \q3 }

field function can be used to print any barcode in Word.

Link to further information.

up.png Conversion from these types to COM types is not yet supported
(sgn= 2055) -> VT_VARIANT (VARIANT *)|VT_BYREF
The following error is reported when printing with XML: Conversion from these types to COM types is not yet supported
(sgn= 2055) -> VT_VARIANT (VARIANT *)|VT_BYREF
Possible cause:

The form template cannot be accessed by the user.

or

The template was imported without Word.

Solution:

Go to the form header and check the path of the template. Can all users reach it? Possibly use the variable CX_ROOTDIR so that the template can be accessed by everyone.

Switch to a computer with Word and open the form header again. Under the menu item "Edit" there is the function "Import XML template". Execute this.

You should then be able to print the form.

up.png Printing is no longer possible after changing the path to classix.dot
CXS_EXCEPTION(400489):
OLE error (please exit the OLE application if necessary)
Add(VT_BSTR (OLE Automation string), VT_ERROR (wrong value)):
Exception error occurred.
'Microsoft Word' reports Error 0x800a1436: Sorry, we could not find your file. Has it been moved, renamed or deleted?
Cause

A:) Word usually uses the well-known classix.dot.

After changing the path, it may happen that the classix.dot is no longer found, although Word receives the path from us.

B:) Authorisation from Windows when creating a new Word document from classix

In a few cases it occurred that, although all rights for the user were available, the user could not access the classix.dot from classix. Even if classix was started with administrator rights, it did not work.

Solution

A:)

  • Basic data -> Data layout -> Documents -> Document modules
  • Select a module and open the stored Word document
  • File -> Options -> Add-Ins -> Manage -> Word Add-Ins -> Go
  • There may be several classix.dots here. If you select one, the path is displayed under the group.
    Remove all that can no longer be reached.
    If none remain, enter the correct classix.dot via "Add".
    ATTENTION: Do not tick the "Automatically update document format template" checkbox!

B:)

Move the classix.dot to the user's documents folder and set the environment variable CX_WORD_DOT to the moved classix.dot.

up.png Under Terminal Server Win Server 2022 it is not possible to print without open Word
CXS_EXCEPTION(400489):
OLE error (please exit the OLE application if necessary)
The remote procedure call failed.
Cause
When ClassiX Windows asks for a Word instance, it seems to search for an open instance, regardless of whether the instance belongs to the user or not.
Solution

Include the following line of code in the ClassiX start file:

powershell -command "$doc = New-Object -COMObject \"Word.Document\""

This starts an invisible Word instance and you can print again.

up.png Printing in night mode or printing via task planning

If you set a night run in the task planning that is to print something and set the option that it should be executed independently of the logged in user, then printing via Word does not work.

Cause
Windows
Solution

An empty (!) directory must be created:

  • For a 32-bit Word: C:\Windows\SysWOW64\config\systemprofile\Desktop
  • For a 64-bit Word: C:\Windows\System32\config\systemprofile\Desktop

No, no joke or mistake, the directory paths are correct!


Order processing

up.png Information messages when the traffic light changes
Known warning messages
Attention, the characteristic of the article ... is not permitted according to the restriction table.
In the sales role of the part named in the notification under the Additional data tab, there is a restriction in the Characteristics group of the Restriction button.
In this case, the permitted attribute combinations are stored there and if these do not match the specification in the item, the information message is displayed.
Either the order item must be corrected or the restriction table must be extended.

Incoming invoices

up.png Rounding differences / account assignment messages due to currency conversion
faq.ht1.JPGfaq.ht2.JPG
Possible cause
A hard conversion between the two currency units is defined in the unit tables of one of the associated parts:
faq.ht3.JPG
Solution
Remove entry from the table of units

Stock statistics

Why do the values of the stock statistics for a part differ from the actual stock level?
Possible causes
  • There may be a difference between the stock statistics and the stock level due to incomplete months or transactions after the month-end closing.
Solution
  • As described here, you can check which closings are no longer correct and carry out the closings again for all affected warehouse accounts.
  • If you do not want to carry out the monthly closings again, you can also take an inventory for the warehouse and part and select this as the starting point for the next warehouse closing (Warehouse statistics -> Closings -> Set initial values with inventory (only for selected entries))


Online help (Infothek)

up.png How do I call up the online help in ClassiX® call up?
Press the 'F1' key on your keyboard to open your standard browser with the documentation page of the active ClassiX® window.

up.png Why does only one page appear in the browser, where are the individual navigation areas?
If you cannot see the navigation areas, the Javascript function of your browser has been deactivated.

A current browser with Javascript enabled is recommended to display the online help.

up.png How do I obtain specific information on a certain topic or term?
The Infothek's built-in search function allows you to find information quickly and specifically.

up.png Can I customise/expand the help content myself?

This is only possible in the customised help if you have a user with the necessary rights.


The ClassiX system does not start up

The error messages that can occur before the ClassiX system starts are summarised here.

up.png The ObjectStore Cache Manager service cannot be started.
After restarting the server, the ObjectStore Cache Manager service does not start automatically and cannot be started manually.
Possible cause:
A process or application with the name ObjectStore Cache Manager has already been started.
Verification:
Open Task Manager and check whether a process or application named ObjectStore Cache Manager has already been started.
Solution:
The started process/application ObjectStore Cache Manager must be terminated, then the service can be started.

up.png ClassiX cannot be started because ObjectStore cannot open a file
The ObjectStore cache manager was unexpectedly terminated on the terminal server and cannot be started manually.
Possible cause:
A process or application with the name ObjectStore Cache Manager has already been started for a terminal server user.
Verification:
Open Task Manager and check whether a process or application named ObjectStore Cache Manager has already been started. (Tick the "All users" checkbox)
Solution:
The started process/application ObjectStore Cache Manager must be terminated, then the service can be started.

up.png After starting the computer, the following message appears when trying to start ClassiX: "Cannot open application schema"
cannot_open_application_schema.JPG
Possible cause:
A process or application named ObjectStore Cache Manager has already been started.
Verification:
Open Task Manager and check whether a process or application named ObjectStore Cache Manager has already been started. (tick the "All users" checkbox)
Solution:
The started process/application ObjectStore Cache Manager must be terminated, then the service can be started.

up.png The Cache Manager is started as a process and not as a service.
When the system is started, the Cache Manager is started as a process and not as a service.
Possible cause:
ClassiX tries to find the already running Cache Manager at startup and starts its own process if necessary. The two ObjectStore services start with a delay by default. So if ClassiX is started before this grace period, no service but a process is started.
Verification:
Show services (Windows key "Services"). Does "Automatic (Delayed start)" appear after "ObjectStore"?
Solution:
Right-click, Properties, Set start type to "Automatic".

up.png ObjectStore internal error: VirtualAlloc failed to allocate at any address
The ObjectStore database tries to allocate main memory space for itself before starting the system, which is no longer available on the computer
errorm2.JPG
Possible causes:
Too little main memory is installed on the computer or other programmes are running on the computer that have already almost completely used up the main memory space. The OS_AS_SIZE environment variable may also be set too high
Check:
-
Solution:
Close other programmes or reduce the OS_AS_SIZE

up.png ClassiX does not start, but shows the error message "Server access control problem"
Server access control problem err-0025-1065 NT remote authentication response failed for host err_authentication_failure
Possible cause:
ObjectStore 7.3 without patch is used as database server and the user's computer is located outside the domain.
Verification:
Execute the command osversion in the command prompt of the ObjectStore server. Alternatively, the file ../ODI7.3/OStore/Bin/osversion.bat can be executed. If the patch is installed, the following line is displayed:

ObjectStore Cumulative Patch Release 7.3.0.02

Solution:
The patch 7.3.0.02 must be installed on the server.

up.png ClassiX does not start, but shows the error message ObjectStore internal error
faq03.GIF
Possible cause:
There was a crash of the ObjectStore Cache Manager and the next ClassiX user started the Cache Manager as a process. All other users can then no longer start ClassiX.
Verification:
Is an ObjectStore Cache Manager service or a process running? (Check once for all users on the terminal server).
Solution:
Stop the ObjectStore Cache Manager process and start the ObjectStore Cache Manager service.

up.png ClassiX does not start, but shows the error message ObjectStore internal error 2
OS Iternal Error 32Bit Client 64Bit Server ADB
Possible cause:
The database server runs with a 64-bit version and is controlled by a 32-bit client. The client pulls in 64-bit ADBs and not the required 32-bit ADBs.
Solution:
Create a directory with the required 32-bit ADBs on the database server and use the OS_SCHEMA_PATH variable to tell the client where the required ADBs are located.

up.png ClassiX does not start, but shows the error message "error during schema validation"
ObjectStore Error During Schema Validation
Possible cause:
A 32-bit ObjectStore client (with 32-bit ADBs) tries to open a 64-bit ObjectStore database.
Solution:
Install a 64-bit client or use a 32-bit database.

up.png ClassiX does not start, but shows the error message "RPC: Procedure unavailable"

32Bit CacheManager 64Bit ADBS Datenbank DB SERVER

Possible cause:
The database server is running a 64-bit version and an attempt is being made to open a 64-bit database with a 32-bit client.
Solution:
The client must be updated to 64-bit or a 32-bit database must be used.

up.png ClassiX Start is cancelled by the message: "Java.exe cannot be started. Please install Java"

Faq Java Installieren

Possible cause:

Java is not installed on the computer.

Analyse the cause if Java is installed and the message still appears:

  • Click OK and open the monitor window in ClassiX (ALT+right mouse button) and execute the following line of code:
    "CLASSPATH" SystemObject Call(GetEnvironment) SystemObject Call(Log)
  • In the log file (SystemOut folder) of the current ClassiX session the content of the variable CLASSPATH was written
  • Open the file and copy the path to the clipboard
    Example: Date Time 46 * INFO cx.app - Y:\classix\main\Bin\alpha\4.6.0-os2013.0-vc11-32\birt-interface.jar;y:\birt-runtime-osgi-3_7_2\\ReportEngine\lib\*;
  • Open a command window and set the CLASSPATH variable to the value from the log file
    Example: Set CLASSPATH=Y:\classix\main\Bin\alpha\4.6.0-os2013.0-vc11-32\birt-interface.jar;y:\birt-runtime-osgi-3_7_2\\ReportEngine\lib\*;
  • Then execute the following line of code in the command window
    java.exe org.instantview.report.exec.ExecuteReportServer
  • The return values should provide information as to why the message still appears
Solution:
Please install Java so that BIRT reports can be created

up.png Crash directly after starting ClassiX
Only a few lines (7-9) are listed in the log file and SAP is installed on the computer...
Possible cause:

SAP has its own TAO DLLs and due to ACE's own routine for reloading the DLL during runtime, our DLL is no longer found as long as SAP is present in the PATH.

Solution:

Redefine PATH in our start file so that our DLL, Java and ObjectStore can be found.

Example:

SET PATH=%CX_BIN%;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files\Java\jre1.8.0_171\bin;C:\ODI_2013.0\ostore\bin


Error messages during operation

The error messages that can occur while working with the ClassiX system are summarised here

up.png Block nesting overflow
error3.JPG
Cause:

Recursive macro call may have a maximum of 16 levels. If there are several levels, this error may occur.
Recursion.gif

Solution:
Do loop instead of recursive macro call
Loop.gif

up.png Error when iterating over a root entry point collection (REP)
When iterating over objects of a REP collection, ClassiX® crashes as soon as work is done with the object(s), e.g. a slot is read out.
Possible cause:

The REP collection contains corrupt pointers.

Verification:

Call: cxaosr /R CX_CLASS_NAME
where CX_CLASS_NAME corresponds to the class name whose REP collection is probably defective.
The analysis tool then creates a file called "REPAnalyse.lst". One or more lines with "corrupt pointer..." proves that the REP-Collection is defective.

Solution:
The REP collection must be repaired:
  1. Note all indices. The indices can probably no longer be deleted via the Index Manager in the Workbench. After repairing, the indices are no longer available. To be able to rebuild them, it must be known which indices exist for the REP collection.
  2. Execute in the monitor window:
    BeginTXN CX_CLASS_NAME "cs.className" 0 GetManager(OBJECT) Call(RepairREPCollection)
    CX_CLASS_NAME and "cs.className" must be adjusted accordingly. "cs.className" is the name of the segment in which the REP collection is saved. The segment can be found with the help of CLASSIX.ODB: The storage location is noted for each class (Class, PseudoClass). This location (Storage) also describes the name of the segment that holds the REP collection (CSeg).
  3. After the REP-Collection has been repaired (this can take a few minutes), ClassiX® must be restarted.
  4. The old indices must now be deleted in the Index Manager using the RemoveEntry() method. The old, now invalid indices are highlighted in red and are therefore easy to find.
  5. In the last step, the indices can be rebuilt with the data that was noted in the first step.

up.png The cluster has been deleted
ClusterDeleted.png
Possible cause:
Each master object has a tuple Segment+Cluster stored in the "clusterInfo" slot, where new slave objects are to be stored. Due to a bug in an older version of ClassiX® the value became negative.
Verification:

The "clusterInfo" slot of the object (here: a sales order) is negative.

Solution:
The slot must be deleted and the step that triggered the error message must be repeated. The slot is then created again and should then contain a positive number.

up.png A hash function is missing
HashFunctionMissing.PNG
Possible cause:
An attempt was made to activate an index that is unsorted.
Verification:

Double-click on the index entry in the Index Manager; "Ordered" should be set under "Sorting".

Solution:
ClassiX® only supports sorted indices for most data fields, e.g. strings. As a rule, this is also meant by the user, it was probably just forgotten to switch the index to sorted.

up.png Hard crash when displaying an object
Hard crash when trying to display an object. Display in the object inspector is also no longer possible.
Possible cause:
A slot is damaged and cannot be displayed correctly.
Verification:
The object can still be retrieved with "GrabObject"; a "Get" on the damaged slot may also work. When calling methods of the broken slot (especially virtual methods), the crash occurs. This should also be confirmed in the log file. One hundred per cent check is only possible with debugger.
Solution:
Delete the dynamic data field with "DeleteSlot". This may cause data to be lost, so you should first try to find out what data was stored in the slot. If this is only a basic object (CX_VALUE, CX_DATE etc.), then the operation is not critical. If the slot points to a business object, this business object must be checked first.

up.png Hard crash when displaying an object (purchase order)
Hard crash when trying to access a purchase order. Display in the object inspector is also no longer possible.
Possible cause:

In this case, the purchase order itself is damaged.

Verification:
The error occurs as soon as the object is interacted with, i.e. both a query with the object as a subset and access via pointers to the object lead to a crash.
Suggested solutions:

An osverifydb run showed transactions in the purchase order and compound segments whose transaction pointers point to any strings instead of CX_TRANSACTION objects:

The object at <d|classix01:C:\classix\solutions\REMPro\VPro\database\ST17591\VPro_Backup_ST00017591.cxd|2106|0|263ce568|10000> (type "CX_COMPOUND_TXN"), contains a pointer at <d|classix01:C:\classix\solutions\REMPro\VPro\database\ST17591\VPro_Backup_ST00017591.cxd|2106|0|263ce620|10000> (CX_COMPOUND_TXN::CX_TRANSACTION.transaction) incorrectly pointing to an object of mismatched type at <d|classix01:C:\classix\solutions\REMPro\VPro\database\ST17591\VPro_Backup_ST00017591.cxd|566|0|29c16760|10000>; the declared type "CX_TRANSACTION" is incompatible with the type of the target object (char[624]). The type of this object is "1 byte char".


These pointers should all be completely nullified, as any access to them can probably lead to a crash.
with the osview tool from ObjectStore you could take a look at these strings and maybe you can somehow figure out what went wrong there. With the tool you can also zero through pointers, although with so many pointers it would probably be better to zero through them automatically (supposedly we have objectTools::SetNullPointerByOSVerfyDBFile for this)

As long as the "uniqueID" field is readable, it should be possible to find the purchase order in question using a simple query. You probably only have to prevent the object from being displayed in the ClassiX shell, as some data fields are accessed and this can lead to a crash.
If the object is so broken that this does not work either, you can rebuild the REP collection of the purchase orders using CX_DB_UTILITY::RebuildCollection and the corrupt objects are thrown out and logged.
However, only objects that can no longer be recognised as objects derived from CX_CLASS are recognised as corrupt here. If the uniqueID pointer points to invalid memory, this is not recognised.

Another alternative to find the object would be to export the REP collection of the purchase orders to a file via DumpCollection or ExportCollection (these files consist only of ObjectIds of the elements in text form), then read this file into InstantView and touch the objects individually and log out which object is currently being touched. If the process crashes, you can then see the address of the corrupt object in the log file.

Once you have the object address of the purchase order, you can findthe pointers referring to it using osverifydb -whohas seg:cluster:offset and then zero throughthem . However, this process takes a long time and, if possible, you should restrict the segments to be searched and ideally also the clusters. (Parameters -segement_n, -start_cluster,-end_cluster)

up.png Hard crash when accessing an object within a collection (LogCube transactions)
Hard crash when accessing transactions within a LogCube.
Possible cause:

In this case, the object within the transactions slot is damaged.

Verification:

The error occurs as soon as the object is interacted with, i.e. both a query with the object as a subset and accesses to the object via pointers lead to a crash.

As part of the analysis, a transactions collection containing a broken object was identified. Neither the transactions can be retrieved, nor can I identify this object, because dbUtils Call(GetCollection) and<object>Copy(uniqueID) lead to a crash.</ob

Suggested solutions:

You can try to remove the corrupt object using :

logCube Get(transactions) TRUE GetManager(OBJECT) Call(GetDBUtility) Call (RebuildCollection)

This logs to the cx.txn logger at ERROR level which objects (with type and object address) were thrown out of the collection.

If this does not work and ClassiX crashes:

Since the object is broken (i.e. deleted or incorrectly typed), osverifydb should recognise this object as an invalid pointer in the collection.

If so, then you get the address of the pointer from the osverifydb log and could zero it with osverifydb (restricted to the segment+cluster) (-illegal_pointer_action null) and then there would only be a NULL pointer in the collection, which you can then easily remove from the collection using RebuildCollection (as above).

To determine only the address of the object in the collection, the method CX_DB_UTILITY::GetCollectionAddresses has been available since Dll version 235301, which outputs the database addresses of all objects contained in a collection (including corrupt objects) as a vector.

up.png Evaluate3 - Function can only call SendMsg if a MESSAGE is known
faq.ht1.JPG
Possible cause:
No MESSAGE has been defined with SetBindMessage, which is to be called if a missing attribute is present.
Solution:
Before the function call (e.g. Call(Resolve) or Call(ResolveNew)), use the SetBindMessage function to set a MESSAGE with which the missing attribute is intercepted and processed further.

GET_VARIABLES = Query for missing variables

MISSING_VARIABLE = Error message regarding missing attributes

up.png Timeout and deadlock messages
timeout.pngdeadlock.png
Possible cause:
This type of blockage can occur when a large number of users try to access the same database areas.
Solution:
If these messages occur repeatedly so that you cannot continue working, please contact your IT department.
They can identify and contact the cause relatively quickly (if necessary via the log file) using the information on the "Conflicting client" contained in the message.
These blockages can be monitored directly by the IT department using client profiling and, if necessary, the responsible client (user) can be contacted/terminated.

up.png Error message with crash when accessing dictionaries (No database is assigned to this location)
faq01.jpg
Possible cause:
A dictionary entry can no longer be accessed
Crash when calling via object inspector: System data - Search term dictionaries -> (not case-sensitive)
Solution:
Determination of the entry

FindAll(CX_OBJECT_DICTIONARY_CI) iterate(UNSAFE)
{
Copy(uniqueID) SystemObject Call(Log)
}

Skip position to compare value and check with functioning test system:

FindAll(CX_OBJECT_DICTIONARY_CI) iterate(UNSAFE)
{
Index 10 = if { Drop continue }
Copy(uniqueID) SystemObject Call(Log)
}

If the entry does not contain any values or is not used, it can be removed (call in the object inspector):
The name of the root entry point (objectDictionaryCiL0) was determined via the storage entry in the ODB (CX_OBJECT_DICTIONARY_CI -> objectDictionaryCi).

FindAll(CX_OBJECT_DICTIONARY_CI) 10 Swap GetElement
"objectDictionaryCiL0" Swap dbUtil Call(RemoveFromREPCollection)

up.png Error message: Address space is full
faq.AddressSpaceOverflow.JPG
Possible cause:
(1) It was started with an OS_AS_SIZE that is too small.
Or
(2) The memory requirement is set to "a lot of memory". (32-bit application only - button in the top right of the main toolbar)
Solution:
(1) The recommended minimum value is 0x44000000 (32Bit) or 0x5000000000 (64Bit). The value should be set as high as possible.

(2) If the memory requirement is set to "a lot of memory", then address space handling has been switched off. Set the memory requirement to "little memory" and repeat the operation you want to perform.

up.png The connetion to the server was broken

errorm4.JPGVerbindungsabbruch

Possible cause:
  1. The ObjectStore server is either not active or cannot be accessed via the network.
  2. The Windows Firewall blocks the port that the client needs to send feedback to the ObjectStore server.
  3. The Windows Firewall blocks the network protocol ICMPv4 (ping).
  4. The database was set offline during the backup process and thus all clients were disconnected.
Solution:
  1. Enter the command: ping in a command line.
    It returns the IP address of the server. If there is no response (time-out), the computer on which the database server is running is not accessible in the network:
    Please establish a connection first!
    Enter the command: ossvrping in a DOS box. This can be used to check whether the Objectstore database server is active. If it is not active, it must be started.
    To increase the speed of finding the database server, you can use a text editor (e.g. NotePad) to edit the file \system32\drivers\etc\hosts. If none exists, create it (Attention: NO file extension, NotePad takes .Txt by default if no extension is specified, therefore enter the final '.' when saving). Insert the following line at the end:
    <ip-adresse> <server-name>
  2. Port 51031 TCP must be enabled in the client firewall settings (firewall exceptions)
    See Administration of the firewall for details
  3. The ICMPv4 network protocol must be enabled in the firewall settings.
  4. Start a new session, contact the internal IT department if necessary.

up.pngFormula processing error in connection with UTF8 conversion
formula-utf8.jpg
Possible cause:

The value of "YMBS=without" could not be reset during the conversion because it no longer exists as a NUM entry.

Solution:

Change value to existing entry. (Perforce history)

up.pngStatement stub: Call of a (still) undefined statement
Statement Stub
Possible cause:

In computer science, "stub" stands for a connection point. If the "connection point" also connects to the correct end point, it remains invisible.
In InstantView, Declare creates the stub, a following Define replaces it with the "correct" macro.

In this case, the definition of the Test macro is missing. (Define(Test))

Solution:

Define macro Test or adapt the Declare statement and the macro call accordingly.

up.pngFirewall notification at ClassiX start after replacing the ClassiX DLLs
Firewallmeldung
Possible cause:
The path with the cx_osuo.ece is not released in the firewall.
Solution:

Variant 1

Enter the path in the Windoss firewall. (Problem is present again after an update of the ClassiX DLLs and must be released again)

Variant 2

Copy the ClassiX DLL to a local directory and check at startup whether the DLL version has changed (if so, copy it again). With this variant, the path only needs to be released once in the firewall.

Variant 3

User is administrator on the local PC and can authorise access.

up.png No manager object with this name existing WEB_SERVICE
Error No Webservice Object
Possible cause:
The DLL for the WebService is missing in _Kunden_.ini.
Solution:
Enter the DLL for the WebService in _Customer_.ini: cxivsa_EXT_

up.png Failed to generate unique temporary file
Temporary files are created in ClassiX. If these files cannot be created, this message is displayed.
Possible cause:
  1. Write permissions are missing
  2. The %TEMP% directory runs above cxt#######.tmp files.
  3. Multiple ClassiX users share a Windows account and the %TEMP% directory is deleted when logging out.
Solution:
  1. grant missing write permissions.
  2. InstantView code can be stored on status monitors, which is written to a temporary file when executed in order to be able to parse it. If the code cannot be parsed, the file remains. (cxt#######.tmp)
    Search for the monitor that contains the incorrect code and correct this code. Delete the accumulated cxt#######.tmp files.
  3. Either each ClassiX user gets his own Windows account or the script may only delete the part of the %TEMP% directory that is only used by this one user and not the remaining folders and data of the other users.

up.png Failed to recognise token while parsing: "Sort items by weeks " interpreted as 40

The LogFile says: Failed to recognize token while parsing: "Sort items by weeks " interpreted as 40

The message appears in the application: Einheit T

Possible cause:
  1. A unit T was created, as a result of which the MultiLanguage strings can no longer be interpreted if a number is directly in front of them.
Solution:
  1. Do not create a unit T
  2. Rename unit T to a longer unit, e.g. To, Ton, Tonne
  3. Place a comma between numbers and multilanguage string.


This occurred in old DLLs. As of 224359 this behaviour no longer occurs.

Programming

Conversion

up.png Umlauts and special characters are not displayed correctly in the export file
Possible cause:
The created file was not converted to the ANSI code set.
Solution:
Convert the file to the ASCI code set:

CreateTransObject(CX_ASCII_FILE) -> oFile
oFile Call(ANSICode)

Error handling TAPI

up.png TAPI message Calls cannot be answered with this device. Watch device for voice calls

This message is displayed when the TAPI is called:
Error TAPI WatchDeviceForVoiceCall

Verification:

This Estos tool can be used to check the TAPI client.

Solution:

up.png TAPI call cannot be made. Make voice call
Error TAPI MakeVoiceCall
Verification:

This Ectos tool can be used to check the TAPI client.

Solution:

MorphIT

up.pngPrint (create PDF) in MorphIT

MS WORD cannot be used with MorphIT because MorphIT runs in the background and MS WORD was not developed for use in the background.

You can work around this with LibreOffice:

  • Install LibreOffice
  • XML printing must be activated. (Adapt documents to XML printing if necessary)
  • If conditions in the document must be removed, as LibreOffice cannot evaluate them.
  • Use a message that calls the BatchPrintingSilentPDF procedure or create your own message that does this.
    • PRINT_CREDIT_NOTE_BATCH_CREATE_PDF
    • PRINT_INVOICE_BATCH_CREATE_PDF
    • PRINT_OFFER_BATCH_CREATE_PDF
    • PRINT_PURCHASE_INVOICE_BATCH_CREATE_PDF

A PDF now exists at the desired location, which can be processed further.

(e.g. filename SystemObject Call(OpenDocument) -> The document is downloaded to MoprhIT)

Administration

up.pngMove index entries
  1. Remove all indexes (or only the affected ones, if you know them)
  2. Read out the parameters of the indexes that are to be moved. Can be read from the CX_INDEX_DESCRIPTOR.
  3. Enter new index numbers
  4. Then call UpdateREPIndex/UpdateEmbeddedIndex on the indexes (with the original parameters that can be read from the CX_INDEX_DESCRIPTOR )
  5. Then rebuild the indexes.

up.pngMove specific
Is currently not visible.

up.pngPoor performance

Poor performance of the ClassiX application can have several causes:

  1. Poor/old network infrastructure
  2. other users accessing the same data (locking conflicts) without a timeout/deadlock occurring
  3. You are alone on a larger database
Solution:
  1. Improve network infrastructure
  2. Try again at a later time
  3. Start another instance of the ClassiX application so that you are no longer alone on the database
    Reason: The ObjectStore server builds some auxiliary structures for efficient database management when a database is first opened in transient space. These are discarded as soon as a database is no longer opened by a client. When switching between MVCC mode(BeginTXN(READ)) and WRITE mode(BeginTXN(WRITE)), the client must close the database and then reopen it. If this is the only client for this database, the server discards the entire auxiliary structures at this moment only to rebuild them again afterwards, which can take several seconds for large databases. This is why a second client helps here, which keeps the database open.

    Alternatively, the database can also be opened in KEEP_UPDATE mode to prevent the switch to MVCC.

Operational business