How forms know when Report Server is down

Environment: Oracle Developer Suite 10g 10.1.2.0.2 R2
os :windows xp
I have button to call a report object :when-button-pressed
declare
v_report_name VARCHAR2(30):='REQ010';----report name without .rdf
          v_repid REPORT_OBJECT;
          vc_rep VARCHAR2(20);
          vc_rep_status VARCHAR2(20);
          vc_URL VARCHAR2(100);
          vc_rep_job VARCHAR2(10);
          Plist ParamList;
          dummy NUMBER;
          Report_Plist_name VARCHAR2(30) := 'REPORT_PARAM_LIST';
          REPORT_NOT_GENERATED EXCEPTION;
          PARAMETER_LIST_SECTION_PROBLEM EXCEPTION;
BEGIN
--=========================================================================          
BEGIN     
                    --prepare the list of parameters to be sent to the report
                    Plist := Get_Parameter_List(Report_Plist_name);
                    IF NOT Id_Null(Plist) THEN
                         Destroy_Parameter_List(Report_Plist_name);
                    END IF;     
                    Plist := Create_Parameter_List(Report_Plist_name);      
                    IF Id_Null(Plist) THEN
                         dummy := Show_Alert('PARAM_LIST_CREATION_PROBLEM');
                         RAISE Form_Trigger_Failure;
                    END IF;
                    --Add parameter(s) to list just created
                    Add_Parameter(Plist, 'P_REQUEST_ID', TEXT_PARAMETER, :CUSTOMER_REQUESTS.CR_REQUEST_ID);
     EXCEPTION
WHEN OTHERS THEN
raise PARAMETER_LIST_SECTION_PROBLEM;
END;
--=============================================================================
          --START THE REPORT     
          v_repid := FIND_REPORT_OBJECT(v_report_name);
          vc_rep := RUN_REPORT_OBJECT(v_repid,Plist);
          vc_rep_status := REPORT_OBJECT_STATUS(vc_rep);
--=============================================================================
BEGIN          
                    IF vc_rep is NOT NULL THEN
                              -- Wait until report finishes or produces an error
                              WHILE vc_rep_status in
                              ('RUNNING', 'OPENING_REPORT', 'ENQUEUED')
                              LOOP
                                   vc_rep_status := REPORT_OBJECT_STATUS(vc_rep);
                              END LOOP;
                              -- Display the report if it is finished
                              if vc_rep_status = 'FINISHED' then
                                                  vc_rep_job := substr(vc_rep,instr(vc_rep,'_')+1);
                                                  message('Report Completed');
                                                  vc_URL := '/reports/rwservlet/getjobid' ||vc_rep_job||
                                                  '?server='||get_report_object_property
                                                  (v_repid,report_server);
                                                  Web.show_document(vc_URL,'_blank');
                                                  -- Display an error if the report errored
                         END IF;
                    END IF;                              
EXCEPTION
WHEN OTHERS THEN
raise REPORT_NOT_GENERATED;
END;
--=============================================================================
Destroy_Parameter_List('REPORT_PARAM_LIST');
EXCEPTION
WHEN REPORT_NOT_GENERATED THEN
msgbox('Error Calling Report');
--Causes: 1-Report file name is incorrect,check report name and existance.
-- 2-Or, Report Server is Down.
WHEN PARAMETER_LIST_SECTION_PROBLEM THEN
msgbox('CHECK PARAMETER SECTION ');
WHEN OTHERS THEN
msgbox(SQLERRM);
END;
Problem:
======
How can I distingwish among these conditions:
IF Report cannot run :
when the problem is from the report file object itself.
and IF the problem is the Report Server is Down.
and the report file is not exist.
Tries:
I try to but many exception to differenciate between these conditions but I fail
how can I display a message to the user,Inform him the problem ,
So the support personnel know if the problem from the Report object or the application Server
.

