Avoid forms personalization/trigger during record update

Hi all,
I am trying to use forms personalization restrict users not to duplicate invoice numbers for a given supplier in Oracle Payables(Oracle Apps
R 12.1.3).
Here are my details,
Trigger Event: WHEN-VALIDATE-RECORD
Trigger Object: INV_SUM_FOLDER
Condition: 0<(SELECT count(*) FROM ap_invoices_all WHERE invoice_num =:INV_SUM_FOLDER.INVOICE_NUM AND vendor_id = :INV_SUM_FOLDER.VENDOR_ID) AND :SYSTEM.RECORD_STATUS='INSERT'
Processing Mode: Not in Enter-Query Mode
Actions:
Type: Message
Message Type: Error
Message Text: Duplicate Invoice Number
This trigger shoud only for new record inserts so, I have used the condition, *:system.record_status = 'INSERT'* but this trigger is still firing during update of existing invoices, say when i wanna change terms for the AP invoice.
I couldnt figure out where the error is, if anyone has any idea, please help.
Thanks.
Edited by: Kwin on Oct 10, 2012 9:12 AM
Edited by: Kwin on Oct 10, 2012 9:21 AM

You can have one more condition like
0<(SELECT count(*) FROM ap_invoices_all WHERE invoice_num =:INV_SUM_FOLDER.INVOICE_NUM AND vendor_id = :INV_SUM_FOLDER.VENDOR_ID) AND :SYSTEM.RECORD_STATUS='INSERT'
AND
:INV_SUM_FOLDER.INVOICE_ID is null
because Invoice Id will be not not null for existing Invocies and for new invoices , it will be null.
Thanks
Pradeep

