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. -
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.
ThanksJan,
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?
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 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 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 -
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 ShankarHi,
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 -
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
JenyHi 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. -
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 2003Hi 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("<HR>Process Complete!<HR>");
boDocumentInstance.closeDocument();
boReportEngine.close();
boEnterpriseSession.logoff();
Functions:
String traverseReportStructure(ReportStructure boReportStructure) {
String output = "";
for (int i=0; i<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() + "<BR>";
} else if (boReportElement instanceof PageHeaderFooter) {
if (((PageHeaderFooter) boReportElement).isHeader()) {
output += padding + "Report Header<BR>";
} else {
output += padding + "Report Footer<BR>";
} else if (boReportElement instanceof ReportBody) {
output += padding + "Report Body<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() + "<BR>";
output += traverseReportBlock((ReportBlock) boReportElement, level+1);
} else {
output += padding + boReportElement.getClass().getName() + "<BR>";
for (int i=0; i<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() + "].<BR>";
if (boRepresentation instanceof SimpleTable) {
SimpleTable boSimpleTable = (SimpleTable) boRepresentation;
output += padding + "Processing SimpleTable...<BR>";
output += padding + "Block Header<BR>" + traverseCellMatrix(boSimpleTable.getHeader(null), level+1);
output += padding + "Block Body<BR>" + traverseCellMatrix(boSimpleTable.getBody(), level+1);
output += padding + "Block Footer<BR>" + traverseCellMatrix(boSimpleTable.getFooter(null), level+1);
} else {
output += padding + "Unhandled Block Type...<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<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.<BR>";
return output;
String getAlerters(Alerters boAlerters, int level) {
String output = "";
String padding = getPadding(level);
if (boAlerters.getCount()<=0) {
output += "No alerters.<BR>";
} else {
output += "Alerters found!<BR>";
Alerter boAlerter = null;
for (int i=0; i<boAlerters.getCount(); i++) {
boAlerter = boAlerters.getAlerter(i);
output += padding + "<B>" + boAlerter.getName() + "</B><BR>";
return output;
String getPadding(int level) {
String output = "";
for (int i=0; i<level; i++) {
output += " ";
return output;
Edited by: Dan Cuevas on May 25, 2009 9:45 PM -
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,
-NTWORA-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 -
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
endHi 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
-
Strategy for ensuring replication is complete before initating query from source system
Hi, I am using HANA as a side-car scenario with reports running in SAP ECC being accelerated by querying replicated tables in SAP HANA instead. This works well, however I don't have a good mechanism to validate before running a report whether the und
-
Mail not showing as Read between devices
I have a macbook pro running on OSX and an iPhone 5. Whenever i get mail on either of my devices and i open the email and "read" it, it does not show as read on myother device. I have 3 hotmail accounts and 1 gmail account, and they all seem to have
-
Line is breaking in Spool output - KSB1
Hi All, I am running the transaction KSB1 which is calling report RKAEP000 to display the output. The output format is fine while displaying it in ALV but in Spool the format is not correct. It is dispaying two line for a single line i.e. line is get
-
How do you un-attach one picture when you are trying to burn photos on a DAD
How do you un-attach one or two photos when you are trying to burn a group on to a DVD?
-
Question about the current OnDemand offering
Hi, We are looking at the ondemand offering via http://ondemand.com/. We have some question regarding the solutions avaiale. On the website, 3 services are mentioned: - SAP BusinessObjects BI OnDemand - Business Intelligence for Salesforce - SAP Busi