An issue might occur in SAS Visual Investigator on SAS Viya where you cannot open a specific object in Edit mode, while all other objects of the same entity open normally.
When you click the Edit button (pencil icon) to open the page in Edit mode, the following error message is displayed in a pop‑up window:
Unable to get the requested page for object type ‘xxxxx’ in context ‘edit’ associated with application ‘desktop’.
Here is an example of an object from the Investigation entity, which cannot be opened in Edit mode:
If you capture a Network Trace or HTTP Archived (HAR) File using a browser developer tool, the HAR File indicates that the HTTP GET call (shown below) returns an HTTP 400 with error code 95765. Prior HTTP calls to POST /svi-datahub/documents/checkDocumentAccess to check for document access return HTTP 200, indicating that the user has the Read, Update, and Delete access.
Request URL: https://xxxx/SASVisualInvestigator/pages/INVESTIGATION/99999999999_INV?context=edit
Request Method: GET
Status Code: 400 Bad Request
Response
{{{}}
"errorCode" : 95765,
"message" : "Unable to get the requested page for object type \"INVESTIGATION\" in context \"edit\" associated with application \"desktop\".",
"remediation" : "An error occurred. Check the log for details or contact your system administrator.",
"links" : [ ],
"version" : 2,
"httpStatusCode" : 400
}
In addition, the Svi-datahub log for the time frame that the issue was reproduced contains an No enum constant com.sas.fcs.datahub.lock.ObjectLockType.Document error message.
Here is an example:
{"version":1,"timeStamp":"2026-06-01T12:13:01.962Z","level":"error","source":"sas-svi-datahub","message":"No enum constant com.sas.fcs.datahub.lock.ObjectLockType.Document\norg.springframework.dao.InvalidDataAccessApiUsageException: No enum constant com.sas.fcs.datahub.lock.ObjectLockType.Document\n\tat org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:371)\n\tat org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:246)\n\tat org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:560)\n\tat org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)\n\tat org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:343)\n\tat org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:160)\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)\n\tat org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:165)\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)\n\tat org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:223)\n\tat jdk.proxy3/jdk.proxy3.$Proxy367.findById(Unknown Source)\n\tat com.sas.fcs.datahub.services.dataaccess.DefaultLockAccessService.findById(DefaultLockAccessService.java:54)\n\tat com.sas.fcs.datahub.services.data.DefaultLockService.lockDocument(DefaultLockService.java:76)\n\tat java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)\n\tat java.base/java.lang.reflect.Method.invoke(Method.java:580)\n\tat org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360)\n\tat org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:724)\n\tat com.sas.fcs.datahub.services.data.DefaultLockService$$SpringCGLIB$$0.lockDocument(<generated>)\n\tat com.sas.fcs.datahub.services.page.PageService.getPageForObject_aroundBody2(PageService.java:151)\n\tat com.sas.fcs.datahub.services.page.PageService$AjcClosure3.run(PageService.java:1)\n\tat
...and so on...
The failure stems from an issue during lock resolution in the DataHub service when attempting to open the object in Edit mode.
The underlying cause is that an invalid enum value "Document" (mixed‑case) is being read from the lock record, but the application expects the value "DOCUMENT" (all uppercase). The mismatch triggers a runtime exception, which ultimately results in the HTTP 400 response.