Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Eclipse Scout » Populate multi column TableField Table in form with data
Populate multi column TableField Table in form with data [message #1555552] Fri, 09 January 2015 22:04 Go to next message
Justin B is currently offline Justin BFriend
Messages: 19
Registered: January 2015
Location: New Jersey, USA
Junior Member
Having trouble understanding how to populate a table form field which has multiple columns with data from the corresponding database table. The form is used for editing and also creating a new entry using ModifyHandler and NewHandler respectively. The form is used to edit an order entry and the order items on the form is the tablefield. I don't know what I am missing. Is tableFieldData handled the same as TablePageData?? Do you need to map each column to the data returned from the database? Any help is appreciated greatly. I can't seem to find what I need anywhere in the documentation.
Re: Populate multi column TableField Table in form with data [message #1557979 is a reply to message #1555552] Sun, 11 January 2015 07:14 Go to previous messageGo to next message
Jeremie Bresson is currently offline Jeremie BressonFriend
Messages: 1252
Registered: October 2011
Senior Member
An example with a form containing a QuestionsField (a TableField). The table in this table field has the columns:
* QuestionNrColumn (Integer Column)
* QuestionColumn (String Column)

With this statement in your server service, you can populate the data:

public QuestionsListFormData load(QuestionsListFormData formData) throws ProcessingException {
  SQL.selectInto(" select question_id, question_text " +
      " from  questions " +
      " into :QuestionNr, :Question",
      formData.getQuestions());
  return formData;
}


I think that you can also write it like that (not tested):

public QuestionsListFormData load(QuestionsListFormData formData) throws ProcessingException {
  SQL.selectInto(" select question_id, question_text " +
      " from  questions " +
      " into :questions.QuestionNr, :questions.Question",
      formData);
  return formData;
}
Re: Populate multi column TableField Table in form with data [message #1560402 is a reply to message #1557979] Mon, 12 January 2015 15:28 Go to previous messageGo to next message
Justin B is currently offline Justin BFriend
Messages: 19
Registered: January 2015
Location: New Jersey, USA
Junior Member
Thank you for your response. When I test this, however, I still get the processing error. To be more clear at what I am attempting to achieve, this is a form representing an order form with customer details including Name, Address, Customer#, etc. above and then line item details in a table below. So the underlying database is split in two tables one for "orders" and then the "orderitems" with a foreign-key back to the orders table for each corresponding line item. (One-->Many Relationship) Thank you again for your help. I am fairly new at Java I have not coded in Java since 2003 in school.


The service I have currently is:

 @Override
  public OrderFormData load(OrderFormData formData) throws ProcessingException {
    if (!ACCESS.check(new ReadOrderPermission())) {
      throw new VetoException(TEXTS.get("AuthorizationFailed"));
    }

    // Order information
    SQL.selectInto("" +
        "SELECT company," +
        "       whse," +
        "       order_no," +
        "       customer_po," +
        "       customer_name," +
        "       customer_address1," +
        "       customer_address2," +
        "       city_state," +
        "       zip_postal," +
        "       country," +
        "       order_date," +
        "       ack_date," +
        "       req_date," +
        "       special_instruction" +
        " FROM  orders" +
        " WHERE order_id = :orderNr" +
        " INTO  :company," +
        "       :wHSE," +
        "       :orderNumber," +
        "       :customerPO," +
        "       :customerName," +
        "       :customerAddress," +
        "       :customerAddressOptional," +
        "       :cityState," +
        "       :zipPostalCode," +
        "       :country," +
        "       :orderDate," +
        "       :acknowledged," +
        "       :requested," +
        "       :specialInstructions"
        , formData);

    //Order Details -- Line items
    SQL.select("" +
        "SELECT line_item_no," +
        "       cat_num," +
        "       qty," +
        "       item_status_id," +
        "       lot_num_id" +
        " FROM  orderitems " +
        " WHERE order_no = :orderNr" +
        " INTO  :orderItems"
        , formData.getOrderItems());
    return formData;
  }



And the Client Error Output is as follows:


!ENTRY org.eclipse.scout.commons 1 0 2015-01-12 09:56:30.186
!MESSAGE org.eclipse.scout.commons.ConfigIniUtility.getProperties(ConfigIniUtility.java:94) Properties for fabricator.server.core.ui.forms.OrderService

!ENTRY org.eclipse.scout.rt.server 1 0 2015-01-12 09:56:30.272
!MESSAGE org.eclipse.scout.rt.server.services.common.jdbc.internal.exec.StatementProcessor.dump(StatementProcessor.java:847) 
SQL with binds:
SELECT    COMPANY,
          WHSE,
          ORDER_NO,
          CUSTOMER_PO,
          CUSTOMER_NAME,
          CUSTOMER_ADDRESS1,
          CUSTOMER_ADDRESS2,
          CITY_STATE,
          ZIP_POSTAL,
          COUNTRY,
          ORDER_DATE,
          ACK_DATE,
          REQ_DATE,
          SPECIAL_INSTRUCTION
FROM      ORDERS
WHERE     ORDER_ID = :orderNr
INTO      :company,
          :wHSE,
          :orderNumber,
          :customerPO,
          :customerName,
          :customerAddress,
          :customerAddressOptional,
          :cityState,
          :zipPostalCode,
          :country,
          :orderDate,
          :acknowledged,
          :requested,
          :specialInstructions
IN  :orderNr => ? [BIGINT 39]
OUT :company => ? [Long]
OUT :wHSE => ? [String]
OUT :orderNumber => ? [String]
OUT :customerPO => ? [String]
OUT :customerName => ? [String]
OUT :customerAddress => ? [String]
OUT :customerAddressOptional => ? [String]
OUT :cityState => ? [String]
OUT :zipPostalCode => ? [String]
OUT :country => ? [String]
OUT :orderDate => ? [Date]
OUT :acknowledged => ? [Date]
OUT :requested => ? [Date]
OUT :specialInstructions => ? [String]

!ENTRY org.eclipse.scout.commons 1 0 2015-01-12 09:56:30.289
!MESSAGE org.eclipse.scout.commons.ConfigIniUtility.getProperties(ConfigIniUtility.java:94) Properties for org.eclipse.scout.rt.shared.services.common.exceptionhandler.LogExceptionHandlerService

!ENTRY org.eclipse.scout.rt.shared 4 0 2015-01-12 09:56:30.294
!MESSAGE org.eclipse.scout.rt.shared.services.common.exceptionhandler.LogExceptionHandlerService.differentiatedLog(LogExceptionHandlerService.java:76) ProcessingStatus[ERROR code=0 invoking fabricator.shared.core.ui.forms.IOrderService:load / unexpected exception / Cannot find output for 'ValueOutputToken[orderItems parsed ':orderItems', replaced ':orderItems' into]' in bind base. When selecting into shared context variables make sure these variables are initialized using CONTEXT.set<i>PropertyName</i>(null) ]
Cannot find output for 'ValueOutputToken[orderItems parsed ':orderItems', replaced ':orderItems' into]' in bind base. When selecting into shared context variables make sure these variables are initialized using CONTEXT.set<i>PropertyName</i>(null)
!STACK 0

	at org.eclipse.scout.rt.server.services.common.jdbc.internal.exec.StatementProcessor.createOutput(StatementProcessor.java:1176)
	at org.eclipse.scout.rt.server.services.common.jdbc.internal.exec.StatementProcessor.<init>(StatementProcessor.java:167)
	at org.eclipse.scout.rt.server.services.common.jdbc.AbstractSqlService.createStatementProcessor(AbstractSqlService.java:808)
	at org.eclipse.scout.rt.server.services.common.jdbc.AbstractSqlService.select(AbstractSqlService.java:716)
	at org.eclipse.scout.rt.server.services.common.jdbc.SQL.select(SQL.java:101)
	at fabricator.server.core.ui.forms.OrderService.load(OrderService.java:74)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.scout.service.ServiceUtility.invoke(ServiceUtility.java:172)
	at org.eclipse.scout.rt.server.DefaultTransactionDelegate.invokeImpl(DefaultTransactionDelegate.java:212)
	at org.eclipse.scout.rt.server.DefaultTransactionDelegate.invoke(DefaultTransactionDelegate.java:95)
	at org.eclipse.scout.rt.server.ServiceTunnelServlet.runServerJobTransactionWithDelegate(ServiceTunnelServlet.java:426)
	at org.eclipse.scout.rt.server.ServiceTunnelServlet.runServerJobTransaction(ServiceTunnelServlet.java:422)
	at org.eclipse.scout.rt.server.ServiceTunnelServlet$RemoteServiceJob.runTransaction(ServiceTunnelServlet.java:450)
	at org.eclipse.scout.rt.server.ServerJob.runTransactionWrapper(ServerJob.java:221)
	at org.eclipse.scout.rt.server.ServerJob.access$0(ServerJob.java:205)
	at org.eclipse.scout.rt.server.ServerJob$1.run(ServerJob.java:177)
	at org.eclipse.scout.rt.server.ServerJob$1.run(ServerJob.java:1)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Unknown Source)
	at org.eclipse.scout.rt.server.ServerJob.run(ServerJob.java:172)
	at org.eclipse.scout.commons.job.JobEx.runNow(JobEx.java:51)
	at org.eclipse.scout.rt.server.ServerJob.runNow(ServerJob.java:164)
	at org.eclipse.scout.rt.server.ServiceTunnelServlet.doPost(ServiceTunnelServlet.java:332)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
	at org.eclipse.scout.rt.server.commons.servletfilter.HttpServletEx.access$0(HttpServletEx.java:1)
	at org.eclipse.scout.rt.server.commons.servletfilter.HttpServletEx$1.service(HttpServletEx.java:38)
	at org.eclipse.scout.rt.server.commons.internal.FilterChainImpl.doFilter(FilterChainImpl.java:44)
	at org.eclipse.scout.rt.server.commons.servletfilter.helper.HttpAuthJaasFilter.doFilter(HttpAuthJaasFilter.java:62)
	at org.eclipse.scout.rt.server.commons.internal.FilterChainImpl.doFilter(FilterChainImpl.java:41)
	at org.eclipse.scout.rt.server.commons.servletfilter.helper.DevelopmentAuthFilter.doFilter(DevelopmentAuthFilter.java:61)
	at org.eclipse.scout.rt.server.commons.internal.FilterChainImpl.doFilter(FilterChainImpl.java:41)
	at org.eclipse.scout.rt.server.commons.servletfilter.security.AbstractChainableSecurityFilter.doFilterInternal(AbstractChainableSecurityFilter.java:237)
	at org.eclipse.scout.rt.server.commons.servletfilter.security.AbstractChainableSecurityFilter.access$0(AbstractChainableSecurityFilter.java:236)
	at org.eclipse.scout.rt.server.commons.servletfilter.security.AbstractChainableSecurityFilter$1.run(AbstractChainableSecurityFilter.java:156)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Unknown Source)
	at org.eclipse.scout.rt.server.commons.servletfilter.security.AbstractChainableSecurityFilter.doFilter(AbstractChainableSecurityFilter.java:148)
	at org.eclipse.scout.rt.server.commons.internal.FilterChainImpl.doFilter(FilterChainImpl.java:41)
	at org.eclipse.scout.rt.server.commons.servletfilter.security.AbstractChainableSecurityFilter.doFilter(AbstractChainableSecurityFilter.java:106)
	at org.eclipse.scout.rt.server.commons.internal.FilterChainImpl.doFilter(FilterChainImpl.java:41)
	at org.eclipse.scout.rt.server.commons.servletfilter.ServletFilterDelegate.delegateServiceMethod(ServletFilterDelegate.java:60)
	at org.eclipse.scout.rt.server.commons.servletfilter.HttpServletEx.service(HttpServletEx.java:35)
	at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
	at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:60)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
	at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:360)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:229)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
	at org.eclipse.jetty.server.Server.handle(Server.java:370)
	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
	at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982)
	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043)
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
	at java.lang.Thread.run(Unknown Source)

