Forms :: When-Timer-Expired / Creating A Timer On On-Error Trigger Of Block
Jan 25, 2012
I'm having a problem with the When-timer-Expired trigger.I am creating a timer on the On-Error trigger of the block. in the when-timer-expired :
message (11); exit_form(no_validate);
If i run the program program for the first time,message 11 doesn't show thus it doesn't fire the when-timer-expired trigger. But if i logout from application server and enter all over again,the when-timer-expired works !
I have 2 10g forms that runs continuousely. They are display screens of scheduled open work, that refreshes as it scrolls. The scrolling is based on a timer, and when it reaches the last record, the forms requeries, and continues on scrollling.
My problem is every few days, both screens that are connected to different PC, stall and stop working we have to manually restart the PCs and the screens work again for few days and the problem happens again..The message we are getting:
end of communication channel, and at the status bar we get: when timer expired raised an undandled exception...Is there a way to handle that exception, can we when it happen, refresh the screen or exit and restart again?
One of our Job running long than usual time. I checked the wtait event for which its waiting. its PL/SQL Timer wait. But i noticed the total waits is 179 and timed out is also 179 for PL/SQL Timer. I checked that job that particular procedure calls dbms_lock.sleep in it. I want to know why this wait event is getting timed out ?
I have a multi record control block (basically a text item displaying 6 records) where user enters values and I want to process the values using pre-insert trigger.
I want to read value in each record and then do some tasks using a pre-insert trigger before I commit the values. To navigate between the records I was using first_record, next_record, clear_record built-ins but it gives errors like "40737-illegalrestricted procedure next_record in pre-insert trigger".
I have a form w/a tab canvas. BlkA is on Tab1 and Blk2 is on Tab2. In BlkA I have several items that have when-validate-item triggers. However, the trigger does not fire when I enter a value into item1 of BlkA followed by clicking on Tab2. To solve, I placed validate(form_scope) in the When-Tab-Page-Changed trigger. This works well with invoking the validation. However, focus remains on Tab2 (Blk2).
I would like focus to return to failed validation item in Blk1. I can capture the block name using :system.cursor_block in the Post-Block trigger of BlkA, assign that value to a form parameter and when a validation fails via the When-Tab-Page-Changed trigger I can return user back to BlkA(Tab1). However, I need direction on how to return user to the specific item in BlkA that failed validation
we are working to increase the security of our oracle application by adding profil and expiration to all our database username.
Expiration is actually set to 60 days.So if i understand it correctly, 60 days is counting from when i change my password. So if I change it at 10:30am it will expire at 10:30am in 60 days.
Our forms application is calling all forms using the command open_form with SESSION parameter to open all forms in new session.
My problem is when the user connect in the system let say at 9:00am. At 10h30am the password will expire and when the user will click to open a new form from the application he will get the message ORA-28001:the password has expired.The new module will open even if password is expired and will raise the error FRM-41352: Failed to create session. So the module will stay in the same session than the caller.
Is there a way to catch the ORA-28001 and force a new logon.Probably with some code in the ON-ERROR of the called module but this mean that i will have to change +400 forms.
I have a base table (Table A) block with multiple records displayed. I need to track audits to this underlying table in the following way:
If user updates a field in the block I want the pre-changed record's audit fields to be set and I need to create a copy of the record with the changed values. Basically any changes will result in the record being logically deleted, and a copy record created with the newly changed values.
Tried to implement in the block's pre-update trigger which will call a package to directly update Table A then Insert into Table A, then requery the block. Is there a clean and efficient way to do this?
I am trying to create a datablock based on a procedure , but im getting errors in compilation:
Errors are : 1) identifier 'HSM_WSH_DEL_UTIL.DEL_TBL' must be declared
2) PL/SQL ERROR 320 at line 7, column 27 the declaration of the type of this expression is incomplete or malformed
Heres my pkg spec and body for the data block:
CREATE OR REPLACE PACKAGE hsm_wsh_del_util IS TYPE del_record IS RECORD (delivery_id NUMBER); TYPE del_tbl IS TABLE OF del_record INDEX BY BINARY_INTEGER;
PROCEDURE do_query (p_del IN OUT del_tbl); END hsm_wsh_del_util; [Code] .....
I have to implement exception handling in the exception block of a trigger, Quote:exception
when ora_java.java_error then message( 'Unable to call out to java, ' || ora_java.last_error ); ORA_JAVA.CLEAR_EXCEPTION;
when ORA_JAVA.EXCEPTION_THROWN then ex := ORA_JAVA.LAST_EXCEPTION; message( Exception_.toString(ex)); -- lv_exception := Exception_.getMessage(ex);
I get an error for the line: 'message( Exception_.toString(ex));'I have imported the java classes FException et IObject with their methods.
I have to create a Web Service Client, so I wonder if the paragraph Quote:when ORA_JAVA.EXCEPTION_THROWN then ex := ORA_ JAVA. LAST_ EXCEPTION; is mandatory.
My layout is working well enough triggers though are causing me some problems. I am getting the following error message just about every time I write a trigger so I am getting the feeling I am doing something fundamentally wrong. Like there is something I am just not getting because I am getting this error on the simplest of actions.
The error: FRM-40735: WHEN-VALIDATE-ITEM trigger raised unhandled exception ORA-06502. -------------------------------------------------------------- ORA-01403: no data found
The trigger is this: cs3_prog.set_date_mode;
this calls the following procedure in the package cs3_prog:
procedure set_date_mode IS BEGIN :cs3_data.street := 'something'; end;
this in the past did a lot more but I kept throwing stuff out to see what could have been causing the problem. This does actually work if I ok through the first error message and then try entering data again into the field the trigger is tied to. On this second firing of the trigger is does successfully alter the value.
Just the fact that this is happening every time I create a trigger and it seems to happen regardless of what I have the trigger doing leads me to believe I have something fundamentally wrong and I would love to have it set straight.
I am trying to build one custom 10g form from TEMPLATE.fmb. when i try to compile my form in desktop it is giving error as Error FRM-40735: ON-ERROR trigger raised unhandled exception ORA-6508.
I am using database 10g and Form 6i. We are working under client server technology. Frequently we are receiving the following error to every user at randomly when they are idle few seconds/minutes.
FRM-40735 or error trigger raised unhandled exception ora-03114
the index_id and time_vertex_id will be unique and when the date is 17th i.e the first date will be inserted the current rate will be 4.7 and the previous rate will be blank and when another date is inserted i.e 16th the previous rate of 17th will be the current rate of 16th i.e 6.4.
when 14th is being inserted, the previous rate of 16th will be the current rate of 14th i.e 7.4 and if after 14th is being inserted, 15th is being inserted, then the previous rate of 16th should be updated as per the current rate of 15 say 8.5.
I would like to create a trigger on a table, but only if the table exists.
This is what i've got so far:
create or replace function tableExists (tablename in varchar2) return boolean is c int; begin
[Code].....
This would give me the error:
PLS-00103: Encountered the symbol "CREATE" when expecting one of the following: ( begin case declare exit for goto if loop mod null pragma raise return select update
I am trying to create trigger through Procedure due to following reasons-
1. The name of the column on which trigger will execute, is to be fetched dynamically. 2. The name of the column to be updated, is to be fetched dynamically.
Here is the sample code-
CREATE OR REPLACE PROCEDURE test2 IS var VARCHAR2 (4000); uname VARCHAR2 (30); attribtask VARCHAR2 (100); mapcol VARCHAR2 (100); BEGIN [code].........
On execution, the procedure throws the error of 'Insufficient privileges'. The 'var' seems to be the main culprit because the issue disappears if var is set to 'select * from dual'. Also, if i take the output (value of var) given by DBMS_output.put_line function and execute it explicitly, trigger gets created.
In addition- The procedure is (and being executed) within the same user/schema under which trigger is going to be created.
I have a table tblcustomer and a view called vworder. I need to create a trigger such that any data being added into vworder first checks if the field customerid has the data in customerid of tblcustomer.. all it has to do is spit out a error "Customer ID not found"
So I created a view such as
Quote: create or replace TRIGGER trig_order BEFORE INSERT OR UPDATE ON vworder FOR EACH ROW DECLARE cust_id VARCHAR2(20); BEGIN SELECT customerid INTO cust_id FROM tblcustomer WHERE customerid = :new.customerid; EXCEPTION WHEN NO_DATA_FOUND THEN Raise_application_error(-20000, 'Customer ID Does Not Exist'); END;
But it comes with error
Quote: ORA-25001: cannot create this trigger type on this type of view 25001. 00000 - "cannot create this trigger type on views" *Cause: Only INSTEAD OF triggers can be created on a view. *Action: Change the trigger type to INSTEAD OF.
I am not an expert at all and I need to finish this today itself.
Having trouble creating a trigger to populate another table.
The SQL:
CREATE OR REPLACE TRIGGER "P_M_YES" AFTER INSERT OR UPDATE ON DOMAIN REFERENCING NEW AS NEW.P_M AND OLD AS OLD.P_M FOR EACH ROW WHEN (NEW.P_M = YES) BEGIN INSERT INTO PAGE_MAKER VALUES(:NEW.D_NAME, :NEW.USER_ID); END P_M_YES;
I've been assigned a task at work that consists of creating a trigger on a table. This table is used to store temporary query results. I'm trying to make a trigger to clean the table so old results don't accumulate.
There is a column named DATE_UPDATED that stores an Oracle Date for when the row was inserted/updated. If the row is not updated in 12 hours, I want to delete it.
Here is what I have so far.
CREATE OR REPLACE TRIGGER clean_tableName AFTER INSERT OR UPDATE ON tableName
BEGIN
END clean_tableName;
As you can see, I don't have an actual function body yet. What would be the best way to accomplish this? Should I declare a variable to store the current Date+12 hours and then just compare that in a delete statement?
I'm thinking something like:
DECLARE laterDate DATE := SYSDATE+12; // Not sure how to add 12 hours to a date. BEGIN DELETE FROM tableName WHERE DATE_UPDATED > laterDate; END clean_tableName;
But I'm not sure how to add 12 hours to the current date. Is there a way I can do this without defining a variable?
I am new to PL/SQL and how to create a trigger to compute the population of the school from the groups of students and store back in population. It also needs to check that there is a min of 10 students to a school.
CREATE OR REPLACE TYPE group_type AS OBJECT ( group_nameVARCHAR2(20), tutor_idNUMBER(5),
When i try to create a trigger , i ended up with error.
SQL> create or replace 2 TRIGGER LOGON_TRG AFTER LOGON ON DATABASE 3 BEGIN 4 INSERT 5 INTO 6 user_audit_log 7 SELECT 8 user#,
[code]....
Warning: Trigger created with compilation errors.
SQL> SQL> show error Errors for TRIGGER LOGON_TRG: LINE/COL ERROR -------- ----------------------------------------------------------- 2/5 PL/SQL: SQL Statement ignored 17/17 PL/SQL: ORA-00942: table or view does not exist
The command used to resolve the error is
GRANT SELECT ON v_$session TO jack;
Jack user has sysdba privilege. My question is 'sysdba' is a super and special user which has all the privileges in database. Then why does it need SELECT privilege on v$session to user to create the trigger?
i have multi data block filed. and checkbox field which based on control block...My task is when i check checkbox only one field should enabled and my mouse goes to that field
My item field based on data block and checkbox based on control block,while i checked chkbox1 , only item31 on that current record should be enabled and i changed value only on that field
when i checked chkbox1 , my cursor goes to item31...not item32
i have a master detail form, In Master block we have one field cheque amount and in Detail block we have field receiveable amount invoice wise. if company paid us a cheque amount we will enter this amount in Master block field Cheque amount and in detail block there will be invoice wise receivable amounts. i want to distribute the cheque amount in detail block invoice wise for example
Cheque amount in master block = 291
Invoice wise receiveable amount is as follows
Invoice No , receivable amount , Received amount
10, 196 , 0 20 , 95 , 0 30 , 54 , 0
Result should be as follows:
Invoice No , receivable amount , Received amount
10, 196, 196 20 , 95 , 95 30 , 54, 0
Received amount field should be distributed according to the receivable amount when recevied amount = cheque amount then remaining will be 0.
I have a Oracle Form which has 2 blocks, master and Detail.I have a pre-Insert Trigger on master block which has a sequence that acts as the id of the primary key column. Now, when I populate the master block and dont save then go to detail block and save(after populating detail block's data) it gives me an error that can not insert null into detail block foreign key column.I understand that his is happening because in the above scenario pre-insert is not firing for the master block.Am I writing the the sequence generation code in a wrong trigger?