SAP Business client “Menu” freezes the published application.

This is the RCA which was shared by SAP:

The message WM_GETOBJECT is called several times from external process(es) (it is not called by SAP code) and results in one of the callstacks above.

The COM object needs to return the return-value of the COM-Method “LresultFromObject” which gets the “IAccessible” interface of the COM object as parameter.

The “LresultFromObject” method-call internally does an increase of the COM object reference counter and the sender/caller needs to decrease this reference counter if he is done with the object.

The result of SAP RCA:

· An external process is triggering an WM_GETOBJECT message to the popup menu COM object

· The COM-Method “LresultFromObject” increases internally the reference counter

· The sender/caller of the WM_GETOBJECT SendMessage() is responsible to decrease the reference count à this seems not to happen

· COM Framework does not delete the popup menu COM object, because the reference counter is not “0” after we in SAP Coding call our own Release()

· In an RDP session no WM_GETOBJECT messages were triggered on popup menu COM object (during SAP internal debugging) and issue does not exist (also at customer side)

· Only occurs on special client PC CPUs with special Citrix Versions and special client PC OS

Ø Based on the above RCA, we determined that Citrix doesn’t call the WM_GETOBJECT directly but we utilize Microsoft Active Accessibility and Microsoft UI Automation to do the same. Please refer to below MSDN page on WM_GETOBJECT:

https://docs.microsoft.com/en-us/windows/win32/winauto/wm-getobject

Sent by both Microsoft Active Accessibility and Microsoft UI Automation to obtain information about an accessible object contained in a server application.

Applications never send this message directly. Microsoft Active Accessibility sends this message in response to calls to AccessibleObjectFromPoint, AccessibleObjectFromEvent, or AccessibleObjectFromWindow.

We make use of Microsoft Active Accessibility in different components. One of which is CtxUIMon.dll, which makes use of it when one of the following 2 Citrix policies is enabled (They are disabled by default)

1. “Remote the combo box”

2. “Automatic Keyboard Display”

For more details on the above policies, please refer to https://docs.citrix.com/en-us/xenapp-and-xendesktop/7-15-ltsr/policies/reference/ica-policy-settings/mobile-experience-policy-settings.html

Ø Citrix Workspace app is not the culprit as the issue is resolved by enabling the above mentioned policies and hence the issue is on the VDA side (Operating System)

Related:

  • No Related Posts

Is it possible to set the EntryTemplateId as type ID through a workflow?

I am designing a FileNet 5.2.1. workflow. I would like to set the property id of EntryTemplateId in the Document Class. This is a ID property

In prior versions of FileNet (specifically 4.5), I could pass in a string containing the GUID and it would successfully insert this ID. It seemed to be able to implicitly cast from String to ID

Now, when I try this in 5.2.1, I get the following message, “The method invoked is inappropriate for the datatype of the property.
The property EntryTemplateId expects the datatype to be com.filenet.api.util.Id, but the input value is java.lang.String.”

To do this, I am using the CE_Operations setStringProperty function.

I also tried to attach an object containing the Entry template and pass the ID into the property and got the message com.filenet.api.util.id
incompatible with com.filenet.api.core.EngineObject

More specifics:

I have a string representation of the ID in GUID format and I need to get FileNet to take this as an ID in the EntryTemplateID. FileNet seems to accept items that are of type OBJECT and I can update those properties with no issues. I am just having issues updating properties of type ID

In CE_Operations, I see a “SetObjectProperty” function but no “SetIDProperty”

In addition in the workflow, I was thinking of creating a workflow variable to store the ID but ID is not listed as a data type.

Is it possible to set the EntryTemplateId as type ID through a workflow?

Ultimately, my goal is to change the Entry Template for a document through workflow so that I can control the Entry Template used by users in Navigator. If there is another way of doing this through workflow, that would work for me

I am using Process Designer in Navigator to design these workflows and not the underlying API through JAVA or .NET, etc.

