Add validations to z table update view

Hi all,
i have a z table updated by a z transaction that uses an update view generated in se11. The view inserts and/or updates one field of several registers and i need to check if the sum of them is less than certain value.
Thanks in advance for any help.

Hi Ebaristo,
You would need to use table maintenance events "01" and "05" so that the check will be executed when you changes an existing entry as well as when you create a new entry.
There is good article in SDN on how to use events: at http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/8129f164-0a01-0010-2a8e-8765287250fc?quicklink=index&overridelayout=true
Regards,
Ramnivas

Similar Messages

  • Authorization on Table Maintenance View

    HI,
         How can I add the authorization on table maintenance view?
    Saurabh

    Hi Joshi,
    When ever u get the table maintanace view creation screen in that select &NC% value.
    Reply for queries.Shall post the data.
    Regards,
    Kumar.

  • How to add a new table or view in the view object

    hello,every one.
    I wanna add a new table or view in the view object's query statement.
    when the table or view not in the where clause,the query statement is working fine.
    If they in the where clause,I got the "java.lang.NullPointerException".
    who can help me
    thank you very much

    thank you for your reply
    I wanna extend the VO
    oracle.apps.pay.selfservice.payslip.US.server.PayPayslipGetPersonDetail
    the original sql is:
    SELECT ppf.person_id,
    FROM per_people_f ppf,
    per_assignments_f paf,
    pay_assignment_actions paa
    where paa.assignment_action_id = :1 AND paf.assignment_id = paa.assignment_id AND SYSDATE BETWEEN paf.effective_start_date AND paf.effective_end_date AND paf.person_id = ppf.person_id
    I wanna extend:
    SELECT ppf.person_id, pay_v.element_name,pay_v.assignment_action_id
    FROM per_people_f ppf,
    per_assignments_f paf,
    pay_assignment_actions paa,
    pay_run_results_v pay_v
    where paa.assignment_action_id = :1 AND paf.assignment_id = paa.assignment_id AND SYSDATE BETWEEN paf.effective_start_date AND paf.effective_end_date AND paf.person_id = ppf.person_id
    pay_v.assignment_action_id =paa.assignment_action_id
    if the pay.v in the where clause. I will got the exception. whereas,it's works fine.

  • Need to add Run time Validation in Advanced table column

    Hi Friends,
    I've an requirement to add the validation in Advanced table.
    issue is, In eAM Work Order, currently we have ability to add Operation Seq Number as 0, but we need to add one validation to avoid 0 value.
    Oracle gave us the patch but we cannot apply the patch which is bring up the eAM version to higher level.
    decided to handle it in controller and made changes to the handleOpSummaryEvent event.
    Below is my code.
    if("handleOpSummaryEvent".equals(s))
    OAApplicationModule oaapplicationmodule = oapagecontext.getApplicationModule(oawebbean);
    String wipEntityID = ((Number)oapagecontext.getTransactionValue("WipEntityId")).toString();
    oapagecontext.writeDiagnostics(this, (new StringBuilder()).append("Inside wip entity Id: ").append(wipEntityID).toString(), 2);
    String opSeqTrans = (String)oapagecontext.getTransactionValue("SelectedOpSeq");
    String op = oapagecontext.getParameter("OpSeqSummary");
    oapagecontext.writeDiagnostics(this, (new StringBuilder()).append("Inside op : ").append(op).toString(), 2);
    oapagecontext.writeDiagnostics(this, (new StringBuilder()).append("Inside operation Seq Value: ").append(opSeqTrans).toString(), 2);
    ViewObject vo = oaapplicationmodule.findViewObject("OperationSummaryVO");
    if (!vo.equals(null))
    oapagecontext.writeDiagnostics(this, "Inside vo not equals to null", 2);
    vo.setWhereClauseParam(0,wipEntityID);
    vo.executeQuery();
    int fetchedRowCount = vo.getRowCount();
    oapagecontext.writeDiagnostics(this, (new StringBuilder()).append("Inside fetched row count : ").append(fetchedRowCount).toString(), 2);
    if(fetchedRowCount > 0)
    RowSetIterator iter = vo.findRowSetIterator("opIter");
    if(iter == null)
    iter = vo.createRowSetIterator("opIter");
    iter.setRangeStart(0);
    iter.setRangeSize(fetchedRowCount);
    Row row = null;
    for(int i = 0; i < fetchedRowCount; i++)
    OperationSummaryVORowImpl operationsummaryvorowimpl = (OperationSummaryVORowImpl)iter.getRowAtRangeIndex(i);
    Number opSeq = operationsummaryvorowimpl.getOperationSeqNum();
    oapagecontext.writeDiagnostics(this, (new StringBuilder()).append("Inside operation Seq Value 2: ").append(opSeq.intValue()).toString(), 2);
    float f = 0.0F;
    if(opSeq != null)
    f = opSeq.floatValue();
    if(f <= 0.0F)
    //throw new OAException("Enter Valid Operation Sequence Number. 0 is Invalid Operation Sequence",OAException.ERROR);
    oapagecontext.writeDiagnostics(this, "Inside opseq equals 0", 2);
    iter.closeRowSetIterator();
    String s2 = oapagecontext.getParameter("evtSrcRowRef");
    Serializable aserializable[] = {s2, "Summary"};
    oaapplicationmodule.invokeMethod("handleOpEvent", aserializable);
    oapagecontext.writeDiagnostics(this, (new StringBuilder()).append("Inside s2 : ").append(s2).toString(), 2);
    Issue is, when ever i create new line and enter any value at operation seq, validation fires and new line is deleted.
    Please let me know how i can fix this issue.
    Thanks
    Aswath

    Hi Friends,
    I solved it by myself.
    if("handleOpSummaryEvent".equals(s))
    OAApplicationModule oaapplicationmodule = pageContext.getApplicationModule(webBean);
    String s2 = pageContext.getParameter("evtSrcRowRef");
    OperationSummaryVORowImpl rowimpl = (OperationSummaryVORowImpl)oaapplicationmodule.findRowByRef(s2);
    Number opSeq = ((OperationSummaryVORowImpl)(rowimpl)).getOperationSeqNum();
    pageContext.writeDiagnostics(this, (new StringBuilder()).append("Inside row operation sequence: ").append(opSeq.intValue()).toString(), 2);
    if (opSeq.intValue() == 0)
    throw new OAException("Enter Valid Operation Sequence Number. 0 is Invalid Operation Sequence",OAException.ERROR);
    Serializable aserializable[] = {s2, "Summary"};
    oaapplicationmodule.invokeMethod("handleOpEvent", aserializable);
    Thanks
    Aswath

  • Add record through pop to search view criteria table?

    Hi,
    I am trying to add data from pop to search view criteria table but i am strukked at inserting data through popup...
    i got nullpointer exception like this
    <RegionRenderer> <encodeAll> The region component with id: pt1: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.
    <RowGatherCallback> <processComponent> Illegal child component ("javax.faces.component.html.HtmlOutputText@17cc21b" id="j_id256") detected inside parent component ("panelGridLayout" with clientId="pt1:r1:1:pgc1:pt_pgl3"). The child component must instead be of type "gridRow" instead.
    <Utils> <buildFacesMessage> ADF: Adding the following JSF error message: java.lang.NullPointerException
    java.lang.NullPointerException
        at oracle.jbo.server.QueryCollection.getRowSetRefs(QueryCollection.java:2675)
        at oracle.jbo.server.ViewObjectImpl.notifyRowUpdated(ViewObjectImpl.java:12174)
        at oracle.jbo.server.ViewObjectImpl.afterRowUpdate(ViewObjectImpl.java:13921)
        at oracle.jbo.server.ViewObjectImpl.sourceChanged(ViewObjectImpl.java:14224)
        at oracle.jbo.server.EntityCache.sendEvent(EntityCache.java:1566)
        at oracle.jbo.server.EntityCache.deliverEntityEvent(EntityCache.java:1582)
        at oracle.jbo.server.EntityCache.notifyColumnAndBlgChange(EntityCache.java:1640)
        at oracle.jbo.server.EntityImpl.notifyAttributesChanged(EntityImpl.java:7426)
        at oracle.jbo.server.EntityImpl.notifyAttributesChanged(EntityImpl.java:7407)
        at oracle.jbo.server.ViewRowImpl.setAttributeValues(ViewRowImpl.java:1827)
        at oracle.adf.model.binding.DCDataControl.setAttributesInRow(DCDataControl.java:2447)
        at oracle.jbo.uicli.binding.JUCtrlValueBinding.setAttributeValuesInRow(JUCtrlValueBinding.java:997)
        at oracle.jbo.uicli.binding.JUCtrlListBinding.setTargetAttrsFromLovRow(JUCtrlListBinding.java:2813)
        at oracle.jbo.uicli.binding.JUCtrlListBinding.updateTargetFromSelectedValue(JUCtrlListBinding.java:2941)
        at oracle.jbo.uicli.binding.JUCtrlListBinding.setAttributeFromValueList(JUCtrlListBinding.java:2886)
        at oracle.jbo.uicli.binding.JUCtrlListBinding.setSelectedIndex(JUCtrlListBinding.java:1752)
        at oracle.jbo.uicli.binding.JUCtrlListBinding.setInputValueInRow(JUCtrlListBinding.java:3541)
        at oracle.jbo.uicli.binding.JUCtrlValueBinding.setInputValue(JUCtrlValueBinding.java:2926)
        at oracle.jbo.uicli.binding.JUCtrlValueBinding.setInputValue(JUCtrlValueBinding.java:2889)
        at oracle.adfinternal.view.faces.model.binding.FacesCtrlListBinding.setInputValue(FacesCtrlListBinding.java:458)
        at oracle.jbo.uicli.binding.JUCtrlValueBinding.put(JUCtrlValueBinding.java:2546)
        at oracle.jbo.uicli.binding.JUCtrlListBinding.put(JUCtrlListBinding.java:3437)
        at javax.el.MapELResolver.setValue(MapELResolver.java:229)
        at com.sun.faces.el.DemuxCompositeELResolver._setValue(DemuxCompositeELResolver.java:255)
        at com.sun.faces.el.DemuxCompositeELResolver.setValue(DemuxCompositeELResolver.java:281)
        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:361)
        at org.apache.myfaces.trinidad.component.UIXEditableValue.processUpdates(UIXEditableValue.java:311)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.updateChildrenImpl(UIXComponentBase.java:1269)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.updateChildren(UIXComponentBase.java:1259)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.processUpdates(UIXComponentBase.java:1012)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.updateChildrenImpl(UIXComponentBase.java:1269)
        at oracle.adf.view.rich.component.fragment.UIXRegion.updateChildrenImpl(UIXRegion.java:669)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.updateChildren(UIXComponentBase.java:1259)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.processUpdates(UIXComponentBase.java:1012)
        at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl$UpdateModelValuesCallback.invokeContextCallback(LifecycleImpl.java:1561)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnNamingContainerComponent(UIXComponentBase.java:1670)
        at oracle.adf.view.rich.component.fragment.UIXRegion.invokeOnComponent(UIXRegion.java:625)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1627)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1750)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1627)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1750)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1627)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1750)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1627)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1750)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1627)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnNamingContainerComponent(UIXComponentBase.java:1693)
        at oracle.adf.view.rich.component.fragment.UIXRegion.invokeOnComponent(UIXRegion.java:625)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1627)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1750)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1627)
        at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.invokeOnComponent(ContextSwitchingComponent.java:222)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1627)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1750)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1627)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1750)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1627)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1750)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1627)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1750)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1627)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1750)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1627)
        at oracle.adf.view.rich.component.fragment.UIXInclude.invokeOnComponent(UIXInclude.java:161)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1627)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1750)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1627)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1750)
        at org.apache.myfaces.trinidad.component.UIXDocument.invokeOnComponent(UIXDocument.java:106)
        at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:1321)
        at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:678)
        at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:382)
        at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:202)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
        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:173)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:125)
        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
        at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:293)
        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:199)
        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:180)
        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)
    can any body help me out this?..
    ThankYou

    HI,
    I think you have created form using two view objects ...recheck one of the value is null before commit ..
    Thanks
    Nitesh

  • Update view ( view is based on 3 tables)

    i have view based on 3 tables.
    create view view_master
    select '1' as no , name , no from a
    union all
    select '2' as no , name , no from b
    union
    select '3' as no , name , no from c
    actually i wanted to update view base table, Can i update a view view_master ?
    My question here is does oracle support view update ( view is based on 3 tables)
    Please advise ,,,

    Apart from Instead of trigger any other work around? The best way to answer that question is if you let us know:
    - your database version ( select * from v$version; )
    - give us a narrowed down example of the 'begin-situation' and the desired 'final situation'.\
    See:
    {message:id=9360002} for more details.
    MY ORACLE DBA hates tiggers .He's not the only one ;)

  • BI Administrator Error When Updating Rowcount: table or view does not exist

    I am using BI Administrator 11g. After creating a new repository and importing metadata, I brought the Physical model into the BMM layer. When I tried to update the rowcount for the tables in the physical layer, I get:
    There was an error while updating row count for "<instance>".."<schema>"."<tablename>"
    [nQSError 17011] SQL statement execution failed.
    [nQSError 17001] Oracle error code 942, message: ORA-00942: table or view does not exist at OCI call OCIStmtExecute: select count(*) from <tablename>.
    I created the connection pool during the import process and the tables were found at that time. But after the import is complete I can never update the row counts. I do have access to all the tables in question via the user account in the connection pool.
    Anyone have any ideas?
    Thanks,
    Ken

    You need to check "Require Fully Qualified Name check box in connection pool properties. This is needed when you are using non owner user name for accessing database shemas.

  • Attach User define tables and view table need add to database into my add-o

    Hi there,
    I want to deploy an addon, there are User define tables and view table need add to database.
    I need some advice on some issues..
    1. Can I attach User define tables and view table need add to database into my addon.
    2. I wonder which chance is properly to add them, if add these user define objects in time of install and I can't get the enough information that connect to SQL server
    Thanks for any help.

    Hi Weerachai,
    Here's an example of how to create a user-defined table in code. My suggestion would be to check if it exists when your add-on starts up and then if not, create the tables, fields and objects.
    'User Table
        Private Sub CreateTable(ByVal sTable As String, ByVal sDescription As String, ByVal oObjectType As SAPbobsCOM.BoUTBTableType)
            Dim oUserTablesMD As SAPbobsCOM.UserTablesMD
            Dim iResult As Long
            Dim sMsg As String
            oUserTablesMD = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserTables)
            If Not oUserTablesMD.GetByKey(sTable) Then
                oUserTablesMD.TableName = sTable
                oUserTablesMD.TableDescription = sDescription
                oUserTablesMD.TableType = oObjectType
                iResult = oUserTablesMD.Add()
                If iResult <> 0 Then
                    oCompany.GetLastError(iResult, sMsg)
                    MessageBox.Show("Error Creating Table: " & sTable & " Error: " & sMsg)
                End If
            End If
            System.Runtime.InteropServices.Marshal.ReleaseComObject(oUserTablesMD)
        End Sub
    'User Field
        Private Sub CreateField(ByVal sTable As String, ByVal sName As String, ByVal sDescription As String, _
                                ByVal iSize As Integer, ByVal aFieldType As SAPbobsCOM.BoFieldTypes, _
                                ByVal aSubType As SAPbobsCOM.BoFldSubTypes, ByVal sLink As String, _
                                ByVal bMandatory As SAPbobsCOM.BoYesNoEnum)
            Dim oUserFieldsMD As SAPbobsCOM.UserFieldsMD
            Dim oTable As SAPbobsCOM.UserTable
            Dim iResult As Long
            Dim sMsg As String
            Dim i As Integer
            Dim x As Integer
            Dim bFound As Boolean = False
            Dim oField As SAPbobsCOM.Field
            oTable = oCompany.UserTables.Item(sTable)
            For i = 0 To oTable.UserFields.Fields.Count - 1
                oField = oTable.UserFields.Fields.Item(i)
                'MessageBox.Show(oField.Name)
                If oField.Name = "U_" & sName Then
                    bFound = True
                End If
            Next
            System.Runtime.InteropServices.Marshal.ReleaseComObject(oTable)
            If Not bFound Then
                oUserFieldsMD = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields)
                oUserFieldsMD.TableName = "@" & sTable
                oUserFieldsMD.Name = sName
                oUserFieldsMD.Description = sDescription
                oUserFieldsMD.Type = aFieldType
                If aFieldType = SAPbobsCOM.BoFieldTypes.db_Alpha Or aFieldType = SAPbobsCOM.BoFieldTypes.db_Numeric Then
                    oUserFieldsMD.EditSize = iSize
                Else
                    oUserFieldsMD.SubType = aSubType
                    oUserFieldsMD.Mandatory = bMandatory
                End If
                oUserFieldsMD.LinkedTable = sLink
                iResult = oUserFieldsMD.Add()
                If iResult <> 0 Then
                    oCompany.GetLastError(iResult, sMsg)
                    MessageBox.Show("Error Creating Field: " & sTable & "." & sName & " Error: " & sMsg)
                End If
                System.Runtime.InteropServices.Marshal.ReleaseComObject(oUserFieldsMD)
            End If
        End Sub
    If you want to create a View I think you would have to use the RecordSet object. This will ensure that you don't have to log in to the database again
    Hope it helps,
    Adele

  • How do you add a validator on a table?

    Hi,
    I have an ADF table. The user can add or remove elements to this table.
    I want to add a validator on the table, that will be invoked, when I leave the page.
    This validator will check if the user has added at-least one entry in the row.
    I created the validator. I cannot hook it to the "af:table" component. The table component does not provide any kind of validator attribute.
    I tried adding "<af:validator></af:validator>" within the table and it didn't work.
    How do you add a validator on the table?

    Olivier,
    My page fragment that contains the table, is 3/5 train stop out of a train.
    So when I say leave the page, I mean navigate to the next or previous train stop.
    All I want to do is make sure that the user added at-least one row to the table e.g. one contact. This kind of validation does not belong on the entity. That is because that validation will not get fired until the commit point; which in my scenario will be on the 5th train stop i.e. too late.
    As for your other suggestion about adding a button or a link, that is not an option. A button or a link would require explicit user action. What happens if the user doesnot click the link or the button? Then the validation will not be invoked and the user will be allowed to go to the next fragment without adding the contact row.
    --ajay                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist while invoking a DBAdapter

    I have a WebService which is invoked , the request is routed through the mideator to the DBAdapter .DBAdapter interacts with the database and replies the result.
    I send in the CreditCardNumber in the request and recieve its Status (VALID,INVALID). i get this error every time . i have tried almost every thing to fix this . Please help me with same .
    Below is the complete error stacktrace.
    Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'getCreditValidationSelect' failed due to: DBReadInteractionSpec Execute Failed Exception. Query name: [getCreditValidationSelect], Descriptor name: [getCreditValidation.Creditcardinfo]. Caused by java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist . See root exception for the specific exception. This exception is considered retriable, likely due to a communication failure. To classify it as non-retriable instead add property nonRetriableErrorCodes with value "942" to your deployment descriptor (i.e. weblogic-ra.xml). To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff. All properties are integers. ". The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution.
    Thanks in advance

    Can you please check the following
    a. check the JNDI Configuration. ( check for the value used for XADatasourceName )
    b. check the Data source created for the User.
    c. Incase you have updated the existing JNDI then you need to update the adapter with the New Deployment Plan.
    Thanks,
    Sunil Gopal

  • Table maintenance view -user exit

    Hello, as you all know, there is a program generated behind the table maintenance view. I want to add certain validation on the values entered in the table maintenance.
    I know that modifying the program is not the best practice.
    Is there any user exit which will permit me to do this?
    thx.

    Hi Antish,
        Try to go with the table events. For this goto the Table Maintenance Generator Screen --> Environment --> Modification --> Events. Here you can handle some events according to your requirement. Validations can be done only in this way.
    Regards,
    Swapna.

  • Edit Add New Item link in certain view of list in SharePoint Programmtically

    this is my requirements
    i have one list called List 1 and two content types on it
    CT 1 and
    CT 2 and create two views on the list
    View 1 to display items of CT 1 
    View 2 to display items of CT 2 
    the creation of list and views is done via XML 
    now i need to change the URL of add new item link in every view to open its content type, i.e. when i was on view 1 i click on add new item, it will open new item form of CT 1 and hen i was on view 2 and click on add new item, it will open new item form
    of CT 2 
    i do a lot of search on the internet but get the following code but it doesn't work for me, i already wrote it in event receiver
    SPSecurity.RunWithElevatedPrivileges(delegate()
    SPWeb web = properties.Feature.Parent as SPWeb;
    web.AllowUnsafeUpdates = true;
    SPList contractList = web.Lists.TryGetList("Contract");
    SPLimitedWebPartManager webpartManager = web.GetLimitedWebPartManager("Lists/ContractList/SICET%202A%20Contract.aspx", PersonalizationScope.Shared);
    foreach (System.Web.UI.WebControls.WebParts.WebPart item in webpartManager.WebParts)
    if (item.GetType().Name == "XsltListViewWebPart")
    XsltListViewWebPart listViewWebPart = (XsltListViewWebPart)item;
    Guid guid = new Guid(listViewWebPart.ViewGuid); // get the view details which is applied to web part
    SPView sicet2AView = contractList.Views[guid];
    sicet2AView.GetType().InvokeMember("EnsureFullBlownXmlDocument",
    System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.InvokeMethod,
    null,sicet2AView,null);
    PropertyInfo nodeProp = sicet2AView.GetType().GetProperty("Node", BindingFlags.NonPublic | BindingFlags.Instance);
    XmlNode node = nodeProp.GetValue(sicet2AView, null) as XmlNode;
    XmlNode toolbarNode = node.SelectSingleNode("Toolbar");
    //sicet2AView.ViewFields.DeleteAll();
    if (toolbarNode != null)
    string toolbarType = toolbarNode.Attributes["Type"].Value;
    string linkText = "abdeen";
    toolbarNode.Attributes["Type"].Value = "Freeform";
    XmlAttribute positionNode = toolbarNode.OwnerDocument.CreateAttribute("Position");
    positionNode.Value = "After";
    toolbarNode.Attributes.Append(positionNode);
    //toolbarNode.InnerXml = @"<IfHasRights><RightsChoices><RightsGroup PermAddListItems=""required"" /></RightsChoices><Then><HTML><![CDATA[ <table width=100% cellpadding=0 cellspacing=0 border=0 > <tr> <td colspan=""2"" class=""ms-partline""><IMG src=""/_layouts/images/blank.gif"" width=1 height=1 alt=""""></td> </tr> <tr> <td class=""ms-addnew"" style=""padding-bottom: 3px""> <img src=""/_layouts/images/rect.gif"" alt="""">&nbsp;<a class=""ms-addnew"" ID=""idAddNewItem"" href=""www.facebook.com""]]></HTML><URL Cmd=""New"" /><HTML><![CDATA["" ONCLICK=""javascript:NewItem(']]></HTML><URL Cmd=""New"" /><HTML><![CDATA[', true);javascript:return false;"" target=""_self"">]]></HTML><HTML>" + linkText + @"</HTML><HTML><![CDATA[</a> </td> </tr> <tr><td><IMG src=""/_layouts/images/blank.gif"" width=1 height=5 alt=""""></td></tr> </table>]]></HTML></Then></IfHasRights>";
    toolbarNode.InnerXml = @"<IfHasRights><RightsChoices><RightsGroup PermAddListItems=""required"" /></RightsChoices><Then><HTML><a class=""ms-addnew"" ID=""idAddNewItem"" href=""www.facebook.com"">Test</a></HTML></Then></IfHasRights>";
    sicet2AView.Update();
    //listViewWebPart.ViewGuid = sicet2AView.ID.ToString("B").ToUpper();
    //listViewWebPart.Visible = true;
    webpartManager.SaveChanges(listViewWebPart);
    web.Update();
    but it doesn't work, my first trail is changing the text of the link then go to change the link any help plz
    Mohamed Abdeen

    Hi,
    The “Add new item” button will redirect users to add new item with the default Content Type of the current list.
    So a workaround can be like this: We can change the default Content Type of this list every time when users open this list view page, then the “Add new item” button will work
    as you expected.
    Here is a link with code demo about how to programmatically set a content type as default content type in a SharePoint 2013 List:
    http://www.ashokraja.me/tips/How-to-programmatically-set-a-content-type-as-default-content-type-in-a-SharePoint-2013-List
    We can put the code into a Visual Web Part and add it into your two views, then when users open a list view page, the code will be executed to change the default Content Type
    of the current list.
    To develop a custom web part, you can take a look at the links below with steps in detail for a start:
    Creating Web Parts for SharePoint
    http://msdn.microsoft.com/en-us/library/ee231579.aspx
    SharePoint 2013 Create a Visual Web Part
    http://raquelalineblog.wordpress.com/2013/04/25/sharepoint-2013-create-a-visual-web-part/
    Thanks
    Patrick Liang
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Patrick Liang
    TechNet Community Support

  • YTD, QTD and Year grain metrics = ORA-00942: table or view does not exist

    Hi everyone,
    I'm having a weird issue. I've got some GL data that I want to report on in three different grains: Quarter To Date, Year To Date and Entire Year. For the first two measures, I've setup a time dimension and I'm using the ToDate function. Works perfectly. For the third measure, I select the SUM aggregation and then in the Levels Tab, I go to my time dimension and set the logical level to "Year".
    Each measure reports correctly by itself, however, when I join in the three in one report, the who thing blows up on me and gives me an ORA message:
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 17001] Oracle Error code: 942, message: ORA-00942: table or view does not exist at OCI call OCIStmtExecute. [nQSError: 17010] SQL statement preparation failed. (HY000)
    When I only do two of the measures (any two), the report works fine. But it's when I add that third measure in, I get myself in trouble. Additionally, I checked the log file and the report never gets to the point where it generates a physical query. It's only creating a logical query and then it doesn't save the physical query anywhere.
    Can anyone explain what the problem is? Why don't these three measures behave well together? What can I do to force them to co-operate?
    It seems that the real culprit is the entire year measure. It only behaves well with 1 other measure, but once you get two additional measures, it causes the report to get the ORA error.
    Thanks for any help you can give!
    -Joe

    It turns out I was incorrect that there were no physical queries being generated. They were there in the log files, they had so many SAWITH<number> clauses that I thought they were the logical query (i.e. saw_0, saw_1, etc).
    Once I found the physical query, I ran it by hand and also got the table did not exist error. I added in WITH clause by with clause until I got the error to occur. After about an hour of digging, it turned out that a query using a full outer join (about 16 queries in) caused the table does not exist error. I'm not sure what it is about the full outer join that makes Oracle not see the table. When I get some free time I'll dig deeper into that issue.
    But once I realized what was going on, I went into the DB connections and disabled FULL OUTER JOINs. No problem now.
    Like I said, if I find what caused the original problem (i.e. what syntactically was incorrect about the FULL OUTER JOIN), I'll update this post.
    -Joe

  • Updatable view vs Bulk Collect

    Hi friends.
    I need to know what is more fast....
    1. SELECT RO.NR_ORDEM BULK COLLECT INTO R
    FROM REP_ORD RO, REP_TRAB RT
    WHERE RO.NR_ORDEM = RT.NR_ORDEM ;
    FORALL I IN 1..R.COUNT
    DELETE REP_ORD WHERE NR_ORDEM = R(I);
    FORALL I IN 1..R.COUNT
    DELETE REP_TRAB WHERE NR_ORDEM = R(I);
    or
    2. To create an updatable view using something like the above select. After that, to delete data from view.
    Thank you for your patient.
    Message was edited by:
    Paulinha

    I think the bulk collect approach would be certainly be easier to implement. As someone pointed out, you can't delete from a view that has a table join - directly. However, you can create an "instead of" trigger to run a short PL/SQL program instead of deleting from the view, though, in chich you would then put your delete statements. The net effect of this would be that you were back where you started with the overhead of using a view as well (though this would probably not add too much extra processing).
    Getting back to your original question, I'd guess the bulk collects would be faster provided you don't have too many items in your collections. The only way to be certain would be to do it both ways and time it.

  • Problem with creating "updatable" view. Any ideas?

    Hello to nice people!
    I'm trying to create plain, simple updatable view such as:
    CREATE OR REPLACE VIEW v_admin_maint
    (from_addrs,mail_invoice_addrs,auth_off,location_cd) AS SELECT
    A.from_addrs, A.mail_invoice_addrs, A.auth_off,
    A.location_cd FROM admin_maint A, sysusers B WHERE A.location_cd
    = B.location_cd and B.user_id = USER;
    TABLE admin_maint
    from_addrs,
    mail_invoice_addrs,
    auth_off,
    location_cd (PRIMARY KEY)
    TABLE sysusers
    USER_ID (PRIMARY KEY)
    FIRST_NAME
    LAST_NAME
    LOCATION_CD
    View works great as view-only, but I got an error on update
    statement "ORA-01779: cannot modify a column which maps to a non
    key-preserved table".
    UPDATE v_admin_maint SET from_addrs = 'test' where location_cd
    = 'HOME';
    TABLE admin_maint does have PK and this column included into
    VIEW.
    Any ideas? Please advice.

    You need to create a unique index on the location_cd column of
    the sysusers table, then re-create your view:
    SQL> ALTER TABLE sysusers
      2  ADD CONSTRAINT sysusers_location_cd_uk
      3  UNIQUE (location_cd)
      4  /
    Table altered.
    SQL> CREATE OR REPLACE VIEW v_admin_maint
      2    (from_addrs,
      3     mail_invoice_addrs,
      4     auth_off,
      5     location_cd)
      6  AS
      7  SELECT A.from_addrs,
      8         A.mail_invoice_addrs,
      9         A.auth_off,
    10         A.location_cd
    11  FROM   admin_maint A,
    12         sysusers B
    13  WHERE  A.location_cd = B.location_cd
    14  and    B.user_id = USER
    15  /
    View created.
    SQL> SELECT      column_name,
      2              updatable
      3  FROM        user_updatable_columns
      4  WHERE       table_name = 'V_ADMIN_MAINT'
      5  /
    COLUMN_NAME                    UPD
    FROM_ADDRS                     YES
    MAIL_INVOICE_ADDRS             YES
    AUTH_OFF                       YES
    LOCATION_CD                    YES
    SQL> UPDATE v_admin_maint
      2  SET    from_addrs = 'test'
      3  where  location_cd = 'HOME'
      4  /
    1 row updated.

