Need help in writin a trigger---Very Urgent

Help me in creating the trigger with below specifications.
"We want to reject record deletions where DATE_APPROVED_PROV is not null or NLA_PROV_DONE is not null
We want to reject updates where (DATE_APPROVED_PROV is not null or NLA_PROV_DONE is not null)
and
(any of CAPEX or RFS or ALLOCATIONS or DEPR_START_DATE is different before update than it would be after update)"
Defination of Table is below :
CREATE TABLE ir_data
(record_id NUMBER(12,0) NOT NULL,
request_title VARCHAR2(255),
cio VARCHAR2(30),
host_country VARCHAR2(20),
ben_project_name VARCHAR2(255),
application VARCHAR2(80),
req_summary VARCHAR2(500),
external_ref VARCHAR2(255),
submitted_by VARCHAR2(60),
approved_by_prov VARCHAR2(60),
date_approved_prov DATE,
approved_by_final VARCHAR2(60),
date_approved_final DATE,
nla_prov_done DATE,
nla_final_done DATE,
cost_alloc_method VARCHAR2(255),
capex NUMBER(12,0) DEFAULT 0,
allocations NUMBER(12,0) DEFAULT 0,
rfs NUMBER(12,0) DEFAULT 0,
ben_budget_id VARCHAR2(20),
delete_flag VARCHAR2(1),
amortisation NUMBER(12,0) DEFAULT 0
depr_start_date DATE,
fy_allocations NUMBER(12,0),
wusys VARCHAR2(1))

Help me in creating the trigger with below
specifications.
"We want to reject record deletions where
DATE_APPROVED_PROV is not null or NLA_PROV_DONE is
not null
We want to reject updates where (DATE_APPROVED_PROV
is not null or NLA_PROV_DONE is not null)
and
(any of CAPEX or RFS or ALLOCATIONS or
DEPR_START_DATE is different before update than it
would be after update)"
Defination of Table is below :
CREATE TABLE ir_data
(record_id NUMBER(12,0) NOT
NULL,
request_title VARCHAR2(255),
cio VARCHAR2(30),
host_country VARCHAR2(20),
ben_project_name VARCHAR2(255),
application VARCHAR2(80),
req_summary VARCHAR2(500),
external_ref VARCHAR2(255),
submitted_by VARCHAR2(60),
approved_by_prov VARCHAR2(60),
date_approved_prov DATE,
approved_by_final VARCHAR2(60),
date_approved_final DATE,
nla_prov_done DATE,
nla_final_done DATE,
cost_alloc_method VARCHAR2(255),
capex NUMBER(12,0) DEFAULT
0,
allocations NUMBER(12,0)
DEFAULT 0,
rfs NUMBER(12,0)
DEFAULT 0,
ben_budget_id VARCHAR2(20),
delete_flag VARCHAR2(1),
amortisation NUMBER(12,0)
DEFAULT 0
depr_start_date DATE,
fy_allocations NUMBER(12,0),
wusys VARCHAR2(1))(any of CAPEX or RFS or ALLOCATIONS or DEPR_START_DATE is different before update than it would be after update)
I think if any of these change during an update do something. Not sure what. Probably reject, because that is what the other 2 requirements are.
Is this for an homework assignment?
Jim P.

