Dynamic list renderer - ArrayIndexOutOfBounds on next() (bug?)

I was inspired by "HOWTO: Use BC4J HTML Field Renderers" - so I made dynamical list renderer which executes query and shows one value from foreign table:
public class DynamicListFieldRenderer extends ReadOnlyField
with method:
public String renderToString(Row row) {
AttributeDef aDef = getAttributeDef();
String sQuery = (String)aDef.getProperty("LIST_QUERY");
String sDisplayAttribute = (String)aDef.getProperty("LIST_DISPLAY_COLUMN");
String sDataAttribute = (String)aDef.getProperty("LIST_DATA_COLUMN");
Object obj = row.getAttribute(aDef.getName());
if (obj == null) return "";
String value = obj.toString();
/* change query - add WHERE clause */
String orderBy = "";
StringBuffer sbQuery;
int whereIdx = sQuery.toUpperCase().indexOf("WHERE");
int orderByIdx = sQuery.toUpperCase().indexOf("ORDER BY");
if (orderByIdx != -1) {
orderBy = sQuery.substring(orderByIdx);
sbQuery = new StringBuffer(sQuery.substring(0,orderByIdx));
else
sbQuery = new StringBuffer(sQuery);
/* zpracuj WHERE */
if (whereIdx == -1) sbQuery.append(" WHERE ");
else sbQuery.append(" AND ");
sbQuery.append("(");
sbQuery.append(sDataAttribute); sbQuery.append("="); sbQuery.append("'"); sbQuery.append(value);
sbQuery.append("') ");
/* zpracuj ORDER BY */
sQuery = sbQuery.append(orderBy).toString();
/* make dynamical ViewObject */
qView = ds.getApplicationModule().createViewObjectFromQueryStmt(null, sQuery);
String returnValue = "";
Row foundRow = qView.next();
if (foundRow != null) {
Object displayObj = foundRow.getAttribute(sDisplayAttribute);
if (displayObj != null) returnValue = displayObj.toString();
/* delete dynamical ViewObject */
((ViewObject)qView).remove();
return returnValue;
When I use this renderer for one attribute, everything is OK. But when I use it for two attributes, there appears a problem.
Scenario (point 1. is not necessary):
1. Browse.jsp for my table with special renderers - OK
2. Browse.jsp for foreign table - OK
3. Browse.jsp for my table with special renderers -> Exception:
JBO-29000: Unexpected exception caught: java.lang.ArrayIndexOutOfBoundsException, msg=0
oracle.jbo.JboException: JBO-29000: Unexpected exception caught: java.lang.ArrayIndexOutOfBoundsException, msg=0 void oracle.jbo.JboException.(java.lang.Throwable) JboException.java:339 oracle.jbo.Row oracle.jbo.server.ViewRowSetIteratorImpl.next() ViewRowSetIteratorImpl.java:1292 oracle.jbo.Row oracle.jbo.server.ViewRowSetImpl.next() ViewRowSetImpl.java:2206 oracle.jbo.Row oracle.jbo.server.ViewObjectImpl.next() ViewObjectImpl.java:4165 java.lang.String or.jbo.html.DynamicListFieldRenderer.renderToString(oracle.jbo.Row) DynamicListFieldRenderer.java:79 int or.jbo.html.jsp.datatags.RenderValueTag.doStartTag() RenderValueTag.java:51 void dt.DataTableComponent._jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) DataTableComponent.jsp:128
So the problem is when I call method ViewObjectImpl.next().... (see above inside method renderToString())
Exception is throwed inside oracle class - so I have no idea, where's the problem...
Can anybody help me?
Thank you for any comments
Jan Pechanec

The whole stack trace (I found I missed "Detail 0").
Jan Pechanec
oracle.jbo.JboException: JBO-29000: Unexpected exception caught: java.lang.ArrayIndexOutOfBoundsException, msg=0
     void oracle.jbo.JboException.(java.lang.Throwable)
          JboException.java:339
     oracle.jbo.Row oracle.jbo.server.ViewRowSetIteratorImpl.next()
          ViewRowSetIteratorImpl.java:1292
     oracle.jbo.Row oracle.jbo.server.ViewRowSetImpl.next()
          ViewRowSetImpl.java:2206
     oracle.jbo.Row oracle.jbo.server.ViewObjectImpl.next()
          ViewObjectImpl.java:4165
     java.lang.String or.jbo.html.DynamicListFieldRenderer.renderToString(oracle.jbo.Row)
          DynamicListFieldRenderer.java:79
     int or.jbo.html.jsp.datatags.RenderValueTag.doStartTag()
          RenderValueTag.java:51
     void dt.DataTableComponent._jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
          DataTableComponent.jsp:128
     void oracle.jsp.runtime.HttpJsp.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
          HttpJsp.java:119
     void oracle.jsp.runtimev2.JspPageTable.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
          JspPageTable.java:302
     void oracle.jsp.runtimev2.JspServlet.internalService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
          JspServlet.java:407
     void oracle.jsp.runtimev2.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
          JspServlet.java:328
     void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
          HttpServlet.java:336
     void com.evermind.server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
          ServletRequestDispatcher.java:684
     void com.evermind.server.http.ServletRequestDispatcher.include(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
          ServletRequestDispatcher.java:108
     void com.evermind.server.http.GetParametersRequestDispatcher.include(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
          GetParametersRequestDispatcher.java:94
     void com.evermind.server.http.EvermindPageContext.include(java.lang.String)
          EvermindPageContext.java:287
     int oracle.jbo.html.jsp.datatags.ComponentTag.doStartTag()
          ComponentTag.java:75
     void dt.BrowseDT._jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
          BrowseDT.jsp:44
     void oracle.jsp.runtime.HttpJsp.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
          HttpJsp.java:119
     void oracle.jsp.runtimev2.JspPageTable.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
          JspPageTable.java:302
     void oracle.jsp.runtimev2.JspServlet.internalService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
          JspServlet.java:407
     void oracle.jsp.runtimev2.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
          JspServlet.java:328
     void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
          HttpServlet.java:336
     void com.evermind.server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
          ServletRequestDispatcher.java:684
     void com.evermind.server.http.ServletRequestDispatcher.forwardInternal(javax.servlet.ServletRequest, javax.servlet.http.HttpServletResponse)
          ServletRequestDispatcher.java:269
     boolean com.evermind.server.http.HttpRequestHandler.processRequest(com.evermind.server.ApplicationServerThread, com.evermind.server.http.EvermindHttpServletRequest, com.evermind.server.http.EvermindHttpServletResponse, java.io.InputStream, java.io.OutputStream, boolean)
          HttpRequestHandler.java:735
     void com.evermind.server.http.HttpRequestHandler.run(java.lang.Thread)
          HttpRequestHandler.java:243
     void com.evermind.util.ThreadPoolThread.run()
          ThreadPoolThread.java:64
## Detail 0 ##
java.lang.ArrayIndexOutOfBoundsException: 0
     oracle.jdbc.ttc7.NonPlsqlTTCColumn[] oracle.jdbc.ttc7.TTCAdapter.createNonPlsqlTTCColumnArray(oracle.jdbc.dbaccess.DBType[], oracle.jdbc.dbaccess.DBData[], int, boolean)
          TTCAdapter.java:256
     oracle.jdbc.ttc7.NonPlsqlTTCDataSet oracle.jdbc.ttc7.TTCAdapter.createNonPlsqlTTCDataSet(oracle.jdbc.dbaccess.DBType[], oracle.jdbc.dbaccess.DBData[], int, boolean)
          TTCAdapter.java:231
     void oracle.jdbc.ttc7.TTC7Protocol.doOall7(byte, byte, int, byte[], oracle.jdbc.dbaccess.DBType[], oracle.jdbc.dbaccess.DBData[], int, oracle.jdbc.dbaccess.DBType[], oracle.jdbc.dbaccess.DBData[], int)
          TTC7Protocol.java:1437
     int oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(oracle.jdbc.dbaccess.DBStatement, byte, byte[], oracle.jdbc.dbaccess.DBDataSet, int, oracle.jdbc.dbaccess.DBDataSet, int)
          TTC7Protocol.java:887
     void oracle.jdbc.driver.OracleStatement.doExecuteQuery()
          OracleStatement.java:2262
     void oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout()
          OracleStatement.java:2459
     int oracle.jdbc.driver.OraclePreparedStatement.executeUpdate()
          OraclePreparedStatement.java:435
     java.sql.ResultSet oracle.jdbc.driver.OraclePreparedStatement.executeQuery()
          OraclePreparedStatement.java:375
     void oracle.jbo.server.ViewUsageHelper.createViewAttributeDefImpls(oracle.jbo.server.ViewRowSetImpl)
          ViewUsageHelper.java:161
     void oracle.jbo.server.ViewObjectImpl.initViewAttributeDefImpls()
          ViewObjectImpl.java:3987
     int oracle.jbo.server.ViewObjectImpl.getAttributeCount()
          ViewObjectImpl.java:2654
     void oracle.jbo.server.ViewRowSetImpl.ensureStorage()
          ViewRowSetImpl.java:3090
     void oracle.jbo.server.ViewRowSetImpl.execute(boolean, boolean)
          ViewRowSetImpl.java:497
     void oracle.jbo.server.ViewRowSetIteratorImpl.ensureRefreshed()
          ViewRowSetIteratorImpl.java:2004
     oracle.jbo.Row oracle.jbo.server.ViewRowSetIteratorImpl.next()
          ViewRowSetIteratorImpl.java:1238
     oracle.jbo.Row oracle.jbo.server.ViewRowSetImpl.next()
          ViewRowSetImpl.java:2206
     oracle.jbo.Row oracle.jbo.server.ViewObjectImpl.next()
          ViewObjectImpl.java:4165
     java.lang.String or.jbo.html.DynamicListFieldRenderer.renderToString(oracle.jbo.Row)
          DynamicListFieldRenderer.java:79
     int or.jbo.html.jsp.datatags.RenderValueTag.doStartTag()
          RenderValueTag.java:51
     void dt.DataTableComponent._jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
          DataTableComponent.jsp:128
     void oracle.jsp.runtime.HttpJsp.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
          HttpJsp.java:119
     void oracle.jsp.runtimev2.JspPageTable.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
          JspPageTable.java:302
     void oracle.jsp.runtimev2.JspServlet.internalService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
          JspServlet.java:407
     void oracle.jsp.runtimev2.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
          JspServlet.java:328
     void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
          HttpServlet.java:336
     void com.evermind.server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
          ServletRequestDispatcher.java:684
     void com.evermind.server.http.ServletRequestDispatcher.include(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
          ServletRequestDispatcher.java:108
     void com.evermind.server.http.GetParametersRequestDispatcher.include(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
          GetParametersRequestDispatcher.java:94
     void com.evermind.server.http.EvermindPageContext.include(java.lang.String)
          EvermindPageContext.java:287
     int oracle.jbo.html.jsp.datatags.ComponentTag.doStartTag()
          ComponentTag.java:75
     void dt.BrowseDT._jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
          BrowseDT.jsp:44
     void oracle.jsp.runtime.HttpJsp.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
          HttpJsp.java:119
     void oracle.jsp.runtimev2.JspPageTable.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
          JspPageTable.java:302
     void oracle.jsp.runtimev2.JspServlet.internalService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
          JspServlet.java:407
     void oracle.jsp.runtimev2.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
          JspServlet.java:328
     void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
          HttpServlet.java:336
     void com.evermind.server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
          ServletRequestDispatcher.java:684
     void com.evermind.server.http.ServletRequestDispatcher.forwardInternal(javax.servlet.ServletRequest, javax.servlet.http.HttpServletResponse)
          ServletRequestDispatcher.java:269
     boolean com.evermind.server.http.HttpRequestHandler.processRequest(com.evermind.server.ApplicationServerThread, com.evermind.server.http.EvermindHttpServletRequest, com.evermind.server.http.EvermindHttpServletResponse, java.io.InputStream, java.io.OutputStream, boolean)
          HttpRequestHandler.java:735
     void com.evermind.server.http.HttpRequestHandler.run(java.lang.Thread)
          HttpRequestHandler.java:243
     void com.evermind.util.ThreadPoolThread.run()
          ThreadPoolThread.java:64

Similar Messages

  • Bug? - Dynamic lists, Apex 4.1

    I'm attempting to create a dynamic list (Apex 4.1/Oracle 11.2.0.1) that will ultimately serve as a hierarchical menu structure for a site.
    For those that have dealt with this you probably know that there are two main parts, the query against the source table and the associated list template. I'm pretty sure I've got my query correct but would appreciate any comments/feedback on what I've got so far. Here's my query:
    select
    level,
    entry_text label,
    entry_target target,
    null is_current
    from custom_menus
    where list_name = 'main menu'
    start with list_entry_parent_id is null
    connect by prior list_entry_id = list_entry_parent_id
    order siblings by display_sequenceThis produces the following output from my table, which looks pretty comparable to the static list I've been using:
    LEVEL     LABEL     TARGET     IS_CURRENT
    1     My Home     f?p=myApp:HOME:&SESSION.::&DEBUG.::::      -
    1     My Dashboard      -      -
    2     My Year to Date     f?p=myApp:20:&SESSION.::&DEBUG.::::      -
    2     My Contest     f?p=myApp:26:&SESSION.::&DEBUG.::::      -
    2     My Claims     f?p=myApp:24:&SESSION.::&DEBUG.::::      -
    2     My Current Business     f?p=myApp:22:&SESSION.::&DEBUG.::::      -
    1     My Search     f?p=myApp:810:&SESSION.::&DEBUG.::::      -
    1     My Reports      -      -
    2     My Contact Summary     f?p=myApp:830:&SESSION.::&DEBUG.::::      -
    2     My Production Support Report     f?p=EXT_REP:PROD_SUPPORT:&APP_SESSION.::::G_REGION_ID,G_AGENCY_ID,G_AGENT_ID:&P1_REGION_LOV.,&      -
    2     My Commission Report     f?p=myApp:680:&SESSION.      -
    2     My Chargeback Report     f?p=EXT_REP:CHARGEBACK:&APP_SESSION.::::G_REGION_ID,G_AGENCY_ID,G_AGENT_ID:&P1_REGION_LOV.,&P1_AGENCY_LOV.,&P1_AGENT_LOV.:      -
    1     My myApp™     f?p=EXAPP:HOME:&SESSION.      -
    1     My Online Store     f?p=OLS:HOME:&SESSION.      -
    1     My Marketing     f?p=myApp:710:&SESSION.      -So the first question is: does this look correct, from the point of view of what Apex is expecting a dynamic list to look like? It looks like what I would expect, based on the data in my table, but not sure about how the dynamic list is handling the ordering of the list elements.
    Assuming this is "correct" and Apex just takes the input in the order it's provided then I'm going to move on the list template. I already have a list template that works with my static list, but when I try to use it with the dynamic list it all falls apart. The nesting of the <ul> and <li> elements gets messed up. The problem seems to be getting the right <ul> and <li> elements in the right areas of the template definition.
    If the query above and the output look like what Apex is expecting (I'd appreciate feedback on this) then I'll post some example HTML that's being emitted from my template and see if anyone can see where I might be going wrong. Thanks for any help you might have.
    Earl
    Edited by: Earl Lewis on Dec 25, 2011 1:25 PM

    Paul,
    That is interesting. Thanks for that pointer. Most interesting part about it is that my list template works just fine for my static list and it goes wonky when I try to apply it to the dynamic list. I think this might actually be getting to the root of the problem.
    Perhaps some things are being assumed with the new dynamic lists and maybe stepping on my template design? Guess I need to devise a good test to see if I can better hone in on the problem.
    For any others out there that might be reading, this is not resolved so any additional thoughts or feedback will still be greatly appreciated.
    Thanks again Paul.
    Earl

  • Dynamic list of values in CR 2008 - request of login to database

    I am using CR2008 with VB2005. I created simple application which generate report on different SQL Server 2005 databases.
    Report uses OLE.DB connection to SQL Server, I pass logon information in VB using "SA" username and password. The same simple report works great on different databases with one exception: if parameter (dynamic list of values) is used in report it runs correctly only on database it was created (connection to this database is saved in report and can be seen in Database->Set Datasource Location). Changing connection to other databases in VB during runtime causes CR to ask for username and password (in standard parameter window). It looks, like Crystal have one connection for report and the other for dynamic list of values parameter. I pass connection information to report using ConnectionInfo(). I loop through alll tables in report and apply connection:            
    For Each crTable In crTables
                    crTableLogOnInfo = crTable.LogOnInfo
                    crTableLogOnInfo.ConnectionInfo = crConnectionInfo
                    crTable.ApplyLogOnInfo(crTableLogOnInfo)
    Next
    I tried to pass connection information also to parameter but I couldn't find such possibility.

    This is a known issue (Tracking number is ADAPT01333806.) and a note has been written,  unfortunately it is not yet published. Below is the note content, including a work-around / resolution. You may also want to try FP 2.3, see that helps. (I'll break this post into two as I'll loose the formatting if I don't.
    Reproducing the Issue
    Use Crystal Reports 2008 SP2 to create a report with dynamic parameter(s)
    Use the following code from the Crystal Reports SDK for VS .NET
    Dim crDatabase As Database
    Dim crTables As TablesDim crTable As Table
    Dim crTableLogOnInfo As TableLogOnInfo
    Dim crConnectionInfo As ConnectionInfo 
    crReportDocument.Load("<path>")
    crReportDocument.Refresh()
    crConnectionInfo = New ConnectionInfo()
    With crConnectionInfo   
         .ServerName = "<New Server Name>"   
          .Password = "<password>"
    End With
    crDatabase = crReportDocument,Database
    crTables = crDatabase.Tables
    For Each crTable In crTables     
         crTableLogOnInfo = crTable.LogOnInfo     
         crTableLogOnInfo.ConnectionInfo = crConnectionInfo     
         crTable.ApplyLogOnInfo(crTableLogOnInfo)
    Next
    CrystalReportViewer1.ReportSource = crReportDocument
    The above code works with Crystal Reports 2008 SP 1

  • Unable to use #A01# substitution variable in dynamic list

    Greetings...
    I am attempting to generate a dynamic list on the page.  The list will contain a flag indicating whether the list entry is actually hidden to the user or not.  If it is hidden to the user, then I want to apply a particular class to that list entry when rendered.
    The dynamic list has the following SQL:
    SELECT null lvl,
           menu.menu_nm label_value,
           q'!javascript:$s('P32_MASTER_MENU_ID', '!' ||
              menu.menu_id || q'!');!' target_value,
           null image,
           null image_attribute,
           null image_alt_attribute,
           case when menu.hidden = 'Y'
                  then 'class="hiddenNode"'
                  else null end attribute1
    from ( select 'N' hidden, vis.* from std_vw_apex_menu vis
            union all
           select 'Y' hidden, hid.* from std_vw_apex_menu_hidden hid ) menu
    where menu.menu_ty = 'MAINMENU'
    order by menu.sort_order
    I am then using a list template with the following as the "Current" list entry:
    <li class="active"><a href="#LINK#"><span #A01#>#TEXT#</span></a></li>
    ... and the following as the "Non-Current" list entry:
    <li><a href="#LINK#"><span #A01#>#TEXT#</span></a></li>
    The result I see in the rendered page however is that the substitution is not happening, as indicated in the following snippet :
    <li><a href="javascript:$s('P32_MASTER_MENU_ID', '18893191201');"><span #a01#="">Education</span></a></li>
    We are on ApEx 4.2.1.  What am I doing wrong as I've seen other threads indicate that it is possible for dynamic lists to use substitution variables in their list templates.
    Shane.

    I found the solution at Attribute substitution  not working in templates for dynamic lists.

  • Attribute substitution  not working in templates for dynamic lists

    Hi all,
    dynamic lists were introduced in APEX 4.1 and they can be used for drop-down menus. I am trying to use attribute substitution #A01#...#A10# in the templates without success.
    Here is a sample select statement
    <pre>
    SELECT level,
    short_title label,
    'f?p=myapp:1:0::::MYAPP_ID:'||id target,
    'NO' is_current,
    NULL image,
    'm'||TO_CHAR(id) attribute1
    FROM mytable
    START WITH parent_id = :MYAPP_ROOT_ID
    CONNECT BY PRIOR id = parent_id
    ORDER SIBLINGS BY seq_in_parent
    </pre>
    and here a snippet from the template
    List Template Noncurrent
    &lt;li class=&quot;dhtmlMenuItem&quot;&gt;&lt;a id=&quot;#A01#&quot; href=&quot;#LINK#&quot;&gt;#TEXT#&lt;/a&gt;&lt;/li&gt;
    The substitution is not being made. It looks like a bug but maybe I'm missing something.
    Any help would be greatly appreciated.
    Regards Garry

    Hi Garry,
    When the list query is parsed, it's not the column alias that deciphers which parameters you're trying to set, it's the positioning of the parameter in the query itself. So, for example, if a user wishes to set the #A01# attribute, like in your case, then the value returned by the 8th parameter in the query will be used. In your original query, you only supplied 6 parameters i.e. up to the image attribute setting. If you're not setting anything for the image attributes, then you simply set those values to null. The syntax for the query should be similar to the following:
    select level,
           labelValue               label,
           [targetValue]            target,
           [is_current]             is_current_list_entry,
           [imageValue]             image,
           [imageAttributeValue]    image_attribute,
           [imageAltValue]          image_alt_attribute,
           [attribute1]             attribute1,
           [attribute2]             attribute2,
           [attribute3]             attribute3,
           [attribute4]             attribute4,
           [attribute5]             attribute5,
           [attribute6]             attribute6,
           [attribute7]             attribute7,
           [attribute8]             attribute8,
           [attribute9]             attribute9,
           [attribute10]            attribute10
    from ...
    where ...
    order by ...Regards,
    Hilary

  • Dynamic list and thumb loops

    hello I try to create a dynamique list with thums loops associates (to describe a stuff to sell) and it work fine when I select from a list (URL parametre)
    But I would like to navigate in my detail page (with the loop thumb) whit the next or last link and I cant do it because the thumbs doesnt works
    Some help ? thanks you all and sorry for my french

    Hi Lorie,
    Taking it a step further
    interesting that you´re mentioning this -- because I was just in the middle of finding a workaround for the very same issue ;-)
    I actually did find a pretty easy solution, which basically goes like this:
    1) wrap the whole table *plus* any possibly added hidden fields located below this table in a "Show IF conditional region" behaviour -- but make sure to *not* include the buttons within the "KT_bottombuttons" div in here.
    2) as I assume that your "supplier_name" column holds a numeric value which equals the user´s "kt_login_id" Session Variable (which it should !), define the following conditions for the "Show IF conditional region" behaviour:
    Expression 1: choose "supplier_name" from the tNG recordset
    Condition: ==
    Expression 2: choose Session -> kt_login_id
    3) tick the Has ELSE option
    4) confirm with OK
    5) replace the default "has Else" message with something meaningful like "you can´t edit this record !"
    Switching to Code view and navigating to the very start of your "Show IF conditional region" should display something like this:
    if (@$row_rsqueryname['supplier_name'] == @$_SESSION['kt_login_id']) {
    When viewing the modified Dynamic Form in a browser, you´ll note that this solution will indeed display the form instances for all "authorized" records, whereas those form instances which don´t match the required credentials will be replaced with that "has else" message.
    BUT !! This solution has one major drawback which I haven´t been able to resolve yet :: when the Dynamic Form goes into Insert Record mode
    (means when you click the "add new" link in the Dynamic List), all inner form instances will display that "has else" message.
    The only workaround I currently can come up with is to have the List´s "add new" link point to a separate "add_new.php" page that´s going to insert a single record.
    Cheers,
    Günter Schenk
    Adobe Community Expert, Dreamweaver

  • WPC 7.3 : Dynamic List : pager

    We have been working in WPC 7.3 with Dynamic Lists : this can be used to display news items similar to XML forms, mixed with own forms.
    The Dynamic List iView, once added onto the WPC page can be configured to display the number of items.
                    Example : 4 items. Letu2019s say we have 6 items, then only the four u2018newestu2019 are shown.
    What is missing here is a u2018pageru2019 at the bottom , in case somebody wants to see the other two, older items.
    There is no standard pager in  the KMCWPC05P_3-10008779.SCA file -> com.sap.nw.wpc.dynamicList.sda project.
    Before we actually start to develop our own Dynamic List project with pager : anybody managed to add this piece of vital coding?
    Or perhaps this is planned for the future?

    I got a solution regarding this topic.
    I followed these steps:
    You must set the number of items in you example to six or higher (in your example, the remaining two items wouldn't even get rendered)
    You surrounded your Dynamic List layout with "<li>...</li>"
    In your theme, you implement a JQuery Paginator (e.g. look here), which works with the list-elements
    Tell your paginator to show four items per page
    I got something going like this:

  • Is WPC dynamic list recursively showing content?

    Hi guys,
    I have this KM folder structure with WPC's articles:
    FOLDER 1
    |
    |_ FOLDER A
    |     |_ article a.1
    |     |_ article a.2
    |
    |_ FOLDER B
    |     |_ article b.1
    |     |_ article b.2
    |
    |_ article 1.1
    |_ article 1.2
    articles 1.1 and 1.2 are direct children of Folder1 (ie: they are sibling for Folder A and Folder B). I hope it's clear :S
    Here comes the trouble. I'm using a WPC Dynamic List pointing to Folder 1, but instead of showing only articles 1.1 and 1.2, the list is populated with ALL articles within Folder 1 and Folder A and Folder B.
    I'm guessing it is reading the folder structure recursively. I need to display ONLY the two last articles (article 1.1 and 1.2).
    Is this a bug or, by the opposite, is the expected behavior?
    Thanks in advance.
    Best Regards,
    Marcelo

    Thanks for the answer.
    Guess i have to put everything I need in the article element so i do not need to show the page.
    Another question occured to me while I was doing that:
    When I navigate from a Dynamic List to an Element, it should be possible to navigate back and forth with the buttons I created using the history api.
    Instead of the "<a href..." in the default dynamic list I created an onclick event. Right now im trying to navigate to the article with its guid and the method "EPCM.doNavigate(...)" but until know i haven't been able to get it done.
    Is it even possible to reach that goal and in case it is am I on the right track or is there a better approach available?!
    Thanks in advance...
    Greetings,

  • Console cluster reporting is not consistant with dynamic list

              (We are using the 6.1 sp2 plug-in for Linux. Our web server - apache - is on Solaris
              and our WL servers are on Linux Ret hat. 7.2 2.4.9-31smp)
              Recently our production site experienced the following unfortunate scenario:
              Here are the specifically the events that took place:
              On Sept 6 @ 2:30 pm:
                   I observered that the Admin console was reporting that only 3 (servers #3, #5
              and #6) out of the 6 servers were participating in the cluster. On the other
              hand, From the access logs, I was still seeing activity on all 6 servers.
                   At the same time, our operations team did not report any T3 PING failures (Tivoli
              automates the sending of T3 PING two each of the 6 servers in the cluster every
              10 minutes) which indicated that none of the server where in a hung state. This
              further verified that the all 6 servers were healthy.
                   Question: Why was the plugin still distributing traffic to all 6 servers despite
              the fact (as reported by the admin server) that 3 of the 6 servers were no longer
              participating in the cluster? Shouldn't the dynamic list have excluded these
              3?
              On Sept 6 @ 11:30 pm: The operation team reported that all 6 servers where no
              longer responding to a ping (hung state). I then checked the admin console and
              it was reporting that none of the servers were participating in the cluster.
              Is there a bug with the 6.1 sp2 console?
              

    Nael,
              This is a known problem. Please contact support and reference CR075667 to obtain the
              appropriate fix.
              Regards,
              Simon
              Developer Relations Engineer
              BEA Support
              Nael Ramadan wrote:
              > (We are using the 6.1 sp2 plug-in for Linux. Our web server - apache - is on Solaris
              > and our WL servers are on Linux Ret hat. 7.2 2.4.9-31smp)
              > Recently our production site experienced the following unfortunate scenario:
              >
              > Here are the specifically the events that took place:
              >
              > On Sept 6 @ 2:30 pm:
              >
              > I observered that the Admin console was reporting that only 3 (servers #3, #5
              > and #6) out of the 6 servers were participating in the cluster. On the other
              > hand, From the access logs, I was still seeing activity on all 6 servers.
              > At the same time, our operations team did not report any T3 PING failures (Tivoli
              > automates the sending of T3 PING two each of the 6 servers in the cluster every
              > 10 minutes) which indicated that none of the server where in a hung state. This
              > further verified that the all 6 servers were healthy.
              > Question: Why was the plugin still distributing traffic to all 6 servers despite
              > the fact (as reported by the admin server) that 3 of the 6 servers were no longer
              > participating in the cluster? Shouldn't the dynamic list have excluded these
              > 3?
              >
              > On Sept 6 @ 11:30 pm: The operation team reported that all 6 servers where no
              > longer responding to a ping (hung state). I then checked the admin console and
              > it was reporting that none of the servers were participating in the cluster.
              >
              > Is there a bug with the 6.1 sp2 console?
              

  • Dynamic List of Checkboxes and their Default Values

    Hello,
    I have spent more than five hours feebly attempting to figure out how to make a dynamic list of checkboxes (using an LOV) adhere to the values in the database which those checkboxes represent. The LOV itself works; I can get a nice list of checkboxes with the appropriate names, but I can't get HTML DB to check the boxes that have a value of 'Y' in the database. The code for my LOV follows:
    SELECT mesg_name n, mesg_id r
    FROM notifications
    WHERE mesg_id = (SELECT mesg_id
                      FROM subscriptions
                      WHERE upper(network_id) = upper(:APP_USER))Since this is a dynamic list of checkboxes, I obviously cannot use the "Label" property to set the labels of each checkbox. That is what n is in the query above. r is the unique ID of the message (a varchar2) that I will need to pass back to the program after the page is submitted by the user for processing. I cannot take up the value field of the checkbox with a "Y" or something as equally vague. The ID of the subscription that the user is subscribing to or unsubscribing to must be passed back to the program so the appropriate modifications to the database table can be made.
    I would most appreciate it if anyone could lend assistance.
    Thank you,
    Marc Weil

    Marc,
    I think I see what you're trying to do. You'll have to separate process that renders the LOV as a series of check boxes from the process that sets the checked values for each user.
    Before the LOV is rendered on a page, make sure you set the session state value of the LOV item to a colon separated set of IDs based on your query:
    SELECT mesg_id
    FROM subscriptions
    WHERE upper(network_id) = upper(:APP_USER)
    If you have trouble, let me know, I'll try to come up with an example.
    Sergio

  • Dynamic List - Error processing insertText tag: 'loop' parameter arrays must be...

    Hi, I'm using Dreamweaver CS3 and ADDT (PHP/MySQL).
    I have many forms that I created with "Create Dynamic List Wizard", and All it's working fine until now, suddendly when I enter an any form, click Application / Server Behaviors, I saw a red symbol "!" next to Dynamic List Layout, I clicked it in order to make any changes, and then when I tried to save I got the following error message:
    "Error processing insertText tag: 'loop' parameter arrays must be the same length. The 'loop' parameter 'tableCSSWidth' does not have the same length as the previous 'loop' parameter(s)."
    This is happening with others form in my application. I can made some changes through "code", but others no...
    I would like to know what its' happening with then "dynamic List" server behavior?
    I appreciate your help. Thanks!
    Ernesto

    Hello Ernesto,
    Please follow these exact steps:
    - go to this location on your disk (enable view of hidden files):
    - "c:\Documents and Settings\XP_user\Application Data\Adobe\Dreamweaver 9\Configuration"
    ( if you are on Windows OS)
    or:
    - "Macintosh HD:Users:MAC_User:Library:Application Support:Adobe:Dreamweaver 9:Configuration"
    ( if you are on MAC OSX)
    - rename the "Configuration" folder to "Configuration_old"
    - open Extension Manager and remove all extensions
    - install Developer Toolbox extension
    - start DW and check if the problem still occurs
    regards,
    Ionut

  • Dynamic List/Menu with 2 columns

    I have created a Dynamic List/Menu box based on a recordset and showing me one field of that recordset ['Firmanaam'].
    <?php
    do { 
    ?>
                <option value="<?php echo $row_klantenselectie['Firmanaam']?>"><?php echo $row_klantenselectie['Firmanaam']?></option>
                <?php
    } while ($row_klantenselectie = mysql_fetch_assoc($klantenselectie));
      $rows = mysql_num_rows($klantenselectie);
      if($rows > 0) {
          mysql_data_seek($klantenselectie, 0);
       $row_klantenselectie = mysql_fetch_assoc($klantenselectie);
    ?>
    First question what is the difference between 'values" and 'labels' in the creation box of the Dynamic List/menu as only the field entered in the 'labels" is shown in the listbox ?
    Secondly I want to display two columns in the List box (one column with the client ID and one column with the clients name). How do I proceed ? Afterwards clicking on the selected client should send the client ID to another field in the form.
    Thank you for your replies.

    Moved to the Develop server-side applications in Dreamweaver forum, which deals with this sort of issue.
    First question:
    The Values field in the Dynamic List/menu dialog box populates the value attribute in the opening <option> tag. Because it's an HTML attribute, it's not displayed when the page is rendered in a browser. The Labels field puts the text that will be displayed in the drop-down menu between the opening and closing <option> tags.
    Put the value you want displayed in the Labels field, and the value you want sent to the server when the form is submitted in the Values field.
    Second question:
    Normally, you would put the ID in the Values field, and the name in the Labels field.
    Because the value attribute will contain the ID, it shouldn't normally be necessary to populate another field with the selected value because the ID will be sent to the server with the rest of the form data when the form is submitted.

  • Referencing a "checked record" from my ADDT Dynamic List using a SPRY Menu

    I have just posted a Beta of my site to:
    http://www.clearwave.biz/Beta/T1COElogin.cfm
    - Username is: Beta
    - Password is: 123
    - Once you are logged in you should see the ADDT list w/one
    order listed.
    - Click on the Printer icon & the Order Agreement will
    open in PDF. (this works fine)
    - Click on the InfoSheet link & the Report will open in
    PDF as well. (this works fine)
    - Everything works fine if you use the links on the same line
    as the record.
    - But if you check the CheckBox on the left, then choose the
    Spry Menu above, Reports/T1 Agreement the report will not work?
    Question: What should the Link be to reference the checked
    item below, pass the CustID value to the report & print the
    PDF?
    (Note: the CF report has the following line in the SQL:
    (tblT1OrderProcessing2.T1CustID = #param.T1CustID#) and the report
    prints fine in Report Builder if I pass it the T1CustID, as well as
    if I click the links on the same line as mentioned above, so this
    is just an issue of grabbing the CustID value from the checked line
    & passing it to the report link in the Spry menu)
    Here is a visual picture of my Dynamic List page:
    http://cerberus.clearwave.com/jerry/Order_Management_Main_Page.jpg
    Thanks in advance for the help,
    jlig

    Here is the Report URL that works perfectly when clicking the
    Printer icon on the right of my List:
    http://www.clearwave.biz/Beta/reports/T1_Service_Agreement.cfm?T1CustID=1508
    and the link to the InfoSheet:
    http://www.clearwave.biz/Beta/reports/T1_Information_Sheet.cfr?T1CustID=1508
    Both of these work perfectly by grabbing the T1CustID value
    of 1508 from the line.

  • How to add a column to a list created with the Dynamic List Wizard to display the values of the fiel

    Hi,
    ADDT, Vista, WAMP5.0
    We have 2 tables: clients_cli (id_cli, name_cli, tel_cli, and several more fields) and cases_cas (id_cas, idcli_cas, court_cas, and a lot of other fields).
    Clients may have many cases, so table cases_cas have a foreign key named idcli_cas, just to determine which case belongs to which client.
    We designed the lists of the two tables with the Dynamic List Wizard and the corresponding forms with Dynamic Form Wizard.
    These two forms are linked with the Convert Dynamic List and Form Wizards, which added a button to clients list named "add case".
    We add a client and then the system returns to the clients list displaying all clients, we look for the new client just added and then press "add case", which opens the Dynamic Form for cases, enter all case details and everything processes ok.
    However, when we view the cases list it display all the details of the case, including the column and values for the foreign key idcli_cas. As you can image, it is quite difficult for a human to remember the clients ids.
    So, in the cases list we added a another column, named it Name, to display the names of the clients along with cases details. We also created another recordset rsCli, selected the clients_cli table, displaying all columns, set filter id_cli = Form Variable = idcli_cas then press the Test button and everything displays perfect. Press ok.
    Then, we position the cursor inside the corresponding cell of the new Name column, go to Bindings, click on name_cli and then click on insert. The dynamic field is inserted into the table cell as expected, Save the page, and test in browser.
    The browser call the cases list but fails to display the values of the Name column. The Name column is simply empty.
    This issue creates a huge problem that makes our application too difficult to use.
    What are we doing wrong?
    Please help.
    Charles

    1.     Start transaction PM01, Create Infotype, by entering the transaction code.
    You access the Create Infotype screen.
    2.     Choose List Screen.
    3.     In the Infotype no. field, enter the four-digit number of the infotype you want to create.
    When you specify the infotype number, please remember to enter any leading zeros.
    4.     In the Screen Number field, enter the screen number of the list screen you want to enhance.
    5.     Choose Create.
    The Dictionary: Initial screen appears:
    6.     Create the list screen structure.
    7.     Choose Activate.
    8.     Return to the Enhance List Screen in the Enhance Infotypes transaction (PM01).
    9.     Choose Create All.
    The additional fields are displayed on the list screen, however, they contain no data.
    The fields can be filled in the FORM routine FILL-LISTSTRUCT in the generated program ZPnnnn00. The FORM routine is called for each data record in the list.
    Structure ZPLIS is identified when it is generated with a TABLES statement in the program ZPnnnn00.
    The fields can be filled from the Pnnnn structure or by reading text tables.

  • Displayed Properties in Collection List Renderer are not displayed

    Hello All,
    I have created one custom property and entered the value for a resource which had that property.
    Now, when I am trying to display the custom property in any layout, its not coming, even though I have added the property name in the Displayed Property of the collection list renderer.
    To check the view is taking the correct layout or not, i changed some other settings of the collection list renderer and the changes are immediately getting reflected. What could be the problem here?
    Any help, deeply appreciated
    Regards
    BP

    Hello Bobu,
    Are you using a different Namespace Alias other than 'Default' in your property definition? If so then you need to specify the property in the 'Displayed Properties' parameter of the collection renderer as <NamespaceAlias>:<propetrty ID>, e.g. rnd:displayname.
    Other than that you should check the 'Folder Validity Patterns' and 'Document Validity Patterns' to make sure they are valid for the content on which you are trying to display this property, you may have already checked this.
    Regards,
    Lorcan.

Maybe you are looking for

  • Obi 11g row level security not working

    All, I am very familiar and have worked with obi 10g row level security and it works pretty easily. Now in 11g not so easy. I am basically setting permissions on data filters on app roles as per the new 11g instructions and meta data guide, however,

  • Imposible to deploy Ipv6 on lan with catalyst 2950t ?

    Is it imposible to deploy Ipv6 on Lan enviroment with catalyst 2950T access switch? Thanks

  • Why is Adobe Muse not spell checking?

    So I am building a site on Adobe Muse CC and I noticed the program is not spell checking as I write.  I purposely misspelled words to see if the spell checker would put the red squiggly line underneath misspelled words but it doesn't.  I have searche

  • RangeError inside mx.controls::Menu/show()

    This bug seems to happen only with submenus, when the mouse move quickly on another menu. the Hide/Show part of the MenuBar seems to be buggy. How to reproduce it ? this is not very clear. see in the end of this POST. RangeError: Error #2006: L'index

  • E4200 - Range is not good!

    I purchased this unit to upgrade my wireless home network to improve my signal range as well as speed. I also added a WET610N wireless bridge to the mix too. I orginally had a WAP54G and because of signal issues I had to add a range extender to the m