Skip to Main Content

Java Development Tools

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

alternate unique keys Validation,oracle.jbo.TxnValException: JBO-27023: Failed to validate all rows

Abo MuthannaMar 23 2016 — edited Mar 23 2016

I am trying to use alternate unique keys  Validation

I create an  AltKey Id and name and then I added unique keys  Validation on Entity level for  that AltKey  .The issue is when I put an exciting number it working fine and show my custom message  ad throw exception .TxnValException: JBO-27023 but when i try to enter anther number not in the DB it keep me showing the Error message with the  same  exception

I have a popup as below

  <af:popup id="p1" contentDelivery="lazyUncached"

            binding="#{backingBeanScope.SearchBackingBean.newPopUp}">

    <af:dialog id="d2" title="Please Enter The Report Number " type="none"

               styleClass="AFStretchWidth">

      <af:inputText label="Report Number" id="it1"

                    binding="#{backingBeanScope.SearchBackingBean.NumberText}"

                    rows="1" showRequired="true"

                    value="#{pageFlowScope.SearchMBean.NumInput}"

                    autoSubmit="true">

        <af:validateRegExp pattern="[0-9]{1,10}"

                           messageDetailNoMatch=" Only Number Please  "

                           hint="Only Number Please "/>

      </af:inputText>

     

      <f:facet name="buttonBar">

        <af:panelGroupLayout layout="horizontal" id="pgl2">

          <af:commandButton text="Ok" id="b2"

                                                                         

                            action="#{pageFlowScope.SearchMBean.okPopupAction}"></af:commandButton>

          <af:commandButton text="Cancel" id="b3" immediate="true"

                            actionListener="#{pageFlowScope.SearchMBean.cancelButtonActionListener}"></af:commandButton>

        </af:panelGroupLayout>

      </f:facet>

    </af:dialog>

  </af:popup>

==============================================================================================

My bean :

        Number Idnumber = getNexDSequenceNumber();

        // Number  rIdbSeq=getNextReportInternalSequenceNumber();

        System.out.println(reportIDnumber);

        if (null != getNumInput() || "" != gettNumInput()) {

            DCBindingContainer bindings =

                (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();

    

            try {

                OperationBinding operationBinding =

                    bindings.getOperationBinding(HMIRSConstants.CREATENEW);

                OperationBinding commitoperationBinding =

                    bindings.getOperationBinding(HMIRSConstants.COMMIT);

                Row result = (Row)operationBinding.execute();

                System.out.println("--------------->" + operationBinding);

                System.out.println("--------------->" + result);

                if (!operationBinding.getErrors().isEmpty()) {

                    return null;

                }

                String reportNum = getNumInput();

                System.out.println(reportNum);

                System.out.println("reportIDnumber"+reportIDnumber);

                result.setAttribute(_ID,

                                   Idnumber );

                result.setAttribute(name, "I");

              

                result.setAttribute(HMIRSConstants.REPORT_NUMBER, reportNum);

           

                 System.out.println("reportIDnumber"+reportIDnumber);

                System.out.println("---------------2>" + result);

                if (reportIDnumber != null) {

                    AdfFacesContext.getCurrentInstance().getPageFlowScope().put(HMIRSConstants.INCIDENT_REPORT_ID_SCOPE,

                  

                                                                                reportIDnumber.longValue());

                    try{

                  

                    Object commitResult = commitoperationBinding.execute();

                    }catch (Exception ex){

                       throw new JboException("Isussssssssssss" +

                                              ex.getMessage());

                       }

                    if (!commitoperationBinding.getErrors().isEmpty()) {

                        System.out.println(commitoperationBinding.getErrors().toString());

                        setReportNumInput("");

                        return null ;

                    }

                }

            } catch (TooManyObjectsException ex) {

                throw new JboException("To Manay Row Excption While inserting Row" +

                                       ex.getMessage());

            } catch (Exception ex) {

                throw new JboException("Checking Constraint in Reoprt Table " +

                                       ex.getMessage());

            }

==========================================================

THIS CODE FOR createNew I did create ,in the view because for some reason create insert operation not working fine it return null on getOperation

public class ViewImpl extends ViewObjectImpl implements ***View {

    /**

     * This is the default constructor (do not remove).

     */

    public IncidentReportViewImpl() {

    }

    public Row createNew()

    {

      

        Row row = this.createRow();

        this.insertRow(row);

        return row;

    }

}

=================================================================

Logs -------------------------

isUserinternal----------->false

<RegionRenderer> <encodeAll> The region component with id: r1 has detected a page fragment with multiple root components. Fragments with more than one root component may not display correctly in a region and may have a negative impact on performance. It is recommended that you restructure the page fragment to have a single root component.

<RegionRenderer> <encodeAll> The region component with id: r1 has detected a page fragment with multiple root components. Fragments with more than one root component may not display correctly in a region and may have a negative impact on performance. It is recommended that you restructure the page fragment to have a single root component.

644055

--------------->createNew

--------------->ViewRow [oracle.jbo.Key[null ]]

1234565432

IDnumber644055

the value is 1234565432

Dnumber644055

---------------2>ViewRow [oracle.jbo.Key[644055 ]]

[oracle.jbo.TxnValException: JBO-27023: Failed to validate all rows in a transaction.]

<Utils> <buildFacesMessage> ADF: Adding the following JSF error message: custom error message

oracle.jbo.RowValException: JBO-gov.dot.phmsa.hmirs.model.entity.IncidentReport_Rule_2: custom error message

  at oracle.jbo.rules.RulesBeanUtils.createException(RulesBeanUtils.java:374)

  at oracle.jbo.rules.AbstractValidator.createException(AbstractValidator.java:1065)

  at oracle.jbo.rules.AbstractValidator.doRaiseException(AbstractValidator.java:1120)

  at oracle.jbo.rules.AbstractValidator.raiseException(AbstractValidator.java:1109)

  at oracle.jbo.rules.JboAbstractValidator.raiseException(JboAbstractValidator.java:409)

  at oracle.jbo.rules.AbstractValidator.raiseException(AbstractValidator.java:1096)

  at oracle.jbo.server.JboUniqueKeyValidator.validateValue(JboUniqueKeyValidator.java:369)

  at oracle.jbo.server.JboUniqueKeyValidator.validateValueWithContext(JboUniqueKeyValidator.java:79)

  at oracle.jbo.rules.JboAbstractValidator.callValidateValueWithContext(JboAbstractValidator.java:235)

  at oracle.jbo.rules.JboAbstractValidator.validate(JboAbstractValidator.java:386)

  at oracle.jbo.server.EntityDefImpl.validate(EntityDefImpl.java:3200)

  at oracle.jbo.server.EntityCache.validate(EntityCache.java:3601)

  at oracle.jbo.server.EntityImpl.validateEntity(EntityImpl.java:2450)

  at oracle.jbo.server.EntityImpl.validate(EntityImpl.java:2540)

  at oracle.jbo.server.DBTransactionImpl.validate(DBTransactionImpl.java:4566)

  at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:2035)

  at oracle.jbo.server.DBTransactionImpl.commit(DBTransactionImpl.java:2378)

  at oracle.adf.model.bc4j.DCJboDataControl.commitTransaction(DCJboDataControl.java:1615)

  at oracle.adf.model.binding.DCDataControl.callCommitTransaction(DCDataControl.java:1417)

  at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1437)

  at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2150)

  at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:740)

  at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.executeEvent(PageLifecycleImpl.java:402)

  at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding._execute(FacesCtrlActionBinding.java:252)

  at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding.execute(FacesCtrlActionBinding.java:210)

  at gov.dot.phmsa.hmirs.view.searchbeans.SearchMBean.okPopupAction(SearchMBean.java:236)

  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

  at java.lang.reflect.Method.invoke(Method.java:597)

  at com.sun.el.parser.AstValue.invoke(Unknown Source)

  at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)

  at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:46)

  at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)

  at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)

  at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)

  at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:1018)

  at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:386)

  at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:194)

  at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)

  at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)

  at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)

  at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)

  at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

  at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

  at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)

  at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)

  at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)

  at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)

  at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)

  at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)

  at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

  at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:179)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

  at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)

  at java.security.AccessController.doPrivileged(Native Method)

  at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)

  at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)

  at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)

  at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)

  at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

  at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

  at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

  at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)

  at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)

  at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

  at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)

  at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)

  at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)

  at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)

  at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)

  at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

<RegionRenderer> <encodeAll> The region component with id: r1 has detected a page fragment with multiple root components. Fragments with more than one root component may not display correctly in a region and may have a negative impact on performance. It is recommended that you restructure the page fragment to have a single root component.

<Utils> <buildFacesMessage> ADF: Adding the following JSF error message: Error REport

oracle.jbo.RowValException: JBO-gov.dot.phmsa.hmirs.model.entity.IncidentReport_Rule_2: Error REport

  at oracle.jbo.rules.RulesBeanUtils.createException(RulesBeanUtils.java:374)

  at oracle.jbo.rules.AbstractValidator.createException(AbstractValidator.java:1065)

  at oracle.jbo.rules.AbstractValidator.doRaiseException(AbstractValidator.java:1120)

  at oracle.jbo.rules.AbstractValidator.raiseException(AbstractValidator.java:1109)

  at oracle.jbo.rules.JboAbstractValidator.raiseException(JboAbstractValidator.java:409)

  at oracle.jbo.rules.AbstractValidator.raiseException(AbstractValidator.java:1096)

  at oracle.jbo.server.JboUniqueKeyValidator.validateValue(JboUniqueKeyValidator.java:369)

  at oracle.jbo.server.JboUniqueKeyValidator.validateValueWithContext(JboUniqueKeyValidator.java:79)

  at oracle.jbo.rules.JboAbstractValidator.callValidateValueWithContext(JboAbstractValidator.java:235)

  at oracle.jbo.rules.JboAbstractValidator.validate(JboAbstractValidator.java:386)

  at oracle.jbo.server.EntityDefImpl.validate(EntityDefImpl.java:3200)

  at oracle.jbo.server.EntityCache.validate(EntityCache.java:3601)

  at oracle.jbo.server.EntityImpl.validateEntity(EntityImpl.java:2450)

  at oracle.jbo.server.EntityImpl.validate(EntityImpl.java:2540)

  at oracle.jbo.server.DBTransactionImpl.validate(DBTransactionImpl.java:4566)

  at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:2035)

  at oracle.jbo.server.DBTransactionImpl.commit(DBTransactionImpl.java:2378)

  at oracle.adf.model.bc4j.DCJboDataControl.commitTransaction(DCJboDataControl.java:1615)

  at oracle.adf.model.binding.DCDataControl.callCommitTransaction(DCDataControl.java:1417)

  at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1437)

  at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2150)

  at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:740)

  at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.executeEvent(PageLifecycleImpl.java:402)

  at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding._execute(FacesCtrlActionBinding.java:252)

  at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding.execute(FacesCtrlActionBinding.java:210)

  at gov.dot.phmsa.hmirs.view.searchbeans.SearchMBean.okPopupAction(SearchMBean.java:236)

  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

  at java.lang.reflect.Method.invoke(Method.java:597)

  at com.sun.el.parser.AstValue.invoke(Unknown Source)

  at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)

  at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:46)

  at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)

  at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)

  at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)

  at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:1018)

  at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:386)

  at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:194)

  at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)

  at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)

  at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)

  at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)

  at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

  at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

  at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)

  at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)

  at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)

  at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)

  at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)

  at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)

  at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

  at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:179)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

  at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)

  at java.security.AccessController.doPrivileged(Native Method)

  at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)

  at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)

  at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)

  at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)

  at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

  at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

  at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

  at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)

  at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)

  at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

  at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)

  at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)

  at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)

  at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)

  at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)

  at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Apr 20 2016
Added on Mar 23 2016
1 comment
327 views