Alternative for when validate
hi,
can anyone says an alternative for when validate
item because go_block is illegal there.need to execute same thing as in key next when the user
click with the mouse
Sumit, this is a forms question and a very vague one too. The user asks for transactional and navigational triggers in one line :-)
user627932 : You can post the query in Forms forum or provide more details here.
Tapash
Similar Messages
-
FRM-40735 when validate-item_trigger raised unhandled exception ORA 06502
Hi, after i migrated my form to 10g when I enter a new record into the form and want to save I get the following message:
Frm-40735 when validate-item_trigger raised unhandled exception ORA 06502
what could be the reason? It worked before in 6i but not in 10g please help I don't know what could be the problem?library is in form. I don't know how to use debugger... below is the code for WHEN-VALIDATE-ITEM trigger:
Thanks in advance for helping...
DECLARE
tmpcnt number;
tmpcnt_u number;
tmpcnt_b number;
v_login_id documents.login_id%type;
v_copy documents.copy%type;
alr_id alert;
alr_button number;
al_btn number;
BEGIN
IF (:dts_transactions.barcode IS NULL or :dts_transactions.barcode = ' ')
and (:dts_transactions.login_id IS NOT NULL or :dts_transactions.copy_nbr IS NOT NULL or :dts_transactions.recipient_person_name IS NOT NULL) THEN
alr_button := SHOW_ALERT('DELETE_ALERT');
IF alr_button = ALERT_BUTTON1 THEN
--go_item('dts_transactions.clear_line');
--execute_trigger('WHEN-BUTTON-PRESSED');
--:dts_transactions.login_id := null;
--:dts_transactions.copy_nbr := null;
--:dts_transactions.recipient_person_name := null;
--set_item_property(':dts_transaction.barcode', item_is_valid, PROPERTY_TRUE);
--set_item_property(':dts_transaction.recipient_person_name', item_is_valid, PROPERTY_TRUE);
--set_item_property(':dts_transaction.route_to_dcc', item_is_valid, PROPERTY_TRUE);
fire_timer('delete_line');
ELSIF alr_button = ALERT_BUTTON2 THEN
RAISE FORM_TRIGGER_FAILURE;
ELSIF alr_button = ALERT_BUTTON3 THEN
RAISE FORM_TRIGGER_FAILURE;
END IF;
return;
END IF;
IF :dts_transactions.barcode IS not NULL and :dts_transactions.barcode <> ' ' THEN
SELECT count(DOCUMENT_BAR_CODE)
INTO tmpcnt
FROM documents
WHERE document_bar_code = :dts_transactions.barcode;
IF tmpcnt = 0 THEN
SELECT count(UNIQUE_ID)
INTO tmpcnt_u
FROM dts_transactions
WHERE unique_id = :dts_transactions.barcode;
IF tmpcnt_u > 0 THEN
:dts_transactions.chk_barcode_range := 'Y';
set_item_property('dts_transactions.chk_barcode_range', item_is_valid , property_true);
ELSIF tmpcnt_u = 0 THEN
alr_id := find_alert('edit_clear');
set_alert_property(alr_id, alert_message_text,'Validation Trigger - Please enter valid barcode.
You must Edit or Clear value before leaving field.');
alr_button := Show_Alert( alr_id );
IF alr_button = ALERT_BUTTON2 THEN
:dts_transactions.barcode := Null;
raise form_trigger_failure;
ELSE
raise form_trigger_failure;
END IF;
END IF;
ELSE /*Check duplicated barcodes*/
SELECT count(bims_bar_code_id)
INTO tmpcnt_b
FROM documents
WHERE bims_bar_code_id = :dts_transactions.barcode
AND document_bar_code <> :dts_transactions.barcode;
IF tmpcnt_b > 0 THEN
show_msg('Duplicate barcodes found in database. You must select one of the barcode from the LOV that will pop up after this message to continue or talk to DTS support to resolve this issue.', 'STOP');
IF SHOW_LOV('lov_bims_barcode_from') THEN
null;
ELSE
raise form_trigger_failure;
END IF;
END IF;
END IF;
:parameter.p_unsaved_records := 'Y';
:dts_transactions.record_saved := 'N';
AUTO_FILL_ASSIGNED_INFO(:dts_transactions.barcode);
Fire_timer('next_row');
-- Fill in LOGIN_ID and COPY fields.
BEGIN
SELECT login_id, copy
INTO :dts_transactions.login_id, :dts_transactions.copy_nbr
FROM documents
WHERE document_bar_code = :dts_transactions.barcode
AND rownum = 1;
EXCEPTION
WHEN no_data_found THEN
:dts_transactions.login_id := NULL;
:dts_transactions.copy_nbr := NULL;
WHEN OTHERS THEN
NULL;
--- message(sqlerrm);
---raise form_trigger_failure;
--- Raise;
END; -
Alternatives for library management?
Clearly, Apple has decided that from now on iTunes is a music player only, designed it for use primarily on small screens, and taken steps to remove most of it's functionality to manage large libraries. Many of the removed features were those which helped maintain (duplicate finder) and organize (multiple windows, lack of detailed view of fields except in song view), and navigate (any time you change a list or view, you go to the top of the page rather than returning to where you were). What's left is a program that is bright and pretty on a small screen and makes it easy to buy and play new music. Clearly, they are positioning the product as a good-looking alternative for when they introduce a streaming service.
While the program has never been ideal for managing large libraries it has been "good enough" to preclude the development of many alternatives for the relatively small percentage of users with more than 10,000 songs or those with extremely varied or classical music tastes, especially since it was closely linked to the store and could easily sync with Apple products.
Although my immediate reaction was, like so many others, to revert to 10.7, the Apple ecosystem is such that eventually there will be no option but to give in to a later version. Already, many of the Mac apps will not work on my OS X 10.6.8 , 2G of RAM mini, and to move to OS X 10.8 will, according to all accounts, require a new machine with more memory.
So far, my search for something to use as a "back end" data manager for iTunes seems to have turned up WinAmp for Mac, Songbird, and Doubletwist. Can anyone provide insight on any or all of these programs, specifically on issues such as field customization, sorting and playlist creation, and whether or not they can intergrate well enough with iTunes that I can still use it to sync my iPod and download podcasts and iTunes U materials while doing my maintenance and organizing on the alternate program? Or are there other programs out there that I may have missed?
After having spent far too much of the last week restoring as much functionality as I can to iTunes 11, I'm hoping to finally get back to the rest of my life and look forward to useful responses to help put an end to this unwelcome distraction forced on me by Apple.Thanks for the response.
The reason I'm concerned about rolling back the version is that I have reached the limits of my 1T external drive and need more capacity. My original thought was to just get a new mini with a bigger external drive. I've begun having "hiccups" with the existing media drive (it's read a lot of CD's over the years). Now, neither the mini nor the Mac come with drives, and even the diehard Apple people who buy their usb external drive through Apple give it only a 3 star rating. So, whatever way I go, changes and $$ are at hand. My understanding is, if I get a new machine with Mountain Lion (or Constipated Goat, or whatever the latest aninal is -- OS X 10.8) iTUnes 11 is integrated and basically can't be removed. Also, I've synced my iPod classic (which they seem to be ready to drop any day -- no updated models in a couple of product cycles) with iTunes 11 and from what I've been reading, even though there are methods for rolling back the program, it is much harder to get the devices to roll back, and that seems to be the point where people are losing access to their material.
The reason itunes was acceptable before and is not now is that Apple has essentially decided for us that we don't need any of the, for lack of a better phrase, database managemtn functions, that those of us with large libraries have come to depend on. My wife already says I spend way too much time with my 65,000 song and lecture library, and the new iTunes adds three to four additional steps to almost everything I want to do.
To browse the store, I have to leave the playlist I'm playing. If I spot a song or an album that looks interesting, to check if I've already got some or all of it, I need to leave the store, get to the songs list under the main library, do my search, go back to the store and then, if I make a pruchase, go back to the music library and then click back to the playlist I've been listening to (unless I finished with what I started listening and want to change where I am, in which case, I have to go through the process of changing windows that many more times. And, of course, everytime I do change a window, I have to scroll back to where I was.
When loading in a new CD, aside from all the back and forth in screens, at the end (now that I've reinstated the sidebar and figured out how to show downloads) it defaults to album view which, if you've got songs and spoken audio material from 2500 sources, is to all intents and purposes, useless. So you go to yet another window (songs, which is the only window which allows you to search on more than one field) to see if you've ended up with any duplicates, which you have to do by searching because they've removed that feature as well.
Get the idea? Not only are uselful and functional features removed, but even many of those that remain have to be discovered by trial and error. I come from the era of top 40 radio -- the same few songs over and over, and next week the new batch of songs is out and the old ones discarded, gone to who-cares where. That, essentially, is what they've done to iTunes by removing all the features that made managing your media easier in favor of only those features that make buying and playing the newest thing as easy as possible.
BTW, I would have no problem moving to Android if I can find the software I need. I've been using PC's since the DOS command line days, and basically did not move into Apple's sphere until I got my 160 Gig iPod. If I can find another device as small and with as big a drive, and a system to manage my music with, fine by me. Apple clearly no longer wants me or all the music I've bought from them any longer. -
Need code for this Small validation on when-validate-item
Hi All,
I have a text item(date datatype) in forms 4.5 I need to do a small validation want to write on when-validate-item. When I enter a date in that text item (Ex 10-JUN-2005) it has to check
1) It Cannot be "blank"
2) It cannot be "Not older than today"
can you please put me code for this small validation. I am new to Forms.
Thanks in Advance,
ReddyI always put code in the when-validate-RECORD trigger to ensure fields are entered, rather than setting the property. That way, the user can enter other fields within the record, and then gets a message that the field is required only when leaving the record.
...of course, if the date item is the only field in the block, then the when-validate triggers will not run unless the user at least types a space in the date. In that case, you need to check in the key-commit trigger. -
When validate item for a particular item number
hi all
i am using forms 6i
In a master detail form
the block XXNP_JL_OO1 has 2 fields like
Manual--checkbox item
Field--text item (populated from Lov RECORD group names Field)
the query for the record group of FIELD is
select flex_value from fnd_flex_values where flex_value_set_id=1009757
flex value
abdaly
wafra
fintas
now if we do the query select flex_value, hierarchy_level from fnd_flex_values where flex_value_set_id=1009757
flex_value hierarchy_level
abdaly 315
wafra 200
fintas 100
In the detail part
there is a tabbed canvas one field is ACT_QTY
ITEM NUMBER ACTQTY
client requirement is whenever the item number is 1010103002 only and the manual checkbox item is ticked the act_qty should return values corresponding to the data in Field
manual and field belongs to datablock XXNP_JL_001
ITEM_NUMBER AND ACT_QTY belongs to data block xxnp_jl_est_002
kindly guide how to proceed with this
should i do a when validate item trigger in act_qty as follow
BEGIN
IF :XXNP_JL_001.Manual IS NOT NULL and XXNP_JL_EST_002.ITEM_NUMBER='1010103002' THEN
SELECT hierarchy_level
INTO :XXNP_JL_EST_002.ACT_QTY
FROM fnd_flex_values
WHERE flex_value_set_id = 1009757
AND FLEX_VALUE=:XXNP_JL_001.FIELD ;
ELSE
:XXNP_JL_EST_002.ACT_QTY:=NULL;
END IF;
ENDthanking in advance
Edited by: makdutakdu on May 8, 2012 11:15 AM
Edited by: makdutakdu on May 8, 2012 11:16 AM
Edited by: makdutakdu on May 8, 2012 11:23 AM
Edited by: makdutakdu on May 9, 2012 9:00 AMhi
this is the code i wrote
when job is manual(check box ticked) and item number=''1010103002' the act_qty as per client requirement as follows
BEGIN
IF :XXNP_JL_001.Manual IS NOT NULL and XXNP_JL_EST_002.ITEM_NUMBER='1010103002' THEN
SELECT hierarchy_level
INTO :XXNP_JL_EST_002.ACT_QTY
FROM fnd_flex_values
WHERE flex_value_set_id = 1009757
AND FLEX_VALUE=:XXNP_JL_001.FIELD ;
ELSE
:XXNP_JL_EST_002.ACT_QTY:=NULL;
END IF;
END;the original code as to how act_qty is populated now
ORIGINAL CODE OF WHEN VALIDATE ITEM FOR ACT_QTY
Declare
V_count number(10) ;
Begin
SELECT count(1) into V_count FROM MTL_SYSTEM_ITEMS
WHERE SEGMENT1 = :XXNP_JL_EST_002.item_number
AND ATTRIBUTE3 = 'Yes' ;
If V_count >=1 then
:XXNP_JL_EST_002.CALC_CEMENT_SK := :XXNP_JL_EST_002.act_QTY ;
:XXNP_JL_EST_002.CALC_AMOUNT := :XXNP_JL_EST_002.act_QTY * 94 ;
Else
:XXNP_JL_EST_002.CALC_AMOUNT := :XXNP_JL_EST_002.act_QTY ;
end if ;
end ;
-----------------------------------------------------------i want to include the above original code of act_qty in my code in the else clause
this is wht i tried
Declare
V_count number(10) ;
Begin
IF :XXNP_JL_001.Manual IS NOT NULL and :XXNP_JL_EST_002.ITEM_NUMBER='1010103002' THEN
SELECT hierarchy_level
INTO :XXNP_JL_EST_002.ACT_QTY
FROM fnd_flex_values
WHERE flex_value_set_id = 1009757
AND FLEX_VALUE=:XXNP_JL_001.FIELD ;
ELSE
----------original code of act_qty included below in the else clause-----------------------------
SELECT count(1) into V_count FROM MTL_SYSTEM_ITEMS
WHERE SEGMENT1 = :XXNP_JL_EST_002.item_number
AND ATTRIBUTE3 = 'Yes' ;
If V_count >=1 then
:XXNP_JL_EST_002.CALC_CEMENT_SK := :XXNP_JL_EST_002.act_QTY ;
:XXNP_JL_EST_002.CALC_AMOUNT := :XXNP_JL_EST_002.act_QTY * 94 ;
Else
:XXNP_JL_EST_002.CALC_AMOUNT := :XXNP_JL_EST_002.act_QTY ;
end if ;
END IF;
end ;
END;i am getting error fnd_flex_values should be declared
kindly guide me
thanking in advance -
Workarounds for clear_form in when-validate-item trigger
Hi,
I'm using forms6i
I want to call clear_form in when-validate-item trigger.
Since they are restricted procedures, i cant do that.
So what are the workarounds available?
There are items which are in control block and also records of a datablock available in the form,
I want to clear everything(control block items and datablock items)
ThanksDivya wrote:
Hi,
I'm using forms6i
I want to call clear_form in when-validate-item trigger.
Since they are restricted procedures, i cant do that.
So what are the workarounds available?
There are items which are in control block and also records of a datablock available in the form,
I want to clear everything(control block items and datablock items)
ThanksYou want the clear the form when you fire when-validate-item trigger
inside the when-validate-item trigger after you commit
COMMIT_FORM;
if form_success then
GO_ITEM(-------);
clear_form(no_validate,full_rollback); EXECUTE_TRIGGER('WHEN-NEW-FORM-INSTANCE'); -
Equivalent command in OAF for when when validate record in forms
Hi,
what is the equivalent command in OAF to when when validate record in forms
kumarHi Kumar,
validateRow() of your XXVORowImpl is equivalent of When-Validate-Record of forms.
This method calls validateEntity() of your XXEOImpl
This method is generally invoked on form submits (POST Requests)
Regards,
Ravi -
How to use first_record or Next_record in WHEN-VALIDATE-ITEM.
Hi All,
I have a multi-record block where, in one of the fields I need to add this PL/SQL so that for there is no gaps in sequence for S_type and cer_dl fields.below is the sample of how the record should appear.
s_type cer_dl seq xyz
ASD Y 1 N
ASD Y 2 Y
ASD Y 3 N
The program is working perfectly when I use it Key-Next-item but I have to add this pl/sql in WHEN-VALIDATE-ITEM for validating the seq field but as the below program have FIRST_RECORD and NEXT_RECORD this will fail in WHEN-VALIDATE-ITEM.
My Query is that IS there any other way of replacing FIRST_RECORD and NEXT_RECORD
in the below program and put this in WHEN-VALIDATE-iTEM of seq field.
I know its pain to understand the below pl/sql and then answer my query.
PROCEDURE val_seq IS
--Validation to check that there is no gaps in sequence for S_TYPE and cer_dl fields
l_value_to_check varchar2(100);
l_seq_found number;
l_curr_sequence number;
l_new_value varchar2(100);
l_found boolean:=FALSE;
l_new_set boolean := FALSE; --s_type and cer_dl are different from previous set.
begin
if trim(:b1.s_type) is not null
or trim(:b1.cer_dl) is not null
then
-- Program continues here only if all the items are not null
-- Get information from record that needs to be validated
l_value_to_check := trim(:b1.s_type) || ':'|| trim(:b1.cer_dl) ;
l_curr_sequence := :sequence;
if :SYSTEM.CURSOR_RECORD = '1' then
if :sequence <> 1 then ----- to check sequence is entered as 1 in the first record
message('Error:Sequence should start with 1');
raise form_trigger_failure;
end if;
go_item('b1.XYZ');
else
FIRST_RECORD;
while :SYSTEM.LAST_RECORD <> 'TRUE'
loop
l_found := FALSE;
l_new_value := trim(:b1.S_type) || ':'|| trim(:cer_dl) ;
if l_new_value = l_value_to_check then -- If the S_type and cer_dl is same then get sequence
l_new_set:= FALSE;
l_seq_found := :seq;
if l_seq_found >= l_curr_sequence then
--If sequence is duplicated for S_type and cer_dl
go_item('b1.seq');
l_new_set := FALSE;
elsif l_seq_found < l_curr_sequence - 1 then
--If sequence entered is not in order for S_type and cer_dl .
go_item('b1.sequence');
l_found := FALSE;
elsif l_seq_found = l_curr_sequence - 1 then
-- if sequence is entered in order for S_type and cer_dl
l_found:= TRUE;
go_item('b1.xyz); --go to next item
end if;
else
l_new_set := TRUE;
end if;
NEXT_RECORD;
end loop;
if l_new_set then
go_item('b1.xyz'); -- go to next item
else
if not l_found then
warn_alert('Error:Sequence should be in order.');
go_item('b1.seq');
raise form_trigger_failure;
end if;
end if;
go_item('b1.xyz'); ---go to next item
end if;
end if;
end;Hi Gurus,
When I say enter-query and put 'IAS' in the s_type field and then do a execute query it brings all the records of 'IAS'.
Now as I want to update the records, and when I navigate across field(s_type,cer_dl,Seq,xyz) using tab and move the cursor down on second record(IAS N 2 N), what happens is when I navigate to sequence field the cursor jumps to LAST RECORD( IAS Y 3 N ) of LAST field XYZ. I am putting the sample record
s_type cer_dl seq xyz
IAS N 1 N
IAS N 2 N
IAS N 3 N
IAS N 4 N
IAS Y 1 N
IAS Y 2 N
IAS Y 3 N
The cursor moves to last record --IAS -Y -3-N when I tab across the second record. -
WHEN-VALIDATE-ITEM results at a block/form
Hello friends at www.oracle.com ,
as we know, WHEN-VALIDATE-ITEM is a trigger used for item validation. But if I use WHEN-VALIDATE-ITEM at a block, or even at a form (since Oracle Forms editor allows me to add a WHEN-VALIDATE-ITEM trigger at a block/form), what's the effect of it? How will WHEN-VALIDATE-ITEM behave in such situation?
Thanks, and best regards,
Franklin Gongalves Jr.From forms documentation (ever considered to read it?):
A trigger must be attached to a specific object in the form, either an item, a block, or the form itself. The object to which a trigger is attached defines the scope of the trigger, and so helps Form Builder decide which trigger to fire when the corresponding event occurs. Not all triggers are relevant to all objects. For example a When-Button-Pressed trigger would not be attached to a display item.
That means, a when-validate-item-trigger at block level fires for ALL items of the block,
except those ones who have an own when-validate-item-trigger at item level that has the
property "Execution hierarchy" set to "override". -
What is the alternative for DisplayMemberPath="Value" for Windows Store applications?
I think there is a bug with Windows Store Applications when it comes to using DisplayMemberPath="Value".
Here is my code
<ComboBox Height="40" VerticalAlignment="Stretch" SelectedValuePath="Key" DisplayMemberPath="Value" x:Name="comboBox1" FontSize="25"/>
var source = new Dictionary<string, double>();
source.Add("Item1", 0.4);
source.Add("Item2", 0.3);
source.Add("Item3", 0.1);
source.Add("Item4", 0.1);
var formateDSource = new Dictionary<string, string>();
foreach (var item in source)
formateDSource.Add(string.Format("[{0}, {1}]", item.Key, item.Value), item.Key);
comboBox1.ItemsSource = source;
If you use this code in WPF in works perfectly. However if you use this code in a Windows Store Application then the Combo Box is empty and an error is thrown. So is there an alternative way to do this in Windows Store Applications and have I unearthed a
bug? Because I have researched the Web for days and found no solution to this.*please do not comment unless you have tried my code as a Windows Store App not a WPF in Visual Studios. Can Someone post an example based on my code that works in Windows Store
Apps please because this is terrible.
ThanksIt looks like you got an answer on SO:
http://stackoverflow.com/questions/29817124/what-is-the-alternative-for-displaymemberpath-value-for-windows-store-applicat
This does look like a bug.
Matt Small - Microsoft Escalation Engineer - Forum Moderator
If my reply answers your question, please mark this post as answered.
NOTE: If I ask for code, please provide something that I can drop directly into a project and run (including XAML), or an actual application project. I'm trying to help a lot of people, so I don't have time to figure out weird snippets with undefined
objects and unknown namespaces. -
In Oracle Forms, to run all the When-Validate-Item of all the items at once
In Oracle Forms, is there any built-in / procedure / function which is used to run all the When-Validate-Item triggers of all the Items at once ?
I will put it in detail :
When a form is run and while entering the data..
when we enter some data and try to move out of that item then the When-Validate-Item trigger of that item is fired and the code in that trigger is executed..
Similarly there may be many items and many When-Validate-Item triggers correspondigly in a form..
My requirement is to run all the When-Validate-Item triggers of a form at once when we click a button which is created for that purpose only..
So is there any built-in / procedure / function (to run all the When-Validate-Item triggers of all the items), which can be called in the When-Button-Pressed trigger of that particular button..
If any one having any solution/suggestion, please let me know..
Thanks..
Edited by: user2938447 on Nov 8, 2010 9:03 PM
Edited by: user2938447 on Nov 8, 2010 9:12 PM
Edited by: user2938447 on Nov 8, 2010 10:19 PMHi Sandy,
Thanks for your suggestion..
The validations should be done at Item level (When-Validate-Item as usually) and seperately again when a button is pressed.
So to put all the code in another block-level When-Validate-Item trigger or in any When-Button-Pressed trigger will be duplication of the code.
Actually I have around 30 Fmbs to be modified and each Fmb is having around 20 Items and almost all Items are having When-Validate-Item trigger.
So,I wanted to know whether there is any Built-in / Procedure in Oracle Forms which runs all the When-Validate-Item triggers once it is called.
Thanks.. -
ORA-01403: no data found ---- FRM-40735: WHEN-VALIDATE-ITEM trigger raised
Scenario: I have one Master Detail form. after entering values in master Form, Navigate to Detail form, there I have to enter more that 5000 lines, it's very tough for user to enter huge amount of data.
Workaround: Give one button on Master form and written a cursor to populate all the 5000(relavent) number of record on detail block.
Issue: while populating detail data block after around 3000 record detail form start showing Error as
ORA-01403: no data found
FRM-40735: WHEN-VALIDATE-ITEM trigger raised unhandled exception ORA-06502.
Need suggestion
Code Written on find button as below
BEGIN
--XX customized
if (:ADJ_IP_CTRL.DUE_DT_FROM is null OR :ADJ_IP_CTRL.DUE_DT_TO is null) then
fnd_message.set_string('Due Date from and Due Date To Must be entered.');
fnd_message.Show;
raise form_trigger_failure;
end if;
BEGIN
go_block('ADJ_INV_PAY');
clear_block(no_validate);
for inv_rec in (
SELECT v.invoice_num,
v.invoice_id,
v.invoice_type,
v.pay_alone,
v.exclusive_payment_flag,
v.payment_num,
v.amount_remaining,
--TO_CHAR (v.amount_remaining,fnd_currency.get_format_mask(v.currency_code, 42)) char_amount_remaining,
TO_CHAR (v.amount_remaining,'FM999G999G999G999G999G999G999G999G990D00') char_amount_remaining,
ap_payment_schedules_pkg.get_discount_available (
v.invoice_id,
v.payment_num,
:pay_sum_folder.check_date,
:pay_sum_folder.currency_code)
discount_available,
/*TO_CHAR (ap_payment_schedules_pkg.get_discount_available (
v.invoice_id,
v.payment_num,
:pay_sum_folder.check_date,
:pay_sum_folder.currency_code),
fnd_currency.get_format_mask (v.currency_code, 42))*/
TO_CHAR (ap_payment_schedules_pkg.get_discount_available (
v.invoice_id,
v.payment_num,
:pay_sum_folder.check_date,
:pay_sum_folder.currency_code),'FM999G999G999G999G999G999G999G999G990D00')
char_discount_available,
ap_payment_schedules_pkg.get_discount_date (
v.invoice_id,
v.payment_num,
:pay_sum_folder.check_date)
disc_date,
v.always_take_disc_flag,
v.discount_amount_available,
v.discount_date,
v.second_discount_date,
v.second_disc_amt_available,
v.third_discount_date,
v.third_disc_amt_available,
v.gross_amount,
v.description,
v.accts_pay_code_combi_id,
v.due_date,
v.REMIT_TO_SUPPLIER_NAME,
v.REMIT_TO_SUPPLIER_ID,
v.REMIT_TO_SUPPLIER_SITE,
v.REMIT_TO_SUPPLIER_SITE_ID,
v.RELATIONSHIP_ID,
v.external_bank_account_id,
ieba.bank_account_num external_bank_account_num,
ieba.bank_account_name external_bank_account_name
FROM ap_invoices_ready_to_pay_v v, iby_ext_bank_accounts ieba
WHERE v.party_id = :pay_sum_folder.party_id /* and v.invoice_num like :adj_inv_pay.invoice_num||'%' */
AND ( (:pay_sum_folder.payment_type_flag =
'M')
OR (:pay_sum_folder.payment_type_flag =
'R'
AND v.invoice_type IN
('CREDIT',
'STANDARD',
'DEBIT',
'EXPENSE REPORT',
'MIXED',
'AWT'))
OR /*Bug5948003, Bug6069211*/
(:pay_sum_folder.payment_type_flag =
'Q'
/*AND (v.vendor_site_id =
:pay_sum_folder.vendor_site_id
OR v.invoice_type =
'PAYMENT REQUEST')*/
AND ( (:SYSTEM.LAST_RECORD =
'TRUE'
AND :SYSTEM.cursor_record =
'1')
OR (NVL (
v.exclusive_payment_flag,
'N') =
'N'
AND NVL (
:parameter.pay_alone,
'N') =
'N'))))
AND v.currency_code = :pay_sum_folder.currency_code
AND v.payment_method_code = :pay_sum_folder.payment_method_code
AND NVL (v.payment_function, 'PAYABLES_DISB') =
NVL (:pay_sum_folder.payment_function, 'PAYABLES_DISB')
AND v.set_of_books_id = :pay_sum_folder.set_of_books_id
AND NVL (v.future_dated_payment_ccid, -1) =
DECODE (:parameter.manual_fdp_site_acct_src_flag,
'Y', NVL (:parameter.site_fdp_account_ccid, -1),
NVL (v.future_dated_payment_ccid, -1))
AND v.external_bank_account_id = ieba.ext_bank_account_id(+)
AND v.due_date BETWEEN :ADJ_IP_CTRL.DUE_DT_FROM and :ADJ_IP_CTRL.DUE_DT_TO
ORDER BY v.due_date, UPPER (invoice_num)
--added 08apr2012 (end)
removed 08apr2012 ORDER BY UPPER (invoice_num)
) loop
:ADJ_INV_PAY.INVOICE_NUM := inv_rec.INVOICE_NUM;
:ADJ_INV_PAY.INVOICE_ID := inv_rec.INVOICE_ID;
:ADJ_INV_PAY.INVOICE_TYPE := inv_rec.INVOICE_TYPE;
:ADJ_INV_PAY.EXCLUSIVE_PAYMENT_FLAG := inv_rec.EXCLUSIVE_PAYMENT_FLAG;
:ADJ_INV_PAY.PAYMENT_NUM := inv_rec.PAYMENT_NUM;
:ADJ_INV_PAY.AMOUNT_REMAINING := inv_rec.AMOUNT_REMAINING;
:ADJ_INV_PAY.DISCOUNT_AVAILABLE:= inv_rec.DISCOUNT_AVAILABLE;
:ADJ_INV_PAY.DISC_DATE := inv_rec.DISC_DATE;
:ADJ_INV_PAY.ALWAYS_TAKE_DISC_FLAG := inv_rec.ALWAYS_TAKE_DISC_FLAG;
:ADJ_INV_PAY.DISCOUNT_AMOUNT_AVAILABLE := inv_rec.DISCOUNT_AMOUNT_AVAILABLE;
:ADJ_INV_PAY.SECOND_DISCOUNT_DATE := inv_rec.SECOND_DISCOUNT_DATE;
:ADJ_INV_PAY.SECOND_DISC_AMT_AVAILABLE:= inv_rec.SECOND_DISC_AMT_AVAILABLE;
:ADJ_INV_PAY.THIRD_DISCOUNT_DATE:= inv_rec.THIRD_DISCOUNT_DATE;
:ADJ_INV_PAY.THIRD_DISC_AMT_AVAILABLE := inv_rec.THIRD_DISC_AMT_AVAILABLE;
:ADJ_INV_PAY.GROSS_AMOUNT := inv_rec.GROSS_AMOUNT;
:ADJ_INV_PAY.ACCTS_PAY_CODE_COMBINATION_ID := inv_rec.ACCTS_PAY_CODE_COMBI_ID;
:ADJ_INV_PAY.DUE_DATE := inv_rec.DUE_DATE;
:ADJ_INV_PAY.REMIT_TO_SUPPLIER_NAME := inv_rec.REMIT_TO_SUPPLIER_NAME;
:ADJ_INV_PAY.REMIT_TO_SUPPLIER_ID := inv_rec.REMIT_TO_SUPPLIER_ID;
:ADJ_INV_PAY.REMIT_TO_SUPPLIER_SITE := inv_rec.REMIT_TO_SUPPLIER_SITE;
:ADJ_INV_PAY.REMIT_TO_SUPP_SITE_ID := inv_rec.REMIT_TO_SUPPLIER_SITE_ID;
:ADJ_INV_PAY.APS_EXTERNAL_BANK_ACCOUNT_ID := inv_rec.EXTERNAL_BANK_ACCOUNT_ID;
-- go_item ('ADJ_INV_PAY.INVOICE_NUM');
-- EXECUTE_TRIGGER('WHEN-VALIDATE-ITEM');
validate(record_scope);
if form_success then
next_record;
end if;
end loop;
first_record;
exception
when others then
raise form_trigger_failure;
END;
synchronize;
END;
Thanks
-KrishnHello Krishn,
Welcome to the Oracle Forums. Please take a few minutes to review the following:
<ul>
<li>Oracle Forums FAQ
<li>Before posting on this forum please read
<li>10 Commandments for the OTN Forums Member
<li>How to ask questions the smart way
</ul>
Following these simple guidelines will ensure you have a positive experience in any forum; not just this one!
user12266683 wrote:
Scenario: I have one Master Detail form. after entering values in master Form, Navigate to Detail form, there I have to enter more that 5000 lines, it's very tough for user to enter huge amount of data.
Workaround: Give one button on Master form and written a cursor to populate all the 5000(relavent) number of record on detail block.
Issue: while populating detail data block after around 3000 record detail form start showing Error as
ORA-01403: no data found
FRM-40735: WHEN-VALIDATE-ITEM trigger raised unhandled exception ORA-06502.
Need suggestion
ORA-01403: no data found clearly indicate that you have SQL Select statement in WHEN-VALIDATE-ITEM trigger and does not handled EXCEPTION
add exception in your select statement.
Hope it's clear..
Hamid
If someone's response is helpful or correct, please mark it accordingly.* -
When-validate-record trigger only if a non database item is changed
Hi,
I am trying a code in the when-vaidate-record trigger in the BLOCK level.
The trigger should fire only if a checkbox item value is ticked(Value ='Y) for the present record(i.e, if already existing other records have a value ticked (='Y), it doesnt matter and trigger shouldnt fire)
Please help me achieve this :
The code I have tried in when-vaidate-trigger, which does not work as what I want :
DECLARE
X NUMBER;
BEGIN
if
nvl ( :DEFLOC.to_be_defaulted, 'N' ) = 'Y' and :DEFLOC.COMMENTS is NULL
and :SYSTEM.RECORD_STATUS ='CHANGED'
then
set_alert_property(
'err_alert',
alert_message_text,
'You must enter a comment when defaulting localities.');
x := show_alert('err_alert');
RAISE FORM_TRIGGER_FAILURE;
end if;
END;The above code does not fire at all..
If I remove the part,
and :SYSTEM.RECORD_STATUS ='CHANGED'
it fires for "all records"(not just the currently changed records) where nvl ( :DEFLOC.to_be_defaulted, 'N' ) = 'Y' and :DEFLOC.COMMENTS is NULL
Please help !!
Note: :DEFLOC.to_be_defaulted is a non database item ; :DEFLOC.COMMENTS is a database itemHi kriti,
There is one more way,
In the when-checkbox-changed trigger,
if :your_chk_box = 'Y' then
set_Record_property(:system.cursor_Record, 'your_blk',status,changed_Status);
else
set_Record_property(:system.cursor_Record, 'your_blk',status,Query_Status);
end if;
Then it is easy for you to find out the changed records using get_Record_property((:system.cursor_Record, 'your_blk',status)
Hey let me ask you one Question, is that check_box item is database item ???
If so,
it is easier..the fol. code will work for that
if nvl ( :DEFLOC.to_be_defaulted, 'N' ) = 'Y' and :DEFLOC.COMMENTS is NULL
and nvl(get_item_property('DEFLOC.to_be_defaulted',database_value),'N') = 'N' then
set_alert_property(
'err_alert',
alert_message_text,
'You must enter a comment when defaulting localities.');
x := show_alert('err_alert');
RAISE FORM_TRIGGER_FAILURE;
end if;otherwise
If your are creating that temp. item, it should be in the same block as non-db item.
I will explain this... You are setting the status of to_be_defaulted check box of some queried record to Y based on some conditions, right?
These records anyways are not updateable. Now your requirement is to find out the newly checked check boxes.
So in the post query or the place where you set to_be_defaulted as 'Y, we will default the new item with value Y, so that in the when validate trigger, you
know which record needs to attacked, It is those records with nvl( new item ,'N') = 'N' and to_be_defaulted = 'Y'...
Regards
Dora... -
I want to capture the value entered in the enter query mode in a parameter. I'm using the when validate item for the sake, but the trigger is not firing, even though I have the fire in enter query mode property set to Yes.
Any fix for this or workaround..Do this in the pre-query trigger of the block, e.g.
begin
:control_block.save_item := :query_block.query_item;
end; -
Bpc for excel - validate submissions
Hello,
I went ahead and created some validation rules for several accounts. When i click on "Validate Submission" under the eSubmit menu, i get the following message:
Submission did not pass validation. You may need to resubmit data.
A Validation Report could not be run because there is no Validation Report Template.
Where can i make this validation report template such that it appears if the submission does not pass?
I've looked in the admin guide and online help..but all it says is that the administrator can make validation reports.
Any ideas would be greatly appreciated.
Happy Holidays!
Thank you,
NikunjHi Nikunj,
The validation report is defined in application parameter, LOCKREPORT. You may put right name to this parameter. For example, validate.xlt.
And you need to put this validation report to eExcel\Input Schedules\Wizard folder of application of WebFolders. For example in case of Finance application, C:\BPC\Data\WebFolders\ApSet\Finance\eExcel\Input Schedules\Wizard\validation.xlt
And you need to download client templates again. So, you should trigger download templates in eTools menu.
However, you may confused between validations in BPC. "Validate Submission" is triggering input validation against validation account. It is not related to account validation rules in business rule. It is using LOCKACCOUNT application parameter to validate balance in your input.
Regards,
Seongbae
Maybe you are looking for
-
My iPod Touch 4gen is telling me to restore to factory settings?
I just got my iPod Touch fixed because the screen was cracked. I was on it and it was just fine until it died. I plugged it into my wall charger and it told me to connect to iTunes on the computer, so I did, and iTunes told me that my iPod was in rec
-
i have been using adobe acrobat 11 pro, and now i want to download it to a new laptop and insert my serial number, but i can't download it, any help?
-
Can change the price in the PO line item
Hello experts, I have this Purchase order document where I can change the price in the PO line item(ME22N) where as in the other PO that I have created, changing the price in ME22N is not possible(shaded). They are all the same document type and plan
-
Hello there, we got a very strange Problem: Some Tasks are appearing in the UWL of our productive System, even their visualization is not configured. Not in a XML File, Wizzard nor in SWFVISU. (In the validation System they are configured.) Second st
-
I cannot access to open wifi netowrks from my ipod!
So the problem is that, whenever i go out or to school my ipod gets wifi connections. Some of them are locked but some are open. When i try to access the unlocked/open wifi networks it shows tht it is connected but when i go to safari or facebook or