Similar Messages

  • Forms Personalizations for Scheduling Organizer: update Promise Date

    Hi,
    we are using the "Scheduling Organizer" for reviewing lists of order lines. This is the Order Organizer in the search mode click on tab "Scheduling".
    In this form I want to display the field Promise Date and allow changes. I managed to show the field, but the field is read-only per default. I thought that I can change this maybe with forms personalizations (set update_allowed to TRUE) but this does not help. Now the field is not read-only anymore, but my changes in that field are not saved to the database.
    Does anyone know if that is possible? To make this field from read-only to updateable?
    Thanks,
    David.

    David,
    I understand that you want to be able to just click the relevant row in the Organizer and change the promise date directly but I don't think that's designed into the functionality of the form.
    Have you considered clicking on the lines you want to change to a particular promise date (usual trick - CTRL+click, SHIFT+click as appropriate) and then going to Tools > Mass Change? This works very well but has the significant drawback that you have to select more than one row each time or Oracle doesn't deem it to be a 'mass' change.
    Regards,
    Jon

  • Form Personalization Execute SQL Update

    I have a requirement where based on changes in one form (say based on table1), I want to run sql "to update" records in another table (table2). Basically sync table 2 when record status changes in table 1. I want to do it with form personalization (when validate record trigger).
    How to execute such sql statement and commit using form personalization? any suggestion?
    Thanks

    Pl post full versions of OS and EBS. See if the examples in these MOS Docs can help
    279034.1 - Information About the Oracle Applications Form Personalization Feature in 11i
    395117.1 - Form Personalizations in Oracle E-Business Suite (Release 12)
    Pl also see this related thread - Re: Oracle Forms Personalization
    HTH
    Srini

  • POST COMMIT FORM issue in Oracle Forms Personalization

    Hi All,
    I have following requirement in Oracle Forms Personalization :
    1. User updates a records( from the table xxtable) in the Form
    2. Following this, on saving the record, a stored procedure is called to pick those records which are updated/inserted and display. But its displaying still the old values, since commit has not occured.
    3. I have added new forms personalization using POST-DATABASE-COMMIT and POST-FORM-COMMIT. However, none of this trigger is firing.
    Used POST-UPDATE and POST-INSERT, but this trigger are not fetching the committed data but picking the old value.
    Please let me know, how this requirement can be achieved in Oracle forms personalization?
    Many Thanks in Advance.

    the difference in time is that you doing the following additional tasks in forms that you dont do in sqlplus:
    1. you are retrieving data into the fields of the form.
    2. creating the record.
    which is a network round-trip for each record. AFAIK.
    if its an option for you, I would create a global temporary table and then populate the temporary table with the required data. Then build a base table block based on the global temporary table. This way you can use the forms default functionality and its fast because you dont have to populate all the records on the form before you see the first record!
    :>)

  • How to check old value in form personalization.

    Hi All,
    Could anybody please tell me how to check the old value in oracle forms using form personalization if someone is updating to someother value.
    For example.
    My Vendor Site Alternate name is XYZ
    and someone has changed it to ABC, How could i check the old values before or after doing updates.
    I don't want to write trigger for this.
    Thanks & Regards,
    Vishwas

    Pl see if the solution in this thread can help - Re: Capture who changed data using Forms Personalization & changed to what
    If not, pl see old threads that discuss forms personalization
    http://forums.oracle.com/forums/search.jspa?threadID=&q=forms+AND+personalization&objID=c3&dateRange=last90days&userID=&numResults=15
    HTH
    Srini

  • How to do this Form Personalization in oracle purchasing

    Hi All,
    Am using oracle E-Buz -R12.1.3.
    I trying to do one small form personalization
    Resp --> Purchasing--> Requisitions--> Requisitions.
    Now i ill query for one REQ number for example 1130011. Next ill enter a new line in the line level.
    Requirement:
    Once the line level data entry is completed, User will try to save the line.
    So at this time. I need to fire one message that.
    When the Destination Type is "Expense" and the user didn't enter the project details in the Distribution tab. Then i need to fire a popup message.
    So i tried like this
    Created a new FORM Personalization
    Trigger event :WHEN-VALIDATE-RECORD
    Trigger Object : LINES
    Condition :
    :SYSTEM.RECORD_STATUS IN ('INSERT' ,'CHANGED') AND :LINES.DESTINATION_TYPE_DISP = 'Expense' AND :DISTRIBUTIONS.REQ_LINE_QUANTITY IS NOT NULL AND :DISTRIBUTIONS.PROJECT IS NULL
    And in Action i have created a message type and mentioned to show.
    So Now the problem is when the user click the save button without entering the project detail the message is firing and i clicking three to four times ok and the record is getting saved.
    So my requirement is when the pop messages comes when i click ok i need to go back to the Project block.
    Can any one help in the requirement to get solved.
    Thanks & Regards
    Srikkanth.M

    Hi;
    1. I suggest check:
    Setting Up - Using - Demonstrationg - Personalizations In Oracle Purchasing [ID 1391679.1]
    2. You may get more quick response at Forum Home » Application Development in PL/SQL » Forms
    Regard
    Helios

  • Display Records Updated While Updating Database

    In my web application, an admin is allowed to login and do a mass update to a table where it could update several thousand records. These records are for when new fields are created and default values are created so that applications for older users are still able to process. Basically all I'm trying to do is display what the current status is of a database update in the form "xxx of yyyyy records updated."
    The way it works is that the admin comes to the page, specifies the field to be inserted, and hits the update button. The application goes off to this action class which processes all the updates through JDBC. Once the updates are completed, the JSP is rendered saying how many records were updated. The problem is that this processing can take 15 minutes or more sometimes and we would like to be able to see the progress as it goes. It would be ideal to have it update after every 50 or 100 records are processed.
    How can I do this while the action class is still executing?

    Carpediem104 wrote:
    I had read that thread and unfortunately, it wasn't entirely helpful. We don't use Struts and our action classes work a little bit differently. ... in that it takes only 2 parameters: HttpServletRequest and HttpServletResponse; there are no From objects passed in or action mappingsThen adapt. No one knows your system but you. There are examples in that page, and several links to other pages with several more examples.
    Carpediem104 wrote:
    . We also avoid using session variables, iframes, and beans. It will be hard to do without session variables.. And why no beans? Are you just talking EJBs or JavaBeans in general?
    Carpediem104 wrote:
    Perhaps it is still usable and I'm missing something, but I'm leaning more towards using AJAX to execute the action and then using request.setAttribute() every time the transaction is committed. Then I can use javascript to update the HTML.
    But a request attribute can store information from one request to the next, which you will need to do to get the working progress.
    One idea, provide a hook to the running process in ServletContext with unique keys to identify which process belongs to which update view. Then store the unique key in a cookie or as a URL parameter. Each submit (AJAX or not) use the ID to get the process out of the ServletContext and read the progress from there.
    How is this better than a session? It isn't just more work.
    The other option would be to use Pushlets. Pushlets use a servlet that never closes the connection to the client to continuously feed data to it. This way, your application would start a process and for doing the work and a Pushlet for displaying the progress. You pass a reference of the Pushlet to the worker and the worker regularly informs the Pushlet of its progress. The Pushlet then sends a javascript line to the client updating the display with new information.
    If you Google Pushlets you will learn how to use them.
    Edited by: Carpediem104 on Jul 29, 2008 9:19 AM

  • Forms Personalization: FRM-41017- Cannot set UPDATE ALLOWED attribute error

    Hey All,
    I have a requirement in Projects > Allocation > Allocation Rules which needs a few mandatory columns to be greyed out.
    I think that the form is not getting query-able because of the “FRM-41017- Cannot set UPDATE ALLOWED attribute of non-enabled item RULE.OFFSET_METHOD” error when we open the form.
    I was trying to set the required property to false for personalization’s done on mandatory columns and see if that can work in suppressing that error. But it did not.
    Can anyone help me by telling how to avoid this and make the form query-able?
    Any help is much appreciated.
    Thanks !

    Please post the details of the application release, database version and OS.
    Please see if (Capital Projects Form Personalizations Error- FRM-41017 [ID 1072660.1]) helps.
    Thanks,
    Hussein

  • Trigger events are notvalidated the lov  form personalization or custom.pll

    Hi all,
    The trigger events are not validated the LOV in forms personalization or custom.pll
    any one help me
    Regards,
    M.Soundrapandian
    Edited by: user588510 on Dec 15, 2008 9:27 PM

    i have checked with the new item instance and now i have given
    In the message text when i have given this query it is displaying me with blank message box when there are no records which i dont want.and also saving it when i click ok .where should i modify my query so it displays message only when there are more than 3 records but should not save
    trigger event : when new item instance
    trigger object :repairs.lot_number
    condition : :SR.ACCOUNT_NUMBER IS NOT NULL
    AND :REPAIRS.SERIAL_NUMBER IS NOT NULL
    Message text :
    =SELECT 'There are a total of '||COUNT (*)||' Previously Repaired Records' "A" FROM CSD_REPAIRS CR, CS_INCIDENTS_ALL_B CS, CSD_PRODUCT_TRANSACTIONS CP
    WHERE (
    SELECT COUNT(*)
    FROM CSD_REPAIRS CR, CS_INCIDENTS_ALL_B CS, CSD_PRODUCT_TRANSACTIONS CP
    WHERE CR.REPAIR_LINE_ID = CP.REPAIR_LINE_ID
    AND CR.INCIDENT_ID = CS.INCIDENT_ID
    AND CS.ACCOUNT_ID = :SR.ACCOUNT_NUMBER
    AND CP.prod_txn_status = 'RECEIVED'
    AND CR.STATUS = 'Closed'
    AND CP.SOURCE_SERIAL_NUMBER = :REPAIRS.SERIAL_NUMBER)>=3
    Edited by: user10755387 on Aug 5, 2009 11:31 PM

  • How can we disable Block Level Trigge using Form Personalization

    Hi,
    I want to disable block level trigger(WHEN-NEW-RECORD-INSTANCE) using forms personalization at responsibility level.
    Can any one please give me the answer.
    it's urgent
    Thanks and Regards,
    Dhana

    No, Firefox is user choice rules over the "wants" of individual websites as far as disabling contextual menus and the keyboard commands.
    Placing a transparent image over the image will keep the less technical user from saving the main image. If they do try to save it all they'll get is the transparent image overlay.

  • Trigger on PO_HEADERS_ALL or Form Personalization

    Hi Gurus,
    We have a requirement like this, when a po is approved we have to save the po details (po number, po description, supplier name and supplier phone number) in a custom table and later a 3rd party system will use the details to sms the supplier about the po status.
    Kindly let me if it be done with Form Personalization. If so, how ? or i have to create a trigger on po_headers_all to achieve this.
    Thank you.
    Edited by: 863803 on Jun 6, 2011 1:35 AM

    Hi Sandeep,
    Not sure, if the flat file generated by this Conc Request : OUT: Purchase Order (850/ORDERS) will be useful for your requirement. For 850 Order details you can refer below URL.
    http://www.covalentworks.com/edi-850-purchase-order.asp
    You can write a simple PL/SQL program referring PO_Headers_all tables and update the 4 columns of your staging table for your supplier use. Hope this approach will be easier. :)
    Kind Regards,
    S.P DASH

  • Where is the Record Update Form Wizard in DWCC?

    Trying to follow online help but it doesn't relate to DWCC.   A tutorial I found for CS6 suggests that it's in Insert > Data Objects > Update Record > Record Update Form Wizard but in DWCC there is no "Data Objects" option in the Insert menu.
    By the way, I'm looking for the wizard not the straight Update behaviour which I'm aware is in the Server Behaviours panel.
    Thank you.
    NJ
    EDIT:  Just spoke to Adobe "support" by chat about this and they were absolutely useless. The directed me to the article that I've highlighted above as being for CS6, which isn't helpful because "Data Objects" isn't in the Insert menu in DWCC, and when I pointed that out they gave me this link to try:  http://www.adobe.com/devnet/
    Seriously?  Is this the best I can hope for from Adobe support?  It was clear that the operative was just doing Google searches for the answers as opposed to actually knowing the software that they represent.  Really disappointing support.

    Hi Jon,
    "Database functionality was removed from DWCC."  - I use database functionality a lot so this is a real let down.  Why has it been removed when it seems so integral to a lot of modern websites and web applications?
    I've got the Legacy Extension, or Depracated_ServersBehaviours panel extension, but that does not bring back the Record Update Form Wizard.
    Tutorials as far as CS6 reference the Record Update Form Wizard but I'm guessing that it has just been completely dropped in DWCC - not that anyone from Adobe know that one way or another.  The official "support" I received earlier was a complete joke (some guy doing Google searches whilst saying - "I'm just verifying your account").
    I'm quite handy with Google myself so maybe there's an opportunity for me to move into a career as an Adobe support technician.
    I'll have to find a third party extension then I guess.  Thanks for the advice.

  • Form Personalization: How to validate record?

    Hi,
    We need your help. We have developed one custom form which captures data for Inter-Org transfer in Oracle Inventory. User enters Source Organization Code, Destination Organization Code, Item Number and rest of all other information. Source & Destination Organization are in one block of the form and Item number , Quantity etc are in another block on the same form. Item Number field is showing LOV of all list of items from mtl_system_items_b from master Org and that's the requirement of the form.
    Through Form Personalization, User wants while saving the record on the form, it should validate item-Organization assignment for both Source & Destination organization. Item should exist in Source & Destination organization else it should display error message while saving the record.
    Please help me how we can achieve this through Form Personalization.
    Thanks
    Rajesh

    trigger = when-validate-record
    condition =
    not exists (select 1 from mtl_system_items msi, mtl_parameters mp
    where mp.organization_code = :dest_org
    and mp.organization_id = msi.organization_id
    and msi.segment1 = :item_number)
    Action = message
    type = error
    message text = Item not assigned to dest. org.
    Sandeep Gandhi

  • Form Personalization - To move to the first record.

    Hi All,
    There is DO_KEY Builtin in Form Personalization.
    But it can not use "FIRST_RECORD" as argument of DO_KEY Builtin.
    And there is no parameter such like "system.first_record" can be reference.
    How to do the FIRST_RECORD by using Form Personalization only?
    (We know it may be done with custom.pll.)
    Any suggestions will be appreciated.
    Best regards,
    Zhxiang

    Hi;
    Please check below which could be helpful on your issue:
    Forms Personalization Document
    Re: Forms Personalization Document
    Re: Form Personalization
    Forms Customization
    Re: Enable Submit Button at User Level and Disable at Block Level
    Regard
    Helios

  • AP Invoice Form Personalization

    Hello all,
    I have a doubt in AP Invoice Form Personalization. I am using R12.1.3
    How to prevent update of Liability account during invoice entry... Please give me the step for Personalization.
    Thanks and Regards,
    Muthu
    Edited by: Muthu on Jul 2, 2012 4:27 PM

    Hi Octopus,
    Thank you for your help.
    This is the first time doing form personalization. I am a Functional consultant.
    So I couldn't understand the below fields. Please help me on fill that. (Block the Liability Account code while enter invoice in Header level).
    Trigger Event: WHEN-NEW-RECORD-INSTANCE
    Trigger Object:
    Processing Mode:
    In Action TAB
    Seq: 1
    Type: Property
    Object Type: Item
    Target Object: INV_SUM_FOLDER.LIABILITY_ACCOUNT
    Property Name: PROMPT_TEXT
    Value:
    I don't know which I filled is correct.
    Please help to clear my doubt.
    Thanks and Regards,
    Muthu
    Edited by: Muthu on Jul 2, 2012 4:28 PM

Maybe you are looking for