Forms :: Post-change Versus Validate Item
Oct 20, 2010tell me excat diff. between when- validate -item vs. post-change in a simple way...
View 4 Repliestell me excat diff. between when- validate -item vs. post-change in a simple way...
View 4 RepliesI need to move to control to another item in a same block from WHEN-VALIDATE-ITEM trigger. [WITH OUT USING ANOTHER TRIGGER]
View 6 Replies View RelatedI have this layout
[URL]
and a post trigger insert and update
IF :item1 IS NULL
AND :item3 IS NOT NULL THEN
alert_id := FIND_ALERT('blank_alert');
SET_ALERT_PROPERTY(alert_id,ALERT_MESSAGE_TEXT,'Item3 must have a value.');
v_alert := SHOW_ALERT(alert_id);
RAISE Form_trigger_Failure;
END IF;
My problem was as it fires, the cursor will be on the item1. I've already use
SET_ITEM_INSTANCE_PROPERTY
NEXT_ITEM
GO_ITEM
but it was all illegal. The cursor must be in the item3.
Don't question me why I do not set the item3 to required and why post triggers. It is just that. It is the requirement.
I have an issue with the oracle forms trigger. This is the scenario. The form is a query only form . A user can only query on this form . No update or insert is allowed.
The base table say TABLE1 consists of these fields. 1) pro id, pro item, empno , fname, lname, deptno .
The user can query on all items except the fname and lname.
The issue is few records in the TABLE1 have null values for the empno.
When the user queries on proid, pro item , empno or deptno - when the empno on TABLE1 is not NULL , the fname and lname should be fetched from a different table say TABLE2. otherwise, if the empno on TABLE1 is null , the fname and lname from the same table i.e, TABLE1 are retrieved. I have tried with the post change trigger on empno . Also tried the When validate item trigger . But it doesnt work the way it is expected to. what is the appropriate trigger that must be used.
I have a view t1 having the records:
1 A
1 A+
2 B
3 C
4 D
I want to display that in an LOV but without the first record (1 A) I used the code :
SELECT DISTINCT num,
DECODE(num,1,(SELECT DISTINCT desc FROM t1 a
WHERE a.desc='A+'AND a.num=1),desc) desc
FROM t1
this worked fine but how to apply this in a post_change trigger where a user inters the num and the desc appears in atext-item in my form
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
i have a table called equipment containing engine_type_id.in the equipment form that is based on the equipment table, i added a non database item called engine_type.
i added an LOV for the engine type field, so that the user can choose the engine type from the the egine types table. i made the engine type id hidden. and set the validate item from LOV to yes.on post query trigger, i selected the engine type into the nondatabase field.
the form is working properly.
when i push CTRL F11 (query) and scroll, even if i didnt change anything the form builder asks me , do u want to save changes.
I am working on form 6i..
I have developed a form with some text items,a list item and a image item...
list item......account_list(values....company,individual)
text_item..... company_name..
text_item.....image_path...
i have attached a pop up menu to image item... Add image and upload image...
When i click on 'Add image' the image path is getting enabled.. it is fine but when i am changing the account_list i need enable and disable the 'Company_name' text item... How can i achieve this??
I have tried it in when-validate-trigger on account_list...
if account_list=individual then
set_item_property('company_name',enabled,property_false);
else
set_item_property('company_name',enabled,property_true);
end if;
But no use of this....
how can i achieve it??
i need to pop up an alert using a trigger to test the data type of a field per example if the input is not a number an alert will popup "Please insert a number"
View 5 Replies View Relatedi have a text field where i am putting values from an LOV and i want to check for wrong entries like if the user enters a wrong code it should display the message "wrong code".so this is the code i am using in the when validate item trigger:
begin
declare
pc number;
begin
select count(*)
[code]...
But it doesn;t work, it acepts the wrong code also.
Suppose if I have defined two triggers Key-next and When-validate-item on the same item.
If my key-next is going to fire first and When-validate-item laterhow can the validation happen if I write a code like go_item('XXXX') in my Key-next.Does it mean that if u write a code in key-next to jump to some other item, no validation takes pLace?
This is my first post in the form and also i'm new to oracle forms technology.
I have the following issue:
In my form i have two Text-Fields to store some information for a claim:
A --> Profit and
B --> Loss
(only one of the filed can have value)
Also i have a data block where i store the reason of the claim (status). Reason can take three values 1, 2, 3. For each claim i can have more than one reasons stored in db table.
if the user input more than one reasons, then if one of them is 1 Profit should be set unprotected and Loss should be set to protected.
I have the following issue.
user creates a records with reason 1 : Profit text field is set to unprotected and Loss text filed is set protected.
user creates another record with reason 2: Profit text field is set to Protected and Loss text filed is set to unprotected. --> wrong
How can i validate the values of the two records and create the desired functionality?
I have used the POST-TEXT-ITEM trigger but it works correct only for one record. i insert two records with the above order i have the issue i describe.
in data block... in empno text item.. I created trigger using When-Validate-Item in that pl/sql block I written this code
declare
BTN number;
begin
if length(:emp.EMPNO)<4 THEN
BTN :=SHOW_ALERT('ALERT2');
END IF;
END;
but it is not showing the alert message when enter the empno more than 4 letters.i used Pre-Text-Item.
I have to create a form and i have to use trigger when-validate-item in enter-query mode . I have read trigger when-validate-item can not use Enter Query Mode . Is there any way to do this when i enter-query?
View 5 Replies View RelatedI am trying to make a particular field (called reason_code) "required" on a form I am working on.
Now this field has two fields before it, and I have to tab to reach my reason_code field.
But the functionality I want is that when I tab into the reason_code field, the WHEN-VALIDATE-ITEM trigger should fire even when this field is NULL.
IF :REASON_CODE IS NULL THEN
MESSAGE ("Please enter a reason code!");
end if;
The trigger doesn't fire when I don't enter a reason_code field and I can tab past this field and not get the ("Please enter a reason code!") error message.
On researching the problem, I saw that this field has to be of status "CHANGED" in order for the trigger to fire.
I have a form (StaffDetail) with three different blcoks. One of them is an Application Assignment block which consists of nothing but Assignment Type, Staff (Name), Last Updated By and Last Updated Date.. The Assignment Type and Staff has LOVs assigned to them individually.. Assignment type lets me pick all different types except for Project Manager. As soon as I select this option, i get the following error :
FRM-40735: WHEN-VALIDATE-ITEM trigger raised unhandled exception...
This does not even let me select any other Assignment type, then i have to go close all sessions and come back into the same screen.
Also, this form was first created and tested on the development environment and later moved to QA environment. All selections work in the development environment.. I checked for the roles in QA for individual Users..
I have Written this code in WHEN-VALIDATE-ITEM-TRIGGER on PO_DATE field
if not( :PO_HEADER.PO_DATE IS NOT NULL ) then
:po_header.po_date := trunc(sysdate);
end if;
if trunc(:PO_HEADER.PO_DATE)>trunc(sysdate) then
displayerror.errmsg('PO date cannot be future date!');
[code]...
when i am navigating through po_DATE field in the form its showing the error that
WHEN-VALIDATE-ITEM-TRIGGER raised unhandled exception.
frm-40375: when-validate-item trigger raised unhandled exception ORA-01403.
i put a new column which is the birth date and i made a new procedure with regards to the age level for the Plan. and when i run the program, theres an error..
i want to get the x-pos of item at the radio-change trigger but it return the error
declare
x_pos number;
lnum_x_pos number;
lnum_width number;
begin
if :radio_group = 'E' then
lnum_x_pos := Get_item_property('Remarks',x_pos);
Message('Position of x...'||lnum_x_pos);
lnum_width := get_item_property('Remarks',width);
Message('width of remarks field..'||lnum_width);
else
set_item_property('remarks',enabled,property_true);
set_item_property('remarks',visible,property_true);
end if;
end;
error is:::
argument to built in get_item_property/field char can not be null?
I have a form that i need to be able to detect when a field is has been updated. I will then do the appropriate update to the table.
I can't use the standard oracle forms data block for handling updates because my data selection is controlled by me via the when-new-block-instance.
The problem is when i select a value from an LOV and place the new data in the field. I don't know how to detect if the field is updated or not. I am currently using a loop to cycle through all the records, I have an if/else in the key_commit trigger that basically determines if there is an update or insert to be done to the table. The problem is that it seems if i select a value for one record that record goes through the INSERT procedure, (which is correct), but all the other records(not touched/changed) are going through the UPDATE procedure.
Is there a way in forms to check the status of a field? I know of system.form_status but that does not work for me.
How can I change the color of a text item in Oracle forms using timer for every 500 milliseconds? The text must appear to be blinking.
View 3 Replies View RelatedCan i change the property of item dynamically in pl sql coding. Actually i want that whenever the user press some button then that field(textbox) become non-database item of the database block. put some value in it and press another button to restore its property like before.
View 10 Replies View RelatedI create a master detail form. I created also a post quey trigger, inside I wrote the code below.A cursor looks to another table and returns to the form some values i need!
declare
cursor C1 is
select apofaa, startdate, enddate, transport
from trapofdet
where trapofdet.apofcode = :trapof.apofcode;
[code]....
How to solve the
a. frm-40737, illegal restricted procedure go block in post-query trigger
b. It seems tha returns all the records but it appears only the last one.
I have been testing out a form using 10.1.2.0.2 on a v10.2.0.1 db and in my local env. the form works correctly i.e. if I make a change and 'post' it and then exit and press NO (when asked to save changes) then it correctly leaves the value in the database as it originally was.
The process works by the user pressing a button in form A (read only form) and this opens form B (using open_mode,session,activate) and the user makes their change(s) in form B (a 'post' command is issued in a When New Rec Inst trigger on a db block when the user navigates to a new record within the same block if it is determined that the block status <> 'QUERY') before returning to form A and pressing 'NO' when prompted to save changes.
However, if I run the same process in the TEST env. using the same executable against the same database then it actually updates the database value.
I have tested this by adding a debug message at the end of form B to retrieve the db value back AFTER having issued a clear_form(no_commit) just for the sake of the test and it still returns me the 'new' i.e. amended value - which is obviously incorrect. From what I can see it would appear that the commit occurs straight after the 'post' has been issued and well before the user even exits the form.
Is this a known bug with the 'post' built-in or could it be that a parameter is set to act in this way (i.e. is there an 'autocommit' setting that is 'ON') within the application server?
i m using oracle 10g forms. in one form i m using post keyword when i use this function then records saved in temporary database but i want to remove one record from this form but it is allrady saved through post.
View 1 Replies View RelatedWe just migrated our technology platform on one of the six servers yesterday on production d/b as follows :
OAS Server - Linux Patch Applied (2.6.18-53.el5 #1 SMP Wed Oct 10 16:34:19 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux)
D/B Server - From Oracle 10.2.0.2.0 to Oracle 10.2.0.4.0
Batch Server - From OpenVMS to Red Hat Linux
Post Migration, we are facing some issues with Oracle Forms 10g, Text Items which contains one or more than one multibyte characters, is displaying only # character in the entire text box instead of what is stored in the database. In other words, information in the database is stored correctly. Before Migration everything was working perfectly fine.
One other thing which I would like to tell here is that we compile forms using the following environment settings:
NLS_LANG_SEMANTICS=CHAR
NLS_LANG=AMERICAN_AMERICA.UTF8
I have a multi record block based on a view. All records in the view are displayed in the block by use of Post-Query trigger when entering the form.
The block has 5 items as follows:
1) RECORD_STATUS = a non-base table column which is a checkbox.
2) ITEM_TYPE = a text-item which has an LOV attached.
3) ITEM_TEXT = a text-item which is free format text.
4) LAST_UPDATE_DATE a date column
5) STATUS = a text item either 'Open' or 'Closed'
The LOV is based on a table of Item Types with values say, 'Type1', upto 'Type9'.
I have a Wnen-New-Record-Instance trigger which 'Posts' changes to the database. This has been included as i want to limit the values of the ITEM_TYPE column to values which have not been previously used.
Consider this scenario...
The block has 3 records.
record 1 has 'Closed' status so no updates are allowed.
record 2 has 'Open' status so updating of Item_Text is allowed.
record 3 has 'Open' status so updating of Item_Text is allowed.
I check the RECORD_STATUS checkbox on record2.
(This sets the RECORD_STATUS checkbox to a checked value and changes the STATUS column to 'Closed' by When-Checkbox-Changed trigger.) At this point the record has not been saved so if you uncheck the checkbox , then the STATUS column will go back to 'Open'. However at this point i will leave it as Checked (Closed).
I then insert a new record, only values Item4 to Item 9 are correctly shown in the LOV. I select Item4.
I then go back to the previous record and uncheck the Checkbox to say that i wish to leave it 'Open' after all (in effect no changes have occurred), then the STATUS column correctly reverts back to 'Open' by my WCC trigger. If i then SAVE the changes, the new record has been inserted on the database correctly, however the LAST_UPDATED_DATE from the record which was checked and then unchecked has also been updated incorrectly even though no net changes have actually occurred.
(because i am using WNRI trigger to limit the List of Values on the LOV column, this has incorrectly set the previous records LAST_UPDATED_DATE column to be Sysdate.)
How can i stop this from happening?
I have a form which will call another and do some transactions and come back to original form and do other processes. save if successful. or roll back with error message.i m doing POST when i exit from the called form. and continue process in calling form. if any error, i m raising an error message with rollback.
But sometimes, it is getting committed with that error trn. especially in new database, first time try the scenario, it any error comes then getting commited.I m not able to find where the commit is happening? if any other sessions commit will affect this trn?
I have to change the visibility of text item when user click on check box.
If check box checked, item should be displayed only. On unchecked, hide.
I am facing a post trigger problem.No error while compiling.
DECLARE
mYPACCT VARCHAR2(10);
mTRNNO NUMBER; mVNO NUMBER; mSR NUMBER; mNARRATION VARCHAR2(200); mCHCODE VARCHAR2(10); mPARTY VARCHAR2(200);
mBRAND VARCHAR2(200); mYARN VARCHAR2(200);
BEGIN
BEGIN
SELECT YPACCT INTO mYPACCT FROM CONFIG;
EXCEPTION WHEN NO_DATA_FOUND THEN NULL;
END;
[code].....