Home Forum Nuclos Konfiguration Maskenlayouts Subform einer Entität mit Statusmodell

Ansicht von 5 Beiträgen - 1 bis 5 (von insgesamt 5)
  • Autor
    Beiträge
  • #2725
    Carsten Hof
    Teilnehmer

    Hallo,

    ich habe eine Entität A mit Statusmodell angelegt. Diese will ich über ein Subform in einer anderen Entität B anzeigen lassen. Die nötigen Referenzfelder dafür existieren und ich kann die Entität A und den Fremdschlüssel auf B im Layout von B angeben.
    Beim Bestätigen mit OK erscheint jedoch „A must be a masterdata entity“.

    Ich habe hier im Forum etwas über die Zweiteilung der Entitäten in MasterData und GenericObject gelesen, hat das was damit zu tun? Leider finde ich den Forumeintrag nicht mehr.

    Und wenn ja, gibt es einen Weg A dennoch in B einzubetten?

    Vielen Dank
    Bettina Sieber

    #2727
    Claudia Mangstl
    Teilnehmer

    Hallo Frau Sieber,

    es ist in der Tat nicht möglich Entitäten, die ein Statusmodell besitzen, als Subform Datensätze zu behandeln. Diese Entitäten enthalten zusätzliche Funktionen wie Prozesse oder eben auch das Statusmodell. Man könnte einen Statuswechsel über eine Subformzeile nicht abbilden.
    Wie genau soll sich denn der Geschäftsprozess in Ihrem Fall darstellen ? Sie hätten die Möglichkeiten

    – Entität A ohne Statusmodell zu definieren
    – die Daten von Entität A als dynamische Entität in B einzubetten
    – in einer Zwischenentität als Subform in B auf schon bestehende Datensätze von Entität A verweisen.

    In den letzten beiden Fällen müssten Sie auf das Statusmodell in A nicht verzichten.

    Viele Grüße,
    Claudia M.

    #2763
    Carsten Hof
    Teilnehmer

    Hallo Frau M.,

    vielen Dank für Ihre Antwort.
    Leider passt jedoch keine der drei Lösungsmöglichkeiten so richtig zu meinem Geschäftsprozess.

    Möglichkeit 1:
    Das Statusmodell kann ich leider nicht rausnehmen. Ich benötige für die Entität A ein Logbuch und folglich auch das Statusmodell. Das Statusmodell an sich wäre für die Abbildung des Geschäftsprozesses nicht notwendig. (Ist eigentlich eine Trennung von Statusmodell und Logbuch geplant?)

    Möglichkeit 2:
    In dem Subform soll man später editieren können, weswegen eine Lösung über eine dynamische Entität ausscheidet.

    Möglichkeit 3:
    Entität A ist bereits eine Zwischenentität zwischen B und C um eine m-n-Zuordnung abzubilden. Ich denke, damit fällt diese Option auch weg, allerdings bin ich mir da nicht ganz sicher. Vielleicht könnten Sie mir diesen dritten Weg nochmal genauer erläutern.

    Oder gibt es noch einen weiteren Weg den ich versuchen könnte?

    Viele Dank und viele Grüße,
    Bettina Sieber

    #3953
    Jan Giebels
    Teilnehmer

    Soweit ich im Onlinetraining zu Neuerungen zu 3.x erfahren habe, soll es nun möglich sein, Entitäten mit Statusmodell als Sub-Entität in einer Entität ebenfalls mit Statusmodell zu nutzen.

    Dadurch könnten ja dann auch Dokumentenanhänge und Bemerkungen in „Sub-Entitäten“ verwendet werden.
    Dies ist sehr nützlich.

    Leider scheint es ein Problem zu geben mit dem nachträglichen hinzufügen eines Statusmodells zu einer bereits bestehenden und mit Daten gefüllten Entität.

    Im Entitätenwizard gibt es folgenden Fehler, wenn ich die Checkbox „mit Statusmodell“ aktiviere und die Entität im Anschluss speichern will.


    Fehlerklasse: org.nuclos.common2.exception.CommonFatalException
    Fehlermeldung: Entität Lieferantenartikel konnte nicht verändert werden. Grund: ALTER TABLE nuclos.T_EO_LIEFERANTENARTIKEL ADD BLNNUCLOSDELETED BOOLEAN NOT NULL
    Stack Trace:
    org.nuclos.common2.exception.CommonFatalException: Entität Lieferantenartikel konnte nicht verändert werden.
    Grund:
    ALTER TABLE nuclos.T_EO_LIEFERANTENARTIKEL ADD BLNNUCLOSDELETED BOOLEAN NOT NULL
    at org.nuclos.client.wizard.steps.NuclosEntitySQLLayoutStep.createOrModifyEntity(NuclosEntitySQLLayoutStep.java:713)
    at org.nuclos.client.wizard.steps.NuclosEntitySQLLayoutStep.applyState(NuclosEntitySQLLayoutStep.java:432)
    at org.nuclos.client.wizard.NuclosWizardButtonBar$1$1.run(NuclosWizardButtonBar.java:87)
    at java.lang.Thread.run(Thread.java:680)

    Im Log gibt es folgenden Stacktrace:

    ERROR [org.nuclos.server.dblayer.impl.DataSourceExecutor] - SQL exception
    org.postgresql.util.PSQLException: ERROR: column "blnnuclosdeleted" contains null values
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2102)
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1835)
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:500)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:334)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
    at org.nuclos.server.dblayer.impl.postgresql.PostgreSQLDBAccess$PostgreSQLStatementVisitor$1.performImpl(PostgreSQLDBAccess.java:326)
    at org.nuclos.server.dblayer.impl.postgresql.PostgreSQLDBAccess$PostgreSQLStatementVisitor$1.perform(PostgreSQLDBAccess.java:308)
    at org.nuclos.server.dblayer.impl.postgresql.PostgreSQLDBAccess$PostgreSQLStatementVisitor$1.perform(PostgreSQLDBAccess.java:295)
    at org.nuclos.server.dblayer.impl.DataSourceExecutor.execute(DataSourceExecutor.java:55)
    at org.nuclos.server.dblayer.impl.postgresql.PostgreSQLDBAccess$PostgreSQLStatementVisitor.executePreparedStatement(PostgreSQLDBAccess.java:295)
    at org.nuclos.server.dblayer.impl.standard.StandardSqlDBAccess$StatementVisitor.executePreparedStatements(StandardSqlDBAccess.java:715)
    at org.nuclos.server.dblayer.impl.standard.StandardSqlDBAccess$StatementVisitor.visitStructureChange(StandardSqlDBAccess.java:696)
    at org.nuclos.server.dblayer.impl.standard.StandardSqlDBAccess$StatementVisitor.visitStructureChange(StandardSqlDBAccess.java:674)
    at org.nuclos.server.dblayer.statements.DbStructureChange.accept(DbStructureChange.java:75)
    at org.nuclos.server.dblayer.impl.standard.StandardSqlDBAccess.execute(StandardSqlDBAccess.java:123)
    at org.nuclos.server.dblayer.DbAccess.execute(DbAccess.java:164)
    at org.nuclos.server.masterdata.ejb3.MetaDataFacadeBean.createOrModifyEntity(MetaDataFacadeBean.java:661)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:67)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
    at $Proxy20.createOrModifyEntity(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at org.nuclos.server.common.NuclosRemoteRollbackInterceptor.invoke(NuclosRemoteRollbackInterceptor.java:56)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
    at $Proxy70.createOrModifyEntity(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.remoting.support.RemoteInvocation.invoke(RemoteInvocation.java:205)
    at org.nuclos.server.common.NuclosRemoteInvocationExecutor.invoke(NuclosRemoteInvocationExecutor.java:30)
    at org.springframework.remoting.support.RemoteInvocationBasedExporter.invoke(RemoteInvocationBasedExporter.java:78)
    at org.springframework.remoting.support.RemoteInvocationBasedExporter.invokeAndCreateResult(RemoteInvocationBasedExporter.java:114)
    at org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.handleRequest(HttpInvokerServiceExporter.java:73)
    at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:49)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:366)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:177)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:167)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
    2011-07-08 17:59:52,426 ERROR [org.nuclos.server.dblayer.impl.DataSourceExecutor] - SQL exception
    org.postgresql.util.PSQLException: ERROR: column t.blnnuclosdeleted does not exist
    Position: 780
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2102)
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1835)
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:500)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:334)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
    at org.nuclos.server.dblayer.impl.postgresql.PostgreSQLDBAccess$PostgreSQLStatementVisitor$1.performImpl(PostgreSQLDBAccess.java:326)
    at org.nuclos.server.dblayer.impl.postgresql.PostgreSQLDBAccess$PostgreSQLStatementVisitor$1.perform(PostgreSQLDBAccess.java:308)
    at org.nuclos.server.dblayer.impl.postgresql.PostgreSQLDBAccess$PostgreSQLStatementVisitor$1.perform(PostgreSQLDBAccess.java:295)
    at org.nuclos.server.dblayer.impl.DataSourceExecutor.execute(DataSourceExecutor.java:55)
    at org.nuclos.server.dblayer.impl.postgresql.PostgreSQLDBAccess$PostgreSQLStatementVisitor.executePreparedStatement(PostgreSQLDBAccess.java:295)
    at org.nuclos.server.dblayer.impl.standard.StandardSqlDBAccess$StatementVisitor.executePreparedStatements(StandardSqlDBAccess.java:715)
    at org.nuclos.server.dblayer.impl.standard.StandardSqlDBAccess$StatementVisitor.visitStructureChange(StandardSqlDBAccess.java:696)
    at org.nuclos.server.dblayer.impl.standard.StandardSqlDBAccess$StatementVisitor.visitStructureChange(StandardSqlDBAccess.java:674)
    at org.nuclos.server.dblayer.statements.DbStructureChange.accept(DbStructureChange.java:75)
    at org.nuclos.server.dblayer.impl.standard.StandardSqlDBAccess.execute(StandardSqlDBAccess.java:123)
    at org.nuclos.server.dblayer.DbAccess.execute(DbAccess.java:164)
    at org.nuclos.server.masterdata.ejb3.MetaDataFacadeBean.createOrModifyEntity(MetaDataFacadeBean.java:661)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:67)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
    at $Proxy20.createOrModifyEntity(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at org.nuclos.server.common.NuclosRemoteRollbackInterceptor.invoke(NuclosRemoteRollbackInterceptor.java:56)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
    at $Proxy70.createOrModifyEntity(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.remoting.support.RemoteInvocation.invoke(RemoteInvocation.java:205)
    at org.nuclos.server.common.NuclosRemoteInvocationExecutor.invoke(NuclosRemoteInvocationExecutor.java:30)
    at org.springframework.remoting.support.RemoteInvocationBasedExporter.invoke(RemoteInvocationBasedExporter.java:78)
    at org.springframework.remoting.support.RemoteInvocationBasedExporter.invokeAndCreateResult(RemoteInvocationBasedExporter.java:114)
    at org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.handleRequest(HttpInvokerServiceExporter.java:73)
    at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:49)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:366)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:177)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:167)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
    2011-07-08 17:59:52,430 ERROR [org.nuclos.server.dblayer.impl.DataSourceExecutor] - SQL exception
    org.postgresql.util.PSQLException: ERROR: view "v_eo_lieferantenartikel" does not exist
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2102)
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1835)
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:500)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:334)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
    at org.nuclos.server.dblayer.impl.postgresql.PostgreSQLDBAccess$PostgreSQLStatementVisitor$1.performImpl(PostgreSQLDBAccess.java:326)
    at org.nuclos.server.dblayer.impl.postgresql.PostgreSQLDBAccess$PostgreSQLStatementVisitor$1.perform(PostgreSQLDBAccess.java:308)
    at org.nuclos.server.dblayer.impl.postgresql.PostgreSQLDBAccess$PostgreSQLStatementVisitor$1.perform(PostgreSQLDBAccess.java:295)
    at org.nuclos.server.dblayer.impl.DataSourceExecutor.execute(DataSourceExecutor.java:55)
    at org.nuclos.server.dblayer.impl.postgresql.PostgreSQLDBAccess$PostgreSQLStatementVisitor.executePreparedStatement(PostgreSQLDBAccess.java:295)
    at org.nuclos.server.dblayer.impl.standard.StandardSqlDBAccess$StatementVisitor.executePreparedStatements(StandardSqlDBAccess.java:715)
    at org.nuclos.server.dblayer.impl.standard.StandardSqlDBAccess$StatementVisitor.visitStructureChange(StandardSqlDBAccess.java:696)
    at org.nuclos.server.dblayer.impl.standard.StandardSqlDBAccess$StatementVisitor.visitStructureChange(StandardSqlDBAccess.java:674)
    at org.nuclos.server.dblayer.statements.DbStructureChange.accept(DbStructureChange.java:75)
    at org.nuclos.server.dblayer.impl.standard.StandardSqlDBAccess.execute(StandardSqlDBAccess.java:123)
    at org.nuclos.server.dblayer.DbAccess.execute(DbAccess.java:164)
    at org.nuclos.server.masterdata.ejb3.MetaDataFacadeBean.rollBackDBChanges(MetaDataFacadeBean.java:918)
    at org.nuclos.server.masterdata.ejb3.MetaDataFacadeBean.createOrModifyEntity(MetaDataFacadeBean.java:672)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:67)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
    at $Proxy20.createOrModifyEntity(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at org.nuclos.server.common.NuclosRemoteRollbackInterceptor.invoke(NuclosRemoteRollbackInterceptor.java:56)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
    at $Proxy70.createOrModifyEntity(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.remoting.support.RemoteInvocation.invoke(RemoteInvocation.java:205)
    at org.nuclos.server.common.NuclosRemoteInvocationExecutor.invoke(NuclosRemoteInvocationExecutor.java:30)
    at org.springframework.remoting.support.RemoteInvocationBasedExporter.invoke(RemoteInvocationBasedExporter.java:78)
    at org.springframework.remoting.support.RemoteInvocationBasedExporter.invokeAndCreateResult(RemoteInvocationBasedExporter.java:114)
    at org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.handleRequest(HttpInvokerServiceExporter.java:73)
    at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:49)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:366)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:177)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:167)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
    2011-07-08 17:59:52,438 ERROR [org.nuclos.server.dblayer.impl.DataSourceExecutor] - SQL exception
    org.postgresql.util.PSQLException: ERROR: column "blnnuclosdeleted" of relation "t_eo_lieferantenartikel" does not exist
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2102)
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1835)
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:500)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:334)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
    at org.nuclos.server.dblayer.impl.postgresql.PostgreSQLDBAccess$PostgreSQLStatementVisitor$1.performImpl(PostgreSQLDBAccess.java:326)
    at org.nuclos.server.dblayer.impl.postgresql.PostgreSQLDBAccess$PostgreSQLStatementVisitor$1.perform(PostgreSQLDBAccess.java:308)
    at org.nuclos.server.dblayer.impl.postgresql.PostgreSQLDBAccess$PostgreSQLStatementVisitor$1.perform(PostgreSQLDBAccess.java:295)
    at org.nuclos.server.dblayer.impl.DataSourceExecutor.execute(DataSourceExecutor.java:55)
    at org.nuclos.server.dblayer.impl.postgresql.PostgreSQLDBAccess$PostgreSQLStatementVisitor.executePreparedStatement(PostgreSQLDBAccess.java:295)
    at org.nuclos.server.dblayer.impl.standard.StandardSqlDBAccess$StatementVisitor.executePreparedStatements(StandardSqlDBAccess.java:715)
    at org.nuclos.server.dblayer.impl.standard.StandardSqlDBAccess$StatementVisitor.visitStructureChange(StandardSqlDBAccess.java:696)
    at org.nuclos.server.dblayer.impl.standard.StandardSqlDBAccess$StatementVisitor.visitStructureChange(StandardSqlDBAccess.java:674)
    at org.nuclos.server.dblayer.statements.DbStructureChange.accept(DbStructureChange.java:75)
    at org.nuclos.server.dblayer.impl.standard.StandardSqlDBAccess.execute(StandardSqlDBAccess.java:123)
    at org.nuclos.server.dblayer.DbAccess.execute(DbAccess.java:164)
    at org.nuclos.server.masterdata.ejb3.MetaDataFacadeBean.rollBackDBChanges(MetaDataFacadeBean.java:918)
    at org.nuclos.server.masterdata.ejb3.MetaDataFacadeBean.createOrModifyEntity(MetaDataFacadeBean.java:672)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:67)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
    at $Proxy20.createOrModifyEntity(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at org.nuclos.server.common.NuclosRemoteRollbackInterceptor.invoke(NuclosRemoteRollbackInterceptor.java:56)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
    at $Proxy70.createOrModifyEntity(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.remoting.support.RemoteInvocation.invoke(RemoteInvocation.java:205)
    at org.nuclos.server.common.NuclosRemoteInvocationExecutor.invoke(NuclosRemoteInvocationExecutor.java:30)
    at org.springframework.remoting.support.RemoteInvocationBasedExporter.invoke(RemoteInvocationBasedExporter.java:78)
    at org.springframework.remoting.support.RemoteInvocationBasedExporter.invokeAndCreateResult(RemoteInvocationBasedExporter.java:114)
    at org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.handleRequest(HttpInvokerServiceExporter.java:73)
    at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:49)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:366)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:177)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:167)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)

    Das es generell nicht unbedingt möglich ist, ein Statusmodell bei bestehenden Daten zu übergeben scheint mir auch logisch, da ich im Statusmodell ja eine Verwendung angeben muss und dazu vorher eine Entität erstellt werden muss. Das Henne-Ei Problem.

    gibt es dafür eine Lösung oder liege ich falsch und es handelt sich um einen Bug ?

    Danke.

    #3954

    Hallo,

    das Problem ist, dass zu einer bestehenden Tabelle, die bereits Daten enthaelt eine Spalte mit dem Constraint „NOT NULL“ hinzugefuegt werden soll.

    ALTER TABLE nuclos.T_EO_LIEFERANTENARTIKEL ADD BLNNUCLOSDELETED BOOLEAN NOT NULL

    Das funktioniert nicht. (Im Wiki wird auch darauf hingewiesen.) Zunaechst sollten die Datensaetze der Tabelle (mit einem externen Tool) exportiert, dann muss die Tabelle geleert, im Anschluss das Statusmodell hinzugefuegt und darauf hin die Daten wieder importiert werden.

    Sobald aber Fremsschluessel mit ins Spiel kommen (was bei Lieferantenartikeln sehr wahrscheinlich ist), wird es haariger. Die Datensaetze, auf die von Datensaetzen aus anderen Tabellen verwiesen wird, lassen sich nicht loeschen und ein kaskadiertes Loeschen wuerde sicherlich zu weit gehen. An dieser stelle wuerde ich die Fremdschluessel voruebergehend loeschen, exportieren, dann die Tabelle leeren, Statusmodell hinzufuegen, importieren, Fremdschluessel setzen.
    ALTER TABLE ... DROP CONSTAINT ...

    [color=#880000]
    Vorher unbedingt ein Backup der gesamten Datenbank machen. Am besten mit einem Snapshot vorher mal ueben. Waehrend Import, Export und Strukturaenderungen Nuclus (Server) beenden.

    Ich bin weder Mitarbeiter von Novabit noch handle ich in deren Auftrag. Falls dieser Eingriff zu Datenverlust fuehrt, kann Novabit nicht dafuer haftbar gemacht werden.
    [/color]

    UPDATE:
    Ich hab das mal erfolgreich getestet. Ich werde den folgenden Code nur spaerlich kommentieren und keine weiteren Aussagen dazu machen. Wer ihn nicht versteht, sollte die Finger davon lassen und einen Fachmann zu Rate ziehen.

    Viel Spass beim Nachmachen

    Daniel

    UPDATE2:
    Zwei Fremdschluessel und SQL-Anweisungen ueberarbeitet.
    Sicherung der Daten in temporaerer Tabelle anstatt externer Datei.

    Daniel

    Nuclos 3.0.9, PostgrSQL 8.4.5

    Drei Entitaeten: „Container“, „Item1“ und „Item2“, alle ohne Statusmodell. „Item1“ und „Item2“ haben ein Referenzfeld auf „Container“, „Container“ soll ein Statusmodell erhalten. Der initiale Status heisst „container_initial_status“ und ist ueber alle Statusmodelle eindeutig (kann spaeter geaendert werden)

    Nuclos-Server anhalten, psql starten. Zur Uebersicht Tabellendefinition und Beispieldaten.


    ~> pg_dump -U nuclos nuclosdb-dev > dumpdb-current-`date +"%F-%H%M%S".sql
    ~> psql nuclosdb-dev nuclos

    nuclosdb-dev=> d+ t_eo_(container|item1|item2)
    Table "public.t_eo_container"
    Column | Type | Modifiers | Storage | Description
    ------------------+-----------------------------+-----------+----------+-------------
    intid | numeric(20,0) | not null | main |
    strcontainertext | character varying(255) | not null | extended |
    datchanged | timestamp without time zone | not null | plain |
    strchanged | character varying(30) | not null | extended |
    datcreated | timestamp without time zone | not null | plain |
    strcreated | character varying(30) | not null | extended |
    intversion | numeric(9,0) | not null | main |
    Indexes:
    "pk_t_eo_container" PRIMARY KEY, btree (intid)
    "xak_t_eo_container_3lkrif" UNIQUE, btree (strcontainertext)
    Referenced by:
    TABLE "t_eo_item1" CONSTRAINT "xr_t_eo_item1_jk62oz" FOREIGN KEY (intid_strcontainer) REFERENCES t_eo_container(intid)
    TABLE "t_eo_item2" CONSTRAINT "xr_t_eo_item2_m6f3hh" FOREIGN KEY (intid_strcontainer) REFERENCES t_eo_container(intid)
    Has OIDs: no

    Table "public.t_eo_item1"
    Column | Type | Modifiers | Storage | Description
    --------------------+-----------------------------+-----------+----------+-------------
    intid | numeric(20,0) | not null | main |
    stritem1text | character varying(255) | not null | extended |
    intid_strcontainer | numeric(20,0) | not null | main |
    datchanged | timestamp without time zone | not null | plain |
    strchanged | character varying(30) | not null | extended |
    datcreated | timestamp without time zone | not null | plain |
    strcreated | character varying(30) | not null | extended |
    intversion | numeric(9,0) | not null | main |
    Indexes:
    "pk_t_eo_item1" PRIMARY KEY, btree (intid)
    "xak_t_eo_item1_iybv7a" UNIQUE, btree (stritem1text)
    "xie_t_eo_item1_wohf7o" btree (intid_strcontainer)
    Foreign-key constraints:
    "xr_t_eo_item1_jk62oz" FOREIGN KEY (intid_strcontainer) REFERENCES t_eo_container(intid)
    Has OIDs: no

    Table "public.t_eo_item2"
    Column | Type | Modifiers | Storage | Description
    --------------------+-----------------------------+-----------+----------+-------------
    intid | numeric(20,0) | not null | main |
    intid_strcontainer | numeric(20,0) | not null | main |
    stritem1text | character varying(255) | not null | extended |
    datchanged | timestamp without time zone | not null | plain |
    strchanged | character varying(30) | not null | extended |
    datcreated | timestamp without time zone | not null | plain |
    strcreated | character varying(30) | not null | extended |
    intversion | numeric(9,0) | not null | main |
    Indexes:
    "pk_t_eo_item2" PRIMARY KEY, btree (intid)
    "xak_t_eo_item2_smpnqr" UNIQUE, btree (stritem1text)
    "xie_t_eo_item2_7ui6cw" btree (intid_strcontainer)
    Foreign-key constraints:
    "xr_t_eo_item2_m6f3hh" FOREIGN KEY (intid_strcontainer) REFERENCES t_eo_container(intid)
    Has OIDs: no

    nuclosdb-dev=> select intid, 'Container' as entity, strcontainertext as "str...text", null::numeric as intid_strcontainer from t_eo_container
    union all select intid, 'Item1', stritem1text, intid_strcontainer from t_eo_item1
    union all select intid, 'Item2', stritem1text, intid_strcontainer from t_eo_item2;
    intid | entity | str...text | intid_strcontainer
    ----------+-----------+---------------+--------------------
    40000097 | Container | Container One |
    40000098 | Container | Container Two |
    40000099 | Item1 | Item One | 40000097
    40000100 | Item2 | Item Two | 40000098
    (4 rows)

    nuclosdb-dev=> select c.conname
    from information_schema.constraint_table_usage i
    inner join pg_catalog.pg_constraint c on i.constraint_name = c.conname
    where i.table_name = 't_eo_container' and c.contype ='f';
    conname
    ----------------------
    xr_t_eo_item1_jk62oz
    xr_t_eo_item2_m6f3hh
    (2 rows)

    Los gehts…

    nuclosdb-dev=> select * into table tmp_container from t_eo_container;
    nuclosdb-dev=> alter table t_eo_item1 drop constraint xr_t_eo_item1_jk62oz;
    nuclosdb-dev=> alter table t_eo_item2 drop constraint xr_t_eo_item2_m6f3hh;
    nuclosdb-dev=> truncate t_eo_container;

    Nuclos starten, Entitaet aendern und Statusmodell hinzufuegen, Nuclos stoppen.

    nuclosdb-dev=> alter table t_eo_container alter column blnnuclosdeleted drop not null;
    nuclosdb-dev=> insert into t_eo_container select * from tmp_container;
    nuclosdb-dev=> alter table t_eo_item1 add constraint xr_t_eo_item1_jk62oz foreign key (intid_strcontainer) references t_eo_container(intid);
    nuclosdb-dev=> alter table t_eo_item2 add constraint xr_t_eo_item2_m6f3hh foreign key (intid_strcontainer) references t_eo_container(intid);

    nuclosdb-dev=> create temporary sequence container_system_id_sequ minvalue 0 start 0;

    nuclosdb-dev=> insert into t_ud_genericobject (intid, intid_t_md_module, datcreated, strcreated, datchanged, strchanged, intversion)
    select o.intid, e.intid, current_timestamp, 'redneck', current_timestamp, 'redneck', 1
    from t_md_entity e, t_eo_container o
    where e.strentity = 'Container';
    nuclosdb-dev=> insert into t_ud_go_statehistory (intid, intid_t_md_state, intid_t_ud_genericobject, datcreated, strcreated, datchanged, strchanged, intversion)
    select nextval('idfactory'), s.intid, o.intid, current_timestamp, 'redneck', current_timestamp, 'redneck', 1
    from t_md_state s, t_eo_container o
    where s.strstate = 'container_initial_status';
    nuclosdb-dev=> update t_eo_container set
    blnnuclosdeleted = false,
    strnuclossystemid =
    e.strsystemidprefix
    || to_char(current_timestamp, 'YYMM')
    || '#'
    || to_char(nextval('container_system_id_sequ'), 'FM00000'),
    intid_nuclosstate = s.intid
    from t_md_entity e, t_md_state s
    where
    e.strentity = 'Container'
    and s.strstate = 'container_initial_status';
    nuclosdb-dev=> alter table t_eo_container alter column blnnuclosdeleted set not null;
    nuclosdb-dev=> drop table tmp_container;

Ansicht von 5 Beiträgen - 1 bis 5 (von insgesamt 5)