Maybe you are looking for

  • Colors locked in Photoshop Elements 6

    Colors locked in Photoshop Elements 6 I created a 1 layer TIFF file in Photoshop Elements 6 with text only which was distorted then flattened. The result was grey text on a white background. The problem is I can't change the color of the gray text. I

  • No sound for video files in itunes or quicktime

    Hi, Itunes is working well for music playback. However I downloaded a video for the first time and although the movie plays there is no sound and then windows hangs for a short time. I tried going to www.quicktime.com and watching a movie trailer and

  • Message or chat window does not appear in ARD session

    i have 4 computers: imac, pro, pro, mini when running ARD on imac and trying to send message or chat - everything ok with all computers, but mini does not working properly. it seems thats something wants to appear in doc but it is just a small action

  • Invoke ODI Scenario from BPEL Process

    Hi: My problem is when invoke ODI Scenario from a BPEL Process, the error in ODI Designer is: Return Code 7000 java.lang.NullPointerException at com.sunopsis.dwg.dbobj.SnpSession.a(SnpSession.java) at com.sunopsis.dwg.dbobj.SnpSession.y(SnpSession.ja

  • After updating, Safari and others linked to Safari "quit unexpectedly"

    i recently searched for updates and found that a security update, itunes update, safari update, and java update were available. after the update, safari will not work. when i click on it, it bounces a few times and the bar says safari but nothing app