Re: Populate multi column TableField Table in form with data [message #1560483 is a reply to message #1560402] Mon, 12 January 2015 16:30 Go to previous messageGo to next message
Jeremie Bresson is currently offline Jeremie BressonFriend
Messages: 1252
Registered: October 2011
Senior Member
I think that you can understand this, even with old java Knowledge.

The Scout SQL Service adds some convenient functions to bind your sql query written as String with your java Object. (This is not plain Java or plain JDBC. It is JDBC + some additional logic)

You call the SQL query like this:
SQL.select(<Query as String>, Objects used as binds)


The binds defined in the query needs to match with the objects passed as bind. In the Log, you see if the binds was used as input or output.

If we take your example, I think that the first query is OK, and you can read:
 IN  :orderNr => ? [BIGINT 39]
OUT :company => ? [Long]
OUT :wHSE => ? [String]


Meaning that to execute the query, the service needs to read:
formData.getOrderNr()
or
formData.getOrderNr().getValue()

without seeing your OrderFormData I can tell which method was called
And the service has found the value 39

This is used in your query for this part:
 WHERE     ORDER_ID = :orderNr

":orderNr" is a bind replaced by 39.


It works also like that for the OUT binds; after reading the result set that comes back from Database, the values are assigned to the formData.

For example for Company:
formData.setCompany(Long)
or
formData.getCompany().setValue(Long)
are called by the SQL Service and filled with the value that comes from the database.

The problem is in your second statement
    SQL.select("" +
        "SELECT line_item_no," +
        "       cat_num," +
        "       qty," +
        "       item_status_id," +
        "       lot_num_id" +
        " FROM  orderitems " +
        " WHERE order_no = :orderNr" +
        " INTO  :orderItems"
        , formData.getOrderItems());


You do not provide the binds that are requested.
Re: Populate multi column TableField Table in form with data [message #1560563 is a reply to message #1560483] Mon, 12 January 2015 17:27 Go to previous messageGo to next message
Justin B is currently offline Justin BFriend
Messages: 19
Registered: January 2015
Location: New Jersey, USA
Junior Member
Jeremie,

Thank you again so much for your help. I think It's starting to make sense. So my ":orderitems" field is the only form bind value that shows up when I use the auto suggest (ctrl + Space). How do I then bind to the orderFrom subclass orderitems and all its members(columns)? Do I have to use an annotation on the field to have the Scout SDK register and auto suggest the fields? I have tried the following as you suggested earlier

but to no avail the processing error is still thrown.

   @Override
  public OrderFormData load(OrderFormData formData) throws ProcessingException {
    if (!ACCESS.check(new ReadOrderPermission())) {
      throw new VetoException(TEXTS.get("AuthorizationFailed"));
    }

    // Order information
    SQL.selectInto("" +
        "SELECT company," +
        "       whse," +
        "       order_no," +
        "       customer_po," +
        "       customer_name," +
        "       customer_address1," +
        "       customer_address2," +
        "       city_state," +
        "       zip_postal," +
        "       country," +
        "       order_date," +
        "       ack_date," +
        "       req_date," +
        "       special_instruction" +
        " FROM  orders" +
        " WHERE order_id = :orderNr" +
        " INTO  :company," +
        "       :wHSE," +
        "       :orderNumber," +
        "       :customerPO," +
        "       :customerName," +
        "       :customerAddress," +
        "       :customerAddressOptional," +
        "       :cityState," +
        "       :zipPostalCode," +
        "       :country," +
        "       :orderDate," +
        "       :acknowledged," +
        "       :requested," +
        "       :specialInstructions"
        , formData);

    //Order Details -- Line items
 [b]  SQL.select("" +
        "SELECT line_item_no," +
        "       cat_num," +
        "       qty," +
        "       item_status_id," +
        "       lot_num_id" +
        " FROM  orderitems " +
        " WHERE order_no = :orderNr" +
        " INTO  :orderItems.lineItemNo," +
        "       :orderItems.catalogueCode," +
        "       :orderItems.quantity," +
        "       :orderItems.itemStatus," +
        "       :orderitems.lotNum"
        , formData.getOrderItems());

    return formData;[/b]
  }

[Updated on: Mon, 12 January 2015 18:39]

Report message to a moderator

Re: Populate multi column TableField Table in form with data [message #1560675 is a reply to message #1560563] Mon, 12 January 2015 18:59 Go to previous messageGo to next message
Jeremie Bresson is currently offline Jeremie BressonFriend
Messages: 1252
Registered: October 2011
Senior Member
For your case, you do not provide the binds that are requested.

I assume that formData.getOrderItems() returns an object that is a table field data (table based or bean based). I assume it corresponds in the client to a Table Field containing:
* LineItemNoColumn (for the database field line_item_no. In this forum Post I assume it is extending AbstractLongColumn)
* CatalogueCodeColumn (for the database field cat_num)
* QuantityColumn (for the database field qty)
* ItemStatusColumn (for the database field item_status_id)
* LotNumColumn (for the database field lot_num_id)

If you have a table based table field data you should have get/set methods for ItemNo like this (and the same for the other columns):
formData.getOrderItems().setItemNo(int, Long)
formData.getOrderItems().getItemNo(int)

The first int parameter is an id corresponding to the row index in the field data object.
(For bean based you have other objects; I think it is explained on the wiki page).

You query is providing a result set containing multiple rows. Scout is capable to handle this. The correct notation is to use curly brackets. It is also working without them (this is the case in the example I have provided yesterday).

You should write something like this:
    //Order Details -- Line items
    SQL.select("" +
        "SELECT line_item_no," +
        "       cat_num," +
        "       qty," +
        "       item_status_id," +
        "       lot_num_id" +
        " FROM  orderitems " +
        " WHERE order_no = :orderNr" +
        " INTO  :{orderItems.lineItemNo}, "+
        "       :{orderItems.catalogueCode}," +
        "       :{orderItems.quantity}," +
        "       :{orderItems.itemStatus}," +
        "       :{orderItems.lotNum}" +
        , formData);
    return formData;

You will have 1 input bind ("orderNr") and 5 output binds used in batch mode.

By the way you could also write it like this:
SQL.select("" +
        "SELECT line_item_no," +
        "       cat_num," +
        "       qty," +
        "       item_status_id," +
        "       lot_num_id" +
        " FROM  orderitems " +
        " WHERE order_no = :searchedOrderNo" +
        " INTO  :lineItemNo," +
        "       :catalogueCode," +
        "       :quantity," +
        "       :itemStatus," +
        "       :lotNum"
        , formData.getOrderItems(), new NVPair("searchedOrderNo", formData.getOrderNr().getValue()));

where NVPair is from type org.eclipse.scout.commons.holders.NVPair.

Both should work.
Re: Populate multi column TableField Table in form with data [message #1560812 is a reply to message #1560675] Mon, 12 January 2015 20:49 Go to previous messageGo to next message
Justin B is currently offline Justin BFriend
Messages: 19
Registered: January 2015
Location: New Jersey, USA
Junior Member
EUREKA! It works. This was causing me much frustration and I can't thank you enough for your guidance, Jeremie.
Re: Populate multi column TableField Table in form with data [message #1701638 is a reply to message #1560812] Tue, 14 July 2015 15:17 Go to previous messageGo to next message
marco giudici is currently offline marco giudiciFriend
Messages: 204
Registered: February 2013
Location: Italy
Senior Member
Hi,
I have a similar problem and to solve it I followed what write in this post but continues to give me an error. I've tried both ways shown but the same error occurs.

This is my method on the server side
  public CompareTestFormData loadDBOrdList(Date dateToUse, CompareTestFormData formData) throws ProcessingException {
    String SQLcmd = "SELECT CC_CHARGE.EXCUSTOMERID, CC_CHARGE.COMMISSION, CC_CHARGEFILE.FILENAME FROM CC_CHARGE INNER JOIN CC_CHARGEFILE ON CC_CHARGE.CHARGEFILEID=CC_CHARGEFILE.CHARGEFILEID WHERE CC_CHARGE.CHARGETYPEID=12";

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    System.out.println(sdf.format(dateToUse).substring(0, 10));

    SQLcmd += " AND NVL ( INCOMINGDATE , TO_DATE ( '1900-01-01 00:00' , 'YYYY-MM-DD HH24:MI' ) ) >= TO_DATE ( '" + sdf.format(dateToUse).substring(0, 10) + " 00:00' , 'YYYY-MM-DD HH24:MI' ) AND NVL ( INCOMINGDATE , TO_DATE ( '1900-01-01 00:00' , 'YYYY-MM-DD HH24:MI' ) ) <= TO_DATE ( '" + sdf.format(dateToUse).substring(0, 10) + " 23:58' , 'YYYY-MM-DD HH24:MI' ) ";
    SQLcmd += " INTO :EXCUSTOMERID,"
        + "      :COMMISSION,"
        + "      :FILENAME";

    SQL.select(SQLcmd, formData.getOrdDBElem());

    return formData;
  }


In the form is defined this table
index.php/fa/22499/0/
and all three fields are defined as String

Below the trace of the error
ProcessingException[ProcessingStatus[ERROR code=0 invoking org.zeiss.mo.scout.CompareTestResult.shared.ICompareTestService:loadDBOrdList / SQL with binds:
SELECT    CC_CHARGE.EXCUSTOMERID,
          CC_CHARGE.COMMISSION,
          CC_CHARGEFILE.FILENAME
FROM      CC_CHARGE
INNER JOIN CC_CHARGEFILE
ON        CC_CHARGE.CHARGEFILEID = CC_CHARGEFILE.CHARGEFILEID
WHERE     CC_CHARGE.CHARGETYPEID = 12
          AND NVL(INCOMINGDATE, TO_DATE('1900-01-01 00:00', 'YYYY-MM-DD HH24:MI')) >= TO_DATE('2015-07-14 00:00', 'YYYY-MM-DD HH24:MI')
          AND NVL(INCOMINGDATE, TO_DATE('1900-01-01 00:00', 'YYYY-MM-DD HH24:MI')) <= TO_DATE('2015-07-14 23:58', 'YYYY-MM-DD HH24:MI')
INTO      :EXCUSTOMERID,
          :COMMISSION,
          :FILENAME
OUT :EXCUSTOMERID => ? [String]
OUT :COMMISSION => ? [String]
OUT :FILENAME => ? [String] java.sql.SQLSyntaxErrorException: ORA-00942: table or view inexistent
]]
	at org.eclipse.scout.rt.server.services.common.jdbc.internal.exec.StatementProcessor.processSelect(StatementProcessor.java:296)
	at org.eclipse.scout.rt.server.services.common.jdbc.AbstractSqlService.select(AbstractSqlService.java:716)
	at org.eclipse.scout.rt.server.services.common.jdbc.SQL.select(SQL.java:101)
	at org.zeiss.mo.scout.CompareTestResult.server.CompareTestService.loadDBOrdList(CompareTestService.java:534)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.eclipse.scout.service.ServiceUtility.invoke(ServiceUtility.java:172)
	at org.eclipse.scout.rt.server.DefaultTransactionDelegate.invokeImpl(DefaultTransactionDelegate.java:212)
	at org.eclipse.scout.rt.server.DefaultTransactionDelegate.invoke(DefaultTransactionDelegate.java:95)
	at org.eclipse.scout.rt.server.ServiceTunnelServlet.runServerJobTransactionWithDelegate(ServiceTunnelServlet.java:426)
	at org.eclipse.scout.rt.server.ServiceTunnelServlet.runServerJobTransaction(ServiceTunnelServlet.java:422)
	at org.eclipse.scout.rt.server.ServiceTunnelServlet$RemoteServiceJob.runTransaction(ServiceTunnelServlet.java:450)
	at org.eclipse.scout.rt.server.ServerJob.runTransactionWrapper(ServerJob.java:221)
	at org.eclipse.scout.rt.server.ServerJob.access$0(ServerJob.java:205)
	at org.eclipse.scout.rt.server.ServerJob$1.run(ServerJob.java:177)
	at org.eclipse.scout.rt.server.ServerJob$1.run(ServerJob.java:1)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:415)
	at org.eclipse.scout.rt.server.ServerJob.run(ServerJob.java:172)
	at org.eclipse.scout.commons.job.JobEx.runNow(JobEx.java:51)
	at org.eclipse.scout.rt.server.ServerJob.runNow(ServerJob.java:164)
	at org.eclipse.scout.rt.server.ServiceTunnelServlet.doPost(ServiceTunnelServlet.java:332)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
	at org.eclipse.scout.rt.server.commons.servletfilter.HttpServletEx.access$0(HttpServletEx.java:1)
	at org.eclipse.scout.rt.server.commons.servletfilter.HttpServletEx$1.service(HttpServletEx.java:38)
	at org.eclipse.scout.rt.server.commons.internal.FilterChainImpl.doFilter(FilterChainImpl.java:44)
	at org.eclipse.scout.rt.server.commons.servletfilter.helper.HttpAuthJaasFilter.doFilter(HttpAuthJaasFilter.java:62)
	at org.eclipse.scout.rt.server.commons.internal.FilterChainImpl.doFilter(FilterChainImpl.java:41)
	at org.eclipse.scout.rt.server.commons.servletfilter.helper.DevelopmentAuthFilter.doFilter(DevelopmentAuthFilter.java:61)
	at org.eclipse.scout.rt.server.commons.internal.FilterChainImpl.doFilter(FilterChainImpl.java:41)
	at org.eclipse.scout.rt.server.commons.servletfilter.security.AbstractChainableSecurityFilter.doFilterInternal(AbstractChainableSecurityFilter.java:237)
	at org.eclipse.scout.rt.server.commons.servletfilter.security.AbstractChainableSecurityFilter.access$0(AbstractChainableSecurityFilter.java:236)
	at org.eclipse.scout.rt.server.commons.servletfilter.security.AbstractChainableSecurityFilter$1.run(AbstractChainableSecurityFilter.java:156)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:415)
	at org.eclipse.scout.rt.server.commons.servletfilter.security.AbstractChainableSecurityFilter.doFilter(AbstractChainableSecurityFilter.java:148)
	at org.eclipse.scout.rt.server.commons.internal.FilterChainImpl.doFilter(FilterChainImpl.java:41)
	at org.eclipse.scout.rt.server.commons.servletfilter.security.AbstractChainableSecurityFilter.doFilter(AbstractChainableSecurityFilter.java:106)
	at org.eclipse.scout.rt.server.commons.internal.FilterChainImpl.doFilter(FilterChainImpl.java:41)
	at org.eclipse.scout.rt.server.commons.servletfilter.ServletFilterDelegate.delegateServiceMethod(ServletFilterDelegate.java:60)
	at org.eclipse.scout.rt.server.commons.servletfilter.HttpServletEx.service(HttpServletEx.java:35)
	at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
	at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:60)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
	at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:360)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:229)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
	at org.eclipse.jetty.server.Server.handle(Server.java:370)
	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
	at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982)
	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043)
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.sql.SQLSyntaxErrorException: ORA-00942: table or view inexistent

	at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:459)
	at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:400)
	at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:999)
	at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:539)
	at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:235)
	at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:543)
	at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:239)
	at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:1246)
	at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1500)
	at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1717)
	at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:4401)
	at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:4482)
	at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:6272)
	at org.eclipse.scout.rt.server.services.common.jdbc.internal.exec.StatementProcessor.processSelect(StatementProcessor.java:266)
	... 70 more


