Customise database constraints errors

Hi All
I'm developing web application using jdeveloper Version 11.1.1.3.0. And I want to customise database constraints errors. I used message.property file to get the error. But It wont pick error from that file when a database error throws.
Eg. I configure the precision validation in the freeRate EO for the field rates. when it fires that error it doesnt diplay the configured error. always it disolays a error like this
" Error: Attribute set with value 1234567891234567891234567891234 for Boundary in SetupAM.feeRates1 has invalid precision/scale "
which is not user friendly. can any body tell me how to customise data base constraints such as precision of a number.
Thank You
Padma

Refer ADF-BC:Customize Error Messages for Database Constraint Violations
Customize JBO-XXX messages
Re: Customize Error Messages in ADF BC Entity Object
Amit
Edited by: amseth on Feb 14, 2011 9:27 PM

Similar Messages

  • Database Constraint Error Handling on create/edit (Struts ADF)

    Hi,
    In our project we use Struts ADF (JDeveloper 10.1.3) technology. And we're facing the following trouble with it.
    If we try to create a record that violates say Unique constraint in the database, then during commit procedure of the AppModule's Transaction an exception occurs.
    We handle this exception with our extension of DCErrorHandlerImpl. And we have to do the rollback action because the Transaction became invalid and we cannot do the commit since there was an error.
    But unfortunately appModule.getTransaction().rollback(); forces ViewObj to loose all of the newly created rows. Because of this, after pressing submit with the same (violating) data once more our edit form shows the first row in a rowset.
    Are there any ideas about what we may be doing wrong?
    Any standard approaches on database constraint error handling?
    The "before/after commit/rollback" approach is very effort-consuming because we have a lot of views in our app and tracking all of them may become a nightmare in future.
    Thanks in advance.
    Regards,
    Larry

    Hi Steve!
    I'm using Postgree.
    Here is StackTrace
    06/06/27 09:52:24 Commit
    oracle.jbo.DMLException: JBO-26041: Failed to post data to database during "Insert": SQL Statement "INSERT INTO public.test_tb(id,name,org_code) VALUES (?,?,?)".
         at oracle.jbo.server.BaseSQLBuilderImpl.doEntityDML(BaseSQLBuilderImpl.java:481)
         at oracle.jbo.server.EntityImpl.doDML(EntityImpl.java:5731)
         at com.yukon.adf.postgre.entities.PostgreEntityImpl.doDML(PostgreEntityImpl.java:22)
         at com.yukon.adf.postgre.entities.PostgreSequenceEntityImpl.doDML(PostgreSequenceEntityImpl.java:58)
         at oracle.jbo.server.EntityImpl.postChanges(EntityImpl.java:4531)
         at oracle.jbo.server.DBTransactionImpl.doPostTransactionListeners(DBTransactionImpl.java:2993)
         at oracle.jbo.server.DBTransactionImpl.postChanges(DBTransactionImpl.java:2804)
         at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:1968)
         at oracle.jbo.server.DBTransactionImpl.commit(DBTransactionImpl.java:2170)
         at view.actions.ListTestPageController.onCommit(ListTestPageController.java:32)
         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:585)
         at oracle.adf.controller.v2.lifecycle.PageController.invokeEventMethod(PageController.java:110)
         at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.handleEvent(PageLifecycleImpl.java:950)
         at oracle.adf.controller.v2.struts.lifecycle.StrutsPageLifecycle.handleEvent(StrutsPageLifecycle.java:238)
         at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.processComponentEvents(PageLifecycleImpl.java:322)
         at oracle.adf.controller.v2.lifecycle.PageController.processComponentEvents(PageController.java:54)
         at oracle.adf.controller.v2.lifecycle.Lifecycle$3.execute(Lifecycle.java:275)
         at oracle.adf.controller.v2.lifecycle.Lifecycle.executePhase(Lifecycle.java:116)
         at oracle.adf.controller.v2.lifecycle.LifecycleProcessor.execute(LifecycleProcessor.java:100)
         at oracle.adf.controller.v2.struts.actions.DataAction.execute(DataAction.java:123)
         at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1485)
         at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:527)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:332)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:629)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
         at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:218)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:119)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:230)
         at oracle.oc4j.network.ServerSocketAcceptHandler.access$800(ServerSocketAcceptHandler.java:33)
         at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:831)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    ## Detail 0 ##
    java.sql.SQLException: ERROR: current transaction is aborted, commands ignored until end of transaction block
         at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1471)
         at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1256)
         at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:175)
         at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:389)
         at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:330)
         at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:282)
         at oracle.jbo.server.BaseSQLBuilderImpl.doEntityDML(BaseSQLBuilderImpl.java:352)
         at oracle.jbo.server.EntityImpl.doDML(EntityImpl.java:5731)
         at com.yukon.adf.postgre.entities.PostgreEntityImpl.doDML(PostgreEntityImpl.java:22)
         at com.yukon.adf.postgre.entities.PostgreSequenceEntityImpl.doDML(PostgreSequenceEntityImpl.java:58)
         at oracle.jbo.server.EntityImpl.postChanges(EntityImpl.java:4531)
         at oracle.jbo.server.DBTransactionImpl.doPostTransactionListeners(DBTransactionImpl.java:2993)
         at oracle.jbo.server.DBTransactionImpl.postChanges(DBTransactionImpl.java:2804)
         at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:1968)
         at oracle.jbo.server.DBTransactionImpl.commit(DBTransactionImpl.java:2170)
         at view.actions.ListTestPageController.onCommit(ListTestPageController.java:32)
         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:585)
         at oracle.adf.controller.v2.lifecycle.PageController.invokeEventMethod(PageController.java:110)
         at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.handleEvent(PageLifecycleImpl.java:950)
         at oracle.adf.controller.v2.struts.lifecycle.StrutsPageLifecycle.handleEvent(StrutsPageLifecycle.java:238)
         at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.processComponentEvents(PageLifecycleImpl.java:322)
         at oracle.adf.controller.v2.lifecycle.PageController.processComponentEvents(PageController.java:54)
         at oracle.adf.controller.v2.lifecycle.Lifecycle$3.execute(Lifecycle.java:275)
         at oracle.adf.controller.v2.lifecycle.Lifecycle.executePhase(Lifecycle.java:116)
         at oracle.adf.controller.v2.lifecycle.LifecycleProcessor.execute(LifecycleProcessor.java:100)
         at oracle.adf.controller.v2.struts.actions.DataAction.execute(DataAction.java:123)
         at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1485)
         at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:527)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:332)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:629)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
         at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:218)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:119)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:230)
         at oracle.oc4j.network.ServerSocketAcceptHandler.access$800(ServerSocketAcceptHandler.java:33)
         at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:831)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)

  • Customize Db Constraint Error (Custom Msg bundle vs Custom Trans FrameWork)

    Dear all,
    As in ADF 4GL Guide : ch. 25.8.3 & 25.8.4, Customizing Database Constraint Error can be done, either by using:
    - Custom Message Bundles
    OR
    - Custom Transaction Class
    In the examples there, it is still not clear what is the benefit of using Custom Transaction Class while using Custom Message Bundles seems to be simpler.
    So, actually how can the second option be better compared to the first one ?
    Than you for your help,
    xtanto

    xtanto,
    I agree with your assesment - custom message bundles is much simpler for this use case. If you wanted to do something more "fancy" with the error handling, you would use the custom DBTransactionImpl class. This paragraph from the guide sums it up, I guess:
    If the default facility for assigning a custom message to a database constraint violation
    does not meet your needs, you can implement your own custom constraint error
    handling routine.
    I haven't run into a situation where I've needed to use the DBTransactionImpl approach.
    Best,
    John

  • Custom Error Messages for Database Constraint Violations Problem

    Hi
    I have added a custom message bundle for the model project as explained in
    37.8.3 in the Fusion Developer's Guide - How to customize error messages for database constraint violations.
    http://download.oracle.com/docs/cd/E14571_01/web.1111/b31974/bcadvgen.htm#BABEFGCI
    Constraint Name : SYS_C0018574
    And I have following CustomErrorMessages class
    public class DBCustomErrorMessages extends ListResourceBundle {
        private static final Object[][] sMessageStrings =
            new String[][] { { "SYS_C0018574",
                               "Existing Record Found" } };
        protected Object[][] getContents() {
            return sMessageStrings;
    }This works fine when I run application model and adding records to vialate the constraint. So it gives me following message
    (oracle.jbo.DMLConstraintException) Existing Record FoundBut when run ui project it does not fire.
    Still it gives the message
    ORA-00001: unique constraint (CCBS2.SYS_C0018574) violatedCould you please shed some light?
    Edited by: deshan on Mar 15, 2011 11:28 AM

    Please see the image.
    http://4.bp.blogspot.com/-Fna66p-W5Jw/TX7uSQqqBtI/AAAAAAAAAH0/D1APg6oAIxI/s1600/1.JPG
    Error in Application Module ORA-00001: unique constraint (CCBS2.SYS_C0018574) violated exception is different from ui project.
    Any hint?
    Thanks
    deshan
    Edited by: deshan on Mar 15, 2011 10:16 AM

  • How can I use database constraints in entity attribute validation rules

    I am interested in using database constraints to validate attributes in entity objects.
    I would like to implement a JboValidatorInterface in a way that I can use an operator like "GreaterOrEqualTo" to compare with values retrieved from the database for a column associated with an entity object attribute.
    I have used this pattern with success in other environments, where the user community decides the minimum value for a thing should change from x to y, and simply changing a database object also changes the validation methods of all applications which access it.
    I am not certain that column constraints are the appropriate vehicle, but so far that seems to be the case.
    I see that you can create a validation rule which makes comparisons against a view object attribute. I am wondering if there is a generic way to use standardized names for column constraints along with ADF hooks into properties of database columns, to avoid writing individual queries for each attribute.
    Thanks in advance!!!

    Jeffrey,
    If you already have constraints on the underlying tables, why do you need to validate them in ADF BC? You can certainly use some framework extension classes to give the user nicely formatted error messages - see ER: ADF BC - allow custom error msgs for common exceptions (e.g. DML) for more details.
    I am using this method so that anything that is enforced in the database (check constraints, foreign keys, unique constraints, etc) are not enforced in the ADF BC layer as well - after all, there's more than one way to get data into a table, and DB constraints ensure that even if data gets in through another mechanism (apart from the ADF application), it is valid. My 2 cents, of course.
    Hope this helps,
    John

  • MView refresh error on 10gR2..(unique constraint error)

    Hi. all.
    The database is 2-node RAC 10gR2 on SunOS.
    Today morining, I got the following error.
    EXEC dbms_refresh.refresh('"ODSFAB"."CURRENTWIP"');
    ORA-12008: error in materialized view refresh path
    ORA-00001: unique constraint (ODSFAB.CURRENTWIP_GLASS_IDX) violated
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2254
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2460
    ORA-06512: at "SYS.DBMS_IREFRESH", line 683
    ORA-06512: at "SYS.DBMS_REFRESH", line 195
    ORA-06512: at line 1
    I checked both the source and target table, but there is no unique-key confliction.
    The source table has no unique index, but the target table have one unique index
    for a business purpose.
    Finally, I dropped the miew log on a source table and mview , and recreated mview
    log and mview with the same unique constraint and the same data.
    I do not understand why I got "Unique constraint error".
    Any advice will be welcomed.
    Thanks in advance.
    Have a good day.
    Best Regards.
    Message was edited by:
    user507290

    Let us say column A is the unique key on target DB and exists in source DB.
    Now, on source DB,
    - Value 'X' is inserted in col A
    - Value "X" is again inserted in col A (or updated on colA)
    - Then one of these 2 rows is deleted
    Now, "if" Oracle applies all the transactions from the source to target in the
    same sequence as they occured, there is chance you can get unique error.you do
    But, if a full refresh, there won't be error.I would say that is a very plausible explanation. Somewhat difficult to verify, in the absence of low-level auditing on the source database.
    The situation as described is a bit yucky. Is there no way of putting a unique key on the table in the source database? If not, it seems to me that this scenario is bound to re-occur.
    Cheers, APC
    Blog : http://radiofreetooting.blogspot.com/

  • JhsError Messages for Database constraint

    Hello JhaedStart Team
    I want to display mycustome entity alias name in place of entity name in Jhs Error messages for Database constraint , as you know we can customize this error message by replacing ConstraintName as a key in our registered customMessage Bundle (according to 25.8.3 sction of ADFdevelopers guide) .
    In order to do that I should disable JHS NLS generation for JHS because it's custome messages prevent my message to be display from my customMessage Bundle , So I have tried to delete constraint key (eg CASCADING_DELETE_VIOLATION) from GeneratorText.properties but I see that the CASCADING_DELETE_VIOLATION message still generated in my project JHS message bundle.
    Please help me to fix the problem

    JHeadstart also supports customizing database constraint messages, as explained in section 11.4 of the JHeadstart 10.1.3.2 Developer's Guide. So you don't need to use the technique of section 25.8.3 of the ADF Developer's Guide, you can customize the message directly in the JHeadstart resource bundle.
    Hope this helps,
    Sandra Muller
    JHeadstart Team
    Oracle Consulting

  • ETL Tasks failing Database driver error...Function Name : Execute Multiple

    HI,
    We have Installed OBI Apps V796. Below are the details.
    OBI Apps V796
    OBIEE 10.1.3.4.1
    DAC 10.1.3.4.1
    Informatica 8.6.0
    We are getting the below error for the task "SDE_ORA_PartyPersonDimension_Customer" when we run the execution plan related to supply chain and order management analytics.
    Severity     Timestamp     Node     Thread     Message Code     Message
    ERROR     6/23/2009 8:25:54 PM     node01_obiee     WRITER_1_*_1     WRT_8229     Database errors occurred:
    Database driver error...
    Function Name : Execute Multiple
    SQL Stmt : INSERT INTO W_PARTY_PER_DS(PARTY_TYPE,FST_NAME,FULL_NAME,MID_NAME,LAST_NAME,DEPARTMENT_NAME,CONTACT_ID,CONTACT_TYPE,FAX_PH_NUM,PAGER_NUM,MOBILE_NUM,WORK_PHONE,SEX_MF_CD,ETHNICITY_CD,MARITAL_STAT_CD,BIRTH_DT,BIRTH_PLACE,DEATH_DT,ST_ADDRESS,CITY,STATE,ZIPCODE,COUNTRY,EMAIL_ADDR,JOB_TITLE,ANNL_INCOME,SUPPRESS_EMAIL_FLG,PROF_TITLE,STATUS_CD,ST_ADDRESS2,ST_ADDRESS3,ST_ADDRESS4,CREATED_BY_ID,CHANGED_BY_ID,CREATED_ON_DT,CHANGED_ON_DT,AUX1_CHANGED_ON_DT,AUX2_CHANGED_ON_DT,AUX3_CHANGED_ON_DT,AUX4_CHANGED_ON_DT,SRC_EFF_FROM_DT,SRC_EFF_TO_DT,DELETE_FLG,DATASOURCE_NUM_ID,INTEGRATION_ID,TENANT_ID,X_CUSTOM,CUSTOMER_NUM) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ".
    As a work around we tried by changing the Target load type option to normal(previously it is bulk) and still the task failed. Also tried by enabling the Constraint based loading option and still the tas got failed.
    Any suggestions............
    As
    Regards
    Venkatesh.

    Exactly same problem I'm also facing. The log is not showing any exact error information for the cause. And the surprise thing is when i'm running the debugger its inserting all the records. But when i run the task it is failing. Here is the log.
    DIRECTOR> VAR_27028 Use override value [DataWarehouse] for session parameter:[$DBConnection_OLAP].
    DIRECTOR> VAR_27028 Use override value [ORA_11_5_10] for session parameter:[$DBConnection_OLTP].
    DIRECTOR> VAR_27028 Use override value [ORA_11_5_10.DATAWAREHOUSE.SDE_ORA11510_Adaptor.SDE_ORA_PartyPersonDimension_Customer_Full.log] for session parameter:[$PMSessionLogFile].
    DIRECTOR> VAR_27028 Use override value [4] for mapping parameter:[$$DATASOURCE_NUM_ID].
    DIRECTOR> VAR_27027 Use default value [] for mapping parameter:[mplt_BC_ORA_PartyPersonDimension.$$Hint1].
    DIRECTOR> VAR_27027 Use default value [] for mapping parameter:[mplt_BC_ORA_PartyPersonDimension.$$Hint2].
    DIRECTOR> VAR_27027 Use default value [] for mapping parameter:[mplt_BC_ORA_PartyPersonDimension.$$LAST_EXTRACT_DATE].
    DIRECTOR> VAR_27028 Use override value [DEFAULT] for mapping parameter:[$$TENANT_ID].
    DIRECTOR> TM_6014 Initializing session [SDE_ORA_PartyPersonDimension_Customer_Full] at [Mon Dec 28 19:10:26 2009].
    DIRECTOR> TM_6683 Repository Name: [AA_REPOSITORY_SERVICE]
    DIRECTOR> TM_6684 Server Name: [AA_INTEGRATION_SERVICE]
    DIRECTOR> TM_6686 Folder: [SDE_ORA11510_Adaptor]
    DIRECTOR> TM_6685 Workflow: [SDE_ORA_PartyPersonDimension_Customer_Full] Run Instance Name: [] Run Id: [1371]
    DIRECTOR> TM_6101 Mapping name: SDE_ORA_PartyPersonDimension_Customer [version 1].
    DIRECTOR> TM_6963 Pre 85 Timestamp Compatibility is Enabled
    DIRECTOR> TM_6964 Date format for the Session is [MM/DD/YYYY HH24:MI:SS]
    DIRECTOR> TM_6703 Session [SDE_ORA_PartyPersonDimension_Customer_Full] is run by 32-bit Integration Service [node01_obiee], version [8.6.1 HotFix6], build [0622].
    MANAGER> PETL_24058 Running Partition Group [1].
    MANAGER> PETL_24000 Parallel Pipeline Engine initializing.
    MANAGER> PETL_24001 Parallel Pipeline Engine running.
    MANAGER> PETL_24003 Initializing session run.
    MAPPING> CMN_1569 Server Mode: [UNICODE]
    MAPPING> CMN_1570 Server Code page: [UTF-8 encoding of Unicode]
    MAPPING> TM_6151 The session sort order is [Binary].
    MAPPING> TM_6185 Warning. Code page validation is disabled in this session.
    MAPPING> TM_6156 Using low precision processing.
    MAPPING> TM_6180 Deadlock retry logic will not be implemented.
    MAPPING> TM_6307 DTM error log disabled.
    MAPPING> TE_7022 TShmWriter: Initialized
    MAPPING> DBG_21075 Connecting to database [BIDB], user [AABAW]
    MAPPING> CMN_1716 Lookup [Lkp_W_ORA_PARTY_CONTACT_PS] uses database connection [Relational:DataWarehouse] in code page [MS Windows Latin 1 (ANSI), superset of Latin1]
    MAPPING> CMN_1761 Timestamp Event: [Mon Dec 28 19:10:26 2009]
    MAPPING> TE_7004 Transformation Parse Warning [IIF(ISNULL(CONTACT_PARTY_ID||DATASOURCE_NUM_ID), '', 'Contact')]; transformation continues...
    MAPPING> CMN_1761 Timestamp Event: [Mon Dec 28 19:10:26 2009]
    MAPPING> TE_7004 Transformation Parse Warning [<<PM Parse Warning>> [||]: operand converted to a string
    ... IIF(ISNULL(CONTACT_PARTY_ID||>>>>DATASOURCE_NUM_ID<<<<), '', 'Contact')]; transformation continues...
    MAPPING> TM_6007 DTM initialized successfully for session [SDE_ORA_PartyPersonDimension_Customer_Full]
    DIRECTOR> PETL_24033 All DTM Connection Info: [<NONE>].
    MANAGER> PETL_24004 Starting pre-session tasks. : (Mon Dec 28 19:10:26 2009)
    MANAGER> PETL_24027 Pre-session task completed successfully. : (Mon Dec 28 19:10:26 2009)
    DIRECTOR> PETL_24006 Starting data movement.
    MAPPING> TM_6660 Total Buffer Pool size is 12582912 bytes and Block size is 128000 bytes.
    READER_1_1_1> DBG_21438 Reader: Source is [DEV01], user [apps]
    READER_1_1_1> BLKR_16051 Source database connection [ORA_11_5_10] code page: [MS Windows Latin 1 (ANSI), superset of Latin1]
    READER_1_1_1> BLKR_16003 Initialization completed successfully.
    WRITER_1_*_1> WRT_8146 Writer: Target is database [BIDB], user [AABAW], bulk mode [ON]
    WRITER_1_*_1> WRT_8106 Warning! Bulk Mode session - recovery is not guaranteed.
    WRITER_1_*_1> WRT_8221 Target database connection [DataWarehouse] code page: [MS Windows Latin 1 (ANSI), superset of Latin1]
    WRITER_1_*_1> WRT_8124 Target Table W_PARTY_PER_DS :SQL INSERT statement:
    INSERT INTO W_PARTY_PER_DS(PARTY_TYPE,FST_NAME,FULL_NAME,MID_NAME,LAST_NAME,DEPARTMENT_NAME,CONTACT_ID,CONTACT_TYPE,FAX_PH_NUM,PAGER_NUM,MOBILE_NUM,WORK_PHONE,SEX_MF_CD,ETHNICITY_CD,MARITAL_STAT_CD,BIRTH_DT,BIRTH_PLACE,DEATH_DT,ST_ADDRESS,CITY,STATE,ZIPCODE,COUNTRY,EMAIL_ADDR,JOB_TITLE,ANNL_INCOME,CON_ACTIVE_FLG1,SUPPRESS_EMAIL_FLG,PROF_TITLE,STATUS_CD,ST_ADDRESS2,ST_ADDRESS3,ST_ADDRESS4,CREATED_BY_ID,CHANGED_BY_ID,CREATED_ON_DT,CHANGED_ON_DT,AUX1_CHANGED_ON_DT,AUX2_CHANGED_ON_DT,AUX3_CHANGED_ON_DT,AUX4_CHANGED_ON_DT,SRC_EFF_FROM_DT,SRC_EFF_TO_DT,DELETE_FLG,DATASOURCE_NUM_ID,INTEGRATION_ID,TENANT_ID,X_CUSTOM,CUSTOMER_NUM) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
    WRITER_1_*_1> WRT_8124 Target Table W_PARTY_PER_DS :SQL UPDATE statement:
    UPDATE W_PARTY_PER_DS SET PARTY_TYPE = ?, FST_NAME = ?, FULL_NAME = ?, MID_NAME = ?, LAST_NAME = ?, DEPARTMENT_NAME = ?, CONTACT_ID = ?, CONTACT_TYPE = ?, FAX_PH_NUM = ?, PAGER_NUM = ?, MOBILE_NUM = ?, WORK_PHONE = ?, SEX_MF_CD = ?, ETHNICITY_CD = ?, MARITAL_STAT_CD = ?, BIRTH_DT = ?, BIRTH_PLACE = ?, DEATH_DT = ?, ST_ADDRESS = ?, CITY = ?, STATE = ?, ZIPCODE = ?, COUNTRY = ?, EMAIL_ADDR = ?, JOB_TITLE = ?, ANNL_INCOME = ?, CON_ACTIVE_FLG1 = ?, SUPPRESS_EMAIL_FLG = ?, PROF_TITLE = ?, STATUS_CD = ?, ST_ADDRESS2 = ?, ST_ADDRESS3 = ?, ST_ADDRESS4 = ?, CREATED_BY_ID = ?, CHANGED_BY_ID = ?, CREATED_ON_DT = ?, CHANGED_ON_DT = ?, AUX1_CHANGED_ON_DT = ?, AUX2_CHANGED_ON_DT = ?, AUX3_CHANGED_ON_DT = ?, AUX4_CHANGED_ON_DT = ?, SRC_EFF_TO_DT = ?, DELETE_FLG = ?, TENANT_ID = ?, X_CUSTOM = ?, CUSTOMER_NUM = ? WHERE SRC_EFF_FROM_DT = ? AND DATASOURCE_NUM_ID = ? AND INTEGRATION_ID = ?
    WRITER_1_*_1> WRT_8124 Target Table W_PARTY_PER_DS :SQL DELETE statement:
    DELETE FROM W_PARTY_PER_DS WHERE SRC_EFF_FROM_DT = ? AND DATASOURCE_NUM_ID = ? AND INTEGRATION_ID = ?
    WRITER_1_*_1> WRT_8270 Target connection group #1 consists of target(s) [W_PARTY_PER_DS]
    WRITER_1_*_1> WRT_8003 Writer initialization complete.
    READER_1_1_1> BLKR_16007 Reader run started.
    READER_1_1_1> RR_4029 SQ Instance [mplt_BC_ORA_PartyPersonDimension.SQ_HZ_PERSON_PARTY] User specified SQL Query [SELECT b1.party_id,        b1.party_type,        b1.person_name,        b1.person_first_name,        b1.person_middle_name,        b1.person_last_name,        b1.status,        b1.phone_area_code,        b1.phone_number,        b1.address1,        b1.address2,        b1.address3,        b1.address4,        b1.postal_code,        b1.city,        b1.state,        b1.country,        b1.email_address,        b1.date_of_birth,        b1.place_of_birth,        b1.date_of_death,        b1.gender,        b1.declared_ethnicity,        b1.marital_status,        b1.person_title,        b1.personal_income,        b1.do_not_mail_flag,        b1.created_by,        b1.creation_date,        b1.last_updated_by,        b1.last_update_date1 last_update_date,        b1.last_update_date2 last_update_date,        b1.last_update_date3 last_update_date,        b1.party_number,        b1.ACCNT_FLG FROM (SELECT              per.party_id,              pty.party_type,              per.person_name,              per.person_first_name,              per.person_middle_name,              per.person_last_name,              pty.status,              cnp.phone_area_code,              cnp.phone_number,              pty.address1,              pty.address2,              pty.address3,              pty.address4,              pty.postal_code,              pty.city,              pty.state,              pty.country,              pty.email_address,              per.date_of_birth,              per.place_of_birth,              per.date_of_death,              per.gender,              per.declared_ethnicity,              per.marital_status,              per.person_title,              per.personal_income,              pty.do_not_mail_flag,              per.created_by,              per.creation_date,              per.last_updated_by,              per.last_update_date last_update_date1,              pty.last_update_date last_update_date2,              cnp.last_update_date last_update_date3,              pty.party_number,              (CASE WHEN acct.PARTY_ID IS NOT NULL THEN 'Y' END) ACCNT_FLG,              MAX (per.person_profile_id) OVER (PARTITION BY per.party_id) max_person_profile_id,              per.person_profile_id       FROM hz_person_profiles per,            hz_parties pty,            hz_contact_points cnp,            (SELECT a1.party_id,                    COUNT (1) cnt             FROM (SELECT per.party_id                   FROM hz_person_profiles per                                      UNION ALL                   SELECT pty.party_id                   FROM hz_parties pty                                      UNION ALL                   SELECT  --/*+ use_hash(pty cnp) index_ffs(pty, hz_parties_u1)*/                         pty.party_id                   FROM hz_parties pty,                        hz_contact_points cnp                   WHERE pty.party_id = cnp.owner_table_id                         ) a1             GROUP BY party_id) TEMP,            hz_cust_accounts acct       WHERE     per.party_id = TEMP.party_id             AND per.party_id = pty.party_id             AND pty.party_id = cnp.owner_table_id(+)             AND cnp.owner_table_name(+) = 'HZ_PARTIES'             AND cnp.contact_point_type(+) = 'PHONE'             AND cnp.primary_flag(+) = 'Y'             AND acct.PARTY_ID(+) = pty.PARTY_ID) b1 WHERE b1.person_profile_id = b1.max_person_profile_id HAVING COUNT (1) >= 0 GROUP BY b1.party_id,          b1.party_type,          b1.person_name,          b1.person_first_name,          b1.person_middle_name,          b1.person_last_name,          b1.status,          b1.phone_area_code,          b1.phone_number,          b1.address1,          b1.address2,          b1.address3,          b1.address4,          b1.postal_code,          b1.city,          b1.state,          b1.country,          b1.email_address,          b1.date_of_birth,          b1.place_of_birth,          b1.date_of_death,          b1.gender,          b1.declared_ethnicity,          b1.marital_status,          b1.person_title,          b1.personal_income,          b1.do_not_mail_flag,          b1.created_by,          b1.creation_date,          b1.last_updated_by,          b1.last_update_date1,          b1.last_update_date2,          b1.last_update_date3,          b1.party_number,          b1.ACCNT_FLG]
    READER_1_1_1> RR_4049 SQL Query issued to database : (Mon Dec 28 19:10:26 2009)
    WRITER_1_*_1> WRT_8005 Writer run started.
    WRITER_1_*_1> WRT_8158
    *****START LOAD SESSION*****
    Load Start Time: Mon Dec 28 19:10:26 2009
    Target tables:
    W_PARTY_PER_DS
    READER_1_1_1> RR_4050 First row returned from database to reader : (Mon Dec 28 19:10:29 2009)
    LKPDP_1> DBG_21312 Lookup Transformation [Lkp_W_ORA_PARTY_CONTACT_PS]: Lookup override sql to create cache: SELECT W_ORA_PARTY_CONTACT_PS.DEPARTMENT AS DEPARTMENT, W_ORA_PARTY_CONTACT_PS.ORG_CONTACT_ID AS ORG_CONTACT_ID, W_ORA_PARTY_CONTACT_PS.CONTACT_NUMBER AS CONTACT_NUMBER, W_ORA_PARTY_CONTACT_PS.JOB_TITLE AS JOB_TITLE, W_ORA_PARTY_CONTACT_PS.DATASOURCE_NUM_ID AS DATASOURCE_NUM_ID, W_ORA_PARTY_CONTACT_PS.CONTACT_PARTY_ID AS CONTACT_PARTY_ID FROM W_ORA_PARTY_CONTACT_PS WHERE CUST_ACCOUNT_ROLE_ID=0 ORDER BY DATASOURCE_NUM_ID,CONTACT_PARTY_ID,DEPARTMENT,ORG_CONTACT_ID,CONTACT_NUMBER,JOB_TITLE
    LKPDP_1> TE_7212 Increasing [Index Cache] size for transformation [Lkp_W_ORA_PARTY_CONTACT_PS] from [1048576] to [1392640].
    LKPDP_1> TM_6660 Total Buffer Pool size is 609824 bytes and Block size is 65536 bytes.
    LKPDP_1:READER_1_1> DBG_21438 Reader: Source is [BIDB], user [AABAW]
    LKPDP_1:READER_1_1> BLKR_16051 Source database connection [DataWarehouse] code page: [MS Windows Latin 1 (ANSI), superset of Latin1]
    LKPDP_1:READER_1_1> BLKR_16003 Initialization completed successfully.
    LKPDP_1:READER_1_1> BLKR_16007 Reader run started.
    LKPDP_1:READER_1_1> RR_4049 SQL Query issued to database : (Mon Dec 28 19:10:29 2009)
    LKPDP_1:READER_1_1> RR_4050 First row returned from database to reader : (Mon Dec 28 19:10:30 2009)
    LKPDP_1:TRANSF_1_1> DBG_21079 Creating Lookup Cache : (Mon Dec 28 19:10:30 2009)
    LKPDP_1:READER_1_1> BLKR_16008 Reader run completed.
    LKPDP_1:TRANSF_1_1> DBG_21682 Lookup table row count : 3247
    LKPDP_1:TRANSF_1_1> DBG_21297 Lookup cache row count : 3238
    LKPDP_1:TRANSF_1_1> DBG_21294 Lookup cache creation completed : (Mon Dec 28 19:10:30 2009)
    LKPDP_1:TRANSF_1_1> CMN_1671 Created new cache files PMLKUP16713_5_0_1371W32.[dat/idx] in directory E:\Informatica\PowerCenter861\server\infa_shared\Cache for Lookup [Lkp_W_ORA_PARTY_CONTACT_PS].
    LKPDP_1:TRANSF_1_1> DBG_21641 Lkp_W_ORA_PARTY_CONTACT_PS: Index cache size = [1392640], Data cache size = [2097152]
    WRITER_1_*_1> WRT_8167 Start loading table [W_PARTY_PER_DS] at: Mon Dec 28 19:10:29 2009
    WRITER_1_*_1> CMN_1761 Timestamp Event: [Mon Dec 28 19:10:30 2009]
    WRITER_1_*_1> WRT_8229 Database errors occurred:
    Database driver error...
    Function Name : Execute Multiple
    SQL Stmt : INSERT INTO W_PARTY_PER_DS(PARTY_TYPE,FST_NAME,FULL_NAME,MID_NAME,LAST_NAME,DEPARTMENT_NAME,CONTACT_ID,CONTACT_TYPE,FAX_PH_NUM,PAGER_NUM,MOBILE_NUM,WORK_PHONE,SEX_MF_CD,ETHNICITY_CD,MARITAL_STAT_CD,BIRTH_DT,BIRTH_PLACE,DEATH_DT,ST_ADDRESS,CITY,STATE,ZIPCODE,COUNTRY,EMAIL_ADDR,JOB_TITLE,ANNL_INCOME,CON_ACTIVE_FLG1,SUPPRESS_EMAIL_FLG,PROF_TITLE,STATUS_CD,ST_ADDRESS2,ST_ADDRESS3,ST_ADDRESS4,CREATED_BY_ID,CHANGED_BY_ID,CREATED_ON_DT,CHANGED_ON_DT,AUX1_CHANGED_ON_DT,AUX2_CHANGED_ON_DT,AUX3_CHANGED_ON_DT,AUX4_CHANGED_ON_DT,SRC_EFF_FROM_DT,SRC_EFF_TO_DT,DELETE_FLG,DATASOURCE_NUM_ID,INTEGRATION_ID,TENANT_ID,X_CUSTOM,CUSTOMER_NUM) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
    WRITER_1_*_1> CMN_1761 Timestamp Event: [Mon Dec 28 19:10:30 2009]
    WRITER_1_*_1> WRT_8425 ERROR: Writer execution failed.
    WRITER_1_*_1> WRT_8333 Rolling back all the targets due to fatal session error.
    WRITER_1_*_1> CMN_1761 Timestamp Event: [Mon Dec 28 19:10:30 2009]
    WRITER_1_*_1> CMN_1022 Database driver error...
    CMN_1022 []
    WRITER_1_*_1> CMN_1761 Timestamp Event: [Mon Dec 28 19:10:30 2009]
    WRITER_1_*_1> WRT_8183 Rollback failed for the target [W_PARTY_PER_DS]
    WRITER_1_*_1> CMN_1761 Timestamp Event: [Mon Dec 28 19:10:30 2009]
    WRITER_1_*_1> WRT_8081 Writer run terminated. [Error in loading data to target table [W_PARTY_PER_DS]]
    WRITER_1_*_1> WRT_8168 End loading table [W_PARTY_PER_DS] at: Mon Dec 28 19:10:30 2009
    WRITER_1_*_1> WRT_8035 Load complete time: Mon Dec 28 19:10:30 2009
    LOAD SUMMARY
    ============
    WRT_8036 Target: W_PARTY_PER_DS (Instance Name: [W_PARTY_PER_DS])
    WRT_8038 Inserted rows - Requested: 1568 Applied: 1552 Rejected: 0 Affected: 1552
    WRITER_1__1> WRT_8043 ****END LOAD SESSION*****
    TRANSF_1_1_1> CMN_1761 Timestamp Event: [Mon Dec 28 19:10:30 2009]
    TRANSF_1_1_1> TM_6085 A fatal error occurred at transformation [W_PARTY_PER_DS], and the session is terminating.
    TRANSF_1_1_1> CMN_1761 Timestamp Event: [Mon Dec 28 19:10:30 2009]
    TRANSF_1_1_1> TM_6085 A fatal error occurred at transformation [mplt_SA_ORA_PartyPersonDimension.EXP_PARTY_PERSON], and the session is terminating.
    TRANSF_1_1_1> CMN_1761 Timestamp Event: [Mon Dec 28 19:10:30 2009]
    TRANSF_1_1_1> TM_6085 A fatal error occurred at transformation [mplt_SA_ORA_PartyPersonDimension.EXP_PARTY_PERSON], and the session is terminating.
    TRANSF_1_1_1> CMN_1761 Timestamp Event: [Mon Dec 28 19:10:30 2009]
    TRANSF_1_1_1> TM_6085 A fatal error occurred at transformation [mplt_BC_ORA_PartyPersonDimension.EXP_PER_PARTY], and the session is terminating.
    TRANSF_1_1_1> CMN_1761 Timestamp Event: [Mon Dec 28 19:10:30 2009]
    TRANSF_1_1_1> TM_6085 A fatal error occurred at transformation [mplt_BC_ORA_PartyPersonDimension.EXP_PER_PARTY], and the session is terminating.
    TRANSF_1_1_1> CMN_1761 Timestamp Event: [Mon Dec 28 19:10:30 2009]
    TRANSF_1_1_1> TM_6085 A fatal error occurred at transformation [mplt_BC_ORA_PartyPersonDimension.SQ_HZ_PERSON_PARTY], and the session is terminating.
    TRANSF_1_1_1> CMN_1761 Timestamp Event: [Mon Dec 28 19:10:30 2009]
    TRANSF_1_1_1> TM_6085 A fatal error occurred at transformation [mplt_BC_ORA_PartyPersonDimension.SQ_HZ_PERSON_PARTY], and the session is terminating.
    TRANSF_1_1_1> CMN_1761 Timestamp Event: [Mon Dec 28 19:10:30 2009]
    TRANSF_1_1_1> TM_6085 A fatal error occurred at transformation [mplt_BC_ORA_PartyPersonDimension.SQ_HZ_PERSON_PARTY], and the session is terminating.
    TRANSF_1_1_1> DBG_21511 TE: Fatal Transformation Error.
    MANAGER> PETL_24031
    ***** RUN INFO FOR TGT LOAD ORDER GROUP [1], CONCURRENT SET [1] *****
    Thread [READER_1_1_1] created for [the read stage] of partition point [mplt_BC_ORA_PartyPersonDimension.SQ_HZ_PERSON_PARTY] has completed.
         Total Run Time = [3.765415] secs
         Total Idle Time = [0.781122] secs
         Busy Percentage = [79.255350]
    Thread [TRANSF_1_1_1] created for [the transformation stage] of partition point [mplt_BC_ORA_PartyPersonDimension.SQ_HZ_PERSON_PARTY] has completed.
         Total Run Time = [1.001440] secs
         Total Idle Time = [0.690994] secs
         Busy Percentage = [30.999937]
         Transformation-specific statistics for this thread were not accurate enough to report.
    Thread [WRITER_1_*_1] created for [the write stage] of partition point [W_PARTY_PER_DS] has completed. The total run time was insufficient for any meaningful statistics.
    MAPPING> CMN_1793 The index cache size that would hold [3238] rows in the lookup table for [Lkp_W_ORA_PARTY_CONTACT_PS], in memory, is [696320] bytes
    MAPPING> CMN_1792 The data cache size that would hold [3238] rows in the lookup table for [Lkp_W_ORA_PARTY_CONTACT_PS], in memory, is [1908736] bytes
    MANAGER> PETL_24005 Starting post-session tasks. : (Mon Dec 28 19:10:30 2009)
    MANAGER> PETL_24029 Post-session task completed successfully. : (Mon Dec 28 19:10:30 2009)
    MAPPING> TE_7216 Deleting cache files [PMLKUP16713_5_0_1371W32] for transformation [Lkp_W_ORA_PARTY_CONTACT_PS].
    MAPPING> TM_6018 The session completed with [0] row transformation errors.
    MANAGER> PETL_24002 Parallel Pipeline Engine finished.
    DIRECTOR> PETL_24013 Session run completed with failure.
    DIRECTOR> TM_6022
    SESSION LOAD SUMMARY
    ================================================
    DIRECTOR> TM_6252 Source Load Summary.
    DIRECTOR> CMN_1740 Table: [SQ_HZ_PERSON_PARTY] (Instance Name: [mplt_BC_ORA_PartyPersonDimension.SQ_HZ_PERSON_PARTY])
         Output Rows [1788], Affected Rows [1788], Applied Rows [1788], Rejected Rows [0]
    DIRECTOR> TM_6253 Target Load Summary.
    DIRECTOR> CMN_1740 Table: [W_PARTY_PER_DS] (Instance Name: [W_PARTY_PER_DS])
         Output Rows [1552], Affected Rows [1552], Applied Rows [1552], Rejected Rows [0]
    DIRECTOR> TM_6023
    ===================================================
    DIRECTOR> TM_6020 Session [SDE_ORA_PartyPersonDimension_Customer_Full] completed at [Mon Dec 28 19:10:31 2009].

  • Unique Constraint Error at Apply side

    We have streams configured between two databases. Source database is of Version 9.2.0.3 and target database is of 9.2.0.4
    I have a table TEST with primary key PK_TEST on column A.
    Performed the following steps on the source database:
    Step1:
    insert into test values (1);
    1 row inserted.
    Total no of lcr's propagated : 1
    Step2:
    insert into test values (1);
    ORA-00001: unique constraint (TEST_USER.PK_TEST)violated.
    Total no of lcr's propagated : 1
    Step 3:
    Commit;
    Total no of lcr's propagated : 1
    On the source database, i have only one row in the TEST table but in the target schema iam getting "ORA-00001: unique constraint" error on applying the lcr's propagated from the source. If i remove the constraint from the target table then two rows are getting inserted in the target table rather only one rows should be inserted in the target table.
    Total 3 lcr's are propagated from source to target. For Step2, 2 lcr's should be propagated but only one is propagating.
    It looks strange but this is what happening in our environment. Has anyone faced this problem before? Please let me know how to solve this problem.

    Hi,
    I believe your problem is with the transaction.
    1) First you insert a row
    2) you try to insert it again, it fails
    3) you commit your work
    When propagated to your destination, the transaction does not commit because it failed in the second.
    Try inserting, commit and inserting again. It should work that way. Or else you may need to write an error handler to ignore ORA-0001 errors and commit (which I don't think it is good practice).
    Hope this helps,

  • Toplink 10.1.3.1 Unique Constraint error

    Hi All,
    I'm working with toplink 10.1.3.1 using JDeveloper 10.1.3.1.
    When I'm using the Sequence in the toplink work bench, I'm getting the unique constraint error.
    What i did was, I checked the "Use sequencing" check box and filled the sequence name , table name and field in the toplink workbench wizard.
    And I kept true for "Use Native Sequencing" in the sequence of login tab for sessions.xml default file. And checked the preallocation Size and set to the minimum value of the sequence. I didn't checked the "Table", "Name Field" and "Counter Field" check boxes.
    The sequence is getting incremented for every execution. Its not getting the actual sequence current value. I don't know whether the value is getting cached.
    for example if the actual sequence number in the database is 1740
    but when I am running the toplink query It is generating the sequence number like 1738 and it is giving the Unique constraint when I am clicking on the button for three times (ie 1739,1740,1741)it is inserting successfully into the database.
    But when I am running the application again then it is generating the sequence number as 1739 I am unable to understand where I am going wrong.
    If I test The sequence in SQL Work Sheet it was working fine.
    could anyone suggest me the correct way of using the sequence in the toplink workbench.
    the Sequence was created using JDeveloper wizard with Increment 1.
    Thanks in advance,
    regards,
    Satish Dasari.

    Hi,
    Satish,Thanks for your reply.
    Let me tell the scenario. I have two tables A and B. First I am inserting an event_no in table A. and after that I read the data from table A including event_no and I am going to insert it into table B. Rarely I am getting an exception like Unique constraint violation error.
    I kept native sequencing true,preallocation size 1, Min value=1, Max-value=9999999, increment by 1, cache size=10, Enabled refresh only if new version.
    What are all the values that i need to be changed in order to recover from this error. Our application is running in a load balancing environment.
    Note: I am not able to simulate this in my desktop environment.
    Regards,
    P.Prasanna.

  • Deferrable database constraint

    I am using JDev 9.0.5.2, ADF, UIX, and struts.
    I have a deferrable database constraint so that it is checked during commit. My question is where can I catch this to give a user friendly error message. I usually catch constraint messages in the doDML method in the entity objects Impl class. I tried the beforeCommit and afterCommit methods but they didn't work either.
    Thanks for any help.

    you can caught exceptions in findForward method:
    ArrayList excList=ctx,getBindingContainer().getExceptionList();
    all items are oracle.jbo.JboException.
    you iterate exceptions; native exception are those exceptions where
    hasExceptions() return false.
    catched your exception, you can alter standard forward: ctx.setAcionForward(errorForward);
    i hope i helped you!
    I am using JDev 9.0.5.2, ADF, UIX, and struts.
    I have a deferrable database constraint so that it is
    checked during commit. My question is where can I
    catch this to give a user friendly error message. I
    usually catch constraint messages in the doDML method
    in the entity objects Impl class. I tried the
    beforeCommit and afterCommit methods but they didn't
    work either.
    Thanks for any help.

  • Constraint errors during apply on destination site

    We are trying to acheive replication between two sites. we have about 100+ tables with parent child relationships with one key being present in almost all the tables.
    The same database schema is installed on both the m/c.
    When i execute a transaction on the first m/c that covers about 50-60 tables, it reaches the apply of the second and gives "constraint errors" for many tables. However, some tables having a similar structure go thru, but the transaction does not commit.
    To make it proceed,i used to disable the constraint after every reported constraint. This way, i could go far ahead (just to check), but got stuck in a "No data found" error.
    I do not have any DML handlers installed.
    The question is that if both the sites have identical schemas with same constraints, if the transaction could go thru fully on the first, why does it give constraint errors at the second.
    We have tried all these on a single/two table scenario and everything worked like a charm.
    It could be some mistake on my part, but could someone give me any pointers where to look.

    It would be helpful to know what kind of constraint failures you are getting.
    When dealing with foreign key constraints, be sure to make them deferrable constraints. At the apply site, the ordering is by transaction so individual LCRs within a transaction are not guaranteed to be performed in the same order as at the source site.
    Check your supplemental logging to ensure that you are logging the appropriate columns.

  • Crystal Report throws Unexpected Database Connector error

    Hi,<br>
    <br>
    We are using Crystal report 2008 CR4E API to implement the crystal report in our application. We use the below code to reset the report data source with our application data source. It works fine for most of the simple queries. But if the query contains any function defined in the SELECT Clause it throws Unexpected Database Connector error. As per the log and analysis we believe the root cause of the exception is it consider that function as column in the table and throws the SQL Exception that "function is Invalid Identifier". Could you please help in resolving this issue?
    <br><br>
    Code:<br><br>
         Tables tables = clientDoc.getDatabaseController().getDatabase().getTables(); <br>
                for(int i = 0;i < tables.size();i++){<br>
                    origTable = tables.getTable(i);<br>
                    if (tableName == null || origTable.getName().equals(tableName)) {<br>
                        newTable = (ITable)origTable.clone(true);<br>
                        newTable.setQualifiedName(origTable.getAlias());<br>
                        connectionInfo = newTable.getConnectionInfo();<br>
                        propertyBag = new PropertyBag();<br>
                        propertyBag.put("Trusted_Connection", params.trustedCon);<br>
                        propertyBag.put("Server Type", params.serverType);<br>
                        propertyBag.put("Use JDBC", params.useJdbc);<br><br>
                        propertyBag.put("Database DLL",params.databaseDLL);<br>
                        propertyBag.put("Connection URL", params.connectionURL);<br>
                        propertyBag.put("Database Class Name", params.dbClassName);<br>
                        connectionInfo.setAttributes(propertyBag);<br>
                        connectionInfo.setUserName(params.userName);<br>
                        connectionInfo.setPassword(params.password);<br>
                        clientDoc.getDatabaseController().setTableLocation(origTable, newTable); // Exception is thrown here<br>
              }                    <br>
         }     <br>
    <br>
    SQL Query : <br><br>
    Select empno, Fun_getEmpAddress(empno) from employee where empno = ?<br><br><br>
    Error Log:<br><br>
    2011-04-26 16:30:41.926 89022900 CrystalReportParms_jsp._jspService(368) Error while generating crystal report<br>
    com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: Unexpected database connector error---- Error code:-2147467259 Error code name:failed<br>
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(SourceFile:2285)<br>
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(SourceFile:2305)<br>
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.if(SourceFile:737)<br>
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(SourceFile:167)<br>
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.a(SourceFile:529)<br>
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.call(SourceFile:527)<br>
         at com.crystaldecisions.reports.common.ThreadGuard.syncExecute(SourceFile:102)<br>
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.for(SourceFile:525)<br>
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.int(SourceFile:424)<br>
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(SourceFile:352)<br>
         at com.businessobjects.sdk.erom.jrc.a.a(SourceFile:54)<br>
         at com.businessobjects.sdk.erom.jrc.a.execute(SourceFile:67)<br>
         at com.crystaldecisions.proxy.remoteagent.RemoteAgent$a.execute(SourceFile:716)<br>
         at com.crystaldecisions.proxy.remoteagent.CommunicationChannel.a(SourceFile:125)<br>
         at com.crystaldecisions.proxy.remoteagent.RemoteAgent.a(SourceFile:537)<br>
         at com.crystaldecisions.sdk.occa.report.application.ds.a(SourceFile:186)<br>
         at com.crystaldecisions.sdk.occa.report.application.an.a(SourceFile:108)<br>
         at com.crystaldecisions.sdk.occa.report.application.b0.if(SourceFile:148)<br>
         at com.crystaldecisions.sdk.occa.report.application.b0.b(SourceFile:95)<br>
         at com.crystaldecisions.sdk.occa.report.application.bb.int(SourceFile:96)<br>
         at com.crystaldecisions.proxy.remoteagent.UndoUnitBase.performDo(SourceFile:151)<br>
         at com.crystaldecisions.proxy.remoteagent.UndoUnitBase.a(SourceFile:106)<br>
         at com.crystaldecisions.sdk.occa.report.application.DatabaseController.a(SourceFile:2159)<br>
         at com.crystaldecisions.sdk.occa.report.application.DatabaseController.a(SourceFile:543)<br>
         at com.crystaldecisions.sdk.occa.report.application.DatabaseController.a(SourceFile:3898)<br>
         at com.crystaldecisions.sdk.occa.report.application.DatabaseController.setTableLocation(SourceFile:2906)<br>
         at com.mysystems.myapp.common.CRJavaHelper.changeDataSource(CRJavaHelper.java:157)<br>
         at com.mysystems.myapp.common.CrystalReport.print(CrystalReport.java:202)<br>
         at org.apache.jsp.english.CrystalReportParms_jsp._jspService(CrystalReportParms_jsp.java:368)<br>
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)<br>
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)<br>
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)<br>
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)<br>
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)<br>
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)<br>
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)<br>
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br>
         at com.mysystems.myapp.common.MyServletFilter.doFilter(MyServletFilter.java:107)<br>
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)<br>
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br>
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)<br>
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)<br>
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)<br>
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)<br>
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)<br>
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)<br>
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)<br>
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)<br>
         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)<br>
         at java.lang.Thread.run(Thread.java:595)<br>
    Caused by: com.crystaldecisions.reports.common.QueryEngineException: Unexpected database connector error<br>
         at com.crystaldecisions.reports.queryengine.Connection.bf(SourceFile:2958)<br>
         at com.crystaldecisions.reports.queryengine.Rowset.z3(SourceFile:944)<br>
         at com.crystaldecisions.reports.queryengine.Rowset.bL(SourceFile:533)<br>
         at com.crystaldecisions.reports.queryengine.Rowset.zM(SourceFile:245)<br>
         at com.crystaldecisions.reports.queryengine.Connection.a(SourceFile:776)<br>
         at com.crystaldecisions.reports.queryengine.Table.a(SourceFile:2234)<br>
         at com.crystaldecisions.reports.queryengine.Table.if(SourceFile:2161)<br>
         at com.crystaldecisions.reports.queryengine.Table.try(SourceFile:1525)<br>
         at com.crystaldecisions.reports.queryengine.Table.a(SourceFile:568)<br>
         at com.crystaldecisions.reports.queryengine.Table.u7(SourceFile:2405)<br>
         at com.crystaldecisions.reports.dataengine.datafoundation.AddDatabaseTableCommand.new(SourceFile:529)<br>
         at com.crystaldecisions.reports.common.CommandManager.a(SourceFile:71)<br>
         at com.crystaldecisions.reports.common.Document.a(SourceFile:203)<br>
         at com.businessobjects.reports.sdk.requesthandler.f.a(SourceFile:175)<br>
         at com.businessobjects.reports.sdk.requesthandler.DatabaseRequestHandler.byte(SourceFile:1079)<br>
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.do(SourceFile:1167)<br>
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.if(SourceFile:661)<br>
         ... 47 more<br>
    Caused by: com.businessobjects.reports.jdbinterface.common.DBException: Unexpected database connector error<br>
         at com.crystaldecisions.reports.queryengine.driverImpl.jdbc.JDBCQueryDefinition.Execute(Unknown Source)<br>
         at com.crystaldecisions.reports.queryengine.driverImpl.jdbc.JDBCQueryDefinition.Execute(Unknown Source)<br>
         at com.crystaldecisions.reports.queryengine.Connection.bf(SourceFile:2953)<br>
         ... 63 more<br>
    Caused by: java.sql.SQLException: ORA-00904: "Fun_getEmpAddress": invalid identifier<br>
    <br>
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)<br>
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:304)<br>
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:271)<br>
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:622)<br>
         at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:111)<br>
         at oracle.jdbc.driver.T4CStatement.execute_for_describe(T4CStatement.java:350)<br>
         at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:895)<br>
         at oracle.jdbc.driver.T4CStatement.execute_maybe_describe(T4CStatement.java:382)<br>
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:985)<br>
         at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1515)<br>
         ... 66 more<br>

    i'm also getting the same error when i'm trying to call stored procedure (that will fetch the result set and populate the report) through the query in the report-viewer.jsp. The result set is fetched i.e. when i print the result set it shows on tomcat but it is not getting passed to Table object to populate the report. However when i try to give the query explicitly in the form of SELECT statements, it works fine i.e. i can view the report in the browser. But giving query in the form of SELECT is a very naive way and is ok if u have too less reports not requiring too many joins, thats why i was using stored procedure. Any help would be appreciated.

  • Time Constraint Error when calling a Function module from Webdynpro ABAP

    Any help will be greatly appreciated - Thanks RM
    Time Constraint Error
    Information on where terminated
        Termination occurred in the ABAP program "SAPUP50R" - in
         "CHECK_TIME_CONSTRAINT_S1".
        The main program was "MP000000 ".
        In the source code you have the termination point in line 1069
        of the (Include) program "UP50RU01".
    Error occurred during batch input processing
    Source Code Extract
          l_is_inconsistent = 'X'.
        ENDIF.
      Check if there are inverted time periods.
        IF l_prelp_line-begda > l_prelp_line-endda.
          l_is_inconsistent = 'X'.
        ENDIF.
    Check if there are overlaps or gaps.
        IF NOT l_prelp_before IS INITIAL.
          l_date_difference = l_prelp_line-begda - l_prelp_before-endda.
          IF l_date_difference <> 1.
            l_is_inconsistent = 'X'.
          ENDIF.
        ENDIF.
        l_prelp_before = l_prelp_line.
      ENDLOOP.
      IF l_prelp_before-endda <> '99991231'.
        l_is_inconsistent = 'X'.
      ENDIF.
      IF l_is_inconsistent = 'X'.
        IF p_access_type = 'R'.
    490 Datenbankschiefstand Personalnummer & Infotyp &
          MESSAGE x490 WITH l_prelp_before-pernr l_prelp_before-infty.
        ELSE.
    491 Unzulässige Daten Personalnummer & Infotyp &
    Line 1069 Error occcurs >>>>  MESSAGE x491 WITH l_prelp_before-pernr l_prelp_before-infty.
        ENDIF.
      ENDIF.
    ENDFORM.                    " CHECK_TIME_CONSTRAINT_S1     "XYVN0352581
    *&      Form  clear_no_adapter_needed              new     "XREN844998
          text
    FORM clear_no_adapter_needed .
      CLEAR no_adapter_needed.
    ENDFORM.                    " clear_no_adapter_needed
    *&      Form  set_no_adapter_needed              new     "XREN844998
          text
    FORM set_no_adapter_needed .
      no_adapter_needed = 'X'.
    ENDFORM.                    " clear_no_adapter_needed

    Hi,
    Well, are you trying to do a batch input on infotype 0000? If yes you need to check that the proposed values respects the time constraint, meaning no gap, no overlaps and no inversions. Also fields SUBTY, OBJPS, SPRPS and SEQNR must remain initial when processing IT0000...
    Kr,
    Manu.

  • Database Connection Error:BAPI Error #0

    I have a problem when I preview a report in Crystal Reports 2008 using BW MDX Query I had recieved the following messages:
    1.Failed to retrieve data from database
    and then when I click ok
    2.Database Connection Error:BAPI Error #0
    Error occurred  when starting the parser:timeout during allocate / CPIC-CALL'ThSAPCMRCV'
    I copied the query of crystal report and I execute it inside the transaction of mdxtest
    SELECT  NON EMPTY EXCEPT([0CALMONTH].MEMBERS, {[0CALMONTH].[All]}) ON ROWS FROM [USD_SD_C0/RPT_1] SAP VARIABLES [!V000001] INCLUDING [0CALMONTH].[200401]
    I found the debugger had stopped in the line Break when I click on F8
    I recieve the following error
    Error occurred when starting the parser: timeout
    during allocate / CPIC-CALL: 'ThSAPCMRCV'
    Please anybody can help me

    Dear Ingo
    I had read this note
    I applied the following:
    1.I didn't found the lrfc32.dll in the windows/system32 in my BW server so I asked my basis administrator to upgrade the kernel
    2.after this step I didn't find it again so I had copied the file from the new kernel and copied it to system32 and sysWow
    3.I register successfuly the lrfc32.dll using the commanf regsvr c:/windows/system32/lfrc32.dll
    (note: this step didn't succeed until I had installed SAP GUI in BW server because as I observed that there is a need for C++ compiler which is installed by default when you install GUI)
    after all of this I cannot run any crystal report based on any BW query
    So Please anyboday can help

Maybe you are looking for