Hi Krishan,
If you want to check if local cache service is running, you can do something like this:
NamedCache cache = CacheFactory.getCache(sCacheName);
boolean isRunning = cache.getCacheService().isRunning();If you want to check if any storage enabled nodes (cache servers) are available in the cluster:
NamedCache cache = CacheFactory.getCache(sCacheName);
DistributedCacheService service = (DistributedCacheService) cache.getCacheService();
Set storageEnabledMembers = service.getStorageEnabledMembers();
if(storageEnabledMembers.isEmpty())
    // no cache servers available ...
    }Regards,
Dimitri

Similar Messages

  • Form call report,but form hang when report sun slowly,how to set server?

    In version 10.1.2
    Form call report, form hang when report sun slowly,
    finally the report will done,I can see the output in the server disk,but form hang,
    I think it's out of the report session, ,how to set server?
    thanks for any help!
    lind

    Hello,
    If you are using the "Paper Layout", check the Reports's "Before Report Value" property:
    Before Report Value :
    <meta http-equiv="Content-Type" content="text/html; charset=&Encoding">
    If you are using the "Web Layout", take a look to the document :
    http://download-uk.oracle.com/docs/cd/B14099_17/bi.1012/b14048/pbr_nls.htm#i1006142
    18.3 Specifying a Character Set in a JSP or XML File
    Regards

  • How to show  an error Page in Weblogic when the server is down

    Hi ,
    I heard that every container has the facility to show an error page when the server is down and (when the request has arrived at that time ).
    Please tell me how to configure this in BEA weblogic ??
    Thanks .

    Hi,
    From my understanding weblogic dose not provide the thing which you are asking for, reason is given below.
    - An application is deployed only on managed server one (MS-1)
    - Now if the request comes to the server (MS-1) when it was running and then for some reason MS-1 goes down then weblogic server would be able to send any response back to the client as its down.
    - Hence nothing can be done as the request object is been lost when the server goes down or even cant redirect to an error page as for doing that too the server has to be up and running.
    However there are other way round which can help you overcome this issue as shown below
    - Use Clusters with few managed servers in it which gives you high availability and load-balancing.
    - Use any web servers like Apache in front of weblogic servers.
    Using the above things you can also use customized HTTP Error Responses with error-page element in web.xml and create your own error pages which can be re-directed for the web server side also. For more information go through the below links
    Topic: Customizing HTTP Error Responses
    http://download.oracle.com/docs/cd/E13222_01/wls/docs92/webapp/configurejsp.html#wp157884
    Topic: error-page
    http://download.oracle.com/docs/cd/E13222_01/wls/docs81/webapp/web_xml.html#1017571
    Topic: ErrorPage
    http://download.oracle.com/docs/cd/E12840_01/wls/docs103/plugins/plugin_params.html#wp1155425
    Hope above information helps you.
    Regards,
    Ravish

  • How to get the report server name in Forms 10g.

    How to get the report server name in Forms 10g.
    I'm using the Application Server 10g 10.1.2.

    Hello,
    I do not think that you can get this value from anywhere. A solution is to put the Reports server name in an environment variable stored in the /forms/server/default.env file, then to query it at Forms runtime with the TOOL_ENV.Getvar() built-in.
    Francois

  • How can I start report server?

    Hi all,
    I’m facing a problem in calling reports from forms 10g.
    I don’t know whether my report server is started or not but then checked by this line of code in a web browser. It give me an error:
    http://<server name>:8889/reports/rwservlet/showjobs?server=rep_domain
    ERROR:
    REP-52266: The in-process Reports Server rep_domain failed to start.exception oracle.reports.RWException {
    oracle.reports.RWError[] errorChain={struct oracle.reports.RWError {
    int errorCode=52266,
    java.lang.String errorString="The in-process Reports Server rep_domain failed to start.",
    java.lang.String moduleName="REP"
    Can anybody help...
    And one more how to start the report server?
    Thanks n Regards.

    Thanks All,
    Good to see response so quick.
    In fact two session were open at the time one is Forum Forms n other Forum reports, by mistake I posted this on forms forum.
    Anyway, I solved the problem. The actual problem was I made some changes in &lt;server name&gt;.conf file. I uncommented the engine tags properties. I was having backup of it I copied again. Now it’s working fine.
    Thanks once again.

  • OCILogon returns success when TimesTen server is down which causes app core

    In our failover testing, when the primary TimesTen server was brought down, the OCILogon call returned OCI_SUCCESS with a service handler. However the OCIServerVersion call which immediately follows the OCILogon call caused the application to core with signal 11.
    Below is the stack trace in the core:
    #4 0x00000001001e7ab0 in crash_handler (sig=11) at Main.cpp:1632
    #5 <signal handler called>
    #6 0xffffffff7ccc736c in lsfp ()
    from /tools/timesten-11.2.1.5-64bit/TimesTen/ttclnt/ttoracle_home/instantclient_11_1/libclntsh.so.11.1
    #7 0xffffffff7c5ecc70 in x10verVersion ()
    from /tools/timesten-11.2.1.5-64bit/TimesTen/ttclnt/ttoracle_home/instantclient_11_1/libclntsh.so.11.1
    #8 0xffffffff7c5e42d4 in x10odr ()
    from /tools/timesten-11.2.1.5-64bit/TimesTen/ttclnt/ttoracle_home/instantclient_11_1/libclntsh.so.11.1
    #9 0xffffffff7c31df94 in upirtrc ()
    from /tools/timesten-11.2.1.5-64bit/TimesTen/ttclnt/ttoracle_home/instantclient_11_1/libclntsh.so.11.1
    #10 0xffffffff7c31d63c in upirtr ()
    from /tools/timesten-11.2.1.5-64bit/TimesTen/ttclnt/ttoracle_home/instantclient_11_1/libclntsh.so.11.1
    #11 0xffffffff7c5dfcf8 in upiver ()
    from /tools/timesten-11.2.1.5-64bit/TimesTen/ttclnt/ttoracle_home/instantclient_11_1/libclntsh.so.11.1
    #12 0xffffffff7c461a98 in kpuvers ()
    from /tools/timesten-11.2.1.5-64bit/TimesTen/ttclnt/ttoracle_home/instantclient_11_1/libclntsh.so.11.1
    #13 0x00000001002451e4 in COCISession::get_server_version (this=0x1029b6ad0) at ocisess.cpp:270
    Does anyone know why OCILogon returns success when the server is down? And how can I tell if the server is down?
    Thanks!
    Cathy

    Hi Cathy,
    I'm not in a position to check this out right now but it certainly looks like a bug. Are you able to log an SR on this so we can get it into the system?
    Thanks,
    Chris

  • How to know when the PRICE AFTER DISCOUNT changed and get the value

    Hi,
    Everything I do to see if a value changed in the grid works except for PRICE AFTER DISCOUNT
    which seems to be inaccessible.
    Any idea how to know when exactly this value changed and do actions accordinly ?
    Also I always get 0.00 if I try to get the value of it
    This works to get in the condition of a vlaue changing but I always get 0.00 as the value of the column
    if (pVal.ItemUID == "38" && pVal.ColUID == COL_DISCOUNT.ToString() && pVal.EventType == BoEventTypes.et_VALIDATE && pVal.ItemChanged == true && pVal.ActionSuccess == true)
        try
            SAPbouiCOM.Matrix Matrix = (SAPbouiCOM.Matrix)SBO_Application.Forms.ActiveForm.Items.Item("38").Specific;
            SAPbouiCOM.EditText Editor = (SAPbouiCOM.EditText)Matrix.Columns.Item(COL_DISCOUNT).Cells.Item(pVal.Row).Specific;
            SBO_Application.MessageBox("Discount changed for : " + Editor.Value + "...", 1, "Ok", "", "");
        catch (Exception ex)
            SBO_Application.MessageBox(ex.Message, 1, "Ok", "", "");
    And this do not even get into the condition even tought I SEE the column PRICE AFTER DISCOUNT:
    if (pVal.ItemUID == "38" && pVal.ColUID == COL_PRICEAFTERDISCOUNT.ToString() && pVal.EventType == BoEventTypes.et_VALIDATE && pVal.ItemChanged == true && pVal.ActionSuccess == true)
        try
            SAPbouiCOM.Matrix Matrix = (SAPbouiCOM.Matrix)SBO_Application.Forms.ActiveForm.Items.Item("38").Specific;
            SAPbouiCOM.EditText Editor = (SAPbouiCOM.EditText)Matrix.Columns.Item(COL_PRICEAFTERDISCOUNT).Cells.Item(pVal.Row).Specific;
            SBO_Application.MessageBox("Price after discount changed for : " + Editor.Value + "...", 1, "Ok", "", "");
         catch (Exception ex)
             SBO_Application.MessageBox(ex.Message, 1, "Ok", "", "");

    just idea, maybe it will works
    Create one udf in row level and set there FS based on changes on price after discount and fill value what is in price after discount. Then the validation make on this field instead of standard SAP field.

  • How to know when I'm doing a createInsert?

    how to know when I'm doing a createInsert, this to hide a button when you run this action, I am using a task flow.
    my version of jdeveloper is 12c

    hi,
      So you are using the createInsert as a method call in task flow. That is your form/table will be come new rows and you want to disable some button.
    Your task flow might be as below
          CreateInsert---->Page.
    To do so
    1.) Take properties of your method call and bind the Method property to a method in a bean (bean registered in the task flow with scope view or any higher scope)
    2) Call the create insert operation programmatically in that method.
    3) And in that method after the createinsert ,set a boolean variable in pageFlowScope.
    4)Put this variable in the disable property or visible propery of the button you wabt to hide/diable.
    eg:
        public void doCreateInserOperation(){
            try {
               // Programatically invoke CreateInsert
                DCBindingContainer bindings = (DCBindingContainer)getBindingContainer();
                bindings.getOperationBinding("CreateInsert").execute();
            //Set a variable in page Flow Scope 
            AdfFacesContext.getCurrentInstance().getPageFlowScope().put("disableButton", true)
            } catch (Exception e) {
                e.printStackTrace();
        public BindingContainer getBindingContainer() {
            FacesContext facesContext = getFacesContext();
            Application app = facesContext.getApplication();
            ExpressionFactory elFactory = app.getExpressionFactory();
            ELContext elContext = facesContext.getELContext();
            ValueExpression valueExp = elFactory.createValueExpression(elContext, "#{bindings}", Object.class);
            return (BindingContainer)valueExp.getValue(elContext);
    you can access this variable in EL expression as #{pageFlowScope.disableButton}. So when your page render it will be in CreateInsert mode and the button will be disabled/hidden.
    I hope this will help you.
    With regards,
    Gijith.

  • HT2173 How to know when a hard drive has failed ?

    How to know when a hard drive has failed ?

    Machine doesn't boot.  You experience strange crashes.  Gets wrong results.  Your harddrive is five or more years old.  Time to consider repacing it.   You do have backup?
    You may want to run these "standard" fixes if the problem persists.
    1) Check the amount of free space on your harddrive.  You should have a several gigs free.
    2) You should run disk utility
         a) verify the disk
         b) update your permissions.
    3) Try a safe boot.
        Shutdown your machine.  Hold down the shift key.  Poweron.  Wait awhile Wait awhile while you harddrive
          is being checked.
        http://support.apple.com/kb/ht1455
    4) You may want to run applejack to clean up your machine.
         http://applejack.sourceforge.net/
    a lot more ways to fix your Mac.
    http://www.thexlab.com/faqs/faqs.html
    verify & repair your startup drive
    To verify & repair you file system on the startup drive, you will need to run disk utility from you installation DVD.
    This article  will tell you how to get to disk utility.  Once in a disk utility, you can go and attempt to recover the disk.
    http://support.apple.com/kb/TS1417
    To repair your startup drive, you will need to run disk utility from your startup DVD.
    Mac OS X 10.4: About the utilities available on the Mac OS X 10.4 Install DVD
    http://support.apple.com/kb/HT2055
    How to run disk utility from your startup DVD.
    Insert your  startup DVD  into your reader.  Power down your machine.  Hold down to the c key.  Power on your machine.  This will bootup your startup DVD.
    This will bring you to a panel asking you for your language.  Pick your language.
    You you come to the Install Mac OS panel.  Do not install.
    Click on Utilities menu item.  This will give you a pulldown list of utilities.
    Click on the disk utility.
    You are now in disk utility.  Pick your disk.  Click on repair it should be on the lower right of the panel.
    Once the repair completes successfully, you should update your permissions.
    Verify a disk
    As an alternative, you can verify that the filesystem on the disk is correct. You will not be able to repair the file system.
    I suggest that you use disk utility to verify that your startup disk is OK. 
    Macintosh-HD -> Applications -> Utilities -> Disk Utility 
    Start up disk utility.  On the left pane view, you will see a list of all your disks.  
    Click on your startup disk.
    Click on the First Aid  Tab.
    Click on verify.  
    Hopefully your disk will verify.  If not, you have to boot from your installation DVD and run Disk Utility from there to attempt to repair your file-system.

  • Problem in creating Jtree instance when X server is down

    I am facing this problem while trying to build JTree object when X Server is down
    I am using Redhat 8 and jdk1.3.1
    Xlib: connection to ":0.0" refused by server
    Xlib: No protocol specified
    Problem creating javax.swing.plaf.metal.MetalLookAndFeel with method getSystemTextFont and args { : java.lang.reflec
    java.lang.Exception: Stack trace
    at java.lang.Thread.dumpStack(Thread.java:993)
    at javax.swing.UIDefaults$ProxyLazyValue.createValue(UIDefaults.java:670)
    at javax.swing.UIDefaults.get(UIDefaults.java:145)
    at javax.swing.MultiUIDefaults.get(MultiUIDefaults.java:46)
    at javax.swing.UIDefaults.getFont(UIDefaults.java:223)
    at javax.swing.UIManager.getFont(UIManager.java:456)
    at javax.swing.plaf.basic.BasicTreeUI.installDefaults(BasicTreeUI.java:5Xlib: No protocol specified
    Problem creating javax.swing.plaf.metal.MetalLookAndFeel with method getSystemTextFont and args { : java.lang.reflec
    java.lang.Exception: Stack trace
    at java.lang.Thread.dumpStack(Thread.java:993)
    at javax.swing.UIDefaults$ProxyLazyValue.createValue(UIDefaults.java:670)
    at javax.swing.UIDefaults.get(UIDefaults.java:145)
    at javax.swing.MultiUIDefaults.get(MultiUIDefaults.java:46)
    at javax.swing.UIDefaults.getFont(UIDefaults.java:223)
    at javax.swing.UIManager.getFont(UIManager.java:456)
    at javax.swing.plaf.basic.BasicTreeUI.installDefaults(BasicTreeUI.java:591)
    at javax.swing.plaf.basic.BasicTreeUI.installUI(BasicTreeUI.java:525)
    at javax.swing.plaf.metal.MetalTreeUI.installUI(MetalTreeUI.java:83)
    at javax.swing.JComponent.setUI(JComponent.java:322)
    at javax.swing.JTree.setUI(JTree.java:537)
    at javax.swing.JTree.updateUI(JTree.java:553)
    at javax.swing.JTree.<init>(JTree.java:513)
    at javax.swing.JTree.<init>(JTree.java:489)
    at javax.swing.JTree.<init>(JTree.java:472)
    at com.cygnet.constel.cygSdk.cygJS.CygTree.<init>(CygTree.java:15)
    at com.cygnet.constel.cservs.cygManageIpInit.StringCreator.getDetails(StringCreator.java:54)
    SampleTree.java Source code .
    import javax.swing.tree.* ;
    import javax.swing.* ;
    public class SampleTree extends JTree
         public SampleTree() {
              super() ;
         public SampleTree( Object[] value ) {
              super( value ) ;
         public SampleTree( TreeModel newModel ) {
              super( newModel ) ;
    this is the line creating problem
    when my class is trying to call super( root )
         public SampleTree( TreeNode root ) {
              super( root ) ;
         public SampleTree( TreeNode root, boolean asksAllowsChildren ) {
              super( root , asksAllowsChildren ) ;
    NOTE : when i log in to X server JTree object gets constructed properly
    My requirment is it should also get constructed properly , even if X is down.
    i tried hard and i am frusted
    any help is appreciated
    thank in advance
    -- Nilesh

    thanks thomas for your reply
    but i think , we need to find out the point where it actually gets environment settings
    there must be 2 things done before creation is done.
    1]
    Actual Construction of the Tree
    2]
    then getting look and feel of the underlaying OS
    if we can find out step between 1 and 2 , we will get the problem ...
    what say ??
    dont think i am giving any suggestions to you . this is just what i think.
    Please let me know if any of ur friends are facing the same problem.
    -- Nilesh

  • Upgrade from CQ5.4 to CQ5.5, how to know when the initial startup is completed?

    The documentation at http://dev.day.com/docs/en/cq/current/deploying/upgrading.html under "STANDALONE (QUICKSTART) UPGRADE" step 3 says that the upgrade process "might take a few minutes". How do we know when the system has been started successfully? When monitoring the error.log file, it looks like that after a while (~20 minutes) an upgrade of the workflow models is started (even though step 4 says that workflow models will be upgraded after a restart). Might there be any problems with stopping the server to soon?
    So, to summarize: how do we know when the server has been started successfully?
    Thanks
    Joakim

    In the error.log you would see message like "Finished upgrading". Alternatively you would see 5 completed task in crx explorer at location /var/upgrade/status

  • I'm a Microsoft Outlook for Mac user, I need information of how to know when e-mail was readed and confirm receipt of e-mails sent. thank you!  regards Mauricio

    I'm a Microsoft Outlook for Mac user, I need information of how to know when e-mail was readed and confirm receipt of e-mails sent. thank you!  regards Mauricio

    Mail and Address book

  • How to know what reports are running by looking at SSReproting Services to see what reports are running and also any clue of which application is using the reporting services?

    How to know what reports are running by looking at SSReproting Services to see what reports are running and also any clue of which application is using the reporting services?

    To see what reports are running, take a look at the execution log views that are available in the database.  Which views that are available are dependent on your version of SSRS.
    http://technet.microsoft.com/en-us/library/ms159110.aspx
    To see which application is using SSRS is a little more difficult.  You can turn HTTP logging on, which will give you an idea of where connections are coming from, so you can see IP addresses.  You can also look at the execution log view to see
    user accounts.  So, depending on your environment and use of service accounts, this could be easy, or difficult.
    http://technet.microsoft.com/en-us/library/bb630443.aspx
    If all else fails you can look for clues in the SSRS logs.  Good luck...

  • How i know when a EXECUTE_QUERY retrieved last record

    Hi...
    How i know when the EXECUTE QUERY retrieved the last record in a block ....?
    Exist a trigger after trigger POST-QUERY?
    Regards
    Hector Gabriel Ulloa Ligarius
    Santiago of Chile
    http://es.groups.yahoo.com/group/desarrolloOracle/

    Kevin, sorry
    But the :system.last_record not change the value during the execution of EXECUTE_QUERY.
    Only useful when the data was retrieved into blocks...not during..
    Other mode?
    Regards
    Hector Gabriel Ulloa Ligarius
    Santiago of Chile
    http://es.groups.yahoo.com/group/desarrolloOracle/

  • How to know when invoke bytecode implements?

    I've got a classfile - it has few invokeinterface bytecodes inside - their count is defined dynamically - when class is running.
    And I've got a program, which runs this class.
    The aim of this program - to gather statistics of invokeinterface calling frequency.
    How to know when invokeinterface bytecode implements?
    (In that moment I plan to update several digits)
    Have You got an advise for me?
    Thanks.

    You must use the debugging interface, or get a code profiler. Do a search on all forums for profiler, you'll get tons of information.

Maybe you are looking for