CBO not picking the right execution plan

Database: Oracle 9.2.0.6 EE
OS:Solaris 9
I am trying to tune a query that is generated via Siebel Analytics. I am seeing a behaviour which is puzzling me but hopefully would be 'elementary' for someone like JPL.
The query is based on a total of 7 tables. If I comment out any 2 dimension tables, the query picks up the right index on the fact table. However, the moment I add another table to the query, the plan goes awry.
The query with 5 tables is as below:
select count(distinct decode( T30256.HEADER_FLG , 'N' , T30256.ROW_WID ) ) as c1,
T352305.DAY_DT as c2,
case  when T44643.PRODUCT_CLASS_NAME = 'MobileSubscription' then T40081.ATTR15_CHAR_VAL else 'Unspecified' end  as c3,
T352305.ROW_WID as c5
from
               W_PRODUCT_D T30955,
               W_PRDATTRNM_D T44643,                         
               W_DAY_D T352305,                 
               W_ORDERITEM_F T30256,              
               W_PRDATTR_D T40081                         
where  ( T30955.ROW_WID = T44643.ROW_WID
and T30256.LAST_UPD_DT_WID = T352305.ROW_WID
and T30256.PROD_ATTRIB_WID = T40081.ROW_WID 
and T30256.PROD_WID = T30955.ROW_WID
and T30955.PROD_NAME = 'Mobile Subscription'
and (case  when T44643.PRODUCT_CLASS_NAME = 'MobileSubscription' then T40081.ATTR15_CHAR_VAL else 'Unspecified' end  in ('BT150BB-18M', 'BT250BB-18M', 'BT50BB-18M', 'BT600BB-18M'))
and T352305.DAY_DT between TO_DATE('2008-09-27' , 'YYYY-MM-DD') - 7 and TO_DATE('2008-09-27' , 'YYYY-MM-DD') - 1
group by
T352305.ROW_WID, T352305.DAY_DT,
case  when T44643.PRODUCT_CLASS_NAME = 'MobileSubscription' then T40081.ATTR15_CHAR_VAL else 'Unspecified' end
;And the execution plan is as below:
| Id  | Operation                        |  Name                | Rows  | Bytes | Cost (%CPU)|
|   0 | SELECT STATEMENT                 |                      |   269 | 25824 | 18660   (3)|
|   1 |  SORT GROUP BY                   |                      |   269 | 25824 | 18660   (3)|
|   2 |   NESTED LOOPS                   |                      |   269 | 25824 | 18658   (3)|
|   3 |    NESTED LOOPS                  |                      |  6826 |   579K|  4734   (3)|
|   4 |     MERGE JOIN CARTESIAN         |                      |     8 |   544 |     6  (17)|
|   5 |      NESTED LOOPS                |                      |     1 |    54 |     4  (25)|
|   6 |       TABLE ACCESS BY INDEX ROWID| W_PRODUCT_D          |     1 |    37 |     3  (34)|
|*  7 |        INDEX RANGE SCAN          | W_PRODUCT_D_M2       |     1 |       |     2  (50)|
|   8 |       TABLE ACCESS BY INDEX ROWID| W_PRDATTRNM_D        |     1 |    17 |     2  (50)|
|*  9 |        INDEX UNIQUE SCAN         | W_PRDATTRNM_D_P1     |     1 |       |            |
|  10 |      BUFFER SORT                 |                      |     8 |   112 |     4   (0)|
|  11 |       TABLE ACCESS BY INDEX ROWID| W_DAY_D              |     8 |   112 |     3  (34)|
|* 12 |        INDEX RANGE SCAN          | W_DAY_D_M39          |     8 |       |     2  (50)|
|  13 |     TABLE ACCESS BY INDEX ROWID  | W_ORDERITEM_F        |   849 | 16131 |   592   (3)|
|* 14 |      INDEX RANGE SCAN            | W_ORDERITEM_F_INDX9  |   852 |       |     4  (25)|
|* 15 |    INDEX RANGE SCAN              | W_PRDATTR_D_M29_T1   |     1 |     9 |     3  (34)|
----------------------------------------------------------------------------------------------Note how the dimension tables W_PRODUCT_D & W_DAY_D are joined using cartesian join before joining to the fact table W_ORDERITEM_F using the composite index 'W_ORDERITEM_F_INDX9'. This index consists of LAST_UPD_DT_WID, PROD_WID and ACTION_TYPE_WID, which are foreign keys to the dimension tables.
Now if I add one more table to the query:
select count(distinct decode( T30256.HEADER_FLG , 'N' , T30256.ROW_WID ) ) as c1,
              T352305.DAY_DT as c2,
               case  when T44643.PRODUCT_CLASS_NAME = 'MobileSubscription' then T40081.ATTR15_CHAR_VAL else 'Unspecified' end  as c3,
               T30371.X_BT_DLR_GROUP as c4,
               T352305.ROW_WID as c5
          from                W_PRODUCT_D T30955,
               W_PRDATTRNM_D T44643,                         
               W_DAY_D T352305,                 
               W_ORDERITEM_F T30256,              
               W_ORDER_D T30371,                                            
               W_PRDATTR_D T40081                         
          where  ( T30955.ROW_WID = T44643.ROW_WID
          and T30256.LAST_UPD_DT_WID = T352305.ROW_WID
          and T30256.PROD_ATTRIB_WID = T40081.ROW_WID
          and T30256.PROD_WID = T30955.ROW_WID
          and T30256.ORDER_WID = T30371.ROW_WID
          and T30955.PROD_NAME = 'Mobile Subscription'
          and T30371.STATUS_CD = 'Complete'
          and T30371.ORDER_TYPE = 'Sales Order' 
          and (case  when T44643.PRODUCT_CLASS_NAME = 'MobileSubscription' then T40081.ATTR15_CHAR_VAL else 'Unspecified' end  in ('BT150BB-18M', 'BT250BB-18M', 'BT50BB-18M', 'BT600BB-18M'))
          and T352305.DAY_DT between TO_DATE('2008-09-27' , 'YYYY-MM-DD') - 7 and TO_DATE('2008-09-27' , 'YYYY-MM-DD') - 1
          group by T30371.X_BT_DLR_GROUP, T352305.ROW_WID, T352305.DAY_DT,
          case  when T44643.PRODUCT_CLASS_NAME = 'MobileSubscription' then T40081.ATTR15_CHAR_VAL else 'Unspecified' end;I have added a single table W_ORDER_D to the query, and the execution plan is:
| Id  | Operation                          |  Name               | Rows  | Bytes | Cost (%CPU)|
|   0 | SELECT STATEMENT                   |                     |    44 |  6336 | 78695   (3)|
|   1 |  SORT GROUP BY                     |                     |    44 |  6336 | 78695   (3)|
|   2 |   NESTED LOOPS                     |                     |    44 |  6336 | 78694   (3)|
|   3 |    NESTED LOOPS                    |                     |   269 | 27707 | 78145   (3)|
|*  4 |     HASH JOIN                      |                     |  6826 |   626K| 64221   (3)|
|   5 |      TABLE ACCESS BY INDEX ROWID   | W_DAY_D             |     8 |   112 |     4  (25)|
|*  6 |       INDEX RANGE SCAN             | W_DAY_D_M39         |     1 |       |     3  (34)|
|   7 |      TABLE ACCESS BY INDEX ROWID   | W_ORDERITEM_F       | 86886 |  2206K| 64197   (3)|
|   8 |       NESTED LOOPS                 |                     | 87004 |  6797K| 64200   (3)|
|   9 |        NESTED LOOPS                |                     |     1 |    54 |     4  (25)|
|  10 |         TABLE ACCESS BY INDEX ROWID| W_PRODUCT_D         |     1 |    37 |     3  (34)|
|* 11 |          INDEX RANGE SCAN          | W_PRODUCT_D_M2      |     1 |       |     2  (50)|
|  12 |         TABLE ACCESS BY INDEX ROWID| W_PRDATTRNM_D       |     1 |    17 |     2  (50)|
|* 13 |          INDEX UNIQUE SCAN         | W_PRDATTRNM_D_P1    |     1 |       |            |
|* 14 |        INDEX RANGE SCAN            | W_ORDERITEM_F_N6    | 86886 |       |   212  (18)|
|* 15 |     INDEX RANGE SCAN               | W_PRDATTR_D_M29_T1  |     1 |     9 |     3  (34)|
|* 16 |    INDEX RANGE SCAN                | W_ORDER_D_N6        |     1 |    41 |     3  (34)|
-----------------------------------------------------------------------------------------------Now CBO doesn't choose the composite index and the cost also has increased to 78695. But if I simply add an /*+ORDERED*/ hint to the above query, so that it should join the dimension tables before joining to fact table, then the cost drops to 20913. This means that CBO is not choosing the plan with the lowest cost. I tried increasing the optimizer_max_permutations to 80000, setting session level optimizer_dynamic_sampling to 8 (just to see if it works), but no success.
Could you please advise how to overcome this problem?
Many thanks.

joshic wrote:
Database: Oracle 9.2.0.6 EE
OS:Solaris 9
I am trying to tune a query that is generated via Siebel Analytics. I am seeing a behaviour which is puzzling me but hopefully would be 'elementary' for someone like JPL.
The query is based on a total of 7 tables. If I comment out any 2 dimension tables, the query picks up the right index on the fact table. However, the moment I add another table to the query, the plan goes awry.
I have added a single table W_ORDER_D to the query, and the execution plan is:
Now CBO doesn't choose the composite index and the cost also has increased to 78695. But if I simply add an /*+ORDERED*/ hint to the above query, so that it should join the dimension tables before joining to fact table, then the cost drops to 20913. This means that CBO is not choosing the plan with the lowest cost. I tried increasing the optimizer_max_permutations to 80000, setting session level optimizer_dynamic_sampling to 8 (just to see if it works), but no success.Back to the original question:
* Can you force the index usage of the composite index on W_ORDERITEM_F in the second query using an INDEX hint (instead of the ORDERED hint)? If yes, what does the plan look like, particularly what cost is reported?
* Could you post the plans including the "Predicate Information" section below the plan output?
* What is the definition of the index W_ORDERITEM_F_N6 on W_ORDERITEM_F?
* Are the cardinalities reported in the execution plans close to reality or way off? The best way to verify this would be to run your query with SQL tracing enabled and generate a tkprof output. If you do so please post the tkprof output here as well.
Regards,
Randolf
Oracle related stuff blog:
http://oracle-randolf.blogspot.com/
SQLTools++ for Oracle (Open source Oracle GUI for Windows):
http://www.sqltools-plusplus.org:7676/
http://sourceforge.net/projects/sqlt-pp/

Similar Messages

  • Weblogic 10.3.2.0 installation does not pick the right JDK

    The installation does not pick up the right jdk version that is jdk 11.6.0_11 . Although the machine is running the same. Instead it picks up jdk 1.6.0_14. have tested the machine many times. I am Installing Oracle SOA Suite 11g.

    Inside "startWebLogic.sh" file add the JAVA_HOME like following (just below the "setDomainEnv.sh" call):
    JAVA_HOME=C:\bea103\jdk1.6.0_17
    See if this helps.
    Thanks

  • JRMC4.0: Method profiler not picking the right class instance

    Testing with JRMC 4.0 + R28 1.6
    Method profiler works on unit-test cases. However, when using it on a large scale application, it did not work properly for some of the classes and methods (zero invocation count).
    I searched internet and saw some ppl mentioning about multiple class loader could result that weird behavior. I only using one simple spring class loader, therefore don't know how to resolve it...
    Any suggestion would be appreciated...

    Thanks Erik. The issue is resolved without me doing anything on the application side... I switched back to JRMC 3.1.2, and it works fine.
    Not sure if it's worth looking into to see what's new in 4.0?

  • CBO not picking correct indexes or doing Full Scans

    Database version - 10.2.0.4
    OS : Solaris 5.8
    Storage: SAN
    Application : PeopleSoft Financials
    DB size : 450 gb
    DB server : 12 CPU ( 900 Mghz each ), 36 GB RAM
    ASMM - sga_target_size = 5 gb
    Locally managed tablespaces - MANUAL
    - db_file_multiblock_read_count - not set explicitly in spfile ( implicitly defaulted to 128 )
    - other optimizer related parameters are set to default
    - system_statistics - CPUSPEEDNW=456.282722513089, IOSEEKTIM =10, IOTFRSPEED=4096     
    - dictionary object system stats were last gather in Nov 09
    - stats on schema objs are gathered every night using custom script, but I have to say there are some histograms on some tables which were gathered by PS admins
    begin
    dbms_stats.gather_schema_stats(
    ownname=> 'SCHEMANM' ,
    cascade=> DBMS_STATS.AUTO_CASCADE,
    estimate_percent=> DBMS_STATS.AUTO_SAMPLE_SIZE,
    degree=> 10,
    no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
    granularity=> 'AUTO',
    method_opt=> 'FOR ALL COLUMNS SIZE 1',
    options=> 'GATHER STALE');
    end;
    Details :
    We are experiencing erratic database performance. It was upgraded from 9i to 10g along with PS software upgrade. A job that runs on one day in 12 hrs(that is high in itself) would take more than 24 hrs another day.
    We have Test and Staging envs on other servers which do not have performance issues of production magnitude. The test, staging dbs are clones of prod, created by ftp'ing files from one location to another, not sure if that makes any difference but just pointing out.
    On Prod db some symptoms which baffle me are :
    1) sql executing for over 40 minutes, check the plan and it is using an "incorrect" index, idx1. Hint sql with "correct" index, idx2, and it runs in few seconds. result set <400 rows. Cost with hint with idx2 is HIGHER. This scenario is still understandable as CBO is likely to pick a lower cost.
    - But why is there so much discrepancy in cost and response time?
    - what is influencing the CBO to pick an index which is obviously not the fastest response time?
    2) sql plan shows FTS , execution time , runs forever . But a hint with index in this case shows the cost is LOWER and response time is in seconds, so why is CBO not even evaluating this index path? Because as I understand the CBO, it will always pick the lower cost plan.
    What is influencing the CBO. Is it system stats? or any other database parameter? or the hardware ? the large SGA?? histogram ?? Stats gathering?? is there is any known issue with DBMS_STATS.AUTO_SAMPLE_SIZE and cardinaility?
    Where should I put my focus?
    What am I looking for ?
    I do have Jonathan Lewis's Cost-Based Oracle Fundamentals which I have just started so perhaps I will be enlightened but while I read it, it would be of immense help to get some advice from forum gurus.
    At this time I am not posting any exec plan or code, but I can do so if required.
    Thanks,
    JC

    Picking up just a couple of points - the ones about: why can performance change so much from one day to the next, and how can the optimizer miss a plan which (when hinted) shows a lower cost.
    NOTE: These are only suggestions that may allow you to look at critical code and recognise the pattern of behaviour
    Performance change:
    You are using "gather stale" which means tables won't get new statistics is the volume of change since the last collection is "small". But peoplesoft tables can be big, so some tables may need a lot of data to change (which might take several days or weeks) before they get new stats. The 10g optimizer is able to compare the high-values stored with the predicate values supplied in queries, and decide that since the predicate is higher than the known highest value, it should scale down its estimates of data returned. After a few days when the stats haven't changed, the optimizer suddenly gets to the point where the estimated data size is much too small and the plan changes to something that you can see is bad. The typical example here is a date column that increases with time, and a query on "recent data" - the optimizer basically says: "you want 9th Feb - the high value says 28th Jan, there's virtually no data". Keeping date and sequence-based high-values up to date is important. (See dbms_stats.set_column_stats).
    Lower cost plans available:
    Sometimes this is a bug. Sometimes it's an unlucky side effect. When a query has a large number of tables in a single query block, the optimizer can only examine a limited subset of the possible join orders (for example, a 10-table join has over 3million join orders, and the default limit is 2,000 checked). Because of this limit, Oracle starts working through a few joins orders in a methodical manner, then does a "big jump" to a different set of join orders where it checks a few more join orders, then does another "big jump". It may be that it never gets to your nice plan with the lower cost because it doesn't have time. However, by putting in the hint, you may make some of the orders the optimizer would have examined drop out of the "methodical list" - so it examines a few more in one sequence, or possibly "jumps" to a different sequence that it would not othewise have reached. (I wrote a related blog item some time ago that might make this clearer, even though it's not about exactly the same phenomenon: http://jonathanlewis.wordpress.com/2006/11/03/table-order/ ).
    Your recent comment about dynamic sampling is correct, by the way - by default (which for your version is is level 2 as a system parameter) it will only apply for tables which don't have any statistics. It's only for higher levels, or when explicitly hinted for tables, that it can apply to tables with existing statistics.
    Regards
    Jonathan Lewis
    http://jonathanlewis.wordpress.com
    http://www.jlcomp.demon.co.uk
    "Science is more than a body of knowledge; it is a way of thinking"
    Carl Sagan
    To post code, statspack/AWR report, execution plans or trace files, start and end the section with the tag {noformat}{noformat} (lowercase, curly brackets, no spaces) so that the text appears in fixed format.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • XML Publisher:Concurrent Prg not picking the RTF Template

    Hi All,
    We developed the rdf report and design the layout and we registred it.when we run the concurrent program program is not picking the RTF template.
    We are using the Following version.
    Oracle Apps 11.5.10
    xml pub is 5.6.2
    So please do the need ful, pleaseeeeeeee
    Thanks & Regards
    Leela

    that suggests you haven't got the setup of the data definition and/or the layout template right.
    Go into the XML Publisher administrator responsibility and select 'Data Definition'
    You need to make sure that when you create the data definition it has the same code as the concurrent program short name and application. This is the connection between the two.
    Having create the data definition, click on the 'Templates' tab and create a template. It should connect with the data Definition you have just created.
    Now upload your layout template file.
    If you have this right, then you will be able to see the layout template from the onsite setting tab.

  • Out of the box execution plan for Payables EBS 11.5.10

    Has anyone else experienced performance issues with the out of the box execution plan for the Payables subject area for Oracle EBS 11.5.10? Our incremental ETL for this particular subject area is taking 8+ hours. I understand that there are several factors involved with performance and that there are a lot of AP transactions, but this is ridiculous for a nightly incremental ETL job.
    In particular it is the SDE_ORA_APTransactionFact_Payment task that is taking forever. This query appears to have extremely high cost (see explain plan below). Has anyone been successful in rewriting or changing this query?
    SELECT STATEMENT  ALL_ROWSCost: 586,953  Bytes: 16,550  Cardinality: 50                                                                         
                13 NESTED LOOPS OUTER  Cost: 586,953  Bytes: 16,550  Cardinality: 50                                                         
                            10 NESTED LOOPS  Cost: 586,952  Bytes: 15,800  Cardinality: 50                                             
                                        7 HASH JOIN  Cost: 468,320  Bytes: 11,693,526  Cardinality: 59,358                               
                                                    5 HASH JOIN  Cost: 429,964  Bytes: 9,200,490  Cardinality: 59,358                     
                                                                3 HASH JOIN  Cost: 366,009  Bytes: 7,740,544  Cardinality: 60,473         
                                                                            1 TABLE ACCESS FULL TABLE AP.AP_AE_LINES_ALL Cost: 273,240  Bytes: 15,212,604  Cardinality: 230,494 
                                                                            2 TABLE ACCESS FULL TABLE AP.AP_INVOICE_PAYMENTS_ALL Cost: 45,211  Bytes: 715,512,860  Cardinality: 11,540,530 
                                                                4 TABLE ACCESS FULL TABLE AP.AP_PAYMENT_SCHEDULES_ALL Cost: 39,003  Bytes: 309,648,420  Cardinality: 11,468,460       
                                                    6 TABLE ACCESS FULL TABLE AP.AP_CHECKS_ALL Cost: 28,675  Bytes: 130,126,920  Cardinality: 3,098,260               
                                        9 TABLE ACCESS BY INDEX ROWID TABLE AP.AP_INVOICES_ALL Cost: 2  Bytes: 119  Cardinality: 1                                 
                                                    8 INDEX UNIQUE SCAN INDEX (UNIQUE) AP.AP_INVOICES_U1 Cost: 1  Cardinality: 1             
                            12 TABLE ACCESS BY INDEX ROWID TABLE PO.PO_HEADERS_ALL Cost: 1  Bytes: 15  Cardinality: 1                                                 
                                        11 INDEX UNIQUE SCAN INDEX (UNIQUE) PO.PO_HEADERS_U1 Cost: 1  Cardinality: 1                       

    Hi Srini, All,
    Thanks for the reply.
    The payables documentation (i.e. User Guide) discusses about options that could be used in implementing EFT. However, if possible, we would like suggestions on what would be the better ways to implement EFT (US bank) using either XML or text formats. We would also prefer not using e-commerce gateway or EDI.
    Thanks in advance.
    MM

  • Picking the right quoattion and the value should show in PO

    Dear All,
    When comparing quotations the CST and VAT applicable Suppliers where VAT may be Cenvatable or Not and CST is not Cenvatable .After maintaining comparision in quotations it has to pick the right supplier quotation depending on which condition type and should show in the PO as Non Deductable Tax.
        It should differenciate with the Cenvatable amount and Non Cenvatable amount which should show in PO
               Please suggest me which are all Condition types with Controal data should i Difine in my Pricing Procedure.
    Thanks,
    Tiru

    Hi,
    VAT and CST comes from Tax Procedure and depends on the Tax Code which you maintain in RFQ in ME41. You can see Taxes in ME47, select line item And click menu Item > More functions > Taxes
    And once you finalise the quotation and go for PO creation w.r.t. RFQ, it copies the Tax Code automatically in PO. You can see "Taxes" under "Invoice" tab at item details level in PO.

  • HT5699 i can't buy  a song because it ask me for security questions and i answer and it says you did not  provide the right answer

    i can't buy  a song because it ask me for security questions and i answer and it says you did not  provide the right answer

    Go back to the article you asked this question from and pick a method of contacting Apple. Posting in these boards isn't one of them.
    (103148)

  • Ive forgotton my security questions but Apple do not have the right email to send all the reset information to? what do i do?

    Ive forgotton my security questions but Apple do not have the right email to send all the reset information to? what do i do?

    You need to ask Apple to reset your security questions; ways of contacting them include clicking here and picking a method for your country, phoning AppleCare and asking for the Account Security team, and filling out and submitting this form.
    (97775)

  • JSP does not call the right method in controller class

    Hi all,
    I have a jsp file which loads a page at this address: http://localhost:8080/dir/list/
    I've added two checkboxes to the page; user can check both checkboxes, only one or none. Following is code I have in jsp file:
    <form class="checkboxForm">
    <c:choose>                                                                                                         
    <c:when test='${newItems==true}'>
    <input id="newItems" type="checkbox" value="#" name="newItems" class="checkbox2" checked="checked" /><strong> New Businesses   </strong>                                                                 
    </c:when>
    <c:otherwise>
    <input id="newItems" type="checkbox" value="#" name="newItems" class="checkbox2"/><strong> New Businesses   </strong>
    </c:otherwise>
    </c:choose>
    <c:choose>                                                                                                         
    <c:when test='${rejectedItems==true}'>
    <input id="rejectedItems" type="checkbox" value="#" name="rejectedItems" class="checkbox3" checked="checked"/><strong> Rejected Businesses   </strong>                                                                 
    </c:when>
    <c:otherwise>
    <input id="rejectedItems" type="checkbox" value="#" name="rejectedItems" class="checkbox3"/><strong> Rejected Businesses   </strong>
    </c:otherwise>
    </c:choose>
    <a href="#" onclick="apply();">
    <button name="apply" class="btn-primary" value="Apply" tabindex="4">Apply</button>
    </a>
    </form>
    <script type="text/javascript">
    function apply(){
         var newItems = document.getElementById("newItems").checked;
         var rejectedItems = document.getElementById("rejectedItems").checked;
         alert("Inside apply() method.");
         alert("newItems= " + newItems + ", rejectedItems: " + rejectedItems);     
         window.location = "<c:url value='/list/'/>" + newItems + "/" + rejectedItems;
         alert("window.location= " + window.location);
         alert("Add extra delay!");
         return false;
    </script>This is my Controller class:
    // Method1: this method gets called when the user loads the page for the first time.
    @RequestMapping(value="/list", method = RequestMethod.GET)
    public String list(Model model, HttpServletRequest request) {          
              System.out.println("Controller: method1: Passing through...");
              model.addAttribute("newItems", Boolean.TRUE);
              model.addAttribute("rejectedItems", Boolean.TRUE);
              // Does other things.
    // Method3: this method gets called when user checks/unchecks one of the checkboxes and clicks on Apply button.
    @RequestMapping(value="/list/{newItems}/{rejectedItems}", method = RequestMethod.GET)
    public String list(@PathVariable Boolean newItems, @PathVariable Boolean rejectedItems, Model model, HttpServletRequest request) {          
              System.out.println("Controller: method3: Passing through...");
              model.addAttribute("newItems", newItems);
              model.addAttribute("rejectedItems", rejectedItems);
    // Does other things.
         }The way my jsp code is written now, it calls the correct method and displays the correct url. When page loads for the first time, it calls method1 and the url is:
    http://localhost:8080/dir/list
    When the user checks/unchecks one or both checkboxes and clicks on apply button, method3 is called and this url is displayed:
    If both checkboxes are checked which both booleans are set to true:
    http://localhost:8080/dir/list/true/true
    Everything is fine... however, if I comment these two lines at the end of JavaScript apply() function,
    alert("window.location= " + window.location);
    alert("Add extra delay!");Then method3 will never gets called; only method1 gets called and I see this url:
    http://localhost:8080/url/list//?newItems=%23&rejectedItems=%23&apply=Apply
    I do not know why it gets confused bet. method1 and method3 and cannot pick the right method?
    I tried to use the POST method instead, but the page goes directly to our internal error page and it never reaches the method I wrote in my controller for POST:
    I don't really know what I'm doing wrong? Any help is greatly appraciated.
    Edited by: ronitt on Dec 13, 2011 2:35 PM

    I changed the <form> in the jsp to div and its working fine. I do not need to have comments in JavaScript funcion() anymore. I don't know why that made the difference though? According to:
    http://www.w3schools.com/tags/tag_form.asp
    The <form> tag is used to create an HTML form for user input.
    The <form> element can contain one or more of the following form elements:
    <input>
    <textarea>
    <button>
    <select>
    <option>
    <optgroup>
    <fieldset>
    <label>
    An HTML form is used to pass data to a server.
    I do have <button> and also send the data - the value of checkboxes - to server. So I think it should also work with <form>.
    Please let me know if you have any idea. Thanks.

  • SSIS ETL does not pick the file from Share point when it execute through SQL Agent job

    I have created one SSIS packages, which pick the file from the Share point document library. its work successfully, once it execute through the VS project application. 
    But when i create a job in SQL Server Agent for this package then it does not pick the file and job getting fail. 
    Just for more update, SQL Server has been install in Cluster mode and using BIDS 2012 with SQl Server 2012.

    Hi PriyankGupta,
    SQL Server Integration Services is not cluster awareness, and does not support failover from one cluster node to another. So, in your clustered environment, make sure SSIS is installed on each node in the cluster. In other word, SSIS must be installed on
    the server where the SQL Server Agent job is created. 
    If you use any third party task/component or drivers, make sure they are installed on the SQL Server Agent job server. Besides, also pay attention to the protection level of the package as well as 32-bit or 64-bit runtime mode of the package. For more information,
    please see:
    http://social.technet.microsoft.com/Forums/systemcenter/en-US/e13c137c-1535-4475-8c2f-c7e6e7d125fc/how-do-i-troubleshoot-ssis-packages-failed-execution-in-a-sql-agent-job 
    If the issue persists, please post the error message in the job history for further analysis.
    Regards,
    Mike Yin
    TechNet Community Support

  • Can not see the option Execution with Data Change in the infoprovider?

    Hi team,
    i am using query designer 3.x, when i go into my bex brodcaster settings and schedule my report
    i can not see the option "Execution with Data Change in the infoprovider",
    i can only see 2 options
    Direct scheduling in background process
    create new scheduling
    periodic,
    is there any setting which i would be able to see the option "Execution with Data Change in the infoprovider"?
    kindly assist

    Hi Blusky ,
    check the below given link.
    http://help.sap.com/saphelp_nw04/Helpdata/EN/ec/0d0e405c538f5ce10000000a155106/frameset.htm
    Regards,
    Rohit Garg

  • I try to insert some images on a website but the images are not in the right color mode. I do not know what to do? and also I have 1200 images to insert so I can not change one after one. So I need to set up an action, but I donot know how to do it... Tha

    I try to insert some images on a website but the images are not in the right color mode. I do not know what to do? and also I have 1200 images to insert so I can not change one after one. So I need to set up an action, but I donot know how to do it... Thanks

    What is the problem specifiaclly?
    If the images are intended for web use I would recommend converting them to sRGB which could be done with Edit > Convert to Profile or with File > Save for Web, but as including a Save step in Actions and applying them as Batch can sometimes cause problems I would go with regular converting.
    You could also try Image Processor Pro.
    Scripts Page

  • Problem:  While creating a project in iDVD, it plays perfectly on the computer, but after burning the sound is off.  Video soundtrack is not in the right place.  HELP!

    Problem:  While creating a project in iDVD, it plays perfectly on the computer, but after burning the sound is off.  Video soundtrack is not in the right place.  HELP!

    Have you checked out the topics at the right in the More Like This section?
    OT

  • File Adapter as Sender not picking the files

    We configured the File Adapter as Sender, Transport Protocol =NSF and message protocol as FCC.
    In OS we have folder to read the file, but SAP XI unable to read the file.
    To trouble shoot this issue we copied that file into another location and reverted back to the same location then XI File adaptor is able to read the file.
    Now we have compared the Attributes of the path
    the only difference in file attributes
    Coded character set ID . . . . . . . . :   819      
    CCSID 819 (decimal)
    0333 (hex)
    Name ISO 8859-1 ASCII
    Description ISO 8859-1: Latin Alphabet Number 1Latin-1 countries and regions
    Notes Related CCSID with euro is 923           
    able to read the file attributes:
    Coded character set ID . . . . . . . . :   1252                    
    CCSID 1252 (decimal)
    04E4 (hex)
    Name MS-WIN LATIN-1
    SC Co-existence/Migration
    FMS Subset
    Registration Date 
    Description MS Windows, Latin-1
    Notes CCSID for this code page with euro is 5348
    We have tried to chage the File type as Text and File Encoding with ISO-8859-1even then its not picking the files.
    Please suggest me where i am doing wrong here
    Thanks,
    Venkat.

    Hi,
    Check the file path & file name , Check  the processing mode parameter which you have set?
    Check the folder properties & provide all the permission ...
    Finally check the communication channel status in RWB, If the problem persist try to stop & start the communication channel again..
    Hope it helps...
    Regards,
    Kumar.

Maybe you are looking for

  • Use flash in DW template

    I create new DW doc add a flash movie save DW doc as template create new DW doc and apply the template to it, prevew and cant see the flash content if i detach the DW doc from template it works am i allowed to use flash movie in a template? thanks in

  • Contacts Display and Sort by Company Name

    I have over 1000 contacts in Outlook which synced wonderfully with my new iPhone. Alas, I need to lookup and sort by Company Name. This is a VERY standard method for contacts. The options presented by iphone are first and last name, sigh and tech sup

  • KVM-like device for using 1 keyboard/mouse for 2 Macs

    I'm familar with KVMs but what I'd like to do is simply use the same Apple Keyboard/Mouse for both my thunderbolt iMac and my thunderbolt Mac Mini. Any recommendations for keeping this as minimalist and space saving as possible? (BootCamp/Windows7 wi

  • Change size of windows in internet explorer

    I just had the computer "tuned up" remotly by Hp the manufactorer. Now my internet windows are smaller then usually in the "restore down" size. I made the window larger by using the arrows and dragging the side or corner to the size I want but as soo

  • Lightroom - as 64 bit native application

    Hello All, I searched but didn't find any information about this. Has anyone heard plans of a port of Lightroom to WinTel x64? Thanks, F