ActionListener not firing within panelGrid (which is within a dataTable)

I have a page with several forms on it:
<h:form>
... commandLinks here are working
</h:form>
<h:form>
<h:panelGrid>
...the actionListener here is firing
</h:panelGrid>
</h:form>
<h:form>
... commandLinks here are working
</h:form>
<h:dataTable value="#{collection}" var="item">
<h:column>
<h:form>
<h:panelGrid>
...actionListeners here ARE NOT FIRING!
</h:panelGrid>
</h:form>
</h:column>
</h:dataTable>
I've tried many things to get this to work. I've checked spelling at least 10 times. I've put the whole page in a single form. Nothing seems to work. The bean associated with the actionListener is not even being instantiated unless I include a value binding expression in the form somewhere, but even then the listener is still not fired.
So, please tell me if this is a known bug, or if it should work. I'm using JSF 1.1_1.
All the data and form fields get displayed correctly, just the actionListeners are not firing. I've tried both methods of triggering an actionListener. Neither work.
Why doesn't anyone from Sun post here anymore?????

Could you please copy/paste the whole jsp page?I had to abandon the previous page structure due to time constraints. But, now I am having the same problem on another page, pasted below. In this case, the contactInfoForm.populate actionListeners are not firing:
<?xml version="1.0" ?>
<jsp:root version="2.0"
  xmlns:jsp="http://java.sun.com/JSP/Page"
  xmlns:f="http://java.sun.com/jsf/core"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:c="http://java.sun.com/jstl/core"
  xmlns:x="http://java.sun.com/jstl/xml"
  xmlns:fmt="http://java.sun.com/jstl/fmt"
  xmlns:t="http://jakarta.apache.org/struts/tags-tiles"
  xmlns:htm="http://jsftutorials.net/htmLib">
  <f:subview id="content">
    <htm:div styleClass="heading">
      <htm:h2>
         <h:outputFormat value="#{msgs[heading]}">
            <f:param value="#{param.firstName}" />
            <f:param value="#{param.lastName}" />
         </h:outputFormat>
      </htm:h2>
    </htm:div>
    <htm:div styleClass="contentContainer">
    <h:messages/>
    <h:form>
      <h:commandLink id="backToPersons" styleClass="commandLink1" action="section.persons">
         <h:outputText value="#{msgs['persons.common.command.backToPersons']}"/>
      </h:commandLink>
    </h:form>
    <h:form style="padding-top: 10px">
      <h:commandLink id="newContactInfo" styleClass="commandLink1" action="/persons/contactInfo/newContactInfo">
         <h:outputText value="#{msgs['persons.person.contactInfo.list.command.new']}"/>
         <f:param name="personId" value="#{param.personId}"/>
         <f:param name="firstName" value="#{param.firstName}"/>
         <f:param name="lastName" value="#{param.lastName}"/>
      </h:commandLink>
    </h:form>
    <h:form>
       <h:dataTable value="#{contactInfoForm.contactInfoList}" var="contactInfo" cellpadding="5" cellspacing="0" styleClass="dataTable" headerClass="dataTableHeader" rendered="#{contactInfoForm.hasContactInfo}">
          <h:column>
            <f:facet name="header">
               <h:outputText value="#{msgs['persons.person.contactInfo.list.header.contactInfoId']}"/>
            </f:facet>
            <htm:center><h:outputText value="#{contactInfo.contactInfoId}" styleClass="dataTableContent"/></htm:center>
          </h:column>
          <h:column>
            <f:facet name="header">
               <h:outputText value="#{msgs['persons.person.contactInfo.list.header.description']}"/>
            </f:facet>
            <h:outputText value="#{contactInfo.description}" styleClass="dataTableContent"/>
          </h:column>
          <h:column>
            <f:facet name="header"></f:facet>
            <htm:center>
               <h:commandLink styleClass="commandLink1" action="/persons/contactInfo/viewContactInfo" actionListener="#{contactInfoForm.populate}">
                  <f:param name="firstName" value="#{param.firstName}"/>
                  <f:param name="lastName" value="#{param.lastName}"/>
                  <f:param name="contactInfoId" value="#{contactInfo.contactInfoId}"/>
                  <h:outputText value="#{msgs['command.view']}"/>
               </h:commandLink>
            </htm:center>
          </h:column>
          <h:column>
            <f:facet name="header"></f:facet>
            <htm:center>
               <h:commandLink styleClass="commandLink1" action="/persons/contactInfo/editContactInfo" actionListener="#{contactInfoForm.populate}">
                  <f:param name="firstName" value="#{param.firstName}"/>
                  <f:param name="lastName" value="#{param.lastName}"/>
                  <f:param name="contactInfoId" value="#{contactInfo.contactInfoId}"/>
                  <h:outputText value="#{msgs['command.edit']}"/>
               </h:commandLink>
            </htm:center>
          </h:column>
       </h:dataTable>
       <h:outputText value="#{msgs['persons.person.contactInfo.list.noRecords']}" styleClass="copy2" rendered="#{not contactInfoForm.hasContactInfo}"/>
    </h:form>
    </htm:div>
  </f:subview>