Related:

  • No Related Posts

How do you access the DCO used by Datacap Desktop through DotEditPanels?

We are trying to add a new subfield to a field in a pages DCO by clicking on a button on a custom DotEditPanel. I can see that there is an object class topDesk, with an instance of this class called dcDesk built into the DotEditPanel, in which there are various dco_ methods that line up with some of the DCO API methods. However, when I try to use dco_AddChild, giving it an xmlnode found by using dcDesk.dco_FindChild, it throws a standard XmlNode exception “The node to be inserted is from a different document context”.

My question is, does anyone have any documentation on the topDesk object, and what its methods expect as parameters/do in general? I have not been able to find anything, anywhere. Or, does anyone know how to access the DCO being used by DataCap Desktop? I am aware of how to use the methods in the DCO API to create a new DCO, but I’m unaware of how to link a DCO to the information being displayed by the DotEditPanel.

Related:

Re: How to increase performance: storing large number of small files?

Hi

Your 60 Files per Minute translate to 1 per second. That is achievable with even a small system.

To influence performance and to not hit any object count limits too soon I suggest, you do the following:

FileNet

– Try to containierize with FileNet (create larger files that contain a number of your small files)

– if configurable set the number of threads to at least 20 (don’t know what influences in FileNet how many threads are opened)

ApplicationServer

– set FP_OPTION_EMBEDDED_DATA_THRESHOLD to 102400

– set FP_OPTION_BUFFERSIZE to 102400

– Both of them are environment variables. They will ensure small files are contained in the CDF in order not to use too many object. The second will make sure you allocate enough buffer for performance reasons.

– This may already be available in the FileNet configuration for Centera

Centera:

Make sure you use storage Strategy Performance.

Best regards, Holger

Related:

The entry ‘{object name}’ was deleted because it will be recreated as a different object class. {connection agreement name}

Object ID O_ID (object “O_NAME”): Computed columns and user-defined types cannot be checked for this object because the common language runtime (CLR) is disabled.

Details
Product: SQL Server
Event ID: 2518
Source: MSSQLServer
Version: 9.0
Component: SQLEngine
Symbolic Name: DBCC_NO_EXPRESSION_EVAL_CLR_DISABLED
Message: Object ID O_ID (object “O_NAME”): Computed columns and user-defined types cannot be checked for this object because the common language runtime (CLR) is disabled.
   
Explanation

This informational message indicates that the query processor could not provide DBCC with an internal object to allow for computed columns and common language runtime (CLR) user-defined types to be evaluated. This problem occurred because one of the columns involved the CLR, but the CLR is not enabled. The internal object covers all columns. Therefore, the inability to evaluate a single column prevents creating the internal object. This means that computed columns will not be checked for correctness or be used when DBCC checks the consistency between indexes and base tables.

   
User Action

Enable CLR and rerun the DBCC statement.

Related:

Error %3- DSID %2- when object %1 attempted to inherit another object’s security identity.

Details
Product: Windows Operating System
Event ID: 1576
Source: Active Directory
Version: 5.0
Symbolic Name: DIRLOG_INHERIT_SECURITY_IDENTITY_FAILURE
Message: Error %3- DSID %2- when object %1 attempted to inherit another object’s security identity.
   
Explanation

The object could not inherit a security identifier (SID) from another object.

   
User Action

Based on the error value, you can take the appropriate action.

Related:

The object class in the directory service is not valid for the {object name} object. Call Microsoft Technical Support. (12)

Details
Product: Exchange
Event ID: 136
Source: MSExchangeMTA
Version: 6.0
Component: Message Transfer Agent
Symbolic Name: MTA00136
Message: The object class in the directory service is not valid for the {object name} object. Call Microsoft Technical Support. (12)
   
Explanation
A directory object may have been incorrectly imported during directory import or may have been changed while the administrator was in raw mode.
   
User Action
Contact Microsoft Product Support Services for assistance.

Related: