Give access at entity level

Hi All,
We are using MDG 7.0 for our Customer & Vendor implementation. We have created our own custom parallel rule based workflow since our design requirement is different than the default workflow which is available with MDG activation.
In our workflow once the central Customer data is approved, the flow is split into parallel tasks of Company Code Data approver & Sales Org data approver. These approvers can also edit data. Now I have two below requirements:
The Company Code data approver should have edit access only to Company code entity and they should be able to only view other details. Similarly the Sales Org data approver should have edit access only to Sales Org entity. How can this be achieved?
   2.   In a parallel workflow if any one of the task is "rejected/Send for revision" then how can we complete/invalidate the other parallel tasks                            automatically and the workflow has to be routed back to requestor?
         This feature is available in the default parallel workflow given by SAP for Change Supplier.
Let me know if more details are required.
Regards,
Ashwin

Hi Abdullah,
Thanks for your reply. I will make sure in future to create different posts for different questions.
I forgot to mention earlier that I am using Dynamic Parallel Rule based workflow for creating Company Code & Sales Org steps. These steps are created based on whether Requestor has entered Company Code & Sales Org or not.
In your second answer you mentioned that I need to create 3 branch fork, are you pointing that it has to be done in ABAB workflow or it can be done using Dynamic Parallel Rule based workflow? If yes, then pls suggest a help document.
Regards,
Ashwin

