1 2 Previous Next 16 Replies Latest reply on Jan 15, 2016 12:53 PM by Amr Abdeen

    Display column value automatically based on other column in tabular form

    Ravi10

      Hi

       

      I am using APEX 5.0, I have a requirement to display the field automatically based on other item in the tabular form.

       

      img.png

      in the above attached screenshot when i press add row button a new row is created and input the value in 'place no', 'place id, dept & height' when i press tab or move out of the 'height' column 'GID' should be displayed automatically.

      To display GID my query will be like this. 'Select GID from x where place no= '1011' and  dept = 88 and height=88'.

       

      how to get the value of GID based on other value entered in Place no, dept and Height in a tabular form.

       

      Thanks in advance

      Ravi.

        • 2. Re: Display column value automatically based on other column in tabular form
          Ravi10

          Hi Maymoud,

          Thanks for you suggestion. i am new to APEX and new to jquery. Can you please help me out with example.

           

          Regards

          Ravi

          • 3. Re: Display column value automatically based on other column in tabular form
            Mahmoud_Rabie

            You are welcome.

             

            Please start by making a demo on apex.oracle.com.

            You can use this

            workspace: ralab

            user : test

            pass : test

             

            Please make a sample demo app on that workspace and I will complete the missing part for you

             

            Regards

            Mahmoud

            • 4. Re: Display column value automatically based on other column in tabular form
              Ravi10

              Hi Mahmoud,

               

                Thank you very much for you time. I really appreciate you help

               

              I have created demo application in Workspace:ralab, user: test and pass: test.

              under application 46028 application Name Tabular_Form.

               

              In that application i have created 2 table 'Wprof' and 'Wint'

               

              When i press Add row button, and enter wid, depth and hight automatically wname should be displayed

              Wprof is main table and Wint is the table from where Wname should be displayed automatically.

              ex SELECT WNAME FROM WINT WHERE WID='1001' AND DEPTH =30 AND HIGHT=40 it should be display 'CIITN'.

               

              its always going to exception part. i guess its not taking parameter of 'wid' and other. if i hard code wid, depth and hight it work fine.

               

              ln the demo example i have given only column to be updated automatically, but in my realtime application i have 40 column out of that 20 column is to be updated automatically based on other value.

               

              Can i have WID as auto fill in tabular form

               

              can u please help me out.

               

              Hight Column

              Custom Attributes = onKeyUp="this.value = this.value.toUpperCase()" onblur = "f_fetch_wname(this);"

               

              Shared component

              application process

              Ondemand run this application process : wname


              Function and Global Variable Declaration

               

              function f_fetch_wname(pThis) { 

               

                apex.server.process ( "WNAME", { 

                                  x01: $(pThis).val() 

                                    }, { 

                                      dataType: "text" 

                                    , success: function( pData ) { 

                                      $(pThis).closest('tr').find('td[headers="WNAME"]').text(pData); 

                                    } 

                                    }); 

                }

              • 5. Re: Display column value automatically based on other column in tabular form
                Mahmoud_Rabie

                Hi Ravi

                 

                No need for Application Item or process. I have completed the task with the following steps

                1) Create 4 hidden items

                P2_SELWID

                P2_SELDEPTH

                P2_SELHEIGHT

                P2_CALCWNAME

                2) Give 3 CSS classes to the three input columns of the tabular form.

                .WID

                .DEPTH

                .HEIGHT

                3) Create jQuery function to re-get the three page items in any row if any one of them has been changed.

                add the following code to Function and Global Variable Declaration

                function setRowItemValues(p_rownum){
                    wid_col_id = 'f02_' + rownum ;
                    wid_col_val = $('#'+wid_col_id).val();
                    depth_col_id = 'f03_' + rownum ;
                    depth_col_val = $('#'+depth_col_id).val();
                    height_col_id = 'f04_' + rownum;
                    height_col_val = $('#'+height_col_id).val();
                    wname_col_id = 'f05_' + rownum;
                    // set P2_SELWID,P2_SELDEPTH,P2_SELHEIGHT
                    $s("P2_SELWID", wid_col_val ); 
                    $s("P2_SELDEPTH", depth_col_val ); 
                    $s("P2_SELHEIGHT", height_col_val ); 
                    $s("P2_SELWNAMEID", wname_col_id ); 
                    // Call the Dynamic Action to get WNAME if all values are not null
                    if( wid_col_val != ''  && depth_col_val != '' && height_col_val != '' ){
                        //Call DA to Get WNAME from WINT
                        $.event.trigger("CalcWNAME");
                        // set the Tabular form
                        $('#'+wname_col_id).val($x("P2_CALCWNAME").value);    
                    }
                }
                

                and Execute when Page Loads

                $(document).on("change", ".WID,.DEPTH,.HEIGHT", function(){
                    rownum = $(this).attr('id').substr(4); 
                    setRowItemValues(rownum);
                });
                

                 

                4) Create a Dynamic Action to get WNAME based on a PL/SQL function. Note the submitted page items.

                CalcWNAME

                 

                5) Set the corresponding item in the row from the jQuery function after finishing the DA.

                 

                Please check and I hope your problem is solved now.

                 

                Regards

                Mahmoud

                1 person found this helpful
                • 6. Re: Display column value automatically based on other column in tabular form
                  Ravi10

                  Hi Mahmoud,

                   

                  Thank you very much. i have implement the same concept of coding and it works fine.

                   

                  Once again many thanks for you help.

                   

                  Regards

                  Ravi

                  • 7. Re: Display column value automatically based on other column in tabular form
                    Mahmoud_Rabie

                    Hi Ravi

                     

                         If you deem that your question is resolved, please close the thread by marking the appropriate replies helpful/correct. This will help other forum members with same/similar question.


                    You didn't mark the right post as correct answer .

                     

                    Regards

                    1 person found this helpful
                    • 8. Re: Re: Display column value automatically based on other column in tabular form
                      fac586

                      Ravi10 wrote:

                       

                      ln the demo example i have given only column to be updated automatically, but in my realtime application i have 40 column out of that 20 column is to be updated automatically based on other value.

                      Let's take a look at a 40 column tabular form. Is that really a UI that anyone would want to use?

                       

                      It's also not clear whether this means that 20 columns are subject to multiple autocomplete events, or all 20 are to be updated by a single event. If it's the latter then that raises suspicions about the normalisation of the data model...however for demonstration purposes that's what has been implemented on the sample page. Enter suitable values for WID, Depth, and Height, and WNAME and the next 20 columns will be completed as (possibly) requested above.

                       

                      Note that the tabular form region is simulated using collections for the UI demonstration purposes only, and is not capable of performing CRUD operations.

                      Mahmoud_Rabie wrote:

                       

                      No need for Application Item or process. I have completed the task with the following steps

                       

                      1) Create 4 hidden items...

                       

                      2) Give 3 CSS classes to the three input columns of the tabular form...

                       

                      3) Create jQuery function to re-get the three page items in any row if any one of them has been changed.

                      add the following code to Function and Global Variable Declaration

                      ...

                      and Execute when Page Loads

                      ...

                       

                      4) Create a Dynamic Action to get WNAME based on a PL/SQL function. Note the submitted page items...

                       

                      5) Set the corresponding item in the row from the jQuery function after finishing the DA.

                      That appears to be a very convoluted approach, and simply won't scale to handle updating 20 columns. It would be a maintenance nightmare with components, code, and hard-coded dependencies all over the place:

                       

                      • 23 hidden page items
                      • A JS function that isn't immediately visible in the page definition consisting of ~70 lines of code with obscure manually-determined hard-coded dependencies.
                      • A JS event handler that isn't immediately visible in the page definition
                      • A dynamic action
                      • An external function

                       

                      What happens if another column is added to the update set? Or the columns are re-sequenced? The developer would have to:

                       

                      • Add another hidden page item.
                      • Manually determine the column's fxx number.
                      • Modify a JS function that isn't immediately visible in the page definition, adding several lines of code and/or changing fxx numbers for existing columns (the latter activity is a classic source of bugs).
                      • Edit an external function to include the required value in the returned data.

                       

                      The demo page linked to above met the requirement using a single dynamic action and an AJAX callback page process. These are clearly visible to developers in the page definition, and there's little more JS and PL/SQL code involved in this handling 20 columns than the approach proposed above required to handle one. The only dependencies involved are the column names/aliases used in the report and callback queries.

                       

                      The next step would be to industrialise this into a generic JS library, PL/SQL package, and dynamic action plug-in to handle a variable number of input predicates and output columns...but are tabular forms actually worth that much effort?

                       

                      Dynamic Action

                       

                      Event: Change

                      Selection Type: jQuery Selector

                      jQuery Selector: td[headers="WID"] input,td[headers="DEPTH"] input,td[headers="HEIGHT"] input

                      Action: Execute JavaScript Code

                      Fire On Page Load: No

                      Code

                      var row = $(this.triggeringElement).closest('tr'),
                          wid = row.find('td[headers="WID"] input').val(),
                          depth = row.find('td[headers="DEPTH"] input').val(),
                          height = row.find('td[headers="HEIGHT"] input').val();
                      
                      if (wid && depth && height) {
                        apex.server.process(
                          "getWINT", {
                            x01: wid,
                            x02: depth,
                            x03: height
                          }, {
                            dataType: "json",
                            success: function (wint) {
                              if (wint.length > 0) {
                                $.each(wint[0], function (k, v) {
                                  row.find('td[headers="' + k + '"] :input').val(v)
                                })
                              }
                            },
                            error: function (xhr, status, errorThrown) {
                              console.log("Error: " + errorThrown);
                              console.log("Status: " + status);
                              console.dir(xhr);
                            },
                            loadingIndicator: "body",
                            loadingIndicatorPosition: "page"
                          }
                        );
                      }
                      
                      


                      AJAX Callback

                       

                      Name: getWINT

                      Code:

                      declare
                      
                        wint sys_refcursor;
                      
                      begin
                      
                        open wint for
                          select
                              c002 wname
                            , c006
                            , c007
                            , c008
                            , c009
                            , c010
                            , c011
                            , c012
                            , c013
                            , c014
                            , c015
                            , c016
                            , c017
                            , c018
                            , c019
                            , c020
                            , c021
                            , c022
                            , c023
                            , c024
                          from
                              apex_collections
                          where
                              collection_name = 'WINT'
                          and c001 = apex_application.g_x01
                          and n001 = to_number(apex_application.g_x02)
                          and n002 = to_number(apex_application.g_x03);
                        
                        apex_json.write(wint);
                      
                      end;
                      
                      
                      • 9. Re: Display column value automatically based on other column in tabular form
                        Mahmoud_Rabie

                        Hi fac586

                         

                        That appears to be a very convoluted approach, and simply won't scale to handle updating 20 columns. It would be a maintenance nightmare with components, code, and hard-coded dependencies all over the place:

                        • 23 hidden page items
                        • A JS function that isn't immediately visible in the page definition consisting of ~70 lines of code with obscure manually-determined hard-coded dependencies.
                        • A JS event handler that isn't immediately visible in the page definition
                        • A dynamic action
                        • An external function

                        Thank you for your valuable contribution however it is much more complicated from my point of view. 

                         

                        I don't agree with you. Simply, no one will set an item based on 23 item .

                         

                        The usage of hidden items is based on the requirements of the question which needs to get WNAME based on 3 fields only WID, DEPTH and HEIGHT.


                        Regards

                        Mahmoud

                         

                        • 10. Re: Display column value automatically based on other column in tabular form
                          fac586

                          Mahmoud_Rabie wrote:

                           

                          I don't agree with you. Simply, no one will set an item based on 23 item .

                           

                          The usage of hidden items is based on the requirements of the question which needs to get WNAME based on 3 fields only WID, DEPTH and HEIGHT.

                          Read the complete thread:

                          ...

                          ln the demo example i have given only column to be updated automatically, but in my realtime application i have 40 column out of that 20 column is to be updated automatically based on other value.

                          ...

                          • 11. Re: Display column value automatically based on other column in tabular form
                            Mahmoud_Rabie

                            Hi fac586

                             

                            Based on this:

                            ln the demo example i have given only column to be updated automatically, but in my realtime application i have 40 column out of that 20 column is to be updated automatically based on other value.

                            I should say that your solution will be better.

                             

                            Regards

                            Mahmoud

                            • 12. Re: Display column value automatically based on other column in tabular form
                              Mahmoud_Rabie

                              Hi fac586 and Ravi10


                              As an optimized and scalable version of the first solution posted in this thread (let's call it : Solution #3) I have used only (Two HIDDEN PAGE ITEMS + One DA + One JS Function + One jQuery Function ) whatever the number of inputs and outputs. I used procedures from APEX_JSON package to make all the work done with only 2 hidden items.


                              Please give me your opinions

                               

                              1) Only two hidden items whatever the number of inputs and outputs

                              P4_ALLINPUTVALS

                              P4_ALLOUTPUTS

                               

                              2) setRowItemValues

                              function setRowItemValues(p_rownum){
                                  /* Get the VALUEs of all input items */
                                  wid_col_val = $('#f02_' + rownum).val();
                                  depth_col_val = $('#f03_' + rownum).val();
                                  height_col_val = $('#f04_' + rownum).val();
                                  /* Put all values in one JSON object */
                                  var inputValuesTxt = '{"WID":'    + wid_col_val    + ','+
                                                        '"DEPTH":'  + depth_col_val  + ','+
                                                        '"HEIGHT":' + height_col_val + '}';
                                  var inputValuesObj = JSON.parse(inputValuesTxt);
                                  /* Store the input values text in the First Hidden Item: P4_ALLINPUTVALS */
                                  $s("P4_ALLINPUTVALS",inputValuesTxt);
                                  /* Get the output column ID(s) */
                                  wname_col_id = 'f05_' + rownum;
                                  wname_col_val = '*'; /* It's just an initial value. It will be updated by the DA*/
                                  var outputsTxt =  '{ "outputs" : [' +
                                                       '{ "output_id":"'+ wname_col_id +'" , "output_val":"'+ wname_col_val +'" } '+
                                                                   ']}';
                                  /* Store the output IDs and their intial values in the Second Hidden Item: P4_ALLOUTPUTVALS */
                                  $s("P4_ALLOUTPUTS",outputsTxt);
                                  /* Check if all input items are not empty*/
                                  if( wid_col_val && depth_col_val && height_col_val ){
                                      /* Call DA to Get The output items from All input items */
                                      $.event.trigger("GetTabularOutputItems");
                                      /* set the appropriate items on Tabular form based on output ids */
                                      var outputsObj = JSON.parse($x("P4_ALLOUTPUTS").value);
                                      // You can use loop here on all output elements
                                      $('#'+outputsObj.outputs[0].output_id).val(outputsObj.outputs[0].output_val);
                                 }
                              }
                              


                              3) Call jQuery function when Page Load (jQuery selectors will not work with Add Row but this function works)

                              $(document).on("change", ".WID,.DEPTH,.HEIGHT", function(){
                                  rownum = $(this).attr('id').substr(4); 
                                  setRowItemValues(rownum);
                              });
                              


                              4) Dynamic Action GetTabularOuputItems -> Execute PL/SQL

                              declare
                                  -- inputs parameters
                                  p_wid NUMBER;
                                  p_depth NUMBER;
                                  p_height NUMBER;
                                  p_wname varchar2(100);
                                  p_wname_id varchar2(100);
                              begin
                                 /* Parse JSON of input values */
                                 apex_json.parse (:P4_ALLINPUTVALS);
                                 p_wid := apex_json.get_number(p_path => 'WID');
                                 p_depth := apex_json.get_number(p_path => 'DEPTH');
                                 p_height := apex_json.get_number(p_path => 'HEIGHT');
                                 -- Get Values and IDs of Output parameter(s) based on input parameters
                                 apex_json.parse (:P4_ALLOUTPUTS);
                                 p_wname_id := apex_json.get_varchar2('outputs[1].output_id');
                                 p_wname := GET_WNAME(p_wid,p_depth,p_height);   
                                 -- Write Outputs JSON based on IDs and Values
                                 apex_json.initialize_clob_output;
                                 apex_json.open_object;               -- {
                                 apex_json.open_array('outputs');     -- "outputs": [
                                 apex_json.open_object;               -- {
                                 -- You  can use a loop here to write any number of the output parameters
                                 apex_json.write('output_id',p_wname_id);  --
                                 apex_json.write('output_val',p_wname);  --
                                 apex_json.close_object;             -- }
                                 apex_json.close_array;              -- ]
                                 apex_json.close_object;             -- }
                                 :P4_ALLOUTPUTS := apex_json.get_clob_output;
                                 apex_json.free_output;
                              end;
                              
                              
                              
                              
                              
                              
                              


                              Regards

                              Mahmoud

                              • 13. Re: Display column value automatically based on other column in tabular form
                                fac586

                                Mahmoud_Rabie wrote:

                                 

                                Hi fac586 and Ravi10


                                As an optimized and scalable version of the first solution posted in this thread (let's call it : Solution #3) I have used only (Two HIDDEN PAGE ITEMS + One DA + One JS Function + One jQuery Function ) whatever the number of inputs and outputs. I used procedures from APEX_JSON package to make all the work done with only 2 hidden items.


                                Please give me your opinions

                                 

                                1) Only two hidden items whatever the number of inputs and outputs

                                P4_ALLINPUTVALS

                                P4_ALLOUTPUTS

                                Why use any hidden page items at all? They are unnecessary if an On Demand AJAX process is used to return the required values. You appear to have edited this post since I first read it and removed another reference to there being "no need for [an]...[On Demand] application process". Why go to these lengths to avoid using On Demand processes? The only arguments against them that I've ever seen related to having to create page or application items as a medium for passing parameters, and the possibility of developers becoming confused due to the Application Process space being overwhelmed by non-reusable page-specific AJAX processes. Both of these issues are now avoidable, the first by the introduction of the apex_application.g_x01..10 scalar variables, and the second by the recommendation to create page-specific On Demand AJAX processes at page level, where they are now clearly described as "AJAX Callbacks".

                                 

                                2) setRowItemValues

                                1. function setRowItemValues(p_rownum){ 
                                2.     /* Get the VALUEs of all input items */ 
                                3.     wid_col_val = $('#f02_' + rownum).val(); 
                                4.     depth_col_val = $('#f03_' + rownum).val(); 
                                5.     height_col_val = $('#f04_' + rownum).val(); 
                                6.     /* Put all values in one JSON object */ 
                                7.     var inputValuesTxt = '{"WID":'    + wid_col_val    + ','
                                8.                           '"DEPTH":'  + depth_col_val  + ','
                                9.                           '"HEIGHT":' + height_col_val + '}'
                                10.     var inputValuesObj = JSON.parse(inputValuesTxt); 
                                11.     /* Store the input values text in the First Hidden Item: P4_ALLINPUTVALS */ 
                                12.     $s("P4_ALLINPUTVALS",inputValuesTxt); 
                                13.     /* Get the output column ID(s) */ 
                                14.     wname_col_id = 'f05_' + rownum; 
                                15.     wname_col_val = '*'; /* It's just an initial value. It will be updated by the DA*/ 
                                16.     var outputsTxt =  '{ "outputs" : ['
                                17.                          '{ "output_id":"'+ wname_col_id +'" , "output_val":"'+ wname_col_val +'" } '
                                18.                                      ']}'
                                19.     /* Store the output IDs and their intial values in the Second Hidden Item: P4_ALLOUTPUTVALS */ 
                                20.     $s("P4_ALLOUTPUTS",outputsTxt); 
                                21.     /* Check if all input items are not empty*/ 
                                22.     if( wid_col_val && depth_col_val && height_col_val ){ 
                                23.         /* Call DA to Get The output items from All input items */ 
                                24.         $.event.trigger("GetTabularOutputItems"); 
                                25.         /* set the appropriate items on Tabular form based on output ids */ 
                                26.         var outputsObj = JSON.parse($x("P4_ALLOUTPUTS").value); 
                                27.         // You can use loop here on all output elements 
                                28.         $('#'+outputsObj.outputs[0].output_id).val(outputsObj.outputs[0].output_val); 
                                29.    } 


                                I don't see any indication that this is any more scalable than solution #1. It still doesn't actually handle 20 output values (and as we haven't heard from the OP we still don't actually know that this is the correct interpretation of the requirements). It may no longer need another 20 page items to make it do so, but it remains dependent on hard-coded ID selectors and appears to require expansion of lines 14-18 by manual coding for all of the output values as both JS variables and elements of a JSON array to support this.

                                 

                                Regarding optimisation it's possible that using ID selectors to access the controls when getting and setting the values is more efficient than traversing the row using attribute selectors because the DOM and jQuery have optimisations for that. However, any time gained due to that is likely to be offset by that taken up getting data in and out of the page items.

                                 

                                Line 10 is throwing a JS error in the demo on apex.oracle.com. Why is the JSON parsed here? The returned object is not subsequently used.


                                3) Call jQuery function when Page Load (jQuery selectors will not work with Add Row but this function works)

                                1. $(document).on("change", ".WID,.DEPTH,.HEIGHT", function(){ 
                                2.     rownum = $(this).attr('id').substr(4);  
                                3.     setRowItemValues(rownum); 
                                4. }); 


                                What does "jQuery selectors will not work with Add Row but this function works" mean?

                                 

                                I find the entire logical flow decidedly odd. An anonymous event handler is bound to a number of controls, which call a JS function that triggers a dynamic action that executes an anonymous PL/SQL block that calls a named PL/SQL program. Isn't a dynamic action that makes one AJAX request simpler, clearer, more elegant, more efficient, and simply more obvious?


                                4) Dynamic Action GetTabularOuputItems -> Execute PL/SQL

                                1. declare 
                                2.     -- inputs parameters 
                                3.     p_wid NUMBER; 
                                4.     p_depth NUMBER; 
                                5.     p_height NUMBER; 
                                6.     p_wname varchar2(100); 
                                7.     p_wname_id varchar2(100); 
                                8. begin 
                                9.    /* Parse JSON of input values */ 
                                10.    apex_json.parse (:P4_ALLINPUTVALS); 
                                11.    p_wid := apex_json.get_number(p_path => 'WID'); 
                                12.    p_depth := apex_json.get_number(p_path => 'DEPTH'); 
                                13.    p_height := apex_json.get_number(p_path => 'HEIGHT'); 
                                14.    -- Get Values and IDs of Output parameter(s) based on input parameters 
                                15.    apex_json.parse (:P4_ALLOUTPUTS); 
                                16.    p_wname_id := apex_json.get_varchar2('outputs[1].output_id'); 
                                17.    p_wname := GET_WNAME(p_wid,p_depth,p_height);    
                                18.    -- Write Outputs JSON based on IDs and Values 
                                19.    apex_json.initialize_clob_output; 
                                20.    apex_json.open_object;               -- { 
                                21.    apex_json.open_array('outputs');     -- "outputs": [ 
                                22.    apex_json.open_object;               -- { 
                                23.    -- You  can use a loop here to write any number of the output parameters 
                                24.    apex_json.write('output_id',p_wname_id);  -- 
                                25.    apex_json.write('output_val',p_wname);  -- 
                                26.    apex_json.close_object;             -- } 
                                27.    apex_json.close_array;              -- ] 
                                28.    apex_json.close_object;             -- } 
                                29.    :P4_ALLOUTPUTS := apex_json.get_clob_output; 
                                30.    apex_json.free_output; 
                                31. end

                                 

                                How would the GET_WNAME function be modified to handle 20 output values?

                                 

                                Until the solutions are actually doing the same thing they aren't fully comparable. Get yours to return 20 output values and see how things look then.

                                • 14. Re: Display column value automatically based on other column in tabular form
                                  Mahmoud_Rabie

                                  Hi fac586


                                  Thanks for your instructions.


                                  "The only arguments against them that I've ever seen related to having to create page or application items as a medium for passing parameters, and the possibility of developers becoming confused due to the Application Process space being overwhelmed by non-reusable page-specific AJAX processes. Both of these issues are now avoidable, the first by the introduction of theapex_application.g_x01..10 scalar variables, and the second by the recommendation to create page-specific On Demand AJAX processes at page level, where they are now clearly described as "AJAX Callbacks".

                                  For the reasons you have mentioned, I was not in love with On-Demand Application Processes. Based on your recommendation which I trust, I will change my mind and I will try using On-Demand AJAX processes at page level instead of On-Demand Application Processes.

                                   

                                  What does "jQuery selectors will not work with Add Row but this function works" mean?

                                  I meant that using of

                                  $(this.triggeringElement)
                                  
                                  
                                  
                                  
                                  
                                  
                                  

                                  will now work if a new row added by pressing (add row)


                                  Try to test the DA of jQuery Selector on the new row. You will find it has no effect.

                                  Please check

                                  Dynamic Action on a Tabular Form – Jeff Kemp on Oracle

                                  update.PNG

                                  How would the GET_WNAME function be modified to handle 20 output values?

                                  As a solution, the function can be modified to GET_OUTPUTS_JSON. It will take ALLINPUTVALS JSON and the whole logic of Ravi10 (for example the 20 output) can be managed there.


                                  Until the solutions are actually doing the same thing they aren't fully comparable. Get yours to return 20 output values and see how things look then.

                                  ASAP, I will try to use APEX_JSON procedures and AJAX Callbacks in Solution #4 which I hope it gives a real optimization with more than 20 output.

                                   

                                  Regards

                                  Mahmoud

                                  1 2 Previous Next