Can I write custom databse Trigger over a apps table.

Hi All,
Kindly explain if I can write custom database triggers over any apps defined table (for example per_jobs). Also let me know if any recommendations or best coding standards.
Thanks & Regards
Purushotham.M

Hi Purushotham,
Oracle says "We strongly advise against the use of database triggers." - Oracle Applications Developer’s Guide 11i.
Also, setting :new values of columns (apart from maybe Descriptive Flexfield Columns) is going to be "behind Oracle Applications back" meaning you'll potentially be breaking the business rules built into Apps.
However, that doesn't mean you can't use them - just be it on your head!
I'm not aware of any table you can't use them on, but have seen cautions about putting them on a couple of FND tables, unfortunately I can't find a reference to that, but one to watch out for was fnd_concurrent_requests.
If you are able to, use Personalization or Extension to achieve your requirements. If that isn't possible, then the usual coding standards apply with respect to naming standards, etc (see the developers guides).
If your logic is not critical to the business process (or concurrency can be handled by mechanisms other than row locking), e.g. you just want to kick off some other process based on a trigger point, consider using an autonomous transaction in your trigger logic.
Gareth

Similar Messages

  • Can you write vertically in the cell of a table, can you write vertically in the cell of a table

    can you write vertically in the cell of a table, can you write vertical

    If you don't understand that my response was a smiling echo of the stammering question I really can't help you.
    I guess that my 36725 points prove that I may be helpful. It seems that at this time you don't really know what are helpful answers.
    Using spreadsheets since more than twenty years, I know that storing something in an auxiliary object floating upon a cell isn't a serious workaround to the asked question. We may be sure that more or less soon, the object will no longer be were it was supposed to be.
    At this time, if we want to put a vertical text in a cell it's safer to insert a character, a linefeed, a character, a linefeed … which, one more time is echoing the stammering question.
    Yvan KOENIG (VALLAURIS, France) vendredi 29 avril 2011 14:37:08
    Please :
    Search for questions similar to your own before submitting them to the community

  • Mavericks 10.9.3.  Can I write a Rule in the Mail app and tell the rule to return an email to the sender?  I have already trsuggestions?

    Mavericks 10.9.3.   MacBook. Can I write a Rule in the Mail app to return an email to Sender?  I have tried many, many times but no luck so far.  Is it even possible, or am I wasting my time?

    There is no specific option to do that, although you can redirect a message if it meets certain criteria. I believe if you wanted to bounce it back to the sender, then you would need an AppleScript to run. If you do some Google or MacUpdate searching you may find an existing script for this purpose.

  • I have updated to ios6 and pushed merge instead of don't merge. I have a few apps same as my husbands and now my data is on his ipad, is there any way I can unmerge or anything he can do to stop me taking over his apps?

    I have updated to ios6 and pushed merge instead of don't merge. I have a few apps same as my husbands and now my data is on his ipad, is there any way I can unmerge or anything he can do to stop me taking over his apps?

    Did you try to set it up again as new device?
    How to back up your data and set up as a new device

  • Can i build custom p2p stream server-side app

    Can i build custom p2p stream server-side app

    Hi,
    Here are some links that might help you :
    http://help.adobe.com/en_US/flashmediaserver/devguide/WSa4cb07693d123884520b86f312a354ba36 d-8000.html
    Thanks,
    Apurva

  • Can Pages write two numbers one over another, like atomic number and mass?

    Is it possible in Pages 08 to write two numbers right atop one another like you do for atomic number and mass number? One a bit under the line, one a little over the line, both at the same place (not one after the other)? I haven't found out how to to it.
    TIA

    Perl,
    I'm a little hesitant to post this because it's so clunky, but I don't know how desperate you are to include this notation in your work so I'll throw it out there.
    You may create a Text Box with one number over the other and insert it into your work, but it comes with a big warning. Here's an example:
    Note the following:
    o The Text Box is formatted as Floating and Object Causes Wrap is UnChecked. Warning: If you add or delete text ahead of the symbol, the registration will be lost, and if you reformat the document in any way, you may have to go looking for your symbol and move it back to where it belongs.
    o The Text in the Box is formatted as Centered
    o You will have to manually create space for the symbol in your text by using spaces, changes in line spacing or other techniques.
    This notation is pretty rare, since the Atomic Number is redundant with the Element Symbol.
    Regarding a math module, you can create an impressive variety of math notations with Grapher.app, located in your Applications > Utilities folder. When you Copy and Paste notations from Grapher, you'll have the same problems with registration, unfortunately.
    Regards,
    Jerry

  • SSIS write custom logging information to sql 2012 table

    I have a Package that I want to put logging information in to a SQL table.
    I can do this with a script task but each time the package runs it will open a SQL connection write the log information and then close this connection it will do this 10 times every time the package executes and i could 50 of the packages running at the
    same time so i am looking for a better way to do this.
    My thought was to create a in memory table object at the start of the package and then insert the log records in to it and at the end do a bulk insert at the end of the package.
    My problem is I don't know if this can be done and if it can how would I create the in memory table insert the records and then bulk load it to the SQL server table.

    While I do not see any justification for what you want, "My thought was to create a in memory table object at the start of the package and then insert the log records in to it and at the end do a bulk insert at the end of the package" is doable
    by creating an ADO table, adding records to it and then writing to a destination:
    https://support.microsoft.com/en-us/kb/195082?wa=wsignin1.0 has all the needed code it seems. Just wrap into the Script Task.
    Arthur
    MyBlog
    Twitter

  • Can triggers be written on apps tables

    Hi All,
    Kindly explain if I can write custom database triggers over any apps defined table (for example per_jobs). Also let me know if any recommendations or best coding standards.
    Thanks & Regards
    Purushotham.M

    Duplicate Post.
    See:
    Can I write custom databse Trigger over a apps table.

  • How can I write to 4 different tables in database at the same time

    I have .mdb file which has 4 tables for each hardware, I have a labview main program which calls 4 sub programs for each hardware, all these 4 subprograms run parallely.
    One might finish one test early or late by milli seconds or seconds, the data has to be written to database file which has 4 tables inside.
    I am planning to open reference in main program and use the reference in sub programs, I will write to Table 1 for first sub program , table 2 for second sub program and so on,
    My question is can we write into one database file having 4 tables parallely/simulataneously? If no why?

    Try it.  It should work.  As long as you are opening the database once, and passing the reference around, I don't see how it would not work. 
    You may run into troubles if two subvi's are trying to write simultaneously.  If so, use semiphores to lock out the action until done. 
    Or you could use a producer consumer architecture where the producer would queue up the table name and data, and the consumer would write to the database.  The producer can be replicated in each subvi.  In other words, each subvi will contain its own enqueue code.  All subvi's and the consumer loop would have to run in parallel.
    - tbob
    Inventor of the WORM Global

  • Can I write Design-time for JSP custom tag(not JSF components)

    I have some old JSP custom tags(not JSF components), and I want to use them in the IDE through the toolbox.
    Now I have already written the BeanInfos for these tags, and they can be drag from the toolbox; but it will throw a Exception when render the tags, and the properties in the Property Editor are not which I describe in the BeanInfos.
    How can I write Design-time for these tags? or whether it is possible to write the Design-time for these tags?
    the Exception is shown as follow:
    java.lang.ClassCastException
         at com.sun.rave.insync.faces.FacesPageUnit.renderNode(FacesPageUnit.java:1347)
    [catch] at com.sun.rave.insync.faces.FacesPageUnit.renderBean(FacesPageUnit.java:1086)
         at com.sun.rave.insync.faces.FacesPageUnit.getFacesRenderTree(FacesPageUnit.java:993)
         at com.sun.rave.css2.FacesSupport.getFacesHtml(FacesSupport.java:152)
         at com.sun.rave.css2.CssContainerBox.addNode(CssContainerBox.java:373)
         at com.sun.rave.css2.CssContainerBox.createChildren(CssContainerBox.java:354)
         at com.sun.rave.css2.DocumentBox.createChildren(DocumentBox.java:90)
         at com.sun.rave.css2.DocumentBox.relayout(DocumentBox.java:160)
         at com.sun.rave.css2.PageBox.layout(PageBox.java:392)
         at com.sun.rave.css2.PageBox.relayout(PageBox.java:454)
         at com.sun.rave.css2.DocumentBox.redoLayout(DocumentBox.java:313)
         at com.sun.rave.css2.PageBox.redoLayout(PageBox.java:460)
         at com.sun.rave.css2.DocumentBox.changed(DocumentBox.java:634)
         at com.sun.rave.designer.DesignerPaneUI$UpdateHandler.changedUpdate(DesignerPaneUI.java:1012)
         at com.sun.rave.text.Document.fireChangedUpdate(Document.java:851)
         at com.sun.rave.text.Document$5.run(Document.java:631)
         at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)

    I have some old JSP custom tags(not JSF components), and I want to use them in the IDE through the toolbox.
    Now I have already written the BeanInfos for these tags, and they can be drag from the toolbox; but it will throw a Exception when render the tags, and the properties in the Property Editor are not which I describe in the BeanInfos.
    How can I write Design-time for these tags? or whether it is possible to write the Design-time for these tags?
    the Exception is shown as follow:
    java.lang.ClassCastException
         at com.sun.rave.insync.faces.FacesPageUnit.renderNode(FacesPageUnit.java:1347)
    [catch] at com.sun.rave.insync.faces.FacesPageUnit.renderBean(FacesPageUnit.java:1086)
         at com.sun.rave.insync.faces.FacesPageUnit.getFacesRenderTree(FacesPageUnit.java:993)
         at com.sun.rave.css2.FacesSupport.getFacesHtml(FacesSupport.java:152)
         at com.sun.rave.css2.CssContainerBox.addNode(CssContainerBox.java:373)
         at com.sun.rave.css2.CssContainerBox.createChildren(CssContainerBox.java:354)
         at com.sun.rave.css2.DocumentBox.createChildren(DocumentBox.java:90)
         at com.sun.rave.css2.DocumentBox.relayout(DocumentBox.java:160)
         at com.sun.rave.css2.PageBox.layout(PageBox.java:392)
         at com.sun.rave.css2.PageBox.relayout(PageBox.java:454)
         at com.sun.rave.css2.DocumentBox.redoLayout(DocumentBox.java:313)
         at com.sun.rave.css2.PageBox.redoLayout(PageBox.java:460)
         at com.sun.rave.css2.DocumentBox.changed(DocumentBox.java:634)
         at com.sun.rave.designer.DesignerPaneUI$UpdateHandler.changedUpdate(DesignerPaneUI.java:1012)
         at com.sun.rave.text.Document.fireChangedUpdate(Document.java:851)
         at com.sun.rave.text.Document$5.run(Document.java:631)
         at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)

  • How can i write the trigger for Global Temporary Table

    Hi Grus,
    How can i write the trigger for Global Temporary Table.
    I was created the GTT with trigger using the below script .
    CREATE GLOBAL TEMPORARY TABLE GLOBAL_TEMP
    EMP_C_NAME VARCHAR2(20 BYTE)
    ON COMMIT PRESERVE ROWS;
    CREATE OR REPLACE TRIGGER TRI_GLOBAL_TEMP
    BEFORE DELETE OR UPDATE OR INSERT
    ON GLOBAL_TEMP
    REFERENCING NEW AS NEW OLD AS OLD
    FOR EACH ROW
    BEGIN
    INSERT INTO EMPNAME VALUES (:OLD.EMP_C_NAME);
    END;
    trigger was create successfully, but the wouldn't insert into to EMPNAME Table..
    Please guide whether am correct or not? if not kindly give a correct syntax with example
    Thanks in Advance,
    Arun M M

    BEGIN
    INSERT INTO EMPNAME VALUES (:OLD.EMP_C_NAME);
    END;
    you are referencing old value in insert stmt.
    BEGIN
    INSERT INTO EMPNAME VALUES (:new.EMP_C_NAME);
    END;then run ur application it works fine...
    CREATE GLOBAL TEMPORARY TABLE GLOBAL_TEMP
    EMP_C_NAME VARCHAR2(20 BYTE)
    ON COMMIT PRESERVE ROWS;
    CREATE OR REPLACE TRIGGER TRI_GLOBAL_TEMP
    BEFORE DELETE OR UPDATE OR INSERT
    ON GLOBAL_TEMP
    REFERENCING NEW AS NEW OLD AS OLD
    FOR EACH ROW
    BEGIN
    dbms_output.put_line(:OLD.EMP_C_NAME||'yahoo');
    INSERT INTO EMPNAME VALUES (:new.EMP_C_NAME);
    dbms_output.put_line(:OLD.EMP_C_NAME);
    END;
    create table EMPNAME as select * from GLOBAL_TEMP where 1=2
    insert into GLOBAL_TEMP values('fgfdgd');
    commit;
    select * from GLOBAL_TEMP;
    select * from EMPNAME;
    output:
    1 rows inserted
    commit succeeded.
    EMP_C_NAME          
    fgfdgd              
    1 rows selected
    EMP_C_NAME          
    fgfdgd              
    1 rows selectedgot it Arun
    Edited by: OraclePLSQL on Dec 28, 2010 6:07 PM

  • Can we write function in a trigger??

    Can we write function in a trigger??

    3360 wrote:
    810534 wrote:
    Can we write function in a trigger??This can be better phrased as two questions.
    Would we want to write a function in a trigger?
    Answer - No.
    Is there any problem that needs to be solved by writing a function in a trigger?
    Answer - No.Even better would be the same two questions with "a function in " removed.
    Same answers.

  • Adobe Customer Service Call - Over an hour on hold. How do I complain?

    I can't use my Adobe Creative Cloud license because there was a "payment error" - I suspect caused by a change of address.  Online support tell me they can't do anything and told me to ring 0207 365 0735.  I have now been on the phone to London for over an hour listening to music with no clue as to when somebody might get around to picking up the phone and it's not even across a lunch break.
    Who can I write/complain to?
    Adobe Customer Support is seriously broken.
    I click on the "Edit my billing details" link on CreativeCloud and all I've ever got is "Error. Please call xxxxx".
    Over an hour on hold at the customer's cost (phone calls to London are not cheap) is completely unacceptable, especially when there is no clue given as to where in any queue you are.
    In the meantime I can't do any work. 
    Does anybody have an address I can complain to?

    I've tried that and many other things, which is WHY I want to find a "higher up" to complain to.
    The link you sent was what I originally used (whilst waiting over an hour on the phone to customer support permanently on hold) to chat to a rep who told me he didn't have the authority to tell Adobe to "re-select payment" now that my address change has been implemented.  He spent about 10 minutes changing my address.
    My phone support call was eventually answered after 1 hour 47 seconds and my initial problem was finally solved.  I spent the first 10 minutes with a non-native English speaker spelling out each word of my new address.  This is something I'd already done via the online chat facility, and had been assured was now actioned.  More poor customer support.
    After an hour of music with no clue as to how long I'd have to wait I was greeted with an apology along the lines of "unexpectedly high number of calls". In the 15 years I've used Adobe products I've NEVER had a call answered in less than half an hour (admittedly I've only rung them about 4 times in total over the 15 years) so I fail to see how this can in any way be seen as "unexpected". Because of prior experience I made a point of avoiding the Monday after the weekend and lunchtime. Still took over an hour of a long distance call I was paying for to get a human being to speak to.  This is totally unnecessary. It's not rocket science to build a web page that lets you edit your address or say "Re-attempt payment" instead of insisting customers clog up your phone lines at their cost waiting over an hour for someone to answer.
    After leaving this web site I was asked to fill in a survey. I spent some time doing it and clicked "Submit" to be met with "Our website survey is temporarily unavailable" and a suggestion that I should remember everything I'd answered and send it in an email.  More poor customer support.
    Honestly, after years of this I want to write to their MD and explain to him that this is completely unacceptable in this day and age. Of course staff refuse to give you any contact details to complain to other than a bland generic [email protected]
    Even the forums do their best to obfuscate any entry or requests for help, driving the casual user mad insisting you "ask a question" before redirecting you off to somewhere else.
    The whole mess is just appalling and will never change because there's no way of officially complaining to anybody other than a hired non-English speaker who has no power or access to do anything.

  • I can't write to my Drobo

    I have a new iMac (like this):
    I am trying to connect the Drobo that I used to use with my Windows Computer.  It has 4 drives @ 3TB each, and the whole drive is over half full, so I am not terribly interested in the cost that it would take to "back up" that whole disk pack.  It took some shenanigans (reboots of both the drive and the computer; disconnections, and reconnections; fiddling around with MAC Disk Utility) to get it to show up in Finder at all.  I still have issues with it unmounting and needing to remount it, but that's not my main issue.
    THE REAL PROBLEM:
    Though I can get the Drobo to show up in finder, and I can read from it, I can't write to it.  Based on some earlier searching I tried this terminal command, which helped it to show up in finder, but didn't seem to affect it's being read-only:
    new-host-3:~ davidholcomb$ getfileinfo /Volumes/Drobo
    directory: "/Volumes/Drobo"
    attributes: avbstclinmedz
    created: 12/10/2012 19:06:46
    modified: 09/11/2014 03:37:07
    Looking at another thread (partition map check failed because no slices were found), which I wandered into because I was getting this error in Disk Utility upon running Verify Disk because I got a failure when I tried to "mount" the drive in Disk Utility:
    This thread suggested I try a couple additional Terminal Commands, which I will post the results of here:
    #1: diskutil list
    new-host-3:~ davidholcomb$ diskutil list
    /dev/disk0
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      GUID_partition_scheme                        *121.3 GB   disk0
       1:                        EFI EFI                     209.7 MB   disk0s1
       2:          Apple_CoreStorage                         121.0 GB   disk0s2
       3:                 Apple_Boot Boot OS X               134.2 MB   disk0s3
    /dev/disk1
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      GUID_partition_scheme                        *1.0 TB     disk1
       1:                        EFI EFI                     209.7 MB   disk1s1
       2:          Apple_CoreStorage                         999.3 GB   disk1s2
       3:                 Apple_Boot Recovery HD             650.0 MB   disk1s3
    /dev/disk2
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:                  Apple_HFS Macintosh HD           *1.1 TB     disk2
    /dev/disk4
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      GUID_partition_scheme                        *17.6 TB    disk4
       1:       Microsoft Basic Data Drobo                   17.6 TB    disk4s1
    #2 diskutil cs list
    new-host-3:~ davidholcomb$ diskutil cs list
    CoreStorage logical volume groups (1 found)
    |
    +-- Logical Volume Group 7DACBFD5-E22C-404B-98B1-99D97AD08B2F
        =========================================================
        Name:         Macintosh HD
        Status:       Online
        Size:         1120333979648 B (1.1 TB)
        Free Space:   114688 B (114.7 KB)
        |
        +-< Physical Volume F26F7717-B081-4312-8252-65C9E3040AD4
        |   ----------------------------------------------------
        |   Index:    0
        |   Disk:     disk0s2
        |   Status:   Online
        |   Size:     120988852224 B (121.0 GB)
        |
        +-< Physical Volume 414053B5-EFD8-4FC0-87CE-F3913D6E876B
        |   ----------------------------------------------------
        |   Index:    1
        |   Disk:     disk1s2
        |   Status:   Online
        |   Size:     999345127424 B (999.3 GB)
        |
        +-> Logical Volume Family BE5280EF-B093-4137-88A2-5AF3F1ACEFCC
            Encryption Status:       Unlocked
            Encryption Type:         None
            Conversion Status:       NoConversion
            Conversion Direction:    -none-
            Has Encrypted Extents:   No
            Fully Secure:            No
            Passphrase Required:     No
            |
            +-> Logical Volume D35043A0-F886-4223-81DD-4880F04ECEA3
                Disk:                  disk2
                Status:                Online
                Size (Total):          1114146996224 B (1.1 TB)
                Conversion Progress:   -none-
                Revertible:            No
                LV Name:               Macintosh HD
                Volume Name:           Macintosh HD
                Content Hint:          Apple_HFS
    and #3: Mount:
    new-host-3:~ davidholcomb$ mount
    /dev/disk2 on / (hfs, local, journaled)
    devfs on /dev (devfs, local, nobrowse)
    map -hosts on /net (autofs, nosuid, automounted, nobrowse)
    map auto_home on /home (autofs, automounted, nobrowse)
    /dev/disk4s1 on /Volumes/Drobo (ntfs, local, nodev, nosuid, read-only, noowners)
    Another user who had run these commands and posted the results, seemed to have been missing an EFI partition on their external drive and was asked to run this command and post results.  But the thread with that user dies there.  Here are my results of this command:
    new-host-3:~ davidholcomb$ diskutil info disk4
       Device Identifier:        disk4
       Device Node:              /dev/disk4
       Part of Whole:            disk4
       Device / Media Name:      TRUSTED Mass Storage Media
       Volume Name:              Not applicable (no file system)
       Mounted:                  Not applicable (no file system)
       File System:              None
       Content (IOContent):      GUID_partition_scheme
       OS Can Be Installed:      No
       Media Type:               Generic
       Protocol:                 USB
       SMART Status:             Not Supported
       Total Size:               17.6 TB (17592186044416 Bytes) (exactly 34359738368 512-Byte-Units)
       Volume Free Space:        Not applicable (no file system)
       Device Block Size:        512 Bytes
       Read-Only Media:          No
       Read-Only Volume:         Not applicable (no file system)
       Ejectable:                Yes
       Whole:                    Yes
       Internal:                 No
       OS 9 Drivers:             No
       Low Level Format:         Not supported
    Can anyone help me with a next step to make this drive read/writeable?

    Turns out that the Drobo needs to be plugged straight into computer. I had it via hub. Though it has worked for the past couple weeks in this configuration, the new update pushed it over the edge, I guess. Plugged in directly and working fine.

  • What is the idea of having STRING type when you can't write into that field

    Hello friends
    I am desperately trying to write to a field of a database table with DATA TYPE 'STRING'.
    When I try to write it using a program from < SE38> or a function <SE37>, I get following error message, while activating the program.
    ============================================================
    <DATABASE_TABLE> must be a flat structure. You cannot use internal tables,
    strings, references, or structures as components.
    ============================================================
    So, I have been going in circle to find out how to write a string into this field.
    I can't use the CHAR or any such type with a limited field length, since the requirement from my customer is to use a variable length string.
    Has anybody seen this problem before and if you have resolved this issue, I would appreciate if you can please let me know.
    Thanks a lot in advance.
    Ram

    Hi Harish
    Thanks for your response.
    I can create the table with the data type 'String'. However, the problem is when I try to update the table from a program in SE38 or a Function Module in SE37.
    When I try to activate the PROGRAM or FUCNTION, I GET A MESSAGE THAT I MENTIONED EARLIER.
    Here is the simple program that I have created that I am not able to activate
    ==========================================
    REPORT  ZTEST_STRING1.
    tables: ztest.
    ztest-zid = 2.
    ztest-zstring1 = 'ABC'.
    insert ztest.
    ===========================================
    ztest has two fields
    zid which is NUMC type
    and zstring1 which is STRING type.
    When I try to activate I get an error message as follows:
    'ztest' must be a flat structure. You cannot use internal tables,
    strings, references, or structures as components.
    Edited by: Ram Prasad on Mar 20, 2008 6:08 PM

Maybe you are looking for