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 |
|
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 #1560402 is a reply to message #1557979] |
Mon, 12 January 2015 15:28 |
|
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 |
Jeremie Bresson 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:
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 |
|
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 |
Jeremie Bresson 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 #1701638 is a reply to message #1560812] |
Tue, 14 July 2015 15:17 |
|
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
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 |
Jeremie Bresson 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...
|
|
|
Goto Forum:
Current Time: Fri Apr 26 10:41:00 GMT 2024
Powered by FUDForum. Page generated in 0.04330 seconds
|