Thanks in advance for any help and explanation
  • Attachment: Cattura.PNG
    (Size: 6.47KB, Downloaded 701 times)

[Updated on: Tue, 14 July 2015 15:20]

Report message to a moderator

Re: Populate multi column TableField Table in form with data [message #1702336 is a reply to message #1701638] Tue, 21 July 2015 15:38 Go to previous message
Jeremie Bresson is currently offline Jeremie BressonFriend
Messages: 1252
Registered: October 2011
Senior Member
Form your stacktrace, I guess that you have a problem with your sql query:
ORA-00942: table or view inexistent


My guess is that your query without the INTO part, does not run in your SQL client:
SELECT    CC_CHARGE.EXCUSTOMERID,
          CC_CHARGE.COMMISSION,
          CC_CHARGEFILE.FILENAME
FROM      CC_CHARGE
INNER JOIN CC_CHARGEFILE
ON        CC_CHARGE.CHARGEFILEID = CC_CHARGEFILE.CHARGEFILEID
WHERE     CC_CHARGE.CHARGETYPEID = 12
          AND NVL(INCOMINGDATE, TO_DATE('1900-01-01 00:00', 'YYYY-MM-DD HH24:MI')) >= TO_DATE('2015-07-14 00:00', 'YYYY-MM-DD HH24:MI')
          AND NVL(INCOMINGDATE, TO_DATE('1900-01-01 00:00', 'YYYY-MM-DD HH24:MI')) <= TO_DATE('2015-07-14 23:58', 'YYYY-MM-DD HH24:MI')


Your problem might not be releated with scout at all...
Previous Topic:Load testing Scout application
Next Topic:RAP - form based login?
Goto Forum:
  


Current Time: Fri Apr 26 10:41:00 GMT 2024

Powered by FUDForum. Page generated in 0.04330 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top