When Validate- Restrict space

Hi guys, I have a field on my form “EMP_F_NAME” I want to restrict user that s/he can enter any name as a continuous string, I don’t want user to enter any space between the name. Length of the name can very obviously, how to write such a trigger in when-validate-item ? I am using forms 6i.
User can enter:
IMRAN
JAMES
FARAH
NADIA
But he should not enter
IMRAN BAIG or
FARAH NADIA
JAMES 101
Please help as its urgent.
Best Regards,
Imran Baig
Programmer/Analyst

WVI
declare
var varchar2(2000);
begin
var := substr(:block_name.item_name, 1, instr(translate(:block_name.item_name, ' _-~*|&().,;:''', '**************'),||'*', '*')-1);
if var != :block_name.item_name
then
:block_name.item_name := var;
end if;
end;
You can "Key filter" PJC on WEB to prevent objectionable characters. ("SpaceBar" work like NEXT_ITEM!)

Similar Messages

  • When-validate-item trigger restriction on open form or call form

    W have when-validate-item trigger. I need to place a code here that will bring up a form when the "valid entry" on the item has been made. I am getting a frm-40737:Illegal restricted procedure COMMIT...
    Code snippet on the procedure that I am calling from the when-validate-item:
    IF :System.Form_Status = 'CHANGED' THEN
    Commit_Form;
    end if;
    Call_Form ('MY_FORM', HIDE, NO_REPLACE, NO_QUERY_ONLY,'PARAM');
    Is there a work-around. We also cannot use timers here.
    Any help is appreciated?
    TIA

    Thanks Sudha, I tested and it worked with the key-next-item trigger.
    The only thing though, I was told that the users will not use the enter key when they navigate out of the field, it is either clicking on an exit button or function key F4...so I am still stuck with the same problem.
    This site is really helpful and I hope to receive more ideas.
    Thanks!

  • WHEN-VALIDATE-ITEM Restrictions???

    How we overcome the restriction next-item,go-item
    under WHEN-VALIDATE-ITEM?
    My requirement is once something entered into text box
    it should validate with the database for correctness and then
    if info is correct then it should move to
    next item else it should remain in the same item
    by populating some error message or info message.

    Faheem,
    What you desire should be normal operation. If some data is entered into the field then the return or tab key is pressed, The when-validate-item trigger is fired to do the validation, then the key-next-item is fired, which you hopefully have configured to move on to the next item (it will do this by default unless you have a key-others to overide it)
    If this is not happening, you need to look at you triggers and figure out why not.
    rgds

  • Restricting User from creating new records using when-validate-record

    Hi,
    I have a requirement for which I have to restrict he user from creating a record in the Supplier Master form if the suppliier type is 'Affiliate Supplier'.
    I have done the following setups
    Seq 10
    Description Restricting user from creating Affiliate records
    Level Function
    Enabled Yes
    Condition:
    Trigger Event WHEN-VALIDATE-RECORD
    Trigger object VNDR
    Condition "${item.VNDR.VENDOR_TYPE_DISP_MIR.value} is NOT NULL
    and
    ${item.VNDR.VENDOR_TYPE_DISP_MIR.value} LIKE 'Affiliate%'
    Processing Mode BOTH
    Context
    Level User
    Value User Name
    Action Sequence 1
    Type Message
    Action Description Saving Affiliate record
    Language ALL
    Message Type Show
    Message Text You Cannot Create Affiliate records Here
    Action Sequence 2
    Type Builtin
    Action Description Stop Proceesing
    Language ALL
    Action Enabled Yes
    Builtin Type RAISE FORM_TRIGGER_FAILURE;
    This is working good on one instance but when I moved it to another instance
    when I query the form and try to navigate to the bank accounts tab of the form which is based on a differnt block i.e VNDR_USES block, the when-validate-record trigger fires there also and stops the processing.
    Any suggestions on this would be higly appriciated.
    Thanks in Advance.

    Hi Srini,
    Yes, it does work...but in a Form Session if i Create more then one Item, in some cases it fires for the first records and not sleeps for the second.
    Sometimes it doesn't give any response.
    Appreciated if you divert to the link to check the Pacthes for 11.5.10 on Form Personalization.
    Please share any ideas/example if yiou have to achieve the below requirement.
    Requirement:
    Once New record is created , a Custom Procedure should be invoked.
    with out closing Form i am able to create n number of Items, so for every Item it should invoke Custom PLSQL Code on Save.
    Let me know if i can achieve the same in Custom.pll .....as i can use either of Options.(Form Personalization/Custom.pll)
    Thanks & regards,
    Edited by: user632004 on Mar 16, 2010 7:50 PM
    Edited by: user632004 on Mar 16, 2010 8:09 PM

  • Dangers of calling restricted procedures from when-validate-item

    As you'll all know, you cannot call the restricted procedure go_item from within the when-validate-item trigger.
    I've read that it is possible to get round this utilising timers, and I have managed to get this working.
    However, I cannot help but think such procedures must be restricted for a reason. Therefore, I'd like to know if there are any known problems that might arise from implementing timers to call restricted procedures?
    Thanks
    Matthew

    Certain types of triggers can't call restricted procedures because there is internal navigation or validation going on during the trigger execution, and the restricted procedures could mess that up. However, when you use a timer, the restricted procedure doesn't execute until after the trigger has finished, so the internal navigation/validation is complete. Because of this, the timer technique is a safe one. If it's a non-repeating timer, it should have very little effect on network traffic and performance.

  • ON-VALIDATE-ITEM 40737: Illegal restricted procedure COMMIT in WHEN-VALIDAT

    Dear All Expersts,
    In a form we want to update another table ON-VALIDATE-ITEM Or POST-UPDATE or POST-INSERT Event
    Could you please guide us can we do this without any error message i.e
    ON-VALIDATE-ITEM
    40737: Illegal restricted procedure COMMIT in WHEN-VALIDATE-ITEM trigger.
    Please guide.
    Thanks & Best Regards
    Eidy

    Eidy,
    Ok, for one thing, the Post-Update and Post-Insert triggers fire during the Post and Commit Transaction processing so it doesn't make any sense that you would attempt to issue a COMMIT in either of these triggers because it is already in the process of COMMITING.
    I think it would be best if you explain what it is you what to accomplish rather than how you are trying to accomplish the task. Then we will know why you are attempting a COMMIT (Restricted Built-in) in a When-Validate-Item trigger (will allows DML, Select, and Unrestricted calls).
    If you intent is to update/insert a record into a seperate table (say for auditing purposes) when a user changes a value in a different block (table) item - perhaps an After Update/Insert trigger on the database table would be a better option. This makes the secondary update/insert automatic and you don't have to code it in all of your forms.
    Again, like I said - if you tell us what you are trying to do, we can tell you if you are going about it the right way.
    @DanielB - All I can says is HUH?
    Craig...

  • 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,
    Reddy

    I 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 firing on block level.

    Hi all
    i have six fields and when-validate-item trigger is working on block level, i want to display records in one field,i want when-validate-item trigger work on item level not on block level,any help will be greatly appreciated.
    here is the code.
    When-Validate-Item Trigger.
    declare
         Str_Space VARCHAR2(20);
    begin
    Str_Space := ' ';
    :ins1.ref := :ins1.branch || Str_Space || :ins1.class || Str_Space || :ins1.year || Str_Space || :ins1.serial || Str_Space || :ins1.cno || Str_Space || :ins1.edno;
    end;
    sarah

    Francois Degrelle.
    just look the following code.
    DECLARE
         Str_Space VARCHAR2(20);
    begin
         Str_Space := ' ';
    :ins1.ref := :ins1.branch || Str_Space || :ins1.class || Str_Space || :ins1.year || Str_Space || :ins1.serial || Str_Space || :ins1.cno || Str_Space || :ins1.edno;
    END;
    by using the above code i am passing branch,class,year,serial,cno and edno to Ref column( 1 G01 2009 13112 00 01). and Str_space variable is creating space for each item.i want the above code work at item leavel instead of block level.Is it poassibl?
    sarah

  • 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)
    Thanks

    Divya 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');

  • Commit in when-validate-item

    Hello,
    After updating an item,
    I need to insert some data in a table after
    deleting some other data from it
    (the new primary key will take the value of the old one)
    If I can not do this in a when validate item (because I cannot use commit in this trgger),
    where or how can I do it ?
    Thanks for any help!

    Hi,
    Try a non-restricted trigger for this, e.g. the post-forms-commit trigger or the *-instance triggers.
    Hope this helps,
    Marc Vahsen
    Headstart Team

  • When-validate-item : too_many_rows

    Hi,
    I have when-validate-item trigger on a field in black which returns multiple rows for some instances. In deed, I need to display the returned value to the user in case of multiple rows as well.
    select campaign_code from campaign_master where campaign_vehicle=:form1.vehicle;If the vehicle is registered for multiple campaigns, I need to display the same to the user.
    Is there any way, I can handle it in an efficient manner.
    Thanks

    I need to display the returned value to the user in case of multiple rows as well.How are you displaying the information to your user? Is there a possibility that the vehicle entered is not used in a campaign? Does your user need to know which campaigns the vehicle is used in or simply how many it is used in?
    If only the number of campaign's I think an LOV that lists the Vehicle and a count of how many campaigns it is used in would work. Set the Validate from List property of your item to yes so if the vehicle is not found the LOV will automatically display.
    If the user needs to see which campaign - if any - the vehicle is associated with, then you could show the list of records in a pop-up window and allow them to choose the record they want from the popup. The tricky part to this option is that you can't call the Go_Item or Go_Block built-ins from the WVI trigger, you can only call Unrestricted built-ins from the WVI. One common work-around to this limitation is to create a 1 millisecond non-repeating timer in your WVI and let the Module When-Timer-Expired (WTE) trigger execute the restricted built-ins for you. If you need this option, search the forum on "create timer" and you will find numerous examples of how to set up a non-repeating timer.
    Hope this helps,
    Craig B-)
    If someone's response is helpful or correct, please mark it accordingly.

  • Problem using when-validate-trigger

    Dear Experts,
    After validating a item value, I want to navigate to a specified item besed on that item value. If i use go_item('item1') in when-validate-trigger, error comes, beacuse we cannot use restricted built-in go_item in when-validate-trigger. If i use key-next-item on 'item1' for validating item value then while navigating through mouse it does'nt fire.
    Please let me know which triiger i should use?
    Thanks
    Abhishek Rustagi

    There is no easy way to do this, however you could create a timer in your when-validate-item trigger which expires immediately, and place all of your navigational code in the when-timer-expired trigger - this way you could check the value which has been entered and navigate accordingly.

  • Problem in using when-validate-trigger

    Dear Experts,
    After validating a item value, I want to navigate to a specified item besed on that item value. If i use go_item('item1') in when-validate-trigger, error comes, beacuse we cannot use restricted built-in go_item in when-validate-trigger. If i use key-next-item on 'item1' for validating item value then while navigating through mouse it does'nt fire.
    Please let me know which triiger i should use?
    Thanks
    Abhishek Rustagi

    Hi, the way I use to solve this problem is using both: key-next-item and when-validate-item. In the w-v-i you make the validations you need (this control mouse navigation) and in the k-n-i code write:
    -- first validate the values, to avoid invalid values
    execute_trigger ('when-validate-item');
    -- if trigger fire corectly then you can go to the item you want..
    if my_item = 'A' then
    go_item(my_next_item1);
    elsif my_item = 'B' then
    go_item(my_next_item2);
    end if;
    Ruben.

  • 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".

Maybe you are looking for

  • Qwerky MacBook Pro - LEMON?

    I'm a first-time Mac user, and so I am still learning, but I have had difficulty with my Mac since I go tit. +*Has anyone experienced anything like this before (below)???*+ I purchased my MacBook Pro in August 2006 (Tiger, 10.4.11, 2 GHz Intel, 1GB M

  • I have forgotten my password on my ipod touch 4th generation is there a way i can unlock it without the password?

    i hve forgotten my password on my ipod 4th generation is there a way i can unlock it without entering the password?

  • I18N, Sending from flex to Java server

    Hi I'm doing a flex application for client and Java for server side. i want to send the name of the user to the server. <Code> var loader:URLLoader = new URLLoader(); var vars:URLVariables = new URLVariables(); vars.name = name <-or-> vars.name = esc

  • On Exit action possible on a question slide?

    I'm using Captivate 6.  My project has branching that occurs "on success" for some question slides, but if the user skips the question (which is allowed in this case) the branching doesn't happen.  On a regular slide there is an On Exit option to ini

  • Diff Btn EDI and ALE

    Hi Experts, What is the diff btn EDI and ALE. Straight answers will be rewarded. Regards, SAI