Validation item in a multi-record
Hi!
I have a multi-record block and I want to avoid duplicated items from the user on it (these record aren´t saved yet, I want to validate them before commit).
Anyone knows how I can validate them ? I made a procedure but it only works in trigger Key-Next-Item from the block.
Thanks
Veronica
Re: duplicate records in a multi record block
Similar Messages
-
Updating a value of a text item in a multi record block based on a change
Hi,
I need to change the value of a text item in a multi record block based on a change to another item's value in the same block.
Suppose there's a text item in a multi record block called dt1 which is of type date, which is changed in a particular record. I want to change the values of the another item in the same multi record block, for all other records by running a loop through all the records in multi record block. I dont want to do it on the press of a button, it should do automatically on change. Help me resolve this issue.Hi,
I need to change the value of a text item in a multi record block based on a change to another item's value in the same block.
Suppose there's a text item in a multi record block called dt1 which is of type date, which is changed in a particular record. I want to change the values of the another item in the same multi record block, for all other records by running a loop through all the records in multi record block. I dont want to do it on the press of a button, it should do automatically on change. Help me resolve this issue. -
About populating a non-database item in a multi-records block
Hi, all
I have a problem about populating a non-database item in a
multi-records block. This block is set to database block with a
controlled item which needs to be populated after query. so I
create a post-query trigger, but my problem is when the records
listed in this block are less than 10 ( the record number is set
to 10), the trigger fires no problem. but when the retrieved
records are greater than 10, the error message is 'post query
trigger raised unhandled exception ora 01403'. anyone can help me
fix this problem?
Thanks in advance
DianaDiana,
When you have an unbound item in a block and want to fetch
some data into it you need to write a post-query trigger.What
you have done is right.But it seems that u are getting a No data
found error.I am sure about how u r populating data into that
field.If u have written a select statement to fetch the data in
post-query trigger, kindly handle an exception and find out the
problem.Having a look at ur code(pos-query) would be much more
helpful for giving a better solution.Try this a let me know.
Thanks
Vinod. -
Editing record items in a multi-record block - 1 record at a time.
Hello,
I have the following scenario: Currently in my multi-record block, to edit an item of a record, the user has to double click on the record to enable the 'save changes' button. However, I want to turn the navigation to all other records turned off. The only way the user should be able to edit other records is save changes first, then again double click on the desired record to re-enable the 'save changes' button (at this time navigation to all other records should be turned off). ie., the user should be able to edit 1 record at a time (At any given time, I won't be having many records in the block which the user may have to modify).
How can this be achieved?
Thanks,
ChiruThat is pretty odd requirement, but this might work:
When the user double-clicks the record, enable the Save button, and set a value in any column of the record to its current value. This will cause Forms to set the record status to CHANGED, and will not permit navigation away from the record until the When-validate-record trigger runs successfully.
In the Save button, start a non-repeating timer to run maybe 20 milliseconds, then issue a Validate(Record_Scope); command. Check form_success then commit_form.
In the when-validate-record trigger: Do any record validation that may be necessary, and Raise Form_Trigger_Failure if anything is wrong. Then check for the existence of your Save button's timer. If it does NOT exist, issue a message like: "You must Save the changes first" and Raise Form_Trigger_Failure; If the timer exists, do not raise the error. -
Clearing item that has multi records
I have text item which consist of 10 records.
When a user preses button, I have to clear the item.
Since it has more than one records, I couldnt manage to do it.
I tried two methods but both didnt work.
1-)
clear_block('BLOCKNAME') --> returns ORA-06502
2-)
:item_name:=null; --->doesnt workSee other triggers attached to this block. One of them does raise the error. Be also sure that when you press your button, the focus is not send to the block that contains this button. If yes, set the button mouse and keyboard navigation property to NO.
Francois -
How to do it in multi-record block
Hi all,
i have 1 text items in a multi-record block number of record displayed 10
and i have values like 100 , 50, 30 in first 3 records and in 5th record i want to put some value like
20 then i want to calculate all values like 100 + 50 + 30 +20 = 200 and i want to put the total value in a single record block.
but my problem is i cannot able to calculate all the value because for the totale value i have to
write a for loop to loop through the record
but go_block() is not working in post_change .
if any solution is there plz suggest.......Hi zeeshan
my problem is i cannot able to calculate all the value because for the total value
put the total value in a single record block.
First pls the following...
Guidelines for Working with Calculated Items Calculated items_
1- They are display-only control items.
2-Calculated items cannot be database items.
3.While you can set a calculated item's Enabled, Mouse Navigate, and Keyboard Navigable properties to Yes,
you cannot set the Insert Allowed or Update Allowed properties to Yes
Second Keyword: TOTAL is a reserved oracle key word... pls read the Details...
go_block() is not working in post_change .well u can use timers but no need for it u can reference block item but first u have to accumulate the values per record in WHEN-VALIDATE-ITEM TRIGGER in the last calculated item which is inserted by the user and assign it to the display item in ur current multi-record block :*block_name.total_item*.. as follow...
:block_name.total_item := :item1 + .... ; Then u create a second display item > no of records property = 1 , named e.g. final_summarized_totals
In order to summarize this total values accumulated in the multi-record display item named e.g. block_name.total_item
Finally using PRE-INSERT , PRE-UPDATE,PRE-DELETE Triggers to assign the value calculated into the display item * block_name.total_item* into the db_item into the previously mentioned Trigger Block-Level Off-course.
:block_name.total_db_tem := :i:block_name.final_summarized_totals ; Hope this helps...
Regards,
Amatu Allah -
Disabling radio buttons in multi record block
Need to be able to disable/enable one or more radio buttons in a group dynamically in multiple record block. Tried setting enabled properties but it sets for all records in the block. At the very least, I need to reset an item using radio to previous value if setting is invalid but when-radio-changed has already set value. Thank you.
Your one row record has 5 items, then I assume empno, ename, ssn, phone, deptno 5 items on your multi-record block.
you entered first row record as,
empno, ename, ssn, phone, deptno
100 John Smith 123-45-9999 234-333-9999 2
101 Al Brown 222-34-1111 123-456-7890 2(duplicated)
You want your code to duplicate the second deptno record as 2 instead of typing in, right?
If so, then you add KEY-NEXT-ITEM trigger on item :phone, inside put,
go_item('deptno');
duplicate_item;
It will copy the first deptno record 2 for the second record as showed above. -
How to get the original record Number in Multi-Record Block
Hello Everyone,
I know how to find the duplicate item in the multi-Record block,
For Ex:
Line_Num Item_Name Quantity
1 AA 10
2 BB 20
3 AA Here 3rd record Item_name is duplicated, I can able to check and display the message that 'Item is duplicated' ,I found from [sheikyerbouti.developpez.com/duplicates/duplicates.htm] .
but I want to show along with original line number i.e 1 when the item_name is entered .
Here I want to check the original Line_Num and want to display the message
'Item is duplicated,Update quantity in Original Line 1'
Can anyone help me to get this?
Thank You.
Regards,
Guru.Hi Francois,
Actually I want to check and show the message when the item_name is entered i.e WHEN-VALIDATE-ITEM TRIGGER.
I put the following code in WHEN-VALIDATE-ITEM TRIGGER
Declare
curnum number;
dupnum number;
cur_item varchar2(100);
v_alert_no number;
p_linerec varchar2(100);
Begin
curnum := TO_NUMBER(:System.Trigger_Record);
cur_item := :Lines.Item_number;
First_Record;
p_linerec := :Lines.Item_number;
LOOP
If p_linerec = cur_item then
dupnum := :Lines.Line_num;
set_alert_property('ALERT_STOP',ALERT_MESSAGE_TEXT,
'Duplicate Item Found,Update QTY in Original line number '||dupnum);
V_ALERT_NO := show_alert('ALERT_STOP');
:LINES.ITEM_NUMBER := NULL;
:LINES.ITEM_DESCRIPTION:= NULL;
:LINES.ITEM_REVISION:= NULL;
:LINES.ITEM_CATEGORY:= NULL;
elsIF (:System.Last_Record = 'TRUE') THEN
Go_Record(curnum);
EXIT;
ELSE
Next_Record;
END IF;
END LOOP;
End; But I am getting the following error,
FRM-40737:Illegal Restricted Procedure
FIRST_RECORD in WHEN-VALIDATE-TRIGGERand then
its showing for first line itself.
Duplicate Item found.Update QTY in Original line number 1so I put the condition
If :Lines.Line_num > 1 then --Only to check when the block having more than one record.but now it checking from second record and displaying,
Duplicate Item found.Update QTY in Original line number 2 --(instead of Update QTY in Original line number 1)Can you tell me how can I change the above code for my requirement?
Thank you.
Edited by: Gurujothi on 27 Mar, 2013 5:20 PM -
How to do validation on multi record block at run time...
Dear Friends,
I have to do validation at run time on multi record block.
If user tries to enter and save two or more records in same multi record block with same data at run time, it should not allow it and display a message like, " error : Records are having same(duplicate) values. "
I already did validation with the data coming from database table using cursor. But confused about how to do at run time(on one screen only) ??
Please, give details about how to check duplicate records on form block before saving it to the table ????
Regarding details would be greatly helpful.
thanks,Hi...Pankaj
thanx for your reply..
I already did validation for the data coming from table....
but I need to do it on form only...at run time...
exa...
In one multi record block
record no : column 1 : column 2 : column 3
1 abc 123 hi
2 abc 123 hi
so it should check on the form itself, here I m not getting data from table...I am just
navigating from first record to second using down arrow.
so, may be 2 possibilities.
1) when user navigates using tab to third record, it should say like two duplicate records.(may be like when validate record or item)
2) or when user tries to save, it should say two duplicate records.
so, everyting should take place on form screen only.....
waiting for your reply,
thanx... -
Populate multi record display item
Hellou gurus!
I have forms 10g and i need to populate display item in enter query mode. My problem is that I have table T1 with some static values. Table T2 is through ID connected (reference) to table T1 1:1 cardinality and T2 table also have reference to T3 table.
I have block B2 based on table T2 and in this block I have multirecord item for inserting and updating new values for T2, but in this block ii also have no DB, multi record display item (because i don't want to allow editting in T1 table records) for diplaying static values for table T1. I want to display all static values from T1 next to the editable values in T2 (T2 multi record field is not insert yet). I tried for loop, select into but it not work. T1 values need to be selected before I started to inserting values into T2 items, but off course they need to be referenced It is hard to explain but i belive you understand.
Can you help me how I can populate multi record item??You have to write the code again for your second list item....
group_id RecordGroup;
list_id Item := Find_Item('button.tyear');
list_id1 Item := Find_Item('button.tperiod');
status NUMBER;
rg_name varchar2(40) := 'recgroup';
BEGIN
----------------------------- LIST
clear_list(list_id);
group_id := Find_Group(rg_name);
IF NOT id_null(group_id) then
Delete_Group(group_id);
End if;
group_id := Create_Group_From_Query(rg_name,
'select vm_year, vm_year from fwqgl.vouchermaster
group by vm_year');
status := Populate_Group(rg_name);
Populate_List(list_id, group_id);
/* --------------------SECOND LIST ITEM...BUT REC. GRP NAME CAN BE SAME,better to use another name if you need to retrieve list and store qry..other wise the fol. code is enuf-----------------------*/
clear_list(list_id1);
group_id := Find_Group(rg_name);
IF NOT id_null(group_id) then
Delete_Group(group_id);
End if;
group_id := Create_Group_From_Query(rg_name,
'select vm_period, vm_period from fwqgl.vouchermaster
group by vm_period');
status := Populate_Group(rg_name);
Populate_List(list_id1, group_id);
END;Edited by: Dora on Dec 5, 2009 10:41 AM -
Dynamic update if multi-record list item.
I have a bunch of multi-record list items whose poplist I need to update with queried data at the WHEN-NEW-ITEM-INSTANCE triggers,
At NEW-FORM-INSATNCE trigger I queried and filled all the poplists with no problem. The problem occurs at the WHEN-NEW-ITEM-INSTANCE triggers.
I have a clear_list() before each add_list_element() from a runtime record group. The problem is that the poplists at the cursor record is updated correctly, when I click on the same list item at other records, the list repeats -- meaning (probably) it was not cleared before being populated. Is there a way to either (1) just populate the list item of the current record, or (2) clear all records of a list item before all records are populated.
I tried copy( NULL, current_ilist ) where current_ilist is the item name before add_list_element(), but I got errors because the list items are required fields. Besides, the item has queried data in it.
I'm thinking about changing the item property to optional, save the item value, set it to NULL, populate its poplist, restore it's original value and then change the item property back to "required'. I don't know if it would work but is there a more elegant way of doing it?
Any suggestion will be appreciated.Hello All,
Just in case nobody saw this, thought i might post it again.
would abybody have any pointers,
easo -
Image item in multi-record block - PLEASE SOMEONE HELP !
Hello everyone.
I have a multi-record block with an image item that is not in teh table, is populated in the post-query trigger with a read_image_item, from a gif file. This block is child of another block. The problem is that the first records of the block, the ones that fit on the screen, are not showing the image properly, the image appears grey, distorted. In reality, the image dont adjust to the size of the item, as it is especified in the properties. When i scroll down, the rest of records show the image perfect, but this ones still are distorted.
Forms is 6.0.8.22.1, over oracle 9i. Thank you all in advance.hello
just me what is datatype of ur image record ? -
Image item in multi-record block
Hello everyone.
I have a multi-record block with an image item that is not in teh table, is populated in the post-query trigger with a read_image_item, from a gif file. This block is child of another block. The problem is that the first records of the block, the ones that fit on the screen, are not showing the image properly, the image appears grey, distorted. When i scroll down, the rest of records show the image perfect, but this ones still are distorted.
Forms is 6.0.8.22.1, over oracle 9i. Thank you all in advance.hello
just me what is datatype of ur image record ? -
Get the first item value of previous record in a multi record block
Hai,
I have a multi record block with four items.I should get the first item value of the previous record so that I can increment its value in the current record.
Thanks.........If you want a distinct value in each row or to be able to retrieve the records in the same order they were written then you should use a sequence.
If you want to retrieve the records in the same order they were created in the block then you will need a diffferent solution to the one you outline here since a user could enter a new record between two others.
I posted this a while back in response to someone who was using a sort_key item and resetting it for each row when a new record was inserted:
If you make the sort_key bigger then you have much more room to insert new rows in between existing rows without having to reset all the sort_keys.
Eg. you have rows with sort_keys of 129282000000000000 and 129283000000000000 (you can have more zeros if you want) and you want to insert a row in between. if you're using oracle forms then the user would have to click on the first of these rows and then do 'insert'. in your insert process you would store the sort keys of the current record and the one below, create a blank record in between and set the sort_key of that record to the average of the other two. you will be able to insert many new rows in between the original 2 before running out of space in the sort_key field.
the method above is not sufficient, there are some other cases to consider:
1) when the user is on the last record of the block then you will just create a new record with sort_key set to a greater number than the row before. you can have the sort_key defined as number(38) and to safely allow you to enter 1000 rows each new row would normally be 10E33 greater than the previous one.
2) when the user is entering the first record then just set the sort_key to 10E33.
3) on the off-chance that you do insert a great number of records and cannot insert another in between then you would need to alert the user, process the records so that the sort_keys are evenly spaced and requery the block. this processing could be scheduled nightly to make this eventuality even less likely.
4) make sure the user cannot run the default 'clear_record' procedure. this would break my method as well as yours!
James. -
Duplicate item value in a Multi-Record Block
Is there a way to chek duplicate value entered in multi record block?
I have seen some solutions in this forum however nothing has worked for me till now. (using the formula, creating hidden items & creating group etc)
Thanks in advance,To see if there are any other records in the block with the same value, use Kevin Clark's famous function to trap duplicates. You can find Kevin's function write up here:
Re: checking for same rows in a tabular
From Kevin's post:
Create a field PK_COPY in a control block.
Create program unit function COMPARE to compare two input params returning 1 if they match else 0.
Create a field in the datablock PK_MATCH, calculation property formula, formula COMPARE(:DATA_PK, :PK_COPY)
Create a field in the control block NO_OF_MATCHES, calculation property summary, summary type SUM, summarised
item PK_MATCH.
Also, your control block requires the Single Record property set to yes, and the base table block requires the Query All Records property set to yes.
WHEN-VALIDATE-ITEM on DATA_PK
:CONTROL.PK_COPY := :DATA_PK;
if :NO_OF_MATCHES > 1 then
message('You have already used that one');
Raise form_trigger_failure;
end if;
Maybe you are looking for
-
I tried to delete the account once and it asked me about saving my info. But now its saying what I listed above and idk what's meant by documents. Like does that incude my apps, contacts?? So what to do?? I have no backups!!
-
Flash animation appearing as static image
I created a banner ad in Flash 8 and we have loaded it on our site. Some people can see it and it works great, others only see the first frame (it looks like a static image). How can I fix this?
-
I just rent a movie but I cant watch it on my apple tv
I use itunes 9.2.1.4
-
Does the email button word from a PDF generated report from 9ias?
Has anyone been able to get the email button from a PDF report generated from 9ias? I try to email the report as an attachment, and the file doesn't attach, and I dont receive anything. If I email a link, it just sends a link that directs you to the
-
2 Computers. Need to sync 4s to my desktop
My 32gig iPhone 4s was being synced to my laptop. That is now not an option anymore. my Desktop (Mac Pro) has yet to have this phone synced to it. When I plug it in, it tells me it will erase everything and replace with all of the apps and what-not m