Similar Messages

  • Need help, MMC tree got deleted, very urgent.

    Hi,
    My sap MMC tree, got deleted in the server. I have been trying to restore since 2 days and couldnt succeed, please help me.
    1) i have uncared the sapmmc.sar from   Kernal\NT\I386\MMC\sapmmc.sar file
    2) i got about 7 files, in which there is one sapmmc file i have tried to double click it, n check but no go.
    3) i also tried to run the Sapstartsrv.exe file and fill in up the values in pop up window. & filled up the following values :-
                        SID: DEV
                        NR: 00
                        StartProfile:  (entire start profile path given)
                        user: devadm
                        passwd; (given)
    - but it says "the account name is invalid or does not exist or the password is invalid for account name specified"/
    - no go in both the cases.
    Please need help very urgent.
    Regards,
    Satish.

    siva,
    I am getting same error since 2 days
    SID: DEV
    NR: 00
    Start Profile: (entire start profile path)
    User: <hostname>/devadm
    passwd: ****
    Error:
    cannot install service
    create service failed:421
    The account name is invalid or doesnot exist, or the passwd is invalid for the account name specified.
    Edited by: satish c on Jun 4, 2008 11:12 AM

  • Need HELP to burn 35 DVDs very URGENT !!!

    I have created a 16/9 screen DVD, size 451 Mo.
    Problem 1:
    When I register it as Disk image, I cannot open it on my HD to preview before burn it. When I click on the icon, it says "specify application", so I put iDVD, but it doesn't open. So I burn my project directly from iDVD. It takes time. I need to burn 35!!! Is there is possibility to fixe it, or I have to encoder every time I have to burn the same DVD?
    Problem 2:
    When I burn my project to DVD-R x16 Verbatim, using "Optimal quality" or "Optimal performances", my quality image is suffering. Pixels are becoming too big (like 1mmx1mm mosaique), so it is difficult to read text and to see pictures. My original project is perfect. I thought I was DVD quality, because I was using DVD+R x16 verbatim. But it seems to be iDVD problem.
    Thank to all who know anything about and can help. I have to deliver the project by the end of this week.

    Problem 1 Follow these directions:
    Suggest you create a disc image and then burn the DVD. File/Save As Disc Image...
    http://docs.info.apple.com/article.html?artnum=164927
    This will isolate any encoding/burning issues you may encounter. Once the disc image is created, double-click the .img and burn the virtual disc that should appear on your desktop, using Toast to burn the DVD. Disk Utility to burn the .img file. Usually, you can select a burning speed in Disk Utility.
    There are variations to this process based on which OS X you are using...
    Open Disk Utility (in Utilities folder in Applications folder), click on the virtual disc (maybe the .img) in the left-hand window. Click the Burn icon. A new window should drop down and your SuperDrive tray will open after clicking the Burn icon. Insert a recordable DVD. (Verbatim DVD-R preferred by me.) Click the Close button. Wait. Select a burn speed. Then click the Burn button.
    -->If the virtual disk selection won't allow you to click the Burn icon, use the .img file instead. This may have changed in 10.3.9 and did change in Tiger.
    Also, you can use DVD Player to play the virtual disk to check your iDVD project before burning to DVD. Launch DVD Player. File/Open VIDEO_TS (Open DVD Media... in Player 4.6). Find the VIDEO_TS folder and open that. (The audio folder is for DVD-Audio disks.)
    http://docs.info.apple.com/article.html?artnum=93006
    Problem 2 Burn the disk image with Disk Utility and select a speed 4X or slower from the speed pop-up.
    G4 DP 1.25 GHz 2GB RAM 4 Drives 770GB   Mac OS X (10.4.6)   2 SuperDrives (SL 8X & DL 16X)

  • Need help to filter invalid chars very urgent

    Hi,
    In data load some records are invald chars,its not filtering,those chars are special symbol here are the hex values for that invalid char
    0012
    0016
    0005
    0013
    so all these values are below 20,we can't copy and paste.
    if any one knows abt sap constant values for these hex values please provide me ASAP,its very urgent

    Goto transaction code RSKC...Enter value <b>ALL_CAPITAL</b>
    Take a look at these threads...
    /message/2876063#2876063 [original link is broken]
    Value '# ' (hex. '23 ') of characteristic 0CUST_GRP1 Contains invalid Char

  • Need Help in creating this trigger

    I need your help to create this trigger. I need to set the default fl in this table depending on various conditions:
    If there is only one indvl with end date as null then set the default_pk column for that indvl as 'Y'
    ELSE
    If there are multiple indvl_pks in this table with NULL end date then set the default_fl column to 'Y' for the indvl_pk with the earliest start date .
    ELSE if there are multiple indvls with same start date then set the dflt_fl to 'Y' with the minimum br_pk
    I am unable to get this to work due to the mutating trigger problem.
    For example in this one rows with emplt_pk with 1001 and 1003 will be set to 'Y'.
    create table emplt
    emplt_pk number,
    indvl_pk number,
    start_dt date,
    end_dt date,
    lct_fl char(1),
    sup_fl char(1),
    br_pk number,
    nro_pk number,
    default_fl
    char(1) default 'N' );
    INSERT
    INTO emplt
    values(1001, 101, to_date ('01-01-2005', 'MM-DD-YYYY' ), NULL, 'Y','N' ,123,NULL,NULL );
    INSERT INTO emplt values(
    1002, 101, to_date ('02-01-2005', 'MM-DD-YYYY' ), NULL, 'Y','N' ,NULL,0001,NULL );
    INSERT INTO emplt values(
    1003, 102, to_date ('02-01-2005', 'MM-DD-YYYY' ), NULL, 'Y','N' ,NULL,0001,NULL );
    Thanks in advance

    the Easy Tabs could be useful for your requirement
    http://usermanagedsolutions.com/SharePoint-User-Toolkit/Pages/Easy-Tabs-v5.aspx
    /blog
    twttr @esjord

  • HT204382 music files that I'm trying to transfer from my external hard drive!!! i really need help! i am getting very frustrated. plz help me thank you

    hi. i am trying to transfer my old pictures and music files from my external drive into my new laptop.and first of all only a coupleof my foldersare coming up.and even those few files/folders wont play ....i am new to mac.i REALLY need help. my old pictures and music are real important to me.plz help me.

    IS the external HD from another Mac or a PC?

  • Need help with cookies....Urgent..

    We are internationalizing our application. Externalized all the message string and its working fine. But I am getting some weird exceptions..
    I am storing my language code and country in cookies. I am first trying to read the locale from the session. If it is not there in the session then I am reading the language code and country code from the cookies and creating the locale.. I am doing this becuase we have load balancing in production..
    Now let me explain my problem...
    I have a jsp page(1.jsp) which has a button on it. When this button is clicked it calls a servlet that opens another jsp(2.jsp) in a new window (like a pop up window) that will display some details. Now the problem is I am getiing null pointer exception on the second page. I am losing all the cookies that I have set. If I try to read the cookies and print their values , they are null. I have no clue why it is happening. I am forwarding to the 2.jsp from the servlet using RequestDispatcher.
    Someone please help me as it is very important .. I would really appreciate the help..
    TIA,

    I think a probable reason is that a new session is being created when you create the new window, i.e. the new window probably is starting a new session....try retrieving the session id, that may give you more insight into the bug.
    IF it does not work even after that, then it is possible that the cookies are disabled in the target system. In that case, wherever you have written a URL, replace it with 'res.encodeURL(<URL>)' where res is the Response object. This will change the session tracking from cookie based to URL based.
    You can store the values in an application bean, where you keep the session id and their preferences, but I would have preferred the other two ways ( i.e. cookies or URL based session values ).
    Its easier to have them in an application level bean due to easier handling, and only if the load and the memory are not your primary concerns.
    Hope this works,
    All the best

  • Need help restoring data after security wipe - Urgent!

    Hello,
    I am in need of urgent help.
    I had saved some really important information in the memos of my blackberry curve 8520. After that I changed my phone to a non-blackberry phone. but I still had the old phone but it was kept off most of the time. I had backups from June 13, 2013. very recently I wiped the phone. (Very big mistake) Now I am in need of that information that I had saved in the memos. Now when I visit the blackberry protect website through my laptop it shows that the back up is there with 15 memos and many other things. but when I open the app of blackberry protect on my phone it shows that there are no previous versions of backup available to restore. 
    Now please tell me and help with this. I badly need the information that I have stored in the memos of this earlier back up version.
    Another thing I have noticed is that there is a problem in the link between BB Protect website and the BB Protect app on my phone. For example, if I click on "Play Sound" or "Display a message" on the BB Protect website, it tries to communicate with the device and then waits for the device to respond and then it fails to do the function clicked.

    Hello,
    Please check very very very very (did I say that enough?) carefully that you are using the exact same BBID credentials on your new BB that you are logging into via PC.
    If they are not the same, then that explains why it cannot present you with those backups on the device...they are associated to a different BBID than you are using on your BB now. To change your BB over to the BBID that contains the backups you require, you must WIPE the BB:
    KB26694 How to change the BlackBerry ID on a BlackBerry PlayBook tablet or BlackBerry smartphone
    However, be very careful when you then associate the BB to that other BBID...done incorrectly, you can lose your prior backups...refer:
    KB31489 BlackBerry Protect for BlackBerry smartphones does not display any backup files to restore
    Then again, if you are using the exact same BBID on both the device as well as via PC/browser, then the method discussed in KB31489 may already have been done incorrectly, wiping out those prior backups (and there is no way to retrieve them).
    Good luck and let us know!
    Occam's Razor nearly always applies when troubleshooting technology issues!
    If anyone has been helpful to you, please show your appreciation by clicking the button inside of their post. Please click here and read, along with the threads to which it links, for helpful information to guide you as you proceed. I always recommend that you treat your BlackBerry like any other computing device, including using a regular backup schedule...click here for an article with instructions.
    Join our BBM Channels
    BSCF General Channel
    PIN: C0001B7B4   Display/Scan Bar Code
    Knowledge Base Updates
    PIN: C0005A9AA   Display/Scan Bar Code

  • Need help in recovering portal admin password - URGENT

    Hi,
    I am unable to start the ALUI LDAP Service and couldn't login to the portal too. Below is the error that I am getting when trying to start the ALUI LDAP Service and I m looking for help to reset the administrator password.
    INFO | jvm 1 | 2013/01/16 20:33:11 | Initiating LDAP server start sequence...
    INFO | jvm 1 | 2013/01/16 20:33:11 | Starting server on port : 3389
    INFO | jvm 1 | 2013/01/16 20:33:11 | Initializing LDAP/X.500 BER protocol codec...
    INFO | jvm 1 | 2013/01/16 20:33:11 | Detected 98 active CPU cores.
    INFO | jvm 1 | 2013/01/16 20:33:11 | ApacheOpenLogFactory successfully loaded.
    INFO | jvm 1 | 2013/01/16 20:33:12 | ApacheOpenLogFactory successfully loaded.
    INFO | jvm 1 | 2013/01/16 20:33:12 | Could not start LDAP listener on port 3389:javax.naming.ConfigurationException: Unable to instantiate authtication provider Java class "com.bea.alui.directory.backend.auth.plumtree.PlumtreeAuthenticator". Please check your configuration and ensure that jvm has permission to instantiate this class.
    INFO | jvm 1 | 2013/01/16 20:33:12 | WrapperStartStopApp: start main method completed
    INFO | jvm 1 | 2013/01/16 20:33:12 | Wrapper Manager: ShutdownHook started
    INFO | jvm 1 | 2013/01/16 20:33:12 | WrapperManager.stop(0) called by thread: Wrapper-Shutdown-Hook
    INFO | jvm 1 | 2013/01/16 20:33:12 | Send a packet STOP : 0
    DEBUG | wrapperp | 2013/01/16 20:33:12 | read a packet STOP : 0
    DEBUG | wrapper | 2013/01/16 20:33:12 | JVM requested a shutdown. (0)
    DEBUG | wrapper | 2013/01/16 20:33:12 | wrapperStopProcess(0) called.
    DEBUG | wrapper | 2013/01/16 20:33:12 | Sending stop signal to JVM
    DEBUG | wrapperp | 2013/01/16 20:33:12 | send a packet STOP : NULL
    INFO | jvm 1 | 2013/01/16 20:33:12 | Received a packet STOP :
    INFO | jvm 1 | 2013/01/16 20:33:13 | Thread, Wrapper-Shutdown-Hook, handling the shutdown process.
    INFO | jvm 1 | 2013/01/16 20:33:13 | calling listener.stop()
    INFO | jvm 1 | 2013/01/16 20:33:13 | WrapperStartStopApp: stop(0)
    INFO | jvm 1 | 2013/01/16 20:33:13 | WrapperStartStopApp: invoking stop main method
    INFO | jvm 1 | 2013/01/16 20:33:13 | Initiating LDAP server stop sequence...
    DEBUG | wrapper | 2013/01/16 20:33:09 | JVM signalled a start pending with waitHint of 5000 millis.
    DEBUG | wrapperp | 2013/01/16 20:33:09 | read a packet STARTED :
    DEBUG | wrapper | 2013/01/16 20:33:09 | JVM signalled that it was started.
    DEBUG | wrapperp | 2013/01/16 20:33:10 | send a packet PING : ping
    INFO | jvm 1 | 2013/01/16 20:33:11 | Received a packet PING : ping
    INFO | jvm 1 | 2013/01/16 20:33:11 | Send a packet PING : ok
    DEBUG | wrapperp | 2013/01/16 20:33:11 | read a packet PING : ok
    DEBUG | wrapper | 2013/01/16 20:33:11 | Got ping response from JVM
    INFO | jvm 1 | 2013/01/16 20:33:11 | OpenLog: Registered application name: aluidirectory.osha-trn-wcims-01.alui (local machine only)
    INFO | jvm 1 | 2013/01/16 20:33:11 | Initiating LDAP server start sequence...
    INFO | jvm 1 | 2013/01/16 20:33:11 | Starting server on port : 3389
    INFO | jvm 1 | 2013/01/16 20:33:11 | Initializing LDAP/X.500 BER protocol codec...
    INFO | jvm 1 | 2013/01/16 20:33:11 | Detected 98 active CPU cores.
    INFO | jvm 1 | 2013/01/16 20:33:11 | ApacheOpenLogFactory successfully loaded.
    INFO | jvm 1 | 2013/01/16 20:33:12 | ApacheOpenLogFactory successfully loaded.
    INFO | jvm 1 | 2013/01/16 20:33:12 | Could not start LDAP listener on port 3389:javax.naming.ConfigurationException: Unable to instantiate authtication provider Java class "com.bea.alui.directory.backend.auth.plumtree.PlumtreeAuthenticator". Please check your configuration and ensure that jvm has permission to instantiate this class.
    INFO | jvm 1 | 2013/01/16 20:33:12 | WrapperStartStopApp: start main method completed
    INFO | jvm 1 | 2013/01/16 20:33:12 | Wrapper Manager: ShutdownHook started
    INFO | jvm 1 | 2013/01/16 20:33:12 | WrapperManager.stop(0) called by thread: Wrapper-Shutdown-Hook
    INFO | jvm 1 | 2013/01/16 20:33:12 | Send a packet STOP : 0
    DEBUG | wrapperp | 2013/01/16 20:33:12 | read a packet STOP : 0
    DEBUG | wrapper | 2013/01/16 20:33:12 | JVM requested a shutdown. (0)
    DEBUG | wrapper | 2013/01/16 20:33:12 | wrapperStopProcess(0) called.
    DEBUG | wrapper | 2013/01/16 20:33:12 | Sending stop signal to JVM
    DEBUG | wrapperp | 2013/01/16 20:33:12 | send a packet STOP : NULL
    INFO | jvm 1 | 2013/01/16 20:33:12 | Received a packet STOP :
    INFO | jvm 1 | 2013/01/16 20:33:13 | Thread, Wrapper-Shutdown-Hook, handling the shutdown process.
    INFO | jvm 1 | 2013/01/16 20:33:13 | calling listener.stop()
    INFO | jvm 1 | 2013/01/16 20:33:13 | WrapperStartStopApp: stop(0)
    INFO | jvm 1 | 2013/01/16 20:33:13 | WrapperStartStopApp: invoking stop main method
    INFO | jvm 1 | 2013/01/16 20:33:13 | Initiating LDAP server stop sequence...
    INFO | jvm 1 | 2013/01/16 20:33:13 | LDAP server stop sequence failed:java.net.ConnectException: Connection refused
    ERROR | wrapper | 2013/01/16 20:33:46 | Shutdown failed: Timed out waiting for signal from JVM.
    ERROR | wrapper | 2013/01/16 20:33:46 | JVM did not exit on request, terminated
    INFO | wrapper | 2013/01/16 20:33:47 | JVM exited on its own while waiting to kill the application.
    DEBUG | wrapper | 2013/01/16 20:33:47 | Signal trapped. Details:
    DEBUG | wrapper | 2013/01/16 20:33:47 | signal number=18 (SIGCHLD), source="unknown"
    DEBUG | wrapper | 2013/01/16 20:33:47 | Received SIGCHLD, checking JVM process status.
    STATUS | wrapper | 2013/01/16 20:33:47 | JVM exited in response to signal SIGKILL (9).
    DEBUG | wrapper | 2013/01/16 20:33:47 | JVM process exited with a code of 1, setting the wrapper exit code to 1.
    DEBUG | wrapperp | 2013/01/16 20:33:47 | server listening on port 32010.
    STATUS | wrapper | 2013/01/16 20:33:47 | <-- Wrapper Stopped
    Edited by: 982366 on Jan 16, 2013 9:21 PM

    Dear Satish,
    My email adds is : [email protected]
    Do u have any MSN or Yahoo Messenger, so you could guide me in real-time.
    I'm in Indonesia and my internet connection was extremly slow.
    I need to wait for 12 Hrs just to donwload the EXE. zip. And another 1 hours with failure installment process.
    I've told in the forum about my progress and still having difficulty to connect to the SQLPLUS in path.
    My aim is to get install iSQLPlus.
    I'm not urging you to assist me, just when you feel[b] free and happy, you can mail me back or chat online with me by providing me you messenger address.
    Thank you very much in advance for your geneoursity bow
    Warmest rgds,
    Harry.-

  • Need help with INSTEAD OF trigger on view

    Hi,
    I am trying to use INSTEAD OF on a view because I will be updating the calling table in my trigger, which will cause mutation. 
    I need to update attribute7 of another record based on the new attribute7 of the current record (record being updated in the form).  Below is my script.  My problem is it does not perform the update. 
    create or replace view xxont_oe_order_lines_vw as select * from oe_order_lines_all;
    CREATE OR REPLACE TRIGGER APPS.xxont_sync_ard
    instead of insert or update on xxont_oe_order_lines_vw
    referencing
    new as new
    old as old
    for each row
    begin
       update oe_order_lines_all
           set attribute7 = :new.attribute7
       where attribute18 = to_char(:new.header_id)
          and attribute17 = to_char(:new.line_id)
          and flow_status_code <> 'CANCELLED' ;      
      /*exception
      when others then
         null ;
      end ;*/        
    end ;

    Always make your code developer friendly. Do extensive code instrumentation. At lease you can do this.
    create or replace trigger apps.xxont_sync_ard
    instead of insert or update on xxont_oe_order_lines_vw
    referencing
    new as new
    old as old
    for each row
    declare
       zero_update exception;
    begin
       update oe_order_lines_all
          set attribute7 = :new.attribute7
        where attribute18 = to_char(:new.header_id)
          and attribute17 = to_char(:new.line_id)
          and flow_status_code <> 'CANCELLED' ;
       if sql%rowcount = 0 then
         raise zero_update;
       end if;
    exception
      when zero_update then
         raise_application_error
               -20001
             , 'OE_ORDER_LINES_ALL: 0 rows updated attribute18 = "'
               || attribute18
               || '" attribute17 = "'
               || to_char(:new.line_id)
               || '"'
    end ;
    This will help you raise error when the update does not update any row. This is just an example, make sure if this is what your requirement wants if you want to implement it. If you don't want to raise error then you can just log it in a log table or log file.

  • Need Help in Insted of trigger

    Hi FrinedsHi All
    i had created one view based on four different tables.Now to enter the data in load i had successfully created INSTEAD OF TRIGGER on view.But data load into tables but when i try to see data in view then its shows me nothing.
    so why my data not load in view but lad into four diff tables.
    ---VIEW CODE
    CREATE OR REPLACE FORCE VIEW "VIEW_WELL_GENERATOR_FORM" ("WEL_PK", "STA_PK", "PER_PK", "FAC_PK", "WELL_TYPE", "WELL_TYPE_DATE", "OPER_STATUS", "STATUS_DATE", "CLASS", "SITE", "FAC_TYPE", "AUT_STATUS") AS
    select     "WELL"."WEL_PK" as "WEL_PK",
    "WELL_STATUS"."STA_PK" as "STA_PK",
    "PERMIT"."PER_PK" as "PER_PK",
    "FACILITY"."FAC_PK" as "FAC_PK",
    "WELL_STATUS"."WELL_TYPE" as "WELL_TYPE",
    "WELL_STATUS"."WELL_TYPE_DATE" as "WELL_TYPE_DATE",
    "WELL_STATUS"."OPER_STATUS" as "OPER_STATUS",
    "WELL_STATUS"."STATUS_DATE" as "STATUS_DATE",
    "WELL_STATUS"."CLASS" as "CLASS",
    "WELL"."SITE" as "SITE",
    "FACILITY"."FAC_TYPE" as "FAC_TYPE",
    "PERMIT"."AUT_STATUS" as "AUT_STATUS"
    from     "FACILITY" "FACILITY",
    "PERMIT" "PERMIT",
    "WELL_STATUS" "WELL_STATUS",
    "WELL" "WELL"
    where "WELL"."WEL_PK"="WELL_STATUS"."WEL_FK"
    and     "PERMIT"."WEL_FK"="WELL"."WEL_PK"
    and     "FACILITY"."FAC_PK"="WELL"."FAC_FK"
    ---INSTEAD OF TRIGGER CODE...
    CREATE OR REPLACE TRIGGER "WELL_GENERATOR_TRIGGER_1"
    INSTEAD OF INSERT ON VIEW_WELL_GENERATOR_FORM
    FOR EACH ROW
    DECLARE
    rowcnt number;
    BEGIN
    INSERT INTO facility (FAC_PK) VALUES (:NEW.FAC_PK);
    SELECT COUNT(*) INTO rowcnt FROM WELL WHERE WEL_PK = :NEW.WEL_PK;
    IF rowcnt = 0 THEN
    INSERT INTO WELL (SITE,FAC_FK) VALUES(:NEW.SITE,:NEW.FAC_PK);
    ELSE
    UPDATE WELL SET WELL.SITE = :NEW.SITE,
    WELL.FAC_FK = :NEW.FAC_PK
    WHERE WELL.WEL_PK = :NEW.WEL_PK;
    END IF;
    SELECT COUNT(*) INTO rowcnt FROM WELL_STATUS WHERE WELL_STATUS.STA_PK = :NEW.STA_PK;
    IF rowcnt = 0 THEN
    INSERT INTO WELL_STATUS (WELL_TYPE, WELL_TYPE_DATE, OPER_STATUS, CLASS,WEL_FK)
    VALUES(:NEW.WELL_TYPE, :NEW.WELL_TYPE_DATE, :NEW.OPER_STATUS, :NEW.CLASS,:NEW.WEL_PK);
    ELSE
    UPDATE WELL_STATUS SET WELL_STATUS.WELL_TYPE = :NEW.WELL_TYPE,
    WELL_STATUS.WELL_TYPE_DATE = :NEW.WELL_TYPE_DATE,
    WELL_STATUS.OPER_STATUS = :NEW.OPER_STATUS,
    WELL_STATUS.CLASS = :NEW.CLASS,
    WELL_STATUS.WEL_FK = :NEW.WEL_PK
    WHERE STA_PK = :NEW.STA_PK;
    END IF;
    SELECT COUNT(*) INTO rowcnt FROM PERMIT WHERE PERMIT.PER_PK = :NEW.PER_PK;
    IF rowcnt = 0 THEN
    INSERT INTO PERMIT (AUT_STATUS,WEL_FK) VALUES (:NEW.AUT_STATUS,:NEW.WEL_PK);
    ELSE
    UPDATE PERMIT SET PERMIT.AUT_STATUS = :NEW.AUT_STATUS,
    PERMIT.WEL_FK = :NEW.WEL_PK
    WHERE PERMIT.PER_PK = :NEW.PER_PK;
    END IF;
    Thanks

    As for adding members to the outline, you can either do it manually (not too painful for a Time Periods dimension), or if you have the members you need in a file, or available via SQL, then load 'em up using a Load Rule. Using the Parent/Child relationship is one of the preferred methods, but that means your source data needs to be in a parent / child relationship.
    There are other ways in the load rule, Generation, Level, etc, but if your source data isn't very good these methods of building the dimension can be a little harder to control.
    Here's a link to the DBAG for dataload rules.
    http://download.oracle.com/docs/cd/E10530_01/doc/epm.931/html_esb_dbag/frameset.htm?ddlintro.htm
    Edited by: RobertR3 on Apr 13, 2011 8:36 AM

  • I need help making a timed trigger to update fees automaticly once a week

    CREATE OR REPLACE TRIGGER set_fine AFTER UPDATE OF amountowed ON fines
    DECLARE
    BEGIN
    :new.amountowed := (:new.amountowed) + sysdate + (((10/(24*60)));
    END;
    CREATE OR REPLACE TRIGGER set_fine
    AFTER UPDATE OF fines ON amountowed
    DECLARE
    BEGIN
    update amountowed += 10 WHEN sysdate == sysdate + (((10/(24*60)));
    END;
    I've never done triggers before and i don't get any errors when i try to create these but they don't work (I have to hit Ctrl+c), Is it syntax or structure that doesn't work? sysdate isnt a value i want to use the generic date used in oracle. In this example fees will be updated ever 10 minutes I found " sysdate + (((10/(24*60)));" in another forum I can't remember where exactly.
    My tutor said my syntax is wrong and I need to fix it, any help?

    Is it syntax or structure that doesn't work?yes ;)
    Your syntax is wrong.
    You want to update a certain value every ten minutes? Then the structure is also wrong. In this case you'll want a job (DBMS_JOB) which fires every ten minutes.

  • Need help with Drop Down Menu _ URGENT!!

    Hello -
    I'm new to Dreamweaver. I actually have an old version
    (Dreamweaver MX 2004).
    I'm updating a website for work and this needs to be done as
    soon as possible so I'd appreciate if anyone can be so kind as to
    shed light on ANYTHING. =/
    This is what I need:
    I need a drop down menu; when a selection is chosen, I need
    information regarding that selection to appear on the bottom of the
    page. (I am working off an Excel sheet - it has list of service
    descriptions along w/ the unit price, frequency & other fields.
    So If I chose "database hosting" off the drop down list,
    information would be generated (ie. it's corresponding unit price,
    frequencies, etc.)
    I've attached an example of a code but I cannot use that code
    (which has JavaScript) to tweak what I need exactly.
    I am VERY new to this so if anybody can help be out I would
    GREATLY appreciate it.
    Thanks!!

    >I buy all their stuff as it
    > is excellent.
    Double Ditto!
    Walt
    "Paul Gillard" <[email protected]> wrote in
    message
    news:gedcoi$d65$[email protected]..
    > Hi
    > To be honest, the very best thing you can do is to get
    hold of a DW
    > extension
    > from
    http://www.projectseven.com
    and then you will be able to have a
    > completely
    > editable 'easy to implement' drop-down menu system! I
    buy all their stuff
    > as it
    > is excellent.
    >
    > Cheers
    > Paul
    >

  • Need Help to Draw and Drag Triangle - URGENT

    Hi everyone - I am developing various proofs of the pythagora's theorem
    and the following code draws a triangle on screen and the proof follows -
    but i need to know how to drag the triangle such tht 1 angle is always set to 90 degrees.
    i.e. i need to resize the triangle by dragging its vertex points by which the1 angle remains at 90 no matter what the size.
    The proof has got some graphics code hardcoded in it - i.e. LINES AND POLYGONS have been hardcoded
    i need to reconfigure that such that everytime the user increases the size of the triagnle and clicks on next it draws the lines and polygons in the correct area and place
    PLEASE HELP
    the code is as follows
    MAIN CLASS
    import java.awt.BorderLayout;
    import java.awt.Container;
    import java.awt.*;
    import java.awt.event.*;
    import java.text.*;
    import javax.swing.*;
    public class TestProof {
        TestControl control;          // the controls for the visual proof
        TestView view;          // the drawing area to display proof
        // called upon class creation
        public TestProof() {
            view = new TestView();
    view.setBackground(Color.WHITE);
            control = new TestControl(view);
            Frame f = new Frame("Pythagoras");
            f.add(view,"Center");
            f.add(control,"South");
            f.setSize(600,600);
            f.setBackground(Color.lightGray);
            f.addMouseMotionListener(
            new MouseMotionListener() { //anonymous inner class
                //handle mouse drag event
                public void mouseMoved(MouseEvent e) {
                    System.out.println("Mouse  " + e.getX() +","  + e.getY());
                public void mouseDragged(MouseEvent e) {
                    System.out.println("Draggg: x=" + e.getX() + "; y=" + e.getY());
            JMenu File = new JMenu("File");
            JMenuItem Exit = new JMenuItem("Exit");
            Exit.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    ExitActionPerformed(evt);
            JMenuBar menuBar = new JMenuBar();
            menuBar.add(File);
       File.add(Exit);
            f.add(menuBar,"North");
            f.show();
        private JMenuBar getMenuBar() {
            JMenu File = new JMenu("File");
            JMenuItem Exit = new JMenuItem("Exit");
            Exit.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    ExitActionPerformed(evt);
            JMenuBar menuBar = new JMenuBar();
            menuBar.add(File);
                 File.add(Exit);   
            return menuBar;
        private void ExitActionPerformed(java.awt.event.ActionEvent evt) {
            // TODO add your handling code here:
            System.exit(0);
        // for standalone use
        public static void main(String args[]) {
      TestProof TP = new TestProof();
    }Test VIEW
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.geom.*;
    import java.text.*;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    public class TestView extends Canvas {
        int TRANSLUCENT = 1;
        int sequence;          // sequencer that determines what should be drawn
        // notes matter
        int noteX = 100;     // note coordinates
        int noteY = 60;
        int fontSize = 11;     // font size
        int lineSpacing     // space between two consecutive lines
        = fontSize + 2;
        Font noteFaceFont;     // font used to display notes
        // objects matter
        Polygon tri;          // right-angled triangle with sides A, B, and C
        Polygon tri1;
        Polygon sqrA;          // square with side of length A
        Polygon sqrB;          // square with side of length B
        Polygon sqrC;          // square with side of length C
        Polygon parA;          // parallelogram of base A and height A
        Polygon parB;          // parallelogram of base B and height B
        Polygon poly1;
        Polygon poly2;
        Polygon poly3;
        Polygon poly4;
        Polygon poly5;
        Polygon poly6;
        int X0 = 350;          // coordinates of triangle
        int Y0 = 350;
        int A = 90;//60;          // triangle size
        int B = 120;//80;
        int C = 150;//100;
        //CORDS of 2nd triangle
        int X1 = 350;
        int Y1 = 500;
        // notes: three lines per note
        String notes[] = {
            // note 0
            // note 1
            // note 2
            // note 3
            // note 4
            // note 5
            // note 6
            // note 7
            // note 8
            // note 9
            // note 10
            // note 11
            // note 12
            // note 13
            // note 14
        // constructor
        public TestView() {
            addMouseMotionListener(
            new MouseMotionListener() { //anonymous inner class
                //handle mouse drag event
                public void mouseMoved(MouseEvent e) {
                    System.out.println("Mouse  " + e.getX() +","  + e.getY());
                public void mouseDragged(MouseEvent e) {
                    System.out.println("Draggg: x=" + e.getX() + "; y=" + e.getY());
            // set font
            noteFaceFont = new Font("TimesRoman", Font.PLAIN, fontSize);
            // (coordinates specified w.r.t. to P0, unless otherwise specified)
            // create the triangle
            tri = new Polygon();
            tri.addPoint(0, 0);                    // add P0 coordinate
            tri.addPoint(A*A/C, -A*B/C);          // add A3 coordinate
            tri.addPoint(C, 0);                    // add C1 coordinate
            tri.translate(X0, Y0);               // place triangle
            tri1 = new Polygon();
            tri1.addPoint(0,0);                    // add P0 coordinate
            tri1.addPoint(A*A/C +38, +A*B/C);          // add A3 coordinate
            tri1.addPoint(C, 0);                    // add C1 coordinate
            tri1.translate(X1, Y1);
            // create square of side A
            sqrA = new Polygon();
            sqrA.addPoint(0, 0);               // add P0 coordinate
            sqrA.addPoint(-A*B/C, -A*A/C);          // add A1 coordinate
            sqrA.addPoint(-A*(B-A)/C, -A*(A+B)/C);     // add A2 coordinate
            sqrA.addPoint(A*A/C, -A*B/C);          // add A3 coordinate
            sqrA.translate(X0, Y0);               // place square
            // create square of side B
            // warning: the coordinate of this object are specified relative to C1
            sqrB = new Polygon();
            sqrB.addPoint(0, 0);               // add C1 coordinate
            sqrB.addPoint(B*A/C, -B*B/C);          // add B1 coordinate
            sqrB.addPoint(B*(A-B)/C, -B*(A+B)/C);     // add B2 coordinate
            sqrB.addPoint(-B*B/C, -B*A/C);          // add A3 coordinate
            sqrB.translate(X0 + C, Y0);               // place square
            // create square of side C
            sqrC = new Polygon();
            sqrC.addPoint(0, 0);               // add P0 coordinate
            sqrC.addPoint(C, 0);               // add C1 coordinate
            sqrC.addPoint(C, C);               // add C2 coordinate
            sqrC.addPoint(0, C);               // add C3 coordinate
            sqrC.translate(X0, Y0);               // place square
            poly1 = new Polygon();
            poly1.addPoint(405,279);
            poly1.addPoint(413,350);
            poly1.addPoint(432,500);
            poly1.addPoint(442,571);
            poly1.addPoint(500,500);
            poly1.addPoint(500,350);
            poly2 = new Polygon();
            poly2.addPoint(279,297);
            poly2.addPoint(404,280);
            poly2.addPoint(571,254);
            poly2.addPoint(500,350);
            poly2.addPoint(350,350);
            //Polygon 3
            poly3 = new Polygon();
            poly3.addPoint(404,280);
            poly3.addPoint(350,350);
            poly3.addPoint(414,350);
            poly4 = new Polygon();
            poly4.addPoint(350,350);
            poly4.addPoint(350,500);
            poly4.addPoint(442,572);
            poly4.addPoint(433,500);
            poly4.addPoint(414,350);
            poly5 = new Polygon();
            poly5.addPoint(476,183);
            poly5.addPoint(332,225);
            poly5.addPoint(278,295);
            poly5.addPoint(404,279);
            poly5.addPoint(571,254);
            poly6= new Polygon();
            poly6.addPoint(405,278);
            poly6.addPoint(332,224);
            poly6.addPoint(476,182);
            // create parallelogram of height A
            parA = new Polygon();
            parA.addPoint(0, 0);               // add P0 coordinate
            parA.addPoint(0, C);               // add C3 coordinate
            parA.addPoint(A*A/C, C - A*B/C);          // add Q0 coordinate
            parA.addPoint(A*A/C, -A*B/C);          // add A3 coordinate
            parA.translate(X0,Y0);               // place parallelogram
            // create parallelogram of height B
            // warning: the coordinate of this object are specified from C1
            parB = new Polygon();
            parB.addPoint(0, 0);               // add C1 coordinate
            parB.addPoint(-B*B/C, -B*A/C);          // add A3 coordinate
            parB.addPoint(A*A/C - C, C - A*B/C);     // add Q0 coordinate
            parB.addPoint(0, C);               // add C2 coordinate
            parB.translate(X0 + C, Y0);
            // place parallelogram
        // depending on the sequence number we draw certain objects
        public void paint(Graphics gfx) {
            super.paint(gfx);
            Graphics2D g = (Graphics2D) gfx;
            g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
            RenderingHints.VALUE_ANTIALIAS_ON);
            // text first, then objects (and animation)
            // we always output some notes
            g.drawString(notes[3*sequence], noteX, noteY);
            g.drawString(notes[3*sequence + 1], noteX, noteY + lineSpacing);
            g.drawString(notes[3*sequence + 2], noteX, noteY + 2*lineSpacing);
            // the object are drawn in an order so that they are properly overlapped
            if(sequence == 13) {
                g.setColor(Color.green);
                g.fillPolygon(poly1);
                g.fillPolygon(poly2);
                g.fillPolygon(poly3);
                g.fillPolygon(poly4);
                g.fillPolygon(poly5);
                g.setColor(Color.RED);
                g.setColor(Color.GREEN);
                g.drawLine(413,351,433,499);
                g.setColor(Color.white);
                g.fillPolygon(tri);
                g.fillPolygon(tri1);
                g.fillPolygon(poly6);
            if(sequence == 12 ) {
                g.setColor(Color.green);
                g.fillPolygon(poly1);
                g.fillPolygon(poly2);
                g.fillPolygon(poly3);
                g.fillPolygon(poly4);
                g.fillPolygon(poly5);
                g.setColor(Color.BLACK);
            if(sequence == 11){
                g.setColor(Color.green);
                g.fillPolygon(poly1);
                g.fillPolygon(poly3);
                g.fillPolygon(poly4);
                g.setColor(Color.BLACK);
            if(sequence == 8 ){
                g.setColor(Color.green);
                g.fillPolygon(poly5);
                g.setColor(Color.MAGENTA);
                g.drawString("E",578,254);
                g.drawString("D",268,302);
                g.setColor(Color.black);
                g.drawArc(250,150,350,250,320,65);
            else if (sequence == 9 ){
                g.setColor(Color.green);
                g.fillPolygon(poly2);
                g.setColor(Color.MAGENTA);
                g.drawString("E",578,254);
                g.drawString("D",268,302);
                g.setColor(Color.black);
                g.drawArc(250,150,350,250,320,65);
            if( sequence == 10){
                g.setColor(Color.green);
                g.fillPolygon(poly2);
                g.fillPolygon(poly5);
                g.setColor(Color.black);
                g.setColor(Color.MAGENTA);
                g.drawString("E",578,254);
                g.drawString("D",268,302);
                g.setColor(Color.black);
                g.drawArc(250,150,350,250,320,65);
            if(sequence == 7){
                g.setColor(Color.green);
                g.fillPolygon(poly2);
                g.setColor(Color.MAGENTA);
                g.drawString("E",578,254);
                g.drawString("D",268,302);
                g.setColor(Color.black);
            if(sequence == 6){
                g.setColor(Color.yellow);
                g.fillPolygon(poly2);
                g.setColor(Color.green);
                g.fillPolygon(poly3);
                g.setColor(Color.blue);
                g.fillPolygon(poly4);
                g.setColor(Color.black);
                g.drawArc(250,175,350,275,300,65);
                //g.drawArc(250,150,350,250,320,65);
                g.drawLine( 606,309,599,299);
                g.drawLine(592,313, 599,299);
                g.drawString("+90 degrees",605,378);
            if (sequence == 5 ) {
                g.setColor(Color.yellow);
                g.fillPolygon(poly2);
                g.setColor(Color.black);
            if (sequence == 4) {
                g.setColor(Color.YELLOW);
                g.fillPolygon(poly1);
                g.setColor(Color.black);
                g.drawArc(319,310,250,195,89,-35);
                g.drawLine(499,319, 492,312);
                g.drawLine(499,319, 492,325);
                g.drawArc(200,180, 233,238,-120,-60);
                g.drawLine(200,298, 208,309);
                g.drawLine(200,298, 194,313);
                g.drawString("-90 degrees",227,347);
            if (sequence >= 3) {
                g.drawLine(404,279,442,572);
            // draw the squares
            if (sequence >= 2) {
                g.drawLine(278,296,572,254);
            // draw the squares
            if (sequence >= 1) {
                g.drawLine(333,224,476,182);
                g.drawPolygon(tri1);
            // always draw the triangle
            g.drawPolygon(tri);
            g.drawPolygon(sqrA);
            g.drawPolygon(sqrB);
            g.drawPolygon(sqrC);
            g.setColor(Color.MAGENTA);
            g.drawString("C", X0 + C/2 - fontSize/2, Y0 + lineSpacing);
            g.drawString("A",
            X0 + A*A/(2*C) - fontSize*A/B/2,
            Y0 - A*B/(2*C) - lineSpacing*A/B);
            g.drawString("B",
            X0 + C - B*B/(2*C) - fontSize*A/B/2,// the last "-" isn't log.
            Y0 - B*A/(2*C) - lineSpacing*A/B);
        public void redraw(int sequence) {
            this.sequence = sequence;
            repaint();
    }TEST CONTROL
    * TestControl.java
    * Created on 28 February 2005, 11:16
    import java.awt.*;
    import java.awt.event.*;
    import java.text.*;
    import javax.swing.JFrame;
    * @author  Kripa Bhojwani
    public class TestControl extends Panel implements ActionListener {
      TestView view;
      int sequence;                    // event sequence
      // constructor
      public TestControl(TestView view) {
        Button b = null;
        Label label = new Label("A^2 ");
        this.view = view;          // initialize drawble area
        sequence = 0;               // initialize sequence
        b = new Button("Prev");
        b.addActionListener(this);
        add(b);
        b = new Button("Next");
        b.addActionListener(this);
        add(b);
        add(label);
      // exported method
      public void actionPerformed(ActionEvent ev) {
        String label = ev.getActionCommand();
        if (label.equals("Prev")) {
          if (sequence >0) {
         --sequence;
        else {
          if (sequence < 15) {
         ++sequence;
        this.setEnabled(false);          // disable the controls
        view.redraw(sequence);
        this.setEnabled(true);          // enable the controls
    }Please help --- really need to sort this out...
    THANKS

    One of the problems you face is that it is hard to recognise which parts of your code are drawing the triangle. This is because you are writing code in a procedural way rather than an object oriented way.
    In object oriented code you would have a triangle object that could draw itself. You would create the triangle object by specifying its sizes and angles in some way. Then it should be easy to change the triangles sizes and angles and ask all the drawn objects to redraw themselves.

  • Need help in Payroll Tax Balance Issue - Urgent

    Hi,
    Please help me with the following Tax and Balance issue. The system is on 12.0.3, South African Legislation.
    Issue : Salary has been restructured from Basic Salary to Total package structure in Dec 2008. Retro Pay was used to pay the difference amounts in Dec Run. But while configuring the new Elements for this Total Package they have missed out adding the Retro Elements to Proper Tax calculating Balances.
    Eg : "TP Salary" element is fed to "Taxable Income RFI" balance but "TP Retro Salary" element is not fed to this balance.
    So tax has not been calculated for those Retro amounts. This has been identified while validating test run for IRP5 tax certificates.
    The Feb 09 (Feb is the Tax year End for payroll) Payroll was already run on 10th and payments were already done. Now we need to tax the retro amounts and retrieve the balance tax amounts from Employees.
    I added the proper tax balances to those Retro elements and and the balances were adjusted to add the Retro amounts. Then I ran the Feb run the payroll again as of 20th, it did not recalculate the tax.
    How to recalculate the tax so that correct tax reflects in the Tax certificates? Please help me with the necessary Info.
    Thanks,
    Sri.

    Hi,
    As I mentioned earlier, I added the appropriate balances which are used to calculate Tax to Retro Elements and those Balances got updated with the delta amount but Tax was not updated. I want to know is there any process provided by Oracle using which Tax for those already paid amounts can be recalculated.
    I calculated the Tax manually and using Adjust Balance form added ZA_TAX_BALANCE_ADJUSTMENT Element and given the difference tax amount in PAYE and Tax Input values and saved the form. The Tax got updated.
    Tax_ASG_RUN - 15000
    Tax_ASG_TAX_YTD - 153257.32 (Prev - 138257.32). When I run the IRP5 (Tax Certificate Process) the tax is also getting correctly on it.
    But client wants Oracle to calculate the Tax for those retro amounts so thats the challenge.
    Could you help me with this.
    Thanks,
    Sri

Maybe you are looking for

  • Creation of PO's from Oracle Order Management

    Required Business Scenario Customer orders are received via the internet and imported into Oracle Order Management via an open interface table. The customer orders are processed by Oracle OM and converted to Purchase Orders which are then sent to sup

  • Mac Pro- 2 monitor Time Machine screen redraw issue

    Late 2013 Mac Pro OSX V. 10.10.3 (which includes the supplemental install that came a week later) 30 Inch Cinema HD Display 23 Inch Cinema HD Display When I enter Time Machine I see the attached image on my 30 inch display (my primary display). the 2

  • Add 60 days to a date

    Hi! I have a date object called "CLOSED_DATE" that I get from av database view. I would like to add 60 days to this date. If CLOSED_DATE = "20080501", the new date should be "20080629", that should be put into a variable (NEW_DATE) for futher use Tha

  • Ichat av 3.1.5 (v436) cant make my video work

    Hey! Wow, already plenty of topics on this issue. But I tried some things of them and it still doesnt work. I am one of those new-maccers, and was never to good with pcs - and now not so good with mac. Ok, i have one of the new macbooks with built in

  • Support pakages and patch sap web dispatcher

    Hi, I have install sap web dispatcher on a sap server on abap stack. I have download support packages for web dispatcher form sap mark. Anybody know how can I patch web dispatcher with u201Csapwebdisp_86-20003979.saru201D file..  Thanks for any help.