Hiding the trigger execution message

dear all
i have build an application
i have made a database trigger to stop the DML at a particular event
now the problem is that the DML is stopped at that time but in sql plus there comes an error message restricting the DML entry with the caption
"ERROR OCCURED DURING THE EXECUTION OF TRIGGER ....."
friends , I want to hide this message but trigger must function properly.
is there any method to hide this message from sql plus,either by user-defined exception, non predefined exception or by any other way,
please i mean DML should stop but no trigger indication should be there.
plz think over it
thanks

dear all
i have build an application
i have made a database trigger to stop the DML at a particular event
now the problem is that the DML is stopped at that time but in sql plus there comes an error message restricting the DML entry with the caption
"ERROR OCCURED DURING THE EXECUTION OF TRIGGER ....."
friends , I want to hide this message but trigger must function properly.
is there any method to hide this message from sql plus,either by user-defined exception, non predefined exception or by any other way,
please i mean DML should stop but no trigger indication should be there.
plz think over it
thanks

Similar Messages

  • Where is the location of the trigger's message

    I want to find the following trigger's message , as well edit it.
    U2$FORM_ERRORS.PUSH('CON-12210', 'I', 'OFG', 0);
    RAISE FORM_TRIGGER_FAILURE;
    ***message content like that "information:your invoice data is not found for this query..."***
    I couldn't see any message in the forms file(also database).
    is it located at library?
    or
    is it located at the repository? if say so, would you tell me how to go there?
    thank you so much in advance.
    p.s.
    I do find some package in the library(procedure,function)
    I can not find the message written..
    " U2$FORM_ERRORS.PUSH(err_type||'-'||to_char(err_code)||': '||server_msg, 'M', 'OFG', 0);
        U2$FORM_ERRORS.RAISE_FAILURE;"
    PACKAGE U2$form_errors IS
    procedure raise_failure;
    procedure push(msg      in varchar2,
                    p_error    in varchar2 default 'I',
                    msg_type in varchar2 default '',
                    msgid    in integer  default 0,
                    loc      in varchar2 default '');
    [/PRE]Message was edited by:
            Jin
    Message was edited by:
            Jin
    Message was edited by:
            Jin                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    Is this from Oracle Applications? You might have better luck asking there. I would guess that u2$form_errors is a package, probably in a library.

  • I've got the solution for hiding the "Unread BBM Messages icon" on top of your Homescreen

    I previously posted a Question about how to delete the icon that shows that i have unread BBM message when I dont really have any unread message. Unfortunetaly no one was able to help me but anyway here is the solution:
    1- Press Alt  + LGLG and then Press the Menu button -->  Clear log --> Delete.
    2-Go to yuor Menu --> Options --> Secuirity Options --> Advanced Secuirity Options --> Memory Cleaning --> click Menu button on your phone and choose Clean now  and then wait till all the categories are checked
    3- Optional** But it sometimes help your phone work faster. Go to your Blackberry Messenger and then go to your blocked list and mark them all and delete them from your list.
    Now finally restart your mobile by either taking the battery off or Alt + aA + Del.
    If this have solved your problem please click on the Kudo Star
    Happy Blackberrying ;P
    May B.
    2204DB3E

    #1 and 2 have nothing to do with clearing unread BlackBerry Messenger notifications.
    #3 certainly can can clear unread BBM notifications.
    #2 Memory Cleaning does nothing but wipe your already-deleted memory space to a higher security allowance or government specification (and quite frankly is worthless to the average user unless they want to hide something like p0rn or messages/information related to illegal activity they don't wish a law enforcement agency to have access to.
    1. If any post helps you please click the below the post(s) that helped you.
    2. Please resolve your thread by marking the post "Solution?" which solved it for you!
    3. Install free BlackBerry Protect today for backups of contacts and data.
    4. Guide to Unlocking your BlackBerry & Unlock Codes
    Join our BBM Channels (Beta)
    BlackBerry Support Forums Channel
    PIN: C0001B7B4   Display/Scan Bar Code
    Knowledge Base Updates
    PIN: C0005A9AA   Display/Scan Bar Code

  • How to print the successful execution message

    hi all,
    I am doing the follwing....
    command = {"sh","-c","find /tmp/reports1 -name " + "\"" + "*" + "\"" + " -mtime +" + strdaysback + " -print|xargs rm 2>/dev/null"};
    Process proc = Runtime.getRuntime().exec(command);
    This is in an infinte loop,it is deleting files(which are strdaysback older) from the directory. It will run as a daemon. Now I want to print a message if it deletes any file.
    Please tell me how do I come to know, whether it is deleting any file or not......
    Thanking u in advance........

    this is very simple to do. no need to write that in any event.
    The place where you are writing code to display the 2nd 3rd lists, just below that write your END OF LIST Code.
    like,
    Lets assume,you have written this code for a 2nd list,
    then
    LOOP AT ITAB WHERE VBELN = V_VBELN.
    WRITE :/ ITAB.
    ENDLOOP.
    WRITE :/ 'END OF LIST OF',SY-LSIND.
    this END OF LIST OF 2 will be printed just after all records of ITAB is printed.
    Regards
    Srikanth

  • HT201413 suddenly itunes will not open and I get a message that the "Data Execution Prevention" is blocking itunes from opening....why????

    itunes will not open and I get a message that the "Data Execution Prevention (DEP)" feature in Windows is preventing it from opening. (this is after I've been using itunes for years???? If I try to manually deselect itunes from the DEP filter, of course I get a message that itunes cannot operate without the DEP active...another Catch 22 from the evil program designers....

    Go to Control Panel > Add or Remove Programs (Win XP) or Programs and Features (later)
    Remove all of these items in the following order:
    iTunes
    Apple Software Update
    Apple Mobile Device Support (if this won't uninstall move on to the next item)
    Bonjour
    Apple Application Support
    Reboot, download iTunes, then reinstall, either using an account with administrative rights, or right-clicking the downloaded installer and selecting Run as Administrator.
    The uninstall and reinstall process will preserve your iTunes library and settings, but ideally you would back up the library and your other important personal documents and data on a regular basis. See this user tip for a suggested technique.
    Please note:
    Some users may need to follow all the steps in whichever of the following support documents applies to their system. These include some additional manual file and folder deletions not mentioned above.
    HT1925: Removing and Reinstalling iTunes for Windows XP
    HT1923: Removing and reinstalling iTunes for Windows Vista, Windows 7, or Windows 8
    tt2

  • When I start iTunes on my home computer (Not a MAC), it automatically shuts down, and gives me the message that the Data Execution Prevention security feature has shut it down...what to do?

    When I start iTunes on my home computer (Not a MAC), it automatically shuts down, and gives me the message that the Data Execution Prevention security feature has shut it down...what to do?

    For general advice see Troubleshooting issues with iTunes for Windows updates.
    The steps in the second box are a guide to removing everything related to iTunes and then rebuilding it, which is often a good starting point unless the symptoms indicate a more specific approach. Review the other boxes and the list of support documents further down page in case one of them applies.
    Your library should be unaffected by these steps but there is backup and recovery advice elsewhere in the user tip.
    tt2

  • OSX Yosemite: cmd-M no longer showing/hiding the messages app

    OSX Yosemite: cmd-M no longer showing/hiding the messages app. Is there a new shortcut to get this to work?

    Remove Office 2008 for Mac using Microsoft deinstall procedure. Reinstall Office 2008 for Mac.  If there are updates, apply them. Using Disk Utility, verify/repair permissions on your boot drive.
    Does Office for Mac 2008 now work correctly? If not, you may want to repeat the above first sentence, and then update to Office for Mac 2011, and apply the latest (14.4.8) update which has Yosemite fixes.

  • Hiding the #error message from a member column

    Hey guys,
    The issue is mainly the member formula column showing the basic #error message in the cell upon intentionally messing with the values. It's pretty natural, but I'm looking to hide that error message, though I forgot how. I'm sure it's pretty simple.
    I'm using Hyperion 11.1.2.1.0.83
    Thanks again!
    Edited by: 922290 on 20-Mar-2012 22:40
    Edited by: 922290 on 20-Mar-2012 22:51

    You could have a look at the following post to get some ideas, it is not exactly the same issue but may help Re: #error in formula row of the form sum([1])/2
    There is also the IsError function, more info at http://docs.oracle.com/cd/E17236_01/epm.1112/hp_admin/apcs03s09.html
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Hiding the Content of the Text message

    Salam to all , I have upgraded my iphone's iso to iso7. When the text or call comes by some one , the content of the text or name of the caller comes on the main screen. I want to hide the content of the text and name of the caller.

    Settings > Notification Center > Phone >
         ALERT STYLE > None
         Show in Notification Center: OFF
         Show on Lock Screen: OFF
    Do the same for Messages. 

  • Show a insert trigger error message on a compiled form

    Good Morning
    Is there any way to get a oracle complied form to display a message
    from a trigger insert event.
    My problem is that we have proprietry oracle froms application (with compiled
    forms and no source code. I need to raise some sort of warning message
    from the form when certain condition occurs.
    I have tried using some code like below in the trigger
    but the dbms_output.put_line does not output anything
    nor the EXCEPTION
    DECLARE MY_ERROR exception;
    begin
    DBMS_OUTPUT.ENABLE;
    dbms_output.put_line('outputting this message');
    raise MY_ERROR;
    EXCEPTION
    WHEN others THEN Raise;
    END;
    thanks
    David Hills

    You don't need to get at the source code of the form. The example you gave will stop the execution of any process and you said it should happen for an insert event. So a Raise_Application_Error in a database trigger would be sufficient.
    Hopefully the vendor has put code in their on-error triggers which will cut the message out of a user-defined exception and display it as an alert (this is so much a better method than returning numbers to indicate success or type of failure). If not then the message will be rather ugly but it will at least get the job done.
    James.

  • I am using a 2003 eMac and am running on Mac OSX  vs 10.4.11. iTunes is not recognizing music I have purchased and when I try to connect when it request me to I get the following error message:  Cannot complete i Tunes Store request. A required iTunes com

    I am using a 2003 eMac and am running on Mac OSX  vs 10.4.11. I amrunning iTunes 8.2.1 (6) and not able to upgrade iTunes on this computer. iTunes is not recognizing music I have purchased and when I try to connect when it request me to I get the following error message:
    Cannot complete  iTunes Store request. A required iTunes component is not installed (-42404)
    Please help.

    Is this music purchased back in DRM days? I don't actually have any iTunes music so I can't test with my iTunes 7.5, but I know that without iTunes 10 you cannot even connect to the store anymore.  I wouldn't think that would require an active connection to the store all the time, otherwise how could you play music on a computer in the middle of nowhere?  Did you do something to trigger iTunes suddenly wanting to connect and check on machine authorization?

  • Need to increase performance-bulk collect in cursor with limit and in the for loop inserting into the trigger table

    Hi all,
    I have a performance issue in the below code,where i am trying to insert the data from table_stg into target_tab and in parent_tab tables and then to child tables via cursor with bulk collect .the target_tab and parent_tab are huge tables and have a row wise trigger enabled on it .the trigger is mandatory . This timetaken for this block to execute is 5000 seconds.Now my requirement is to reduce it to 5 to 10 mins.
    can someone please guide me here.Its bit urgent .Awaiting for your response.
    declare
    vmax_Value NUMBER(5);
      vcnt number(10);
      id_val number(20);
      pc_id number(15);
      vtable_nm VARCHAR2(100);
      vstep_no  VARCHAR2(10);
      vsql_code VARCHAR2(10);
      vsql_errm varchar2(200);
      vtarget_starttime timestamp;
      limit_in number :=10000;
      idx           number(10);
              cursor stg_cursor is
             select
                   DESCRIPTION,
                   SORT_CODE,
                   ACCOUNT_NUMBER,
                     to_number(to_char(CORRESPONDENCE_DATE,'DD')) crr_day,
                     to_char(CORRESPONDENCE_DATE,'MONTH') crr_month,
                     to_number(substr(to_char(CORRESPONDENCE_DATE,'DD-MON-YYYY'),8,4)) crr_year,
                   PARTY_ID,
                   GUID,
                   PAPERLESS_REF_IND,
                   PRODUCT_TYPE,
                   PRODUCT_BRAND,
                   PRODUCT_HELD_ID,
                   NOTIFICATION_PREF,
                   UNREAD_CORRES_PERIOD,
                   EMAIL_ID,
                   MOBILE_NUMBER,
                   TITLE,
                   SURNAME,
                   POSTCODE,
                   EVENT_TYPE,
                   PRIORITY_IND,
                   SUBJECT,
                   EXT_PRD_ID_TX,
                   EXT_PRD_HLD_ID_TX,
                   EXT_SYS_ID,
                   EXT_PTY_ID_TX,
                   ACCOUNT_TYPE_CD,
                   COM_PFR_TYP_TX,
                   COM_PFR_OPT_TX,
                   COM_PFR_RSN_CD
             from  table_stg;
    type rec_type is table of stg_rec_type index by pls_integer;
    v_rt_all_cols rec_type;
    BEGIN
      vstep_no   := '0';
      vmax_value := 0;
      vtarget_starttime := systimestamp;
      id_val    := 0;
      pc_id     := 0;
      success_flag := 0;
              vstep_no  := '1';
              vtable_nm := 'before cursor';
        OPEN stg_cursor;
              vstep_no  := '2';
              vtable_nm := 'After cursor';
       LOOP
              vstep_no  := '3';
              vtable_nm := 'before fetch';
    --loop
        FETCH stg_cursor BULK COLLECT INTO v_rt_all_cols LIMIT limit_in;
                  vstep_no  := '4';
                  vtable_nm := 'after fetch';
    --EXIT WHEN v_rt_all_cols.COUNT = 0;
        EXIT WHEN stg_cursor%NOTFOUND;
    FOR i IN 1 .. v_rt_all_cols.COUNT
      LOOP
       dbms_output.put_line(upper(v_rt_all_cols(i).event_type));
        if (upper(v_rt_all_cols(i).event_type) = upper('System_enforced')) then
                  vstep_no  := '4.1';
                  vtable_nm := 'before seq sel';
              select PC_SEQ.nextval into pc_id from dual;
                  vstep_no  := '4.2';
                  vtable_nm := 'before insert corres';
              INSERT INTO target1_tab
                           (ID,
                            PARTY_ID,
                            PRODUCT_BRAND,
                            SORT_CODE,
                            ACCOUNT_NUMBER,
                            EXT_PRD_ID_TX,         
                            EXT_PRD_HLD_ID_TX,
                            EXT_SYS_ID,
                            EXT_PTY_ID_TX,
                            ACCOUNT_TYPE_CD,
                            COM_PFR_TYP_TX,
                            COM_PFR_OPT_TX,
                            COM_PFR_RSN_CD,
                            status)
             VALUES
                            (pc_id,
                             v_rt_all_cols(i).party_id,
                             decode(v_rt_all_cols(i).product_brand,'LTB',2,'HLX',1,'HAL',1,'BOS',3,'VER',4,0),
                             v_rt_all_cols(i).sort_code,
                             'XXXX'||substr(trim(v_rt_all_cols(i).ACCOUNT_NUMBER),length(trim(v_rt_all_cols(i).ACCOUNT_NUMBER))-3,4),
                             v_rt_all_cols(i).EXT_PRD_ID_TX,
                             v_rt_all_cols(i).EXT_PRD_HLD_ID_TX,
                             v_rt_all_cols(i).EXT_SYS_ID,
                             v_rt_all_cols(i).EXT_PTY_ID_TX,
                             v_rt_all_cols(i).ACCOUNT_TYPE_CD,
                             v_rt_all_cols(i).COM_PFR_TYP_TX,
                             v_rt_all_cols(i).COM_PFR_OPT_TX,
                             v_rt_all_cols(i).COM_PFR_RSN_CD,
                             NULL);
                  vstep_no  := '4.3';
                  vtable_nm := 'after insert corres';
        else
              select COM_SEQ.nextval into id_val from dual;
                  vstep_no  := '6';
                  vtable_nm := 'before insertcomm';
          if (upper(v_rt_all_cols(i).event_type) = upper('REMINDER')) then
                vstep_no  := '6.01';
                  vtable_nm := 'after if insertcomm';
              insert into parent_tab
                 (ID ,
                 CTEM_CODE,
                 CHA_CODE,            
                 CT_CODE,                           
                 CONTACT_POINT_ID,             
                 SOURCE,
                 RECEIVED_DATE,                             
                 SEND_DATE,
                 RETRY_COUNT)
              values
                 (id_val,
                  lower(v_rt_all_cols(i).event_type), 
                  decode(v_rt_all_cols(i).product_brand,'LTB',2,'HLX',1,'HAL',1,'BOS',3,'VER',4,0),
                  'Email',
                  v_rt_all_cols(i).email_id,
                  'IADAREMINDER',
                  systimestamp,
                  systimestamp,
                  0);  
         else
                vstep_no  := '6.02';
                  vtable_nm := 'after else insertcomm';
              insert into parent_tab
                 (ID ,
                 CTEM_CODE,
                 CHA_CODE,            
                 CT_CODE,                           
                 CONTACT_POINT_ID,             
                 SOURCE,
                 RECEIVED_DATE,                             
                 SEND_DATE,
                 RETRY_COUNT)
              values
                 (id_val,
                  lower(v_rt_all_cols(i).event_type), 
                  decode(v_rt_all_cols(i).product_brand,'LTB',2,'HLX',1,'HAL',1,'BOS',3,'VER',4,0),
                  'Email',
                  v_rt_all_cols(i).email_id,
                  'CORRESPONDENCE',
                  systimestamp,
                  systimestamp,
                  0); 
            END if; 
                  vstep_no  := '6.11';
                  vtable_nm := 'before chop';
             if (v_rt_all_cols(i).ACCOUNT_NUMBER is not null) then 
                      v_rt_all_cols(i).ACCOUNT_NUMBER := 'XXXX'||substr(trim(v_rt_all_cols(i).ACCOUNT_NUMBER),length(trim(v_rt_all_cols(i).ACCOUNT_NUMBER))-3,4);
              insert into child_tab
                 (COM_ID,                                            
                 KEY,                                                                                                                                            
                 VALUE)
              values
                (id_val,
                 'IB.Correspondence.AccountNumberMasked',
                 v_rt_all_cols(i).ACCOUNT_NUMBER);
             end if;
                  vstep_no  := '6.1';
                  vtable_nm := 'before stateday';
             if (v_rt_all_cols(i).crr_day is not null) then 
              insert into child_tab
                 (COM_ID,                                            
                 KEY,                                                                                                                                            
                 VALUE)
              values
                (id_val,
                 --'IB.Correspondence.Date.Day',
                 'IB.Crsp.Date.Day',
                 v_rt_all_cols(i).crr_day);
             end if;
                  vstep_no  := '6.2';
                  vtable_nm := 'before statemth';
             if (v_rt_all_cols(i).crr_month is not null) then 
              insert into child_tab
                 (COM_ID,                                            
                 KEY,                                                                                                                                            
                 VALUE)
              values
                (id_val,
                 --'IB.Correspondence.Date.Month',
                 'IB.Crsp.Date.Month',
                 v_rt_all_cols(i).crr_month);
             end if;
                  vstep_no  := '6.3';
                  vtable_nm := 'before stateyear';
             if (v_rt_all_cols(i).crr_year is not null) then 
              insert into child_tab
                 (COM_ID,                                            
                 KEY,                                                                                                                                            
                 VALUE)
              values
                (id_val,
                 --'IB.Correspondence.Date.Year',
                 'IB.Crsp.Date.Year',
                 v_rt_all_cols(i).crr_year);
             end if;
                  vstep_no  := '7';
                  vtable_nm := 'before type';
               if (v_rt_all_cols(i).product_type is not null) then
                  insert into child_tab
                     (COM_ID,                                            
                     KEY,                                                                                                                                        
                     VALUE)
                  values
                    (id_val,
                     'IB.Product.ProductName',
                   v_rt_all_cols(i).product_type);
                end if;
                  vstep_no  := '9';
                  vtable_nm := 'before title';         
              if (trim(v_rt_all_cols(i).title) is not null) then
              insert into child_tab
                 (COM_ID,                                            
                 KEY,                                                                                                                                            
                 VALUE )
              values
                (id_val,
                 'IB.Customer.Title',
                 trim(v_rt_all_cols(i).title));
              end if;
                  vstep_no  := '10';
                  vtable_nm := 'before surname';
              if (v_rt_all_cols(i).surname is not null) then
                insert into child_tab
                   (COM_ID,                                            
                   KEY,                                                                                                                                          
                   VALUE)
                values
                  (id_val,
                  'IB.Customer.LastName',
                  v_rt_all_cols(i).surname);
              end if;
                            vstep_no  := '12';
                            vtable_nm := 'before postcd';
              if (trim(v_rt_all_cols(i).POSTCODE) is not null) then
              insert into child_tab
                 (COM_ID,                                            
                 KEY,                                                                                                                                            
                 VALUE)                              
               values
                (id_val,
                 'IB.Customer.Addr.PostCodeMasked',
                  substr(replace(v_rt_all_cols(i).POSTCODE,' ',''),length(replace(v_rt_all_cols(i).POSTCODE,' ',''))-2,3));
              end if;
                            vstep_no  := '13';
                            vtable_nm := 'before subject';
              if (trim(v_rt_all_cols(i).SUBJECT) is not null) then
              insert into child_tab
                 (COM_ID,                                            
                 KEY,                                                                                                                                            
                 VALUE)                              
               values
                (id_val,
                 'IB.Correspondence.Subject',
                  v_rt_all_cols(i).subject);
              end if;
                            vstep_no  := '14';
                            vtable_nm := 'before inactivity';
              if (trim(v_rt_all_cols(i).UNREAD_CORRES_PERIOD) is null or
                  trim(v_rt_all_cols(i).UNREAD_CORRES_PERIOD) = '3' or
                  trim(v_rt_all_cols(i).UNREAD_CORRES_PERIOD) = '6' or
                  trim(v_rt_all_cols(i).UNREAD_CORRES_PERIOD) = '9') then
              insert into child_tab
                 (COM_ID,                                            
                 KEY,                                                                                                                                            
                 VALUE)                              
               values
                (id_val,
                 'IB.Correspondence.Inactivity',
                  v_rt_all_cols(i).UNREAD_CORRES_PERIOD);
              end if;
                          vstep_no  := '14.1';
                          vtable_nm := 'after notfound';
        end if;
                          vstep_no  := '15';
                          vtable_nm := 'after notfound';
        END LOOP;
        end loop;
                          vstep_no  := '16';
                          vtable_nm := 'before closecur';
        CLOSE stg_cursor;
                          vstep_no  := '17';
                          vtable_nm := 'before commit';
        DELETE FROM table_stg;
      COMMIT;
                          vstep_no  := '18';
                          vtable_nm := 'after commit';
    EXCEPTION
    WHEN OTHERS THEN
      ROLLBACK;
      success_flag := 1;
      vsql_code := SQLCODE;
      vsql_errm := SUBSTR(sqlerrm,1,200);
      error_logging_pkg.inserterrorlog('samp',vsql_code,vsql_errm, vtable_nm,vstep_no);
      RAISE_APPLICATION_ERROR (-20011, 'samp '||vstep_no||' SQLERRM:'||SQLERRM);
    end;
    Thanks

    Its bit urgent
    NO - it is NOT urgent. Not to us.
    If you have an urgent problem you need to hire a consultant.
    I have a performance issue in the below code,
    Maybe you do and maybe you don't. How are we to really know? You haven't posted ANYTHING indicating that a performance issue exists. Please read the FAQ for how to post a tuning request and the info you need to provide. First and foremost you have to post SOMETHING that actually shows that a performance issue exists. Troubleshooting requires FACTS not just a subjective opinion.
    where i am trying to insert the data from table_stg into target_tab and in parent_tab tables and then to child tables via cursor with bulk collect .the target_tab and parent_tab are huge tables and have a row wise trigger enabled on it .the trigger is mandatory . This timetaken for this block to execute is 5000 seconds.Now my requirement is to reduce it to 5 to 10 mins.
    Personally I think 5000 seconds (about 1 hr 20 minutes) is very fast for processing 800 trillion rows of data into parent and child tables. Why do you think that is slow?
    Your code has several major flaws that need to be corrected before you can even determine what, if anything, needs to be tuned.
    This code has the EXIT statement at the beginning of the loop instead of at the end
        FETCH stg_cursor BULK COLLECT INTO v_rt_all_cols LIMIT limit_in;
                  vstep_no  := '4';
                  vtable_nm := 'after fetch';
    --EXIT WHEN v_rt_all_cols.COUNT = 0;
        EXIT WHEN stg_cursor%NOTFOUND;
    The correct place for the %NOTFOUND test when using BULK COLLECT is at the END of the loop; that is, the last statement in the loop.
    You can use a COUNT test at the start of the loop but ironically you have commented it out and have now done it wrong. Either move the NOTFOUND test to the end of the loop or remove it and uncomment the COUNT test.
    WHEN OTHERS THEN
      ROLLBACK;
    That basically says you don't even care what problem occurs or whether the problem is for a single record of your 10,000 in the collection. You pretty much just throw away any stack trace and substitute your own message.
    Your code also has NO exception handling for any of the individual steps or blocks of code.
    The code you posted also begs the question of why you are using NAME=VALUE pairs for child data rows? Why aren't you using a standard relational table for this data?
    As others have noted you are using slow-by-slow (row by row processing). Let's assume that PL/SQL, the bulk collect and row-by-row is actually necessary.
    Then you should be constructing the parent and child records into collections and then inserting them in BULK using FORALL.
    1. Create a collection for the new parent rows
    2. Create a collection for the new child rows
    3. For each set of LIMIT source row data
      a. empty the parent and child collections
      b. populate those collections with new parent/child data
      c. bulk insert the parent collection into the parent table
      d. bulk insert the child collection into the child table
    And unless you really want to either load EVERYTHING or abandon everything you should use bulk exception handling so that the clean data gets processed and only the dirty data gets rejected.

  • Trigger execution of a CR report from SAP BW Process chain

    Hi,
    we want to trigger execution of a Crystal Report from a BW process chain.
    What is the best way to do this?
    Our CR reports are not saved to BW.
    We are currently investigation the option of using a file event on the BO server and using an ABAP program step in the process chain to create the file using FTP. But we want to know if there is an easier way of doing this?
    Thanks and regards
    Jarle

    Hello Nathan,
    your solution with the FTP script and a file being moved to the BO server sounds very interesting!
    Actually that's what I would need to implement in my project.
    Would it be possible for you to give me some information on how to write such a script and how to call it from the Process Chain? Any hint would be really precious!
    Thank you in advance!
    Best regards,
    Hubert

  • How to show a database trigger error message as a notification on a page

    I have a database with database triggers to ensure data integrity.
    If an insert or update does not comply to all the business rules, a database triggers raises an exception. When using Apex this exception is caught in the Error Screen, a separate screen, where the whole error stack is displayed.
    Does anyone know a way to display only the error in RAISE_APPLICATION_ERROR as a notification in the screen from which the transaction was initiated?
    Dik Dral

    Well, having had so little response, i had to figure it out myself ;-)
    Using Patrick Wolff's ideas from ApexLib I 'invented' a solution for my problem, that I would like to contribute to the community. I hope that it will come out a bit nicely formatted:
    Apex: Show Database Error Message in calling form
    The purpose is to show a neat error message in the notification area of the calling form.
    Default Apex show the whole error stack raised by a DB trigger in a separate error page.
    With acknowledgement to Patrick Wolf, I lent parts of his ApexLIB code to create this solution.
    <br./>
    Assumptions
    <ul><li>The error message is raised from a DB trigger using RAISE_APPLICATION_ERROR(-20000,’errormessagetext’).</li>
    <li>The relevant part of the error stack is contained within the strings ‘ORA-20000’ and the next ‘ORA-‘-string, i.e. if the error stack is ‘ORA-20000 Value should not be null ORA-6502 …’, than the relevant string is ‘Value should not be null’ .</li>
    <li>Cookies are enabled on the browser of the user </li>
    </ul>
    Explanation
    The solution relies heavily on the use of Javascript. On the template of the error page Javascript is added to identify the error stack and to extract the relevant error message. This message is written to a cookie, and then the control is passed back to the calling page (equal to pushing the Back button).
    In the calling page a Javascript onLoad process is added. This process determines whether an error message has been written to a cookie. If so the error message is formatted as an error and written to the notification area.
    Implementation
    The solution redefines two template pages, the two level tab (default page template) and the one level tab (error page template).
    Javascript is added to implement the solution. This Javascript is contained in a small library errorHandling.js:
    <pre>
    var vIndicator = "ApexErrorStack=";
    function writeMessage(vMessage)
    {       document.cookie = vIndicator+vMessage+';';
    function readMessage()
    { var vCookieList = document.cookie;
    var vErrorStack = null;
    var vStart = null;
    var vEnd = null;
    var vPos = null;
    vPos = vCookieList.indexOf(vIndicator);
    // No cookie found?
    if (vPos == -1) return("empty");
    vStart = vPos + vIndicator.length;
    vEnd = vCookieList.indexOf(";", vStart);
    if (vEnd == -1) vEnd = vCookieList.length;
    vErrorStack = vCookieList.substring(vStart, vEnd);
    vErrorStack = decodeURIComponent(vErrorStack);
    // remove the cookie
    document.cookie = vIndicator+"; max-age=0";
    return(vErrorStack);
    function getElementsByClass2(searchClass,node,tag)
    var classElements = new Array();
    if ( node == null )
    node = document;
    if ( tag == null )
    tag = '*';
    var els = node.getElementsByTagName(tag);
    var elsLen = els.length;
    var pattern = newRegExp('(^|\\s)'+searchClass+'(\\s|$)');
    for (i = 0, j = 0; i < elsLen; i++) {
    if ( pattern.test(els.className) ) {
    classElements[j] = els[i];
    j++;
    return classElements;
    function processErrorText()
    var errorElements = new Array();
    errorElements = getElementsByClass2("ErrorPageMessage",document,"div");
    if (errorElements.length > 0 )
    { errorText = errorElements[0].innerHTML;
    errorText = errorText.substr(errorText.indexOf("ORA-20000")+ 11);
    errorText = errorText.substr(0,errorText.indexOf("ORA")-1);
    // errorElements[0].innerHTML = errorText;
    writeMessage(errorText);
    function show_message()
    { var vCookieList = document.cookie;
    var vErrorStack = null;
    var vErrorName = null;
    var vErrorMessage = null;
    var vStart = null;
    var vEnd = null;
    var vPos = null;
    // get errorStack
    vErrorStack = readMessage();
    if (vErrorStack == -1) return;
    // search for our message section (eg. t7Messages)
    var notificationArea = document.getElementById("notification");
    if (notificationArea != null)
    { notificationArea.innerHTML = '<div class="t12notification">1 error has occurred<ul class="htmldbUlErr"><li>' + vErrorStack + '</li></ul>'; }
    else
    { alert(vErrorStack); }
    </pre>
    This code is loaded as a static file in Application Express (no application associated).
    In both templates a reference to this code is added in the Definition Header section:
    <pre>
    <script src="#WORKSPACE_IMAGES#errorHandling.js" type="text/javascript"></script>
    </pre>
    This library is called from the two level tab to show the error message (if any) in het onLoad event of the body tag.
    <body onLoad="javascript:show_message();">#FORM_OPEN#
    This code checks whether a message has been written to a cookie and if found displays the message in the notification area.
    In the error template page the Error section has the content:
    <script language="javascript">
    processErrorText();
    window.history.go(-1);
    </script>
    Back
    The call to processErrorText() looks for the error message, extracts the relevant part of it (between ‘ORA-20000’ and the next ‘ORA-‘), writes it to a cookie and returns to the previous screen.
    The link to the previous page is added should an error in the Javascript occur. It provides the user with a path back to the application.
    With these actions taken, the error messages issued from triggers are shown in the notification area of the form the user has entered his data in.
    The need for database driven messaging
    In some cases the need exists to process error messages in the database before presenting them to the user. This is the case, when the triggers return message codes, associated to error messages in a message table.
    This can be done by using a special Error Message Processing page in Apex.
    The error message page extracts the error message, redirecting to the Error Message Processing page with the error message as a parameter. In the EMP page a PL/SQL function can be called with the message as a parameter. This function returns the right message, which is written to a cookie using dynamically generated Javascript from PL/SQL. Than the contol is given back to the calling form.
    The redirect is implemented by location.replace, so that the error message page does not exist within the browsing history. The normal history(-1) will return to the calling page.
    Implementation of database driven messaging
    The solution redefines two template pages, the two level tab (default page template) and the one level tab (error page template).
    Javascript is added to implement the solution. This Javascript is contained in a small library errorHandling.js already listed in a previous paragraph.
    In both templates a reference to this code is added in the Definition Header section:
    <script src="#WORKSPACE_IMAGES#errorHandling.js" type="text/javascript"></script>
    This library is called from the two level tab to show the error message (if any) in het onLoad event of the body tag.
    <body onLoad="javascript:show_message();">#FORM_OPEN#
    This code checks whether a message has been written to a cookie and if found displays the message in the notification area.
    In the error template page the Error section has the content:
    <script language="Javascript">
    var errorText = null;
    function redirect2oracle()
    { window.location.replace("f?p=&APP_ID:500:&APP_SESSION.::::P500_MESSAGE:"+errorText); }
    function getError()
    { errorText = processErrorText(); }
    getError();
    redirect2oracle();
    </script>
    Go to Error Message Porcessing Page
    Back to form
    The call to processErrorText() looks for the error message, extracts the relevant part of it (between ‘ORA-20000’ and the next ‘ORA-‘), writes it to a cookie.
    Then the EPM-page (500) is called with the extracted message as parameter.
    The link to the EPM page and the previous page is added should an error in the Javascript occur. It provides the user with a path back to the application.
    We need to create an Error Message Porcessing Page.
    Create a new page 500 with a empty HTML-region “Parameters”
    Create an text-area P500_MESSAGE in this region
    Create a PL/SQL region “Process Messages” with source:
    convert_message(:P500_MESSAGE);
    Create a PL/SQL procedure convert_message like this example, that reads messages from a message table. If not found, the actual input message is returned.
    CREATE OR REPLACE procedure convert_message(i_message in varchar2) is
    v_id number := null;
    v_message varchar2(4000) := null;
    function get_message (i_message in varchar2) return varchar2 is
    v_return varchar2(4000) := null;
    begin
    select msg_text into v_return
    from messages
    where msg_code = upper(i_message);
    return(v_return);
    exception
    when no_data_found then
    return(i_message);
    end;
    begin
    v_message := get_message(i_message);
    // write the message for logging/debugging
    htp.p('Boodschap='||v_message);
    // write cookie and redirect to calling page
    htp.p('<script language="Javascript">');
    htp.p('document.cookie="ApexErrorStack='||v_message||';";');
    htp.p('window.history.go(-1);');
    htp.p('</script>');
    // enter return link just in case
    htp.p('Ga terug');
    end;
    Note: The way the message is converted is just an example
    With these actions taken, the error messages issued from triggers are shown in the notification area of the form the user has entered his data in.
    Message was edited by:
    dickdral
    null

  • How to switch off the pop-up message in rspcm

    Hi there,
    Does anyone know how to switch off the pop-up message in rspcm?
    The monitoring user shouldn't get the pop-up below anymore:
    „Statusänderung des Requests – Sollen Folge-Events ausgelöst werden?“
    The pop-up in english might be
    “status change of request - trigger subsequent processing?” or similar
    We would like to outsource the process chain monitoring (rspcm) to our operating.
    But operating shouldn't deal with the pop-up above and make decisions especially when delta infopackages are involved.
    Thanks for your help in advance.
    Regards,
    Wolfgang Smetana

    Elena,
    Is the subsequent process defined on success or failure ? if that is not defined - you might come across this message.....
    Arun

Maybe you are looking for

  • Error while Updating the Apps Adapter

    Team, I am getting error while i am updating the Apps Adapter, I have created an new data source and an new connection pool like below, 1. created the Data Source with the following values. Data Source name : DevDataSource JNDI Name : jdbc/Dev/Apps 2

  • Possible to register a Proxy for FTP in the FTP-Communication-Channel ???

    Hi All, I have a question regarding the ftp-receiver-communication-channel. I have configured an integration scenario for a file-transfer via ftp to New York. I use the File/FTP-Adapter from SAP. I send the files in the passive ftp mode, but only the

  • HD Crashed and after recovery LR Catalog nowhere to be found

    I posted this on another board late last night but I am not sure that was the correct post. Forigive me if you are seeing this multiple tims but I am desperate for some help. Our computer totally crashed yesterday after some windows update was sent o

  • "General Error (27)" Please Help!

    I have been working on a video project in FCP for quite a while, and it is an important corporate video that I have invested a lot of time and money in. It is on an external LaCie Hard drive and I am using Fire Wire 800. Today when I go to open the p

  • Details of vendor accounts in APP

    hi We give Account numbers in the second Tab of APP and again we give in Additional log. Can you plz explain the reason behind it. Thanks in advance Choudary kv