</jsp:root>

Similar Messages

  • Why actionlistener not fired?

    Dear All,
    I have two tables with different data bindings, rendering output in one column as comnadLink component
    On both tables comnadLink components has actionlistener binded to one method on backing bean.
    For some reason actionListener is not firing for one of the tables. It does not metter which compannent I will use for rendering (table or tree) actionListener never fires when this particualr binding is used.
    What could be the reson?

    Hi Again,
    Below is page definition and actual page source.
    Workflow is following:
    1. There is page showResult to render some report outcome
    2. Page definition has one invokeMethod which accepts parameter resultId and calls remote EJB
    3. During workflow resultId is stored by another backing bean in requestScope #{requestScope.resultId} and call forwarded into showResult page
    4. Outcome rendered correct by showResult page. Part of the outcome is comandLink component within iterator (or table)
    5. Clicking on comandLnk should result in calling method on backing bean but it is not happen. Method is not called.
    6. Any other comandLink components out of iterator work correctly.
    I tried to use table and ADF component instead of trinidad, but result is the same.
    If I replace #{requestScope.resultId} by hardcoded value in page definition , then commandLink works
    <pageDefinition xmlns="http://xmlns.oracle.com/adfm/uimodel" version="11.1.1.56.60" id="showResultPageDef"
                    Package="client.pageDefs">
      <executables>
        <variableIterator id="variables" Refresh="always"/>
        <methodIterator Binds="getResultBytId.result" DataControl="ResultEJB" RangeSize="200"
                        BeanClass="model.entity.Result"
                        id="getResultByIdIterator" Refresh="always" CheckParams="true"/>
      </executables>
      <bindings>
        <methodAction id="getResultById" Action="invokeMethod"
                      MethodName="getResultById" DataControl="ResultEJB"
                      InstanceName="ResultEJB.dataProvider"
                      ReturnName="ResultEJB.methodResults.getResultById_ResultEJB_dataProvider_getResultById_result">
          <NamedData NDName="resultId" NDValue="#{requestScope.resultId}"
                     NDType="java.lang.Object"/>
        </methodAction>
        <tree IterBinding="getResultByIdIterator" id="Result" ChangeEventPolicy="none">
          <nodeDefinition DefName="model.entity.Result" Name="Result0">
            <AttrNames>
              <Item Value="description"/>
              <Item Value="header"/>
              <Item Value="value"/>
            </AttrNames>
            <Accessors>
              <Item Value="resultDetails"/>
            </Accessors>
          </nodeDefinition>
          <nodeDefinition DefName="model.entity.ResultDetails" Name="Result1">
            <AttrNames>
              <Item Value="description"/>
              <Item Value="nextParams"/>
              <Item Value="nextStep"/>
              <Item Value="value"/>
            </AttrNames>
          </nodeDefinition>
        </tree>
      </bindings>
    </pageDefinition>Page:
    <tr:iterator var="h" rows="0" first="0" value="#{bindings.Result.collectionModel}" id="hiter">
    <tr:commandLink text="#{h.value}" id="cl1"
                                            actionListener="#{backing_showResult.proceedDrillDown}" immediate="true"/>
    </tr:iterator>Any suggestions?
    Thank you.

  • ActionListener not firing

    I am currently working on a web app and problem has come up. I'm hoping someone may know about this. The faces page I have has two command buttons for paging forward/back and two combo boxes that act as filters. The page and the filters are all working properly. However, I can only use the navigation buttons 15 times. For example I can page forward and backward 15 times and on the 16th the actionListener and click event for the command button do not fire off. The page still submits, but I get unpredictable results because I have some navigation logic in the actionListener. I've tried pulling the logic out of the actionListener and placed in the event for the command button and recieved the same results. I'm using WSED 5.1.2 and currently running the application locally off of my computer. If anyone has any ideas I'd appreciate it.
    Thanks

    Jan,
    JDev Main 5153 is 3 nightly builds before production. So the current production is a newer version than the one posted.
    User 453834, can you create a testcase and file a bug ? Its difficult to discuss HA on a public forum without knowing your setup. Make sure the testcase does not involve WebCenter
    Frank

  • I currently have 1,177 photos on my iphone (4s) but it takes up 4.9 GB of space. Why is it so large? I do not use photostream - this is simply within my "Camera Roll". Other than deleting the photos, can someone tell me another solution?

    I currently have 1,177 photos on my iphone (4s) but it takes up 4.9 GB of space. Why is it so large? I do not use photostream - this is simply within my "Camera Roll". Other than deleting the photos, can someone tell me another solution?
    My friend has over 2,000 photos on her iphone and it only used 1.7 GB of space and I know I had at one point over 3,000 photos on my phone and still had space left for more.
    Any tips are greatly appreciated!
    Thanks,
    Melissa.

    When you open your camera app, does it say "HDR on" at the top?
    HDR photos are better quality but take up much more space.
    Also, go to Settings>photos and camera.  Scroll down to "keep normal photo".  Is it on?  This feature saves a normal copy and an HDR copy of every photo you take.
    I bet your friend has this feature turned off along with the HDR as well.

  • I am just learning Lightroom 5. Noticed very recently that 'Photo is Missing' has come up against virtually all my files over all my folders/subfolders. That said, using Finder on my MAC I can see thumnails of ALL my images which sit within my Pictures Fo

    I am just learning Lightroom 5. Noticed very recently that 'Photo is Missing' has come up against virtually all my files over all my folders/subfolders. That said, using Finder on my MAC I can see thumnails of ALL my images which sit within my Pictures Folder. Equallly on my back-up on the Mac's Time Machine all versions of same images are present. Any solutions?

    It means that the photos have been moved or renamed or deleted outside of Lightroom. (Hint: don't do that)
    To fix the problem, please follow these instructions:
    http://www.computer-darkroom.com/lr2_find_folder/find-folder.htm

  • ATTENTION!! RECEIVED FRAUDULENT EMAIL PRETENDING TO BE APPLE!! I received an email informing of a purchase made on my account and telling me to change my password if did not purchase the item, which I had not. I have received valid emails from Apple

    ATTENTION!! RECEIVED FRAUDULENT EMAIL PRETENDING TO BE APPLE!! I received an email informing of a purchase made on my account and telling me to change my password if did not purchase the item, which I had not. I have received valid emails from Apple in the past asking letting me know a purchase had been made and asking if I had made the purchase, but the item listed has alway been a purchase that I had made. Since I had received similar emails in the past, I didn't think anything of it. Because I had not purchased the item listed, I immediately clicked on the link in order to change my password, which has been suggested in authentic emails i had received from Apple in the past. The site I was redirected to was exactly the same as the Apple site where you go to change your password. I entered my userID and password and it stated a verification email would be sent, if it was not sent click "resend email." When I did not receive an email, after about 10 seconds I went to the Apple site and followed the SAME EXACT step on pages that were IDENTICAL to the FRAUDULENT website I apparently had just been at. When I clicked "Send verification email," I DID receive an email within seconds, which had a special link that brought me to a page where I could change my password, which I did. I later compared a legitimate email to the FRAUDULENT email and I DID FIND A DIFFERENCE, BUT IT WAS ALMOST UNNOTICEABLE unless you were really, really looking.  I doubt it would be noticed by anyone if not comparing it closely to a real email. THE DIFFERENCE WAS AT THE BOTTOM OF THE AUTHENTIC EMAIL, THERE WERE THREE LINKS THAT COULD BE SELECTED - My Apple ID/Support/Privacy Policy. ON THE FRAUDULENT EMAIL THESE LINKS WERE NOT PRESENT!!! Just today I received an email from Apple stating my password had been changed today. I did not change my password today. When I changed after getting the fake email, I did not think about my SECURITY QUESTIONS!!! If you forget your Apple password, you are able to answer the security questions in place of your ID and you get a confirmation email. Even though I changed my password within a one minute when I did not get a confirmation email with a link to change my password right away and I went dierctly to Apple's site, apparently it was enough time to take all the information on my account - INCLUDING MY DEBIT CARD NUMBER, WHICH HAD BEEN REQUIRED WHEN I INITIALLY SET UP THE ACCOUNT!!! Today I received a call from VISA FRAUD PROTECTION asking about strange activity on my account and stating they were concerned and wanted to ensure I had used the account. I HAD NOT, AND ALL THE MONEY IN MY BANK ACCOUNT HAD BEEN STOLEN!!!!! I am writing this in hopes that many people will see it and NOT FALL VICTIM TO THIS SCAM. Please pay close attention to any emails you supposedly receive from Apple - If the links "MY APPLE ID/SUPPORT/PRIVACY POLICY," PLEASE DO NOT ASSUME IT IS AN AUTHENTIC EMAIL FROM APPLE. I suggest you immediately forward the email to apple, which I didn't do because this happened days ago. Nothing was taken from my money that was already on the Apple account, and nothing had been taken from my checking account. I guess I assumed there had been something wrong with the link in the email directing me to where I could change my password, plus I had gone to the valid Apple website and changed my password for real, and I guess I was thinking that changing my password would prevent someone from being able to acces my account info. PLEASE DO NOT FALL VICTIM TO THIS SCAM AS I DID!!!!

    No need for alarm. There are several folks a day posting like threads. Most folks know these phishing attempts for what they are and merely delete with prejudice.
    To the bottom line... if you wish - and I am sure Apple will take notice - you should FORWARD the email to [email protected] and delete.
    CCC

  • RadioButtonList not firing

    Why checkboxlist selectedindexchanged event firing from within user control in Chrome or Firefox, but radiobuttonlist selectedindexchanged event not firing from chrome or Firefox?

    Hi Ndogs,
    For ASP.NET issue , please reopen a new post on the following forum:
    http://forums.asp.net/
    Regards,
    Barry Wang
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Accessing / communication between VM1 and VM2 both within a CS and within a VNET

    Hi,
    I have been trying to access one VM from another VM both within a CS and within a VNET.  Let me summarise all that I have done in the last couple of days.
    I have VM1 and VM2 in the same CS and same VNET. I have disabled windows firewall in both the vms for testing purpose. VM1 internal IP Address is 10.0.0.4. VM2 internal IP Address is 10.0.0.5. Both VM1 and VM2 are pingable from each other.
    VM1 runs my own virtual device network I created using one of our virtual device tools. The IP range of the virtual devices is 10.0.0.6 to 10.0.0.13 When I ping from VM1 itself all the .6 to .13 virtual devices are pingable. [Additionally, I installed asset
    scanner in vm1 itself and was able to scan .6 to .13 successfully and ping successfully].
    VM2 also runs a asset scan software.  I open a cmd and route add as follows:
    >route ADD 10.0.0.0 MASK 255.255.255.0 10.0.0.4
    where 10.0.0.0 is the target network which would include 10.0.0.6 to 10.0.0.13. 10.0.0.4 is the gateway.
    Now, I go to the asset scan [running in VM2 with internal ipaddress 10.0.0.5]. From its web client I initiate a asset scan giving the IP range as 10.0.0.6 to 10.0.0.13. the software is not able to detect/discover the virtual devices .6 to .13 [the virtual devices
    running in vm1] Why?
    From this vm2, I pinged 10.0.0.6, no response. I pinged 10.0.0.7 no response.... 10.0.0.13 no response.
    HOWEVER, we created the above scenario using 2 physical servers in our LAN and it all worked fine.
    Where/what am I missing?
    K.Lakshmi Shankar

    Hi,
    The ICMP traffic is blocked by the Azure load balancer and the ping requests timeout.
    Note that while this applies to network traffic going through the external IP (VIP) through configured endpoints, ICMP is not blocked when connecting through an Azure virtual network gateway or ExpressRoute. Also, ICMP will work between internal IPs of VMs
    in the same virtual network or in the same cloud service.
    To test connectivity, we instead recommend that you do a port ping. While Ping.exe uses ICMP, other tools such as PsPing, Nmap, or Telnet allow you to test connectivity to a specific TCP port.
    Hope this helps !
    Regards,
    Sowmya

  • After Trigger Not Fired

    Hi All,
    I had created a Before and After Trigger for each row on a table.
    The Before Trigger will be fired when some columns are updated.
    In the Before trigger, I will changed the value of 1 column, says delvstatus.
    The After trigger will be fired if the delvstatus was changed.
    However, I noticed that after trigger is not fired if the delvstatus is changed within Before Trigger.
    Is this a normal case for trigger execution in oracle?
    Any comments are welcome.
    Thanks.

    The before trigger and the after trigger should be fired like in the following test case.
    If not please post your test case and your 4 digits Oracle version.
    SQL> select * from v$version;
    BANNER
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Prod
    PL/SQL Release 10.2.0.4.0 - Production
    CORE    10.2.0.4.0      Production
    TNS for 32-bit Windows: Version 10.2.0.4.0 - Production
    NLSRTL Version 10.2.0.4.0 - Production
    SQL>
    SQL> drop table t purge;
    Table dropped.
    SQL> drop table log purge;
    Table dropped.
    SQL>
    SQL> create table log(txt varchar2(50));
    Table created.
    SQL>
    SQL> create table t (x int primary key, s1 int, s2 int);
    Table created.
    SQL>
    SQL> create trigger tbu
      2  before update of s1
      3  on t
      4  for each row
      5  begin
      6  :new.s1 := 1;
      7  insert into log values('tbu fired');
      8  end;
      9  /
    Trigger created.
    SQL> show errors
    No errors.
    SQL>
    SQL> create trigger tau
      2  after update of s1
      3  on t
      4  for each row
      5  begin
      6  insert into log values('tau fired');
      7  end;
      8  /
    Trigger created.
    SQL> show errors
    No errors.
    SQL>
    SQL> insert into t values(0,0,0);
    1 row created.
    SQL> update t set s1 = 2 where x = 0;
    1 row updated.
    SQL> select * from t ;
             X         S1         S2
             0          1          0
    SQL> select * from log;
    TXT
    tbu fired
    tau fired
    SQL>

  • User should not release the PR which is created by him

    Hi
    We didnu2019t use work flow functionality for PR Release. So same user can create PR and release the same PR in our system. Our requirement is user should not release the PR which is created by him. I would like to put this control in system.
    How can I achieve this requirement?
    Thanks
    Jeny

    Hi Ravi
    Thanks for your reply. but they need to have authroization for PR release . bec they are eligble to release PR as per delegation of authroity. but they should not release their own PR . they can relase other's PR within their level.
    Jeny.

  • Breakpoints not firing

    Hello Dev's,
    I am having a problem in only one project and I have even tried to recreate the project with no success but previous projects created years prier (made with previous versions of FB) are not experiencing this.
    I am trying to place breakpoints on functions in deep rooted classes (a class that is loaded by a class by a class, its a smaller component from a greater project) which I know is firing as I see the results on the screen.
    However the break point does not fire and remains a blue circle, indicating it won't fire. If I remove and re add the break point while the app is running, it will become checked but once I run the debugger the break point turns back into a blue dot.
    If I put a break point in one of the first lines of the application class, like in it's constructor, it will trigger and then my deeper break points will fire. But if I don't make this out of the way break point (in the main class) the following break points are not firing.
    Thoughts?
    Flex Builder 4.5
    SDK 4.5.1
    Debugger 11.6.5.635 (in FireFox)

    I haven’t seen that before, but in theory would be possible if several SWFs are being loaded and you get a class collision and the breakpoint in the app changes the timing of the loaded SWFs.

  • How to list the active Alerts used within a tab(report) within a Document

    Hello
    We have a number of tabs/reports within a single webi document. There are a couple of alerts within the webi document but only one is used within a given tab/report.
    Is there an API around that will help me query the alerts that are enabled within each tab/report within a given document instance?
    There is an IReportProcessingInfo class that is around for it looks like its not applicable for Webi documents.
    Regards
    Madhu
    BO XI R2 SP2 on Windows 2003

    Hi Madhu,
    Below is a sample code to traverse through the ReportStructure and get the Alerters from the cells.
    Hope this helps.
    Regards,
    Dan
    Main:
                /************************** RETRIEVING PARAMETERS **************************/
                // Retrieve the logon information
                String username = "username";
                String password = "password";
                String cmsName  = "cms name";
                String authType = "secEnterprise"; 
                // Retrieve the name of the Web Intelligence document to be used in the sample
                String webiDocName = "WebI Alerter Test";
                /************************** LOGON TO THE ENTERPRISE **************************/
                // Logon to the enterprise
                IEnterpriseSession boEnterpriseSession = CrystalEnterprise.getSessionMgr().logon( username, password, cmsName, authType);
                /************************** RETRIEVE INFOOBJECT FOR THE WEBI DOCUMENT **************************/
                // Retrieve the IInfoStore object
                IInfoStore boInfoStore =(IInfoStore) boEnterpriseSession.getService("InfoStore"); 
                session.setAttribute("SAMPLE.InfoStore", boInfoStore); 
                // Build query to retrieve the universe InfoObjects
                String sQuery = "SELECT * FROM CI_INFOOBJECTS WHERE SI_KIND='" + CeKind.WEBI + "' AND SI_NAME='" + webiDocName + "'";
                // Execute the query
                IInfoObjects boInfoObjects = (IInfoObjects) boInfoStore.query(sQuery);
                // Retrieve the InfoObject for the Web Intelligence document
                IInfoObject boInfoObject = (IInfoObject) boInfoObjects.get(0);
                /************************** RETRIEVE DOCUMENT INSTANCE FOR THE WEBI DOCUMENT **************************/
                // Retrieve the Report Engines
                ReportEngines boReportEngines = (ReportEngines) boEnterpriseSession.getService("ReportEngines");;
                // Retrieve the Report Engine for Web Intelligence documents
                ReportEngine boReportEngine = boReportEngines.getService(ReportEngines.ReportEngineType.WI_REPORT_ENGINE);
                // Retrieve the document instance for the Web Intelligence document
                DocumentInstance boDocumentInstance = boReportEngine.openDocument(boInfoObject.getID());
                ReportStructure boReportStructure = boDocumentInstance.getStructure();
                out.print(traverseReportStructure(boReportStructure));
                out.print("&lt;HR>Process Complete!&lt;HR>");
                boDocumentInstance.closeDocument();
                boReportEngine.close();
                boEnterpriseSession.logoff();
    Functions:
    String traverseReportStructure(ReportStructure boReportStructure) {
                String output = "";
                for (int i=0; i&lt;boReportStructure.getReportElementCount(); i++) {
                            output += traverseReportElement(boReportStructure.getReportElement(i), 0);
                return output;
    String traverseReportElement(ReportElement boReportElement, int level) {
                String output = "";
                String padding = getPadding(level);
                if (boReportElement instanceof ReportContainer) {
                            output += padding + "Report Name: " + ((ReportContainer) boReportElement).getName() + "&lt;BR>";
                } else if (boReportElement instanceof PageHeaderFooter) {
                            if (((PageHeaderFooter) boReportElement).isHeader()) {
                                        output += padding + "Report Header&lt;BR>";
                            } else {
                                        output += padding + "Report Footer&lt;BR>";
                } else if (boReportElement instanceof ReportBody) {
                            output += padding + "Report Body&lt;BR>";
                } else if (boReportElement instanceof Cell) {
                            output += padding;
                            output += "Cell ID: " + ((Cell) boReportElement).getID() + " - ";
                            output += getAlerters(((Cell) boReportElement).getAlerters(), level+1);
                } else if (boReportElement instanceof ReportBlock) {
                            output += padding + "Block Name: " + ((ReportBlock) boReportElement).getName() + "&lt;BR>";
                            output += traverseReportBlock((ReportBlock) boReportElement, level+1);
                } else {
                            output += padding + boReportElement.getClass().getName() + "&lt;BR>";
                for (int i=0; i&lt;boReportElement.getReportElementCount(); i++) {
                            output += traverseReportElement(boReportElement.getReportElement(i), level+1);
                return output;
    String traverseReportBlock(ReportBlock boReportBlock, int level) {
                String output = "";
                String padding = getPadding(level);
                Representation boRepresentation = boReportBlock.getRepresentation();
                output += padding + "Block type is [" + boRepresentation.getClass().getName() + "].&lt;BR>";
                if (boRepresentation instanceof SimpleTable) {
                            SimpleTable boSimpleTable = (SimpleTable) boRepresentation;
                            output += padding + "Processing SimpleTable...&lt;BR>";
                            output += padding + "Block Header&lt;BR>" + traverseCellMatrix(boSimpleTable.getHeader(null), level+1);
                            output += padding + "Block Body&lt;BR>" + traverseCellMatrix(boSimpleTable.getBody(), level+1);
                            output += padding + "Block Footer&lt;BR>" + traverseCellMatrix(boSimpleTable.getFooter(null), level+1);
                } else {
                            output += padding + "Unhandled Block Type...&lt;BR>";
                return output;
    String traverseCellMatrix(CellMatrix boCellMatrix, int level) {
                String output = "";
                String padding = getPadding(level);
                if (boCellMatrix.getRowCount()>0) {
                            TableCell boTableCell = null;
                            for (int i=0; i&lt;boCellMatrix.getColumnCount(); i++) {
                                        boTableCell = (TableCell) boCellMatrix.getCell(0, i);
                                        output += padding + "Column: " + i + " - " + boTableCell.getText() + " - ";
                                        output += getAlerters(boTableCell.getAlerters(), level+1);
                } else {
                            output += padding + "No Cells.&lt;BR>";
                return output;
    String getAlerters(Alerters boAlerters, int level) {
                String output = "";
                String padding = getPadding(level);
                if (boAlerters.getCount()&lt;=0) {
                            output += "No alerters.&lt;BR>";
                } else {
                            output += "Alerters found!&lt;BR>";
                            Alerter boAlerter = null;
                            for (int i=0; i&lt;boAlerters.getCount(); i++) {
                                        boAlerter = boAlerters.getAlerter(i);
                                        output += padding + "&lt;B>" + boAlerter.getName() + "&lt;/B>&lt;BR>";
                return output;
    String getPadding(int level) {
                String output = "";
                for (int i=0; i&lt;level; i++) {
                            output += "     ";
                return output;
    Edited by: Dan Cuevas on May 25, 2009 9:45 PM

  • KEY-COMMIT not firing

    I am working on an Oracle 10g database and am using Oracle Forms Developer 10g to create forms. I have created a new 2 field table in my database:
    CREATE TABLE career_cluster
    (career_cluster_code VARCHAR2(3) NOT NULL
    ,CONSTRAINT career_cluster_pk
    PRIMARY KEY (career_cluster_code)
    USING INDEX
    TABLESPACE GALINDX
    ,career_cluster_desc VARCHAR2(30) NOT NULL
    TABLESPACE galaxy;
    I have also created a form so that users can enter data into this table. I have a career_cluster data block in my form with two items: career_cluster_code (set with a maximum length of 3 in my property palette) and career_cluster_desc (set with a maximum length of 30 in my property palette). Both items are also set in the property palettes to a char data type. In my SQL code (in the form) I always have these two items set as varchar2 with (3) and (30), respectively.
    The form opens fine when I run it, however when I click on my SAVE button my KEY-COMMIT trigger is not fired -- it jumps directly to my ON-ERROR trigger and I get an Oracle ORA-06502 error message. I don't see any inconsistencies in my data types or lengths. Below is my KEY-COMMIT code:
    DECLARE hold_item varchar2(30) := :system.cursor_item;
    hold_record varchar2(10) := :system.cursor_record;
    mess_name varchar2(80);
    mess_text varchar2(80);
    BEGIN
    go_block('career_cluster');
         if (error_code = 40202) then
              goto end_of_trigger;
         end if;
    if :system.block_status = 'CHANGED' then null;
    commit_form;
    if FORM_SUCCESS then null;
    mess_name := 'Transaction Complete';
    mess_text := 'Career Cluster(s) committed to the database';
    DISP_ALERT2(mess_text,mess_name);
    end if;
    else null;
    mess_name := 'No changes to commit';
    mess_text := 'No changes have been made to the Career Cluster Code Table';
    DISP_ALERT2(mess_text,mess_name);
    end if;
    go_item(hold_item);
    go_record(hold_record);
    <<end_of_trigger>>
    null;
    END;
    I put in a DISP_ALERT message right after the BEGIN statement but it never displayed so I don't think this trigger is firing. I also put a similar DISP_ALERT message in my ON-ERROR trigger and that does display, so I know it is going right to my ON-ERROR trigger. Does anyone have any ideas what might be triggering the ON-ERROR?
    Thanks,
    -NTW

    ORA-06502 is a numeric or value error string which is raised when an arithmetic, numeric, string, conversion, or constraint error occurrs. For example, this error occurs if an attempt is made to assign the value NULL to a variable declared NOT NULL, or if an attempt is made to assign an integer larger than 99 to a variable declared NUMBER(2).
    I would suggest you to look at the columns definitions in the table and the form fields/variables data types and lengths and make sure they are same as the backend table columns.
    Also, you don't need to put NULL; after each IF ELSE conditions if you have any other statements.
    I would also suggest that you handle any errors in either exception handler of the block or in the ON-ERROR triggers.
    Try this:
    DECLARE
        hold_item varchar2(30) := :system.cursor_item;
        hold_record varchar2(10) := :system.cursor_record;
        mess_name varchar2(80);
        mess_text varchar2(80);
    BEGIN
        GO_BLOCK('career_cluster');
        IF :system.block_status = 'CHANGED' THEN
            commit_form;
            IF FORM_SUCCESS THEN
                mess_name := 'Transaction Complete';
                mess_text := 'Career Cluster(s) committed to the database';
                DISP_ALERT2(mess_text,mess_name);
            END IF;
        ELSE
            mess_name := 'No changes to commit';
            mess_text := 'No changes have been made to the Career Cluster Code Table';
            DISP_ALERT2(mess_text,mess_name);
        END IF;
        GO_RECORD(hold_record);
        GO_ITEM(hold_item);
    EXCEPTION
      WHEN OTHERS THEN  MESSAGE(TO_CHAR(ERROR_CODE)||'-'||ERROR_TEXT);
      RAISE FORM_TRIGGER_FAILURE;
    END;

  • On New Instance computation not firing if user fails authorisation

    Hi there,
    In my Apex 4 application I have:
    - An application-level field
    - An On New Instance computation that computes the above field (no conditions or authorisations set on it)
    - A public page
    - A secure page to which the user I use to log in doesn't have access
    If, after logging in, I go straight to the public page and then to the secure page, I get the error "user not authorised" but the application item is computed.
    However, if I go straight to the secure page after logging in the application I get the error message but item is not computed! (I know that because I am displaying the item in the error page template using the format &F_FIELD.)
    I thought On-New-Instance-Anything should always be executed.. but that does not seem to be the case... Or am I missing something?
    How to fix this? I need the on new instance computation to always execute even if the user fails authorisation.
    Thanks
    Luis

    - If I understand you correctly, you are suggesting to move the application computation into the login page, as a page computation?An assignment statement in a PL/SQL process that runs after the login process could work, but it would be safer to use an application-level computation that fires only after APP_USER is definitely set to the authenticated username. The condition would be something like "if :MY_USER_ID_ITEM is null and :APP_USER not in ('nobody', 'HTMLDB_PUBLIC_USER','APEX_PUBLIC_USER','ANONYMOUS')...". Then your application will work if you decide not to have a login page someday, e.g., if you switch to SSO.
    If the computation point is "after submit", why do I need to worry about "per session"? It will be fired only when the user enter/re-enter the system, right?Yes.
    My logout URL was constructed by page wizard. I don't see any session id there. Should I look anywhere specific?If you still have problems with an on-new instance event not firing after a logout URL results in a new session being created let me know. It may be moot for this case.
    Scott

  • SP Not firing

    Hi
    I am new to SP.I written a code which is executed at back end succesfully but its not firing at front end.
    I used this SP to restrict the user to change the unit price(Comes automatically from item master) for a particular item group in PO.its not showing the error message when i change the unit proce of PO.Can anyone suggest me on how to proceed?
    CREATE proc dbo.SBO_SP_RESTRICTPRICE
    @object_type nvarchar(25), -- SBO Object Type
    @transaction_type nchar(1), -- [A]dd, pdate, [D]elete, [C]ancel, C[L]ose
    @num_of_cols_in_key int,
    @list_of_key_cols_tab_del nvarchar(255),
    @list_of_cols_val_tab_del nvarchar(255)
    AS
    begin
    -- Return values
    declare @error int -- Result (0 for no error)
    declare @error_message nvarchar (200) -- Error string to be displayed
    select @error = 0
    select @error_message = N'Ok'
    IF(@object_type='22') and (@transaction_type IN ('A','U'))
    begin
    IF Exists(select T0.Price from POR1 T0 INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode INNER JOIN ITM1 T2 ON T1.ItemCode = T2.ItemCode where T0.ItemCode = T1.ItemCode AND T1.ItmsGrpCod = '126' AND T0.Price <> T2.Price AND T0.DocEntry = @list_of_cols_val_tab_del)
    Begin
    SET @error = 30
    SET @error_message =N'You are not authorized to change the price'
    end
    END
    end

    Hi Kamdasan,
    Try this.
    Insert this code in SBO_SP_TRANSACTIONNOTIFICATION
    USE [Cmp_Test]
    GO
    /****** Object:  StoredProcedure [dbo].[SBO_SP_TransactionNotification]    Script Date: 06/23/2011 10:58:51 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER proc [dbo].[SBO_SP_TransactionNotification]
    @object_type nvarchar(20),                     -- SBO Object Type
    @transaction_type nchar(1),               -- [A]dd, <u>pdate, [D]elete, [C]ancel, C[L]ose
    @num_of_cols_in_key int,
    @list_of_key_cols_tab_del nvarchar(255),
    @list_of_cols_val_tab_del nvarchar(255)
    AS
    begin
    -- Return values
    declare @error  int                    -- Result (0 for no error)
    declare @error_message nvarchar (200)           -- Error string to be displayed
    select @error = 0
    select @error_message = N'Ok'
    --     ADD     YOUR     CODE     HERE
    IF (@object_type = '22') and (@transaction_type IN ('A', 'U'))
    BEGIN
    IF exists (SELECT T1.[Dscription], T4.[ItmsGrpNam], T4.[ItmsGrpCod], T3.[PriceList], T1.[Price]
    FROM OPOR T0  INNER JOIN POR1 T1 ON T0.DocEntry = T1.DocEntry
    INNER JOIN OITM T2 ON T1.ItemCode = T2.ItemCode
    INNER JOIN ITM1 T3 ON T2.ItemCode = T3.ItemCode
    INNER JOIN OITB T4 ON T2.ItmsGrpCod = T4.ItmsGrpCod
    INNER JOIN OPLN T5 ON T3.PriceList = T5.ListNum
    WHERE T4.[ItmsGrpCod] = '130'
    and  T3.[PriceList] = 40 
    and T3.[Price] <>  T1.[Price])
    Begin
    Select @error = -1,
    @error_message ='You are not authorized to change Unit Price For This Item Group'
    End
    END
    -- Select the return values
    select @error, @error_message
    end
    Thanks
    Malhaar

Maybe you are looking for