Similar Messages

  • Need to give access to a room to multiple users at a time

    Hi ,
      My situation is like this . I need to create a room and give access to multiple users to that room at the same time . The user is not very comfortable with the interface and it's usability considering his education level but then he got to use the functionality as this is the solution suggested to the client . I am thinking of adding adding the room to portal favourites so that thay don't have to be taught the whole navigation path to go to the room and access the documents in that room . But let's say there are 200 users , and if adding that room to their portal favourites is part of my job , the only way I see to do that is login with each of their user id's and add the same . Is there a way I can do this with some batch job or something for all the users at the same time ?
    I am aware that in the page for user management you can upload the user data and in that data you also can upload the user mapping information . This saves you the effort of individually mapping every user with the systems in the portal , by logging individually with their user id's . Can this be done from there or a similar kind of interface in KM&C ?
    Regards
    Deepak Singh

    Hi Deepak,
    The favorites are placed in the "userhome" repository. Take a look at KM Content -> userhome -> for each username -> Favorites, there you'll find links with the favorites. You can simply copy & paste those to the other users, so you don't have to login with each one.
    Regards,
    Pascal

  • Entity level validation suppressed in backend

    Hi,
    I am working on jdev 11.1.1.6, where I face a issues which is pretty much strange. I created a editable table from a view object datacontrol by dragging and dropping. This UI table consist of two columns with two LOVs providing them values.
    The entity level validation when I create two rows with same values are fired but the error message is not shown to the UI, but able to find the stack trace in the jdev console.The same happens even when I try to commit the rows. This rather breaks the page stopping me to do further activities.
    Please do help......

    Hi frank,
    Here is a detials of the present implementation,
    * The entity E1 has three keys. I created a business rule validation with as unique key validation with a custom error message ('*the record is already found*').
    * The view object used for table creation is created using the above entity with the same three key attributes.
    * Out of the three keys, two are provided with an LOV and the other is set but the same lov when choosing the values.
    * The view object is dragged and dropped in the jsf which looks as follows,
    <af:table value="#{bindings.xxxxx.collectionModel}"
                           var="row" rows="#{bindings.xxxxx.rangeSize}"
                           emptyText="#{bindings.xxxxx.viewable ? 'No data to display.' : 'Access Denied.'}"
                           fetchSize="#{bindings.xxxxx.rangeSize}"
                           rowBandingInterval="0"
                           selectedRowKeys="#{bindings.xxxxx.collectionModel.selectedRow}"
                           selectionListener="#{bindings.xxxxx.collectionModel.makeCurrent}"
                           rowSelection="single" id="t4"
                           width="1000"
                           autoHeightRows="6"
                           styleClass="AFStretchWidth SimpleTable Debt"
                           partialTriggers="::cl15 ::cl16 ::cl18 cl14">
                  <af:column sortProperty="ModuleNo" sortable="false"
                             headerText="Report..."
                             id="c8" width="250">
                   <af:inputListOfValues id="moduleNoId"
                                         popupTitle="Search and Select: #{bindings.xxxxx.hints.ModuleNo.label}"
                                         value="#{row.bindings.ModuleNo.inputValue}"
                                         model="#{row.bindings.ModuleNo.listOfValuesModel}"
                                         required="#{bindings.ReportsShared1.hints.ModuleNo.mandatory}"
                                         columns="#{bindings.ReportsShared1.hints.ModuleNo.displayWidth}"
                                         shortDesc="#{bindings.ReportsShared1.hints.ModuleNo.tooltip}"
                                         autoSubmit="true">
                    <f:validator binding="#{row.bindings.ModuleNo.validator}"/>
                   </af:inputListOfValues>
                  </af:column>
                  <af:column sortProperty="SharedTo" sortable="false"
                             headerText="With..."
                             id="c11" width="250">
                   <af:inputListOfValues id="sharedToId"
                                         popupTitle="Search and Select: #{bindings.xxxxx.hints.SharedTo.label}"
                                         value="#{row.bindings.SharedTo.inputValue}"
                                         model="#{row.bindings.SharedTo.listOfValuesModel}"
                                         required="true"
                                         columns="#{bindings.xxxxx.hints.SharedTo.displayWidth}"
                                         shortDesc="#{bindings.xxxxx.hints.SharedTo.tooltip}"
                                         autoSubmit="true">
                    <f:validator binding="#{row.bindings.SharedTo.validator}"/>
                   </af:inputListOfValues>
                  </af:column>
                  <af:column id="c7" width="100">
                      <af:commandLink actionListener="#{bindings.Delete1.execute}"
                                 shortDesc="Delete line"
                                styleClass="Small Button GrayDelete"
                                 immediate="true"
                                 partialSubmit="true" id="cl14"/>
                  </af:column>
                   <af:column sortProperty="LedgerType" sortable="false"
                             headerText="#{bindings.xxxxx.hints.LedgerType.label}"
                             id="c6">
                   <af:outputText value="#{row.LedgerType}" id="ot10"/>
                  </af:column>
                  <af:column sortProperty="ReportName" sortable="false"
                             headerText="#{bindings.xxxxx.hints.ReportName.label}"
                             id="c1">
                   <af:outputText value="#{row.ReportName}" id="ot11"/>
                  </af:column>
                 </af:table>
    <af:commandLink actionListener="#{bindings.CreateInsert1.execute}"
                                 text=""
                                 partialSubmit="true"
                                 id="cl15"
                                 styleClass="debtAddlinesButton"/>
    <af:commandLink actionListener="#{bindings.Commit.execute}"
                                               text="Share" id="cl16"
                                               styleClass="greyButton"/>
    <af:commandLink actionListener="#{bindings.Rollback.execute}"
                                               text="Cancel"
                                               immediate="true" id="cl18"
                                               styleClass="greyButton">
                                <af:resetActionListener/>
    </af:commandLink>
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////Now when I use the CreateInsert1 command link and create a row and fill in the values that are already present , say I select name in 'sharedTo' that is already present.... it does not show me the validation error in the ballon as it always does but doesnt fill the value in that too....and when I enter the value instead of using the LOV it shows a blink of the custom error popup I set in the entity (*the record is already found*) and disappears. After that nothing is functional in the page. But I see the jev console with the same custom error message with stack trace
    <Utils> <buildFacesMessage> ADF: Adding the following JSF error message: the record is already found
    oracle.jbo.AttrSetValException: JBO-com.symmetry.dashboard.panels.model.eo.XXXE1: the record is already found
         at oracle.jbo.rules.RulesBeanUtils.createException(RulesBeanUtils.java:381)
         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:84)
         at oracle.jbo.rules.JboAbstractValidator.callValidateValueWithContext(JboAbstractValidator.java:235)
         at oracle.jbo.rules.JboAbstractValidator.validate(JboAbstractValidator.java:386)
         at oracle.jbo.rules.RulesBeanUtils.validateObject(RulesBeanUtils.java:716)
         at oracle.jbo.rules.RulesBeanUtils.validate(RulesBeanUtils.java:696)
         at oracle.jbo.server.AttributeDefImpl.validate(AttributeDefImpl.java:3349)
         at oracle.jbo.server.AttributeDefImpl.set(AttributeDefImpl.java:3294)
         at oracle.jbo.server.EntityImpl.setAttributeInternal(EntityImpl.java:2012)
         at oracle.jbo.server.AttributeDefImpl.resolveSet(AttributeDefImpl.java:3510)
         at oracle.jbo.server.EntityImpl.setAttrInvokeAccessor(EntityImpl.java:1993)
         at oracle.jbo.server.EntityImpl.setAttribute(EntityImpl.java:1920)
         at oracle.jbo.server.ViewRowStorage.setAttributeValue(ViewRowStorage.java:2363)
         at oracle.jbo.server.ViewRowStorage.setAttributeInternal(ViewRowStorage.java:2165)
         at oracle.jbo.server.ViewRowImpl.setAttributeInternal(ViewRowImpl.java:1453)
         at oracle.jbo.server.ViewRowImpl.setAttrInvokeAccessor(ViewRowImpl.java:1428)
         at oracle.jbo.server.ViewRowImpl.setAttribute(ViewRowImpl.java:1089)
         at oracle.jbo.server.ViewRowImpl.setAttribute(ViewRowImpl.java:1029)
         at oracle.jbo.server.ViewRowImpl.setAttributeValues(ViewRowImpl.java:1703)
         at oracle.adf.model.binding.DCDataControl.setAttributesInRow(DCDataControl.java:2428)
         at oracle.jbo.uicli.binding.JUCtrlValueBinding.setAttributeValuesInRow(JUCtrlValueBinding.java:976)
         at oracle.jbo.uicli.binding.JUCtrlListBinding.setTargetAttrsFromLovRow(JUCtrlListBinding.java:2801)
         at oracle.jbo.uicli.binding.JUCtrlListBinding.setTargetAttrsFromLovRowAndUpdateMRU(JUCtrlListBinding.java:2702)
         at oracle.adfinternal.view.faces.model.binding.FacesCtrlLOVBinding.setInputValueInRow(FacesCtrlLOVBinding.java:1164)
         at oracle.jbo.uicli.binding.JUCtrlValueBinding.setInputValue(JUCtrlValueBinding.java:2814)
         at oracle.jbo.uicli.binding.JUCtrlValueBinding.setInputValue(JUCtrlValueBinding.java:2777)
         at oracle.jbo.uicli.binding.JUCtrlValueBinding.put(JUCtrlValueBinding.java:2434)
         at oracle.jbo.uicli.binding.JUCtrlListBinding.put(JUCtrlListBinding.java:3428)
         at javax.el.MapELResolver.setValue(MapELResolver.java:229)
         at com.sun.faces.el.DemuxCompositeELResolver._setValue(DemuxCompositeELResolver.java:252)
         at com.sun.faces.el.DemuxCompositeELResolver.setValue(DemuxCompositeELResolver.java:278)
         at com.sun.el.parser.AstValue.setValue(Unknown Source)
         at com.sun.el.ValueExpressionImpl.setValue(Unknown Source)
         at org.apache.myfaces.trinidad.component.UIXEditableValue.updateModel(UIXEditableValue.java:289)
         at org.apache.myfaces.trinidad.component.UIXEditableValue.processUpdates(UIXEditableValue.java:252)
         at org.apache.myfaces.trinidad.component.ChildLoop$Update.process(ChildLoop.java:76)
         at org.apache.myfaces.trinidad.component.ChildLoop.runAlways(ChildLoop.java:55)
         at org.apache.myfaces.trinidad.component.ChildLoop.runAlways(ChildLoop.java:48)
         at org.apache.myfaces.trinidad.component.UIXColumn.processUpdates(UIXColumn.java:111)
         at oracle.adf.view.rich.component.rich.data.RichColumn.processUpdates(RichColumn.java:264)
         at org.apache.myfaces.trinidad.component.UIXCollection.processComponent(UIXCollection.java:993)
         at org.apache.myfaces.trinidad.component.TableUtils$3.process(TableUtils.java:283)
         at org.apache.myfaces.trinidad.component.ChildLoop.runAlways(ChildLoop.java:55)
         at org.apache.myfaces.trinidad.component.ChildLoop.runAlways(ChildLoop.java:48)
         at org.apache.myfaces.trinidad.component.TableUtils.processStampedChildren(TableUtils.java:278)
         at oracle.adf.view.rich.component.UIXTable.processStamps(UIXTable.java:202)
         at org.apache.myfaces.trinidad.component.UIXTable.processFacetsAndChildren(UIXTable.java:382)
         at org.apache.myfaces.trinidad.component.UIXCollection.updateChildrenImpl(UIXCollection.java:209)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.updateChildren(UIXComponentBase.java:1043)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.processUpdates(UIXComponentBase.java:827)
         at org.apache.myfaces.trinidad.component.UIXTable.processUpdates(UIXTable.java:166)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.updateChildrenImpl(UIXComponentBase.java:1053)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.updateChildren(UIXComponentBase.java:1043)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.processUpdates(UIXComponentBase.java:827)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.updateChildrenImpl(UIXComponentBase.java:1053)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.updateChildren(UIXComponentBase.java:1043)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.processUpdates(UIXComponentBase.java:827)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.updateChildrenImpl(UIXComponentBase.java:1053)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.updateChildren(UIXComponentBase.java:1043)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.processUpdates(UIXComponentBase.java:827)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.updateChildrenImpl(UIXComponentBase.java:1053)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.updateChildren(UIXComponentBase.java:1043)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.processUpdates(UIXComponentBase.java:827)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.access$201(ContextSwitchingComponent.java:41)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$4.run(ContextSwitchingComponent.java:137)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.processUpdates(ContextSwitchingComponent.java:140)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.updateChildrenImpl(UIXComponentBase.java:1053)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.updateChildren(UIXComponentBase.java:1043)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.processUpdates(UIXComponentBase.java:827)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.updateChildrenImpl(UIXComponentBase.java:1053)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.updateChildren(UIXComponentBase.java:1043)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.processUpdates(UIXComponentBase.java:827)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.updateChildrenImpl(UIXComponentBase.java:1053)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.updateChildren(UIXComponentBase.java:1043)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.processUpdates(UIXComponentBase.java:827)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.access$201(ContextSwitchingComponent.java:41)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$4.run(ContextSwitchingComponent.java:137)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.processUpdates(ContextSwitchingComponent.java:140)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.updateChildrenImpl(UIXComponentBase.java:1053)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.updateChildren(UIXComponentBase.java:1043)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.processUpdates(UIXComponentBase.java:827)
         at org.apache.myfaces.trinidad.component.UIXForm.processUpdates(UIXForm.java:89)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.updateChildrenImpl(UIXComponentBase.java:1053)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.updateChildren(UIXComponentBase.java:1043)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.processUpdates(UIXComponentBase.java:827)
         at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1084)
         at javax.faces.component.UIViewRoot.processUpdates(UIViewRoot.java:728)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl$UpdateModelValuesCallback.invokeContextCallback(LifecycleImpl.java:1436)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:397)
         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.help.web.rich.OHWFilter.doFilter(Unknown Source)
         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)

  • Edit Authorization at Entity Level

    Problem: I am trying to Edit Authorization at entity level but my changes are not getting saved.
    Discription:
    I have use case that I want to make an entity read only for a role defined in my jazn.
    To do so, I am opening my entity, and in struture window...on right clicking the entity name I get this option to Edit Authorization.
    On Edit Authorization window, I get name of all the roles listed and options to select Read, Update and Delete in from of each Role.
    When I select "Read" for the role I want only read access and close this Edit Authorization window...my changes are not getting saved.
    Does anyone know why this is happening? Or any other way I can restrict users of a specific role to change the data for an entity.
    Thanks
    Vikas Kumar

    Hi,
    not sure what you mean by "changes are not saved". Are you saying they are physically not saved in that they don't show in the jazn-data.xml file ? If so, then this sounds odd and you should file a bug. If it is only that authorization is not enforced,have a look at this video as authorization on entities is a two step task
    http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/AdfSecurity/AdfSecurity.html
    Frank

  • How to give access to my application for my users

    I have created a report in APEX and i want to give access to users(not all) so that they can run the report.

    I created an access control page and i have created two end users to view the application. After that i try to login from end users credentials it is saying
    Access denied by Application security check but if i login in my account and click the run application and give end users credentials it is working.
    Thanks

  • Why do I need to log into google to use feedly? And, when I do, it wants me to give access to my to my account.

    Is this safe, why should I have to sign in with my google account? And why do I need to give access to my account?

    What does that mean. I'm just asking how to use one of the products that I was encouraged to use by a Mozilla email. I was worried about the issue of safety and privacy of having to sign in with another companies account (Google) and give access to that account.

  • Need help getting around the following error: JBO-27101: Attempt to access dead entity in EO.

    Hi everyone,
    My logic in prepareForDML() updates some attributes (shown in the snippet below) based on whether an insert or update is taking place. But, when I delete a line, I get the following error: JBO-27101: Attempt to access dead entity in EO. So far, I have not been able to catch this error.
            if (operation == DML_INSERT) {
                setLineId((new SequenceImpl("eo_s",
                                            getDBTransaction()).getSequenceNumber()));
                setCreatedBy(createdBy);
                setCreationDate(currentDateAndTime);
                setLastUpdatedBy(lastUpdatedBy);
                setLastUpdateDate(currentDateAndTime);
            } else if (operation == DML_UPDATE) {
                setLastUpdatedBy(lastUpdatedBy);
                setLastUpdateDate(currentDateAndTime);
    Any advice would be appreciated. Thanks!
    James

    Hi Timo,
    Thanks for responding. Whenever I delete a line and commit, I get the error. And, since inserts and updates are all that I am interested in, I did not think that I needed deletion logic. The VO contains several EOs, but all are reference EOs that cannot be updated except for the main EO.
    Here is the entire prepareForDML() method:
        protected void prepareForDML(int operation, TransactionEvent e) {
            // BEGIN Initial Version
            // Using prepareForDML is a best practice (versus doDML).
            ApplicationModule am;
            boolean lineIsValid;
            byte entityState;
            byte postState;
            Date currentDateAndTime;
            Date weekEndingDate;
            Number createdBy;
            Number lastUpdatedBy;
            String amConfiguration;
            String amDefinition;
            String entityStateText;
            String operationText;
            String postStateText;
            ServicesAMImpl servicesAMImpl;
            Timestamp timeStamp;
            // amDefinition = "com.model.services.ServicesAM";
            // amConfiguration = "ServicesAMLocal";
            // am = Configuration.createRootApplicationModule(amDefinition, amConfiguration);
            createdBy = new Number(-1); // TODO fnd_profile.value('USERNAME')
            entityState = getEntityState();      
            entityStateText = null;
            operationText = null;
            postState = getPostState();
            postStateText = null;
            lastUpdatedBy =
                    new Number(-1); // TODO fnd_profile.value('USERNAME'); is there a last login id?
            // servicesAMImpl = (ServicesAMImpl)am;
            // lineIsValid = servicesAMImpl.callValidateLineProcedure(getBillable());
            timeStamp = new Timestamp(System.currentTimeMillis());
            currentDateAndTime = new Date(timeStamp);
            // TODO Should weekEndingDate be in the callValidateLineProcedure()?
            weekEndingDate =
                    commonCode.nextDay(getActivityDate(), Calendar.THURSDAY);
            setWeekEndingDate(weekEndingDate);
            // TODO See https://community.oracle.com/message/9542286?tstart=14.
            // if (entityState != Entity.STATUS_DELETED & entityState != Entity.STATUS_DEAD)...
            System.err.println("prepareForDML - getLineId: " + getLineId());
            switch (operation) {
            case DML_DELETE:
                operationText = "Delete";
                break;
            case DML_INSERT:
                operationText = "Insert";
                break;
            case DML_UPDATE:
                operationText = "Update";
                break;
            System.err.println("prepareForDML - operationText: " +
                               operationText); // TODO
            // System.out.println("prepareForDML - operationText: " + operationText); // TODO
            switch (entityState) {
            case Entity.STATUS_INITIALIZED:
                entityStateText = "Initialized";
                break;
                // Don't do anything.
            case Entity.STATUS_UNMODIFIED:
                entityStateText = "Un-Modified";
                break;
                // Don't do anything.
            case Entity.STATUS_DEAD:
                entityStateText = "Dead";
                break;
                // Don't do anything.
            case Entity.STATUS_DELETED:
                entityStateText = "Deleted";
                break;
                // entity.revert();
                // entity.refresh(Entity.REFRESH_CONTAINEES);
            case Entity.STATUS_MODIFIED:
                entityStateText = "Modified";
                break;
                // entity.refresh(Entity.REFRESH_UNDO_CHANGES);
            case Entity.STATUS_NEW:
                entityStateText = "New";
                break;
                // entity.refresh(Entity.REFRESH_FORGET_NEW_ROWS);
                // entity.refresh(Entity.REFRESH_REMOVE_NEW_ROWS);
            default:
                entityStateText = String.valueOf(entityState);
            System.err.println("prepareForDML - entityStateText: " +
                               entityStateText);
            switch (postState) {
            case Entity.STATUS_INITIALIZED:
                postStateText = "Initialized";
                break;
                // Don't do anything.
            case Entity.STATUS_UNMODIFIED:
                postStateText = "Un-Modified";
                break;
                // Don't do anything.
            case Entity.STATUS_DEAD:
                postStateText = "Dead";
                break;
                // Don't do anything.
            case Entity.STATUS_DELETED:
                postStateText = "Deleted";
                break;
                // entity.revert();
                // entity.refresh(Entity.REFRESH_CONTAINEES);
            case Entity.STATUS_MODIFIED:
                postStateText = "Modified";
                break;
                // entity.refresh(Entity.REFRESH_UNDO_CHANGES);
            case Entity.STATUS_NEW:
                postStateText = "New";
                break;
                // entity.refresh(Entity.REFRESH_FORGET_NEW_ROWS);
                // entity.refresh(Entity.REFRESH_REMOVE_NEW_ROWS);
            default:
                postStateText = String.valueOf(postState);
            System.err.println("prepareForDML - postStateText: " + postStateText);
            // DeadEntityAccessException
            if (operation == DML_INSERT) {
                setLineId((new SequenceImpl("eo_s",
                                            getDBTransaction()).getSequenceNumber()));
                setCreatedBy(createdBy);
                setCreationDate(currentDateAndTime);
                setLastUpdatedBy(lastUpdatedBy);
                setLastUpdateDate(currentDateAndTime);
            } else if (operation == DML_UPDATE) {
                setLastUpdatedBy(lastUpdatedBy);
                setLastUpdateDate(currentDateAndTime);
            // Configuration.releaseRootApplicationModule(am, true);
            // END Initial Version
            super.prepareForDML(operation, e);
    Here is the entire doDML() method:
        protected void doDML(int operation, TransactionEvent e) {
            // BEGIN Initial Version
            // This logic is for troubleshooting only.
            String operationText;
            operationText = null;
            switch (operation) {
            case DML_DELETE:
                operationText = "Delete";
                break;
            case DML_INSERT:
                operationText = "Insert";
                break;
            case DML_UPDATE:
                operationText = "Update";
                break;
            System.err.println("doDML - operationText: " + operationText); // TODO
            // System.out.println("doDML - operationText: " + operationText); // TODO
            // END Initial Version
            super.doDML(operation, e);
    James

  • Need to Give Access to my iMac to Work on this iMac Over Internet

    I do eCommerce from home using my iMac on Mac OS Lion.
    I want to hire somebody you can work from is home and manage all the task I do every day running this online store.
    What are the SAFE options to give access to my iMac?
    - I want to give complet access to my iMac
    - Parallels is instal on my iMac. I use Parallels Desktop to run Windows 7 and Quick Books accounting software. This is the main reason I want to give access to my iMac because most task are done online using email and my online store platform.
    My goal is to have access to all my informations when ever I need and supervise this employes.
    I tried ScreenSharing, I don't think it can do the job. It is ok to connect to a another computer to fix something, but to use everyday, it looks slow.
    How about Lion Server? Can it do the job?
    What those thise involve? Buy another mac and installing my accounting software on it?
    What are the cost to have a small server? The smallest.
    Can I set this uo myself?
    I found Open VPN on the internet, would it be a good option?
    New to VPN, is it easy to setup my computer?
    Is it safe?
    Anything I should know about creating this kind of network?
    One last thing, I have this old PowerBook G4, do you thing this employe can connect to my imac using this laptop? If yes, does I need a special vesrion of Mac OS to make this work?
    Thank you for your help.
    BigBlaze
    PS: if QuickBooks was a online platform, thing will have been much more easy

    You are going to need a server of some type, web server, that you or your emplyees can connect to,  concurrently, over a VPN connection.
    I really don't thing this is the forum for this type of thing.
    Good luck and best wishes.

  • Validation on Entity level

    Hi All,
    In Jdev11g, I have set the validation on attribute level to check whether a field (e.g. password) contains only alphanumeric.
    I have used Rule Type as Regular Expression with the regular expression value [A-Za-z0-9]+.
    I am worried, why this validation is not getting fired up?
    Please help me to get around this.
    Regards,
    Loganathan

    When do you expect it to fire?
    Entity level validation only occurs if you call it directly or doDML call has been issued.
    I guess the validation rules are inherited by the VO and by components build from the VO.
    Timo

  • Can I give access to truncate one table only ?

    Hi,
    We have system where it is deleting one table and inserting records using pro-cobol in a table owned by another schema. It means user b is inserting records in a's table i.e. t. Can I give access to truncate only a.t ? delete any table or drop any table will give access to b to truncate any table in 'a'. I do not want this. How can I achive this ?
    thanks & regards
    PJP

    As Justin already said there is no separate right to simple GRANT TRUNCATE ON TABLE to user.
    From the docs: http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_10006.htm#sthref9966
    To truncate a table or cluster, the table or cluster must be in your schema or you must have DROP ANY TABLE system privilege.
    So the best way would be to encapsulate this login in a packaged procedure as described by Justin.

  • Non-admin user cannot access Essbase server level variables

    Version 11.1.1.3
    Essbase Substitution variables are created at server level. Users are getting error in FR report that uses the Subsitution Variable -- Essbase Error(1051085): You do not have sufficient access to get this substitution variable. Also, users cannot access Substitution variable in SmartView. However, users can access variables created at database level. Users are provisioned as "Server Access" to Essbase and filter access to ASO application "MGTRPTG", where MGTRPTG is an ASO essbase application for reporting. We tried the same provisioning in two other environments and it seems to be working fine.
    User is type "Essbase and Planning" provisioned with essbase "server access", application mgtrptg "filter", Reporting and Analysis "analyst", "dynamic viewer" and "Explorer". In addition, it is given a filter "REP_DME_GALB" which restricts 2 dimensions (Division and Geography).
    Steps taken to resolve:
    1. Existing users were deprovisioned and reprovisioned with no effect.
    2. Created brand new identically provisioned users in Prod and QA. QA user can access the server level var and Prod user cannot
    3. Created a brand new server level variable in Prod and this cannot be accessed.
    4. All services have already been restarted several times.
    5. SR has been opened.
    Temporary workaround:
    By creating a duplicate of the same set of variables at the database level, the reports work. This can only be a temporary workaround as the client cannot be expected to maintain two sets of substitution variables since there are 3 applications using these server level variables.
    Thank you for any ideas!
    Jennifer

    You have stumbled on a defect which is resolved in the Hyperion Planning 9.3.1 patch 6 and above. If you have your planning preferences set to indent members it will cause forms which have page selections to show as invalid in SmartView.
    You can either patch Planning or turn off the preference. The patches are available from http://metalink3.oracle.com and require account which has been associated with your client ID.
    P.S. Usually it's not a good practice to use the admin id.
    Regards,
    -John
    Edited by: Jbooth on Nov 3, 2008 2:12 PM

  • Getting an error of "JBO-27101: Attempt to access dead entity in".

    Hi All,
    I have one Create Page where I have functionality of Create new SCodes in normal way as well as I have provided a functionality of Copy existing SCodes to new SCodes.
    Copy function works fine in all cases. But in one scenario, it is getting failed with the following error and that happens when I Save new records which creates in normal way and then try to copy the existing code to new code. I mean this errors is coming when we try to copy after saving a new record without doing any other operation.
    "oracle.jbo.DeadEntityAccessException: JBO-27101: Attempt to access dead entity in XxxxxEO, key=oracle.jbo.Key[20675 ]"
    Following is the portion of my code for Copy feature written in AM.
    XxxxxVOImpl vo = null;
    vo = getXxxxxVO2();
    OARow row;
    Row sourceRow, dataRow;
    vo.first();
    while (true)
    if (vo.getCurrentRow() != null)
    vo.removeCurrentRow();
    if (vo.next() == null)
    break;
    int recCount = 0;
    while ( !((sourceRow = sourceSiteVO.next()) == null) )
    recCount++;
    row = (OARow) vo.createRow();
    vo.insertRow(row);
    row.setAttribute("SCode",sourceRow.getAttribute("SCode"));
    If there are 2 old records to copy, first record gets created but while creation of second record this error is coming. It is failing at "vo.insertRow(row); " line of the above code.
    Has anybody faced the same problem and got any solution? Please advice me how to overcome on this issue.
    Help is appreciated.
    Thanks in advance,
    Arvin

    Iusue is resolved by removing following lines from the code.
    vo.first();
    while (true)
    if (vo.getCurrentRow() != null)
    vo.removeCurrentRow();
    if (vo.next() == null)
    break;
    Thanks,
    Arvin

  • How to display Entity level validation messages in a table

    I'm using ADF 11g 11.1.1.2.0. I have a page with an updateable table based on an EO. In the EO I have defined some entity level and attribute level declarative business rules. When the user enters a value in the table that violates an attribute level validation, the related message is displayed inline and the attribute is surrounded by a red box. Furthermore the user is not able to place his cursor in a different row. In this way it is clear which row and attribute caused the error. However if the user enters some data that violates an entity level validation, the validation message is displayed as global messages in the message-popup when the business rule is based on a script or a method. This means that the user gets a global message popup, and does not know which row caused the error. Ofcourse we can include the identifying attributes of the row in the error message, but I would like to know if there is another more visual way to communicate to the user which row caused the error.
    Edited by: Jonas de Graaff (PSB) on 10-feb-2010 2:51

    Hi Chittibabu,
    what about using a TreeTable control?
    SAPUI5 SDK - Demo Kit
    Regards
    Tobias

  • Need to give access to users for report painter query without GR55

    Hi,
    I need to create a transaction code for a query created using report painter. We do  not want to give access to user for GR55.
    Please help us in achieveing this one or any other way to execute report without GR55 access.
    Regds,
    Servesh
    Moderator: Please, search before posting - it has been answered several times

    Hi,
    You can create the transaction the same using SE93 transaction code.
    Also see the below link for detailed rocess:-
    [http://home4sap.com/Blog/2009/08/how-to-create-a-transaction-code-for-report-painter-reports/]
    Regards,
    Gaurav

  • Entity-level screen text substitution

    I am trying to create an entity-level attribute that will allow me to substitute text on an entity-level screen.
    My data model is: Global --> the employer --> the date of the absence from work. When asking about each absence, I want to display the name of the employer on the screen. Because you can only substitute (using public names) attributes at the same entity level as the screen, I need to make an attribute at the level of the absence that is equivalent to the name of the employer.
    How do I do this?
    (I suspect that I need to use ForScope(), but it's not clear to me how to use this to assign a value to a text attribute.)
    Thanks for any guidance you can provide.

    I'm assuming you know how to set up regular substitution where everything is at the same entity level, so I won't go into that.
    To substitute the name of the employer into labels on screens at the entity level below (the 'absence' level), you need to create an attribute at the 'absence' entity level, then infer its value based on the name of the employer. You'll need to use the 'For' function, and the reverse text of the relationship from Employer --> Absence
    There was a related question asked yesterday on the forum (Refering to entity instances from a more specific entity context I'll use the example from that to explain:
    We have the following entities:
    Global -- one-to-many --> the cat (Relationship text: the cats)
    the cat -- one-to-many --> the cat's toys (Relationship text: the cat's toys; Reverse relationship text: the toy of the cat)
    To substitute in the name of the cat into a label on a question screen about the cat's toy, I need to create an attribute at the entity level of the cat's toy ("the cat's toy name substitution variable" in this example). Then set it to be equal to the variable which collects the cat's name ("the cat" in this example), using the 'For' function and the reverse relationship text:
    the cat's toy name substitution variable = For(the toy of the cat, the cat)Then create a public name for "the cat's toy name substitution variable" (e.g. "CatNameSubstitution"), then plug that into the screen label in the usual way, i.e. %CatNameSubstitution%. Since the substitution variable is at the entity level of the cat's toy, it will work.

Maybe you are looking for

  • Program doesnt open after creating second account

    I created a second account (pm G5) because of a problem with idvd. But now cant open Final Cut Pro in older account, in my new aqccount it opens perfectly, Can anybody help me? Do i have to change preferences and where?? jeroen

  • Updates currently deployed development component

    Hi All,   I have NWDI installed and been using for quite some time. I upgraded it to SP19. I have like 10 DC's and let us say i changed only one DC and check in and release, import, assemble and import into test system. In the log file, I see that al

  • Consolidate Shared Reviews?

    I am using Acrobat Professional 8 on my desktop and laptop. I usually have several documents in shared review simultaneously. When I travel, I post the latest drafts for shared review from my laptop. However, none of the shared reviews I create from

  • Icons, Tools, everything in Photoshop 2014 is way, way to small.

    I've just upgraded to Photoshop 2014 CC, HD monitor running windows 8.1.  I'm seeing others on the forum are experiencing this issue, but I do not see a fix.   I've tried increasing text size in Edit / Preferences / Interface / UI font Size ; LARGE. 

  • Recently upgraded my Java to Java SE 6 1.6.0_33; now Final Cut Server won't launch due to security restrictions. Help!

    Running OSX 10.6.8, and I received a Software Update notification this morning stating that Java has a security update available. So, being the dilligent updater that I am, I updated to Java SE 6 1.6.0_33. Now Final Cut Server will not launch, statin