Function to perform subsequent subtraction in BEx

Hello Experts,
I want to build following standard deviation formula in BEx.
std = R-Bar/D2, R-Bar defined as the sum of the absolute values of the differences between the value and the value before it divided by the number of values (the number of values will be the count minus 1 since the first value does not have a value to take a difference from).  D2 is a contant 1.128.
I don't get any function to perform subsequent subtraction.
, in spreadsheet it is something like this.
Column D : Actual Test Results of Lot 'L1' for each sample (A to G)
Now I need to calculate its standard deviation using above formula.
Column F : E3-E2, E4-E3 and so on. In E2, value will be Zero as it's the first record.
Column G : Absolute of Values in Column F.
Cell G10 : Sum of all absolute values (60 in this example)
Cell G12 : Sum/ (Count-1) i.e. 60/(7-1) in this example. A to G are 7 samples, so count is 7.
G14 : G12/1.128
So, G14 holds the desired result of standard deviation.
When I remove Sample column from my report I should get this result in standard deviation cell.
Lot Number
Standard Dev
L1
7.598784195
Appreciate your help.
Thanks.

Hi There
So you want to play with designer, then you have to create a lot key figure selections and formulas, you have to create as much as samples you may have. If the max number of samples can be seven then you have to create seven key figure selections and restrict each one of them with samples characteristic value. You will create also six formulas.
An example:
KYF 1: Test Result , restrict Samples : A
KYF 2:  Test Result , restrict Samples : B
KYF 3:  Test Result , restrict Samples : C
KYF 4:  Test Result , restrict Samples : D
and so on...
Formula 1: KYF 2 - KYF 3
Formula 2: KYF 3 - KYF 4
Since samples will not be in the analysis then you won't have any issue with the results.
Thank you
Yiannis

Similar Messages

  • Performance Issue Executing a BEx Query in Crystal Report E 4.0

    Dear Forum
    I'm working for a customer with big performance issue Executing a BEx Query in Crystal via transient universe.
    When query is executed directly against BW via RSRT query returns results in under 2 seconds.
    When executed in crystal, without the use of subreports multiple executions (calls to BICS_GET_RESULTS) are seen. Runtimes are as long as 60 seconds.
    The Bex query is based on a multiprovider without ODS.
    The RFC trace shows BICS connection problems, CS as BICS_PROV_GET_INITIAL_STATE takes a lot of time.
    I checked the note 1399816 - Task name - prefix - RSDRP_EXECUTE_AT_QUERY_DISP, and itu2019s not applicable because the customer has the BI 7.01 SP 8 and it has already
                domain RSDR0_TASKNAME_LONG in package RSDRC with the
                description: 'BW Data Manager: Task name - 32 characters', data
                type: CHAR; No. Characters: 32, decimal digits: 0
                data element RSDR0_TASKNAME_LONG in package RSDRC with the
                description 'BW Data Manager: Task name - 32 characters' and the
                previously created domain.
    as described on the message
    Could you suggest me something to check, please?
    Thanks en advance
    Regards
    Rosa

    Hi,
    It would be great if you would quote the ADAPT and tell the audience when it is targetted for a fix.
    Generally speaking, CR for Enteprise  isn't as performant as WebI,  because uptake was rather slow .. so i'm of the opinion that there is improvements to be gained.   So please work with Support via OSS.
    My onlt recommendations can be :
    - Patch up to P2.12 in bi 4.0
    -  Define more default values on the Bex query variables.
    - Implement this note in the BW 1593802    Performance optimization when loading query views 
    Regards,
    H

  • Oracle 9i function to perform data manipulation

    Hi everyone,
    I have two scenarios. I would like to write one Oracle 9i function that can accommodate both these scenarios, using PL/SQL developer. I intend passing a varchar2 parameter to this function. Within the function, I perform a select on a table and see if this value sent has a parent record.
    If it does not have a parent record (null or blank) then I take this value, join with another table, perform some processing and return one varchar2 value.
    If it has a parent record (not null or not blank) then I need to retrieve all the other children records associated with this same parent record, take this value, join with another table,perform some processing and return one varchar2 value.
    I have two simple queries that I wrote: one for record with null/blank parent, and the other for record with same parent and other children. These two queries work individually, when I combine them is where I run into problems. Sample table:
    TABLE XYZ data: (note: if there is a parent, parent shows up in both parent and child field in the table)
    child parent
    1234
    5107 3167
    6259 3652
    5678 9754
    3167 3167
    3652 3652
    1649
    2306 9754
    4657 3652
    9754 9754
    8753 3652
    passing record 1234 into the function.
    SELECT A.child, A.parent, C.field1
    FROM OTHERTABLE C,
    (SELECT TableA.child, TableA.parent
    FROM XYZ TableA
    WHERE TableA.child ='1234')A
    WHERE A.child = C.field2
    ----(output of this query is 1 record with 3 fields 1234 and null/blank and 987654321. I place this output into a cursor and then take 987654321 and place into a variable and return this value)
    passing record 4657 into the function
    SELECT c.CHILDfield, c.PARENTfield, TableOther.field1
    FROM OTHERTABLE TableOther,(
    (SELECT B.CHILDfield, B.PARENTfield FROM
    (SELECT A.PARENTfield, i.CHILDfield FROM TableB,
    (SELECT TableA.CHILDfield, TableA.PARENTfield
    FROM XYZ TableA
    WHERE TableA.CHILDfield ('4657' ))A
    -- pass 4657 and then get the parent
    WHERE A.PARENTfield = TableB.PARENTfield)B
    -- gets associated children with the parent from previous query.
    -- note: parent can exist in the parent and child fields
    WHERE B.CHILDfield <> B.PARENTfield))C
    --strips off the parent and gets child/children only as I don't need
    --the parent when it is also a child
    WHERE C.CHILDfield = TableOther.field1
    --(output of this query is 3 records
    4657 3652 912345671
    6259 3652 945362798
    8753 3652 934274857)
    I place this output into a cursor and then have a CASE statement that goes thru each record, and appends the third value into a variable, the ultimate return value of this will be as follows:
    912345671;945362798;934274857)
    The dilemma is writing a generic query to accommodate both these situations. My current function can handle each of these situations individually, but not both. For testing purposes, I change the select statement depending on whether I have a record that has a parent on not!
    Any help is greatly appreciated.

    You want one function to handle two cases? This is the best opportunity to use the IF STATEMENT.
    FUNCTION MyFunc (p_input IN VARCHAR2) RETURN VARCHAR2 IS
    ReturnValue VARCHAR2;
    BEGIN
    IF <blank or null test> THEN
    SELECT ... -- Blank or null select statement
    ... -- Blank or null data processing
    RETURN ReturnValue;
    ELSE
    SELECT ... -- Other select statement
    ... -- Other data processing
    RETURN ReturnValue;
    END IF;
    END MyFunc;

  • No interface driver connected - Function not performed

    Can some one please help me. I am a new user of Oracle, and I am trying to logon using SQl plus 8.0. (system/manager @ODBC:POLITE. But I get an error message saying "No interface driver connected - Function not performed" Where on the machine is the interface driver usually stored. I also have SQL plus 8.0 on the same machine, and it works when I log on using scott/tiger.
    null

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Uche Ubani ([email protected]):
    Can some one please help me. I am a new user of Oracle, and I am trying to logon using SQl plus 8.0. (system/manager @ODBC:POLITE. But I get an error message saying "No interface driver connected - Function not performed" Where on the machine is the interface driver usually stored. I also have SQL plus 3.3 on the same machine, and it works when I log on using scott/tiger.<HR></BLOCKQUOTE>
    null

  • SQL User Defined Functions for performing statistical calculations

    Hi!
       I hope you can help.  I just wasn’t sure where to go with this question, so I’m hoping you can at least point me in the right direction.
       I’m writing a SQL Server stored procedure that returns information for a facility-wide scorecard-type report.  The row and columns are going to be displayed in a SQL Server Reporting Services report. 
       Each row of information contains “Current Month” and “Previous Month” numbers and a variance column.  Some rows may compare percentages, others whole numbers, others ratios, depending on the metric they’re measuring.  For each row/metric the company has specified whether they want to see a t-test or a chi-squared statistical test to determine whether or not there was a statistically significant difference between the current month and the previous month. 
       My question is this:  Do you know where I can find a set of already-written user defined functions to perform statistical calculations beyond the basic ones provided in SQL Server 2005?  I’m not using Analysis Services, so what I’m looking for are real SQL User Defined Functions where I can just pass my data to the function and have it return the result within a stored procedure. 
       I’m aware that there may be some third-party statistical packages out there we could purchase, but that’s not what I’m looking for.   And I’m not able to do anything like call Excel’s analysis pack functions from within my stored procedure.   I’ve asked.   They won’t let me do that.   I just need to perform the calculation within the stored procedure and return the result.
       Any suggestions?  Is there a site where people are posting their SQL Server UDF’s to perform statistical functions?  Or are you perhaps aware of something like a free add-in for SQL that will add statistical functions to those available in SQL?   I just don’t want to have to write my own t-test function or my own chi-squared function if someone has already done it.
     Thanks for your help in advance!  Oh, and please let me know if this should have been posted in the TSQL forum instead.  I wasn't entirely sure.
    Karen Grube

    STATS_T_TEST_
    docs.oracle.com/cd/B19306_01/server.102/b14200/functions157.htm 
    STATS_T_TEST_ONE: A one-sample t-test
    STATS_T_TEST_PAIRED: A two-sample, paired t-test (also known as a crossed t-test)
    STATS_T_TEST_INDEP: A t-test of two independent groups with the same variance (pooled variances)
    STATS_T_TEST_INDEPU: A t-test of two independent groups with unequal variance (unpooled variances)

  • How the Drill down functionality works if the source is Bex Query

    Dear All,
    How the Drill down functionality works if the source is Bex Query through the query browser in Dashboard 4.1
    Please let me know process.
    Thanks
    Regards,
    Sai

    Hi sai,
    Drill down can be done by two ways.
    1. you need to bring all the data in one shot to the spreadsheet and then by using the components you can achieve it. Below given link explains in detailed about that.
    Filtering Through Combo Box
    2. you can use different set of query to pass the value from one set to another to fetch the data using the prompt. please check the below which explain them.
    Difference between "When value Becomes & When value Changes"
    Revert any clarification required on this.
    --SumanT

  • Function for Performance

    Hi,
    Does a function increase performance instead of a nested decode/case while handling huge data?
    example:
    select decode('6','1','0',decode('6','2','3',decode('6','4','5','6'))) from dual
    select get_code('6') from dual;
    get_code(m_code)
    is return varchar2
    begin
    if m_code = '1' then return '0'
    elsif m_code = '2' then return '3'
    elsif m_code ='4' then return '5'
    else return '6'
    end;

    No. PL inside SQL is never fast. Check this out.
    SQL> create or replace function my_fn(pInput1 integer, pInput2 integer) return integer
      2  as
      3  begin
      4     if pInput1>pInput2
      5     then
      6             return 1;
      7     else
      8             return 0;
      9     end if;
    10  end;
    11  /
    Function created.
    SQL> create table t
      2  as
      3  select dbms_random.value(1,9999) no1, dbms_random.value(1,9999) no2
      4    from dual
      5  connect by level <= 100000
      6  /
    Table created.
    SQL> exec dbms_stats.gather_table_stats(user,'T')
    PL/SQL procedure successfully completed.
    SQL> set autotrace traceonly
    SQL> set timing on
    SQL>
    SQL> select no1,
      2         no2,
      3         case when no1>no2 then 1 else 0 end val
      4    from t
      5  /
    100000 rows selected.
    *Elapsed: 00:00:46.03*
    Execution Plan
       0      SELECT STATEMENT Optimizer=ALL_ROWS (Cost=159 Card=100000 By
              tes=4300000)
       1    0   TABLE ACCESS (FULL) OF 'T' (TABLE) (Cost=159 Card=100000 B
              ytes=4300000)
    Statistics
              *1  recursive calls*
              0  db block gets
           7355  consistent gets
              0  physical reads
              0  redo size
        5830943  bytes sent via SQL*Net to client
          73826  bytes received via SQL*Net from client
           6668  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
         100000  rows processed
    SQL> select no1,
      2         no2,
      3         my_fn(no1,no2)
      4    from t
      5  /
    100000 rows selected.
    *Elapsed: 00:00:49.04*
    Execution Plan
       0      SELECT STATEMENT Optimizer=ALL_ROWS (Cost=159 Card=100000 By
              tes=4300000)
       1    0   TABLE ACCESS (FULL) OF 'T' (TABLE) (Cost=159 Card=100000 B
              ytes=4300000)
    Statistics
             *18  recursive calls*
              0  db block gets
           7374  consistent gets
              0  physical reads
              0  redo size
        5830954  bytes sent via SQL*Net to client
          73826  bytes received via SQL*Net from client
           6668  SQL*Net roundtrips to/from client
              5  sorts (memory)
              0  sorts (disk)
         100000  rows processedThanks,
    Karthick.

  • Functional and performance testing on Forms 6.0 and higher

    I want to make functional tests on GUI Oracle Forms ver. 6.0 and higher.
    I'm thinking in a IBM tool called Rational Robot but it's seems not very good. HP also has this type of tool with forms support but I haven't tested it, yet.
    Does Oracle have some tool like this ?
    Thanks !

    Hi..
    Following is the information that you need to know about how rules are used in Financial
    Management. You use rules to automate the calculations of data within an application. You can
    use rules for these purposes:
    ● Calculate data entry level amounts for a specific entity, scenario, and period.
    ● Prevent data entry for a specific cell in a specific entity, scenario, and period.
    ● Allow input at the Parent entity level.
    ● Calculate data that cannot be calculated through a hierarchical aggregation, such as ratios
    or variance analysis.
    ● Perform allocations from a parent entity to a list of base entities.
    ● Perform complex currency conversions, calculate exchange rate differences, or perform
    other calculations necessary for your consolidation.
    ● Define formulas to dynamically calculate accounts.
    ● Specify the accounts in the application that support intercompany transactions.
    You can write rules in a text editor, or you can use the Financial Management Rules Editor to
    create rules.
    For more information on rules pls refer hfm_admin.pdf
    Best Regards
    Edited by: Naveen Vasa on Jul 9, 2010 10:10 AM

  • Forms and Reports: Automated Test tools - functionality AND performance

    All,
    I'm looking to get a few leads on an automated test tools that may be used to validate Oracle forms and reports (see my software configuration below). I'm looking for tools that can automate both functional tests and performance. By this I mean;
    Functional Testing:
    * Use of shortcut keys
    * Navigation between fields
    * Screen organisation (filed locations)
    * Exercise forms validation (bad input values)
    * Provide values to forms and simulate user commit, and go and verify database state is as expected
    Performance Testing:
    * carry out tests for fixed user load
    * carry out tests for scaled step increase in user load
    * automated collection of log files and metrics during test
    So far I have:
    http://www.neotys.com/
    Thanks in advance for your response.
    Mathew Butler
    Configuration:
    Red Hat Enterprise Linux x86-64 architecture v4.5 64 bit
    Oracle Application Server 10.1.2.0.2 ( with patch 10.1.2.3 )
    Oracle Developer Suite (Oracle Forms and Reports) V10.1.2.0.2 ( with patch 10.1.2.3 )
    Oracle JInitiator 1.3.1.17 or later
    Microsoft Internet Explorer 6

    are there any tools for doing this activity like oracle recommended tools?
    Your question is unclear.  As IK mentioned, the only tool you need is a new version of Oracle Forms/Reports.  Open your v10 modules in a v11 Builder and select Save.  You now have a v11 module.  Doing a "Compile All PL/SQL" before saving is a good idea, but not required.  The Builders and utilites provided with the version 11 installation are the only supported tools for upgrading your application.  If you are trying to do the conversion of many Forms files in a scripted manner, you can use the Forms compiler in a script.  Generating new "X" files will also update the source modules (fmb, mmb, pll).  See MyOracleSupport Note 955143.1
    Also included in the installation in the Forms Migration Assistant.  Although it is more useful to people coming from older versions, it can also be used to move from v10 to 11.  It allows you to select more than one file at a time.  Documentation for this utility can be found in the Forms Upgrade Guide.
    Using the Oracle Forms Migration Assistant

  • How to Measure Function Module Performance?

    Please can you tell me how I can measure the performance and trace the actions of a Function Module in R/3?
    The function module in R/3 is run when a user calls a WebDynpro action from a WebDynpro screen within the SAP Portal.
    I have tried running a trace on a user (ST05) but that only shows table actions (e.g. reads/fetch etc.). Also it does not appear in ST04 or ST03N. I would like to know how long the program actually takes to run.
    Thanks.
    Paul

    Hi,
    if I want to measure the runtime required to run some Abap, I use SE30. However i used it only for normal Dynpro application, not WebDynpro.
    The detail level of the created trace can be configured. The aggregation level should be set to "Full" or "By call" at the beginning. Disabling aggregation leads to huge trace files.
    You can select which statements should be traced. If you disable an option it's runtime is not lost but add to the traced action in the next level. If for example "Open SQL" is disabled, the time used by it is added into the net time of the method, function module of subroutine. Otherwise if "Open SQL" is enabled the net time of a function module does not include SQL time. SQL time is then listed separately.
    Greetings

  • Function Modules for time subtraction.

    Hello abapers..
    I want two function modules...
    1)  to subtract 1 hour from time and date.
    for eg if the date entered is 23.3.08 and time is 00:00:00
    then the function module should give the result as
    22.3.08 and 23:00:00.
    or if the date is 21.03.08 and time is 12:00:00.
    The result should be 21.03.08 and time 11:00:00.
    2) the second one is for validation..i am not sure if there is
    a function module for that.
    I want to validate whether the date entered by the user
    in the select option for type sy-datum is in the correct format.
    I mean the user should not enter anything except a date.
    For eg:
    If the user enters  97898jjjj then it should also invalidate this
    as well as if the user enters 34.07.08 then also the FM should invalidate this..
    Points will be rewarded for helpful answer.

    Try this
    DATA : diff TYPE i.
    PARAMETERS :
           iv_stime TYPE  t,
           iv_sdate TYPE  d,
           iv_atime TYPE  t.
    ev_endtime = iv_stime - iv_atime.
    diff = ev_endtime - iv_stime.
    IF diff > 0.
       ev_enddate = iv_sdate - 1.
    ELSE.
       ev_enddate = iv_sdate.
    ENDIF.
    WRITE : ev_endtime.
    WRITE : ev_enddate.

  • Function Module performance in Crystal Reports - Best practices

    Hi all,
    We are following a function module based approach for our crystal reporting needs. We tried to follow an infoset approach, but found that most of the critical fields required for reports were retrieved from function modules and bapis.
    Our reports contain some project filters/parameter fields based on which the task reports would be created. I was wondering what would be the best approach/best practices to be considered while designing the FM so as not to impact the crystal report performance? 
    We created a sample FM in our test system with just the table descriptions ( without the input parameters) which would retrieve all the projects and found that crystal reports crashed while trying to retrieve all the records. I am not sure if this is the right approach since this is our project in using FMs for crystal reports.
    Thank you
    Vinnie

    yes. We did try following the infoset approach against the tables however since our project reports contain long text fields and status texts ( retrieved via FMs), we opted for the FM approach. Do you know how texts can be handles from ABAP to Crystal reports?

  • Calling nested function to perform DML and wait for commit

    Hi everybody,
    I would like to do some DML -- an insert statement, to be specific -- in a function and have the function then return the numeric key of the newly added row. I call this function from another context and woud then be able to use the newly added data to do some stuff.
    More specifically, what I am going to do is this: I have a graph consisting of source, destination and distance triplets in a table. A user should now be able to
    1.) add a node 'A' to the graph,
    2.) add a node 'B' to the graph
    3.) get the shortest path from A to B through the graph.
    I have an inner function function INSERT_NEW_NODE(node_in in sdo_geometry, graph_in in integer) return integer
    is 
    pragma autonomous_transaction;
    cursor node_cur is 
      select
          source,
          source_geom
      from graph 
    cursor edge_cur is
        select
            source,
            destination,
            distance,
            edge_geom
        from
          graph
        where
          sdo_geom.relate(edge_geom, 'anyinteract', node_in, .005) = 'TRUE';
    begin
      -- check if identical with any existing node
      for node_rec in node_cur loop 
        if sdo_geom.relate(node_rec.source_geom, 'EQUAL', node_in, .005) = 'EQUAL' then
          return node_rec.source;
        end if;
      end loop;   
      -- get edges
      for edge_rec in edge_cur loop
         -- new_node-->edge.destination and vice versa
        insert into
          graph
            ID,
            GRAPH,
            SOURCE,
            DESTINATION,
            DISTANCE,
            SOURCE_GEOM,
            DESTINATION_GEOM,
            EDGE_GEOM
        values
          graph_id_seq.nextval, --id
          graph_in, --graph
          morton(node_in.sdo_point.x, node_in.sdo_point.y),  -- source morton key
          edge_rec.source, -- destination morton key
          sdo_geom.sdo_distance(edge_rec.source_geom_marl2000, node_in, .005, 'unit=M'), -- distance
          node_in, -- source geom
          edge_rec.source_geom,  -- dest geom
          split_line(edge_rec.edge_geom_marl2000, node_in).segment1 -- edge geom
        commit;
        --new_node-->edge.source and vice versa
        insert into
          gl_graph
            ID,
            GRAPH,
            SOURCE,
            DESTINATION,
            DISTANCE,
            SOURCE_GEOM,
            DESTINATION_GEOM,
            EDGE_GEOM
        values
          graph_id_seq.nextval, --id
          graph_in, --graph
          edge_rec.source, -- source morton key
          morton(node_in.sdo_point.x, node_in.sdo_point.y), -- destination morton key
          sdo_geom.sdo_distance(edge_rec.source_geom, node_in, .005, 'unit=M'), -- distance
          edge_rec.source_geom,  -- source geom
          node_in, -- dest geom
          split_line(edge_rec.edge_geom, node_in).segment2 -- edge geom
        commit;
      end loop
      return(morton(node_in.sdo_point.x, node_in.sdo_point.y));
    end insert_new_node;, which adds the new nodes to the graph, connects, calculates distances etc. and returns a handle to the newly added node. I call this function twice from another, outer function function get_path (line_in in sdo_geometry, graph_in in integer) return sdo_geometry
    is 
    source number;
    destination number;
    source_geom mdsys.sdo_geometry;
    destination_geom mdsys.sdo_geometry;
    begin
      source := insert_new_node(get_firstvertex(line_in), graph_in);
      destination := insert_new_node(get_lastvertex(line_in), graph_in);
      -- source := insert_new_node(get_firstvertex(line_in), graph_in);
      -- destination := insert_new_node(get_lastvertex(line_in), graph_in);
      return(get_path_geom(source, destination)); --returns a geometry which is the shortest path between source and destination
    end get_path;; and I think, I have to use automous transaction in the inner function, so that the outer function can see any change performed by the inner one. However, this only works, when I call the inner function twice (i.e. remove the comment signs in front of the last two lines of code right before the return statement in the outer function.
    So here's my questions: 1.) Why do I have to call the function twice to see the transaction complete? and 2.) How can I avoid that? Is there a way to wait with the execution of the return statement in the inner function until the insert is committed and can be seen by the outer function?
    Cheers!

    Tanks, everybody, for your replies! Let me go through them one by one
    smon asked: if you remove the pragma statement, does it work then?No, it does not, at least not, if I call the function from the outer function. In this case the insert statements in the inner function are not committed.
    If I call the inner function like thisDECLARE
      NODE_IN SDO_GEOMETRY;
      GRAPH_IN NUMBER;
      v_Return NUMBER;
    BEGIN
      NODE_IN := MDSYS.SDO_GEOMETRY(2001,<srid>,MDSYS.SDO_POINT_TYPE(<x>,<y>,<z>),NULL,NULL);
      GRAPH_IN := 3;
      v_Return := INSERT_NEW_NODE(
        NODE_IN => NODE_IN,
        GRAPH_IN => GRAPH_IN
    DBMS_OUTPUT.PUT_LINE('v_Return = ' || v_Return);
      :v_Return := v_Return;
    END;, it works without autonomous transaction, but then again like this I do not use the handle to access the newly inserted data immediately to perform some other task with it.
    sb92075 said:COMMIT inside LOOP is sub-optimal implementation (increases elapsed time) & can result in ORA-01555 error.Thanks, that was very helpful; I changed my code to commit outside of the loop, just before the return statement and it performs a lot faster now.
    user1983440, regarding my statement I think, I have to use automous transaction in the inner function, so that the outer function can see any change performed by the inner one. asked: Are you certain that this is true? No, anything but certain. I should have said "It +seems+, I have to use autonomous transaction". I wish it would work without autonomous transaction, I think it actually should and I wonder why it does not. However, if I do not use autonomous transaction, the outer function seems to try to access the data that I have inserted in the inner function before it is committed, throws a no-data-found-exception, hence a rollback is performed.
    davidp 2 said:The outer function will see whatever the inner function has done, without commit or autonomous transaction [...] In PL/SQL, the default commit is COMMIT WRITE NOWAIT, which I think does mean the transaction might not be instantly visible to the outside transaction, because the call returns before the commit really finishes. Yes, that is my notion, too. However, without autonomous transaction the inner function completes without error, then the outer uses the handles returned by the inner function to call the function <font face="courier">get_path_geom()</font> which cannot find the handles in the graph-table which raises an exception and causes a rollback.
    Let me summarize: The inner function completes fine, without and with autonomous transaction and returns the handle. The inner function commits, if called directly, without and (of course) with autonomous transaction. The outer function does not see the data inserted by the inner function immediately, whether without or with autonomous transaction. If I let the outer function call the inner function twice (4 times, to be specific, but twice for each newly inserted row) from the outer function and do not use autonomous transaction, I get a no-data-found exception. If I let the outer function call the inner function twice and do use autonomous transaction, it works.
    I agree with everything that was said about not using autonomous transaction in this case and I still want to solve this the right way. Any ideas are welcome!

  • Function to perform onSubmit - validation widget

    Ok, Ussually, when a form takes time to load the destination
    page (event that I will call
    form submission delay), the user tends to press again the
    submit button. Every time the button is pressed, the information is
    sent again. In spite of that the user will, of course only be sent
    once to the page specified in the action attribute of the form. So,
    the user may think he did right by pressing the button many times,
    but we end up with multiple copies of the same information.
    The solution I came up with, was to modify the validation
    widget javascript file as follows:
    function realizarAlRemitir()
    if (!Spry.Widget.Form.onSubmit) {
    Spry.Widget.Form.onSubmit = function(e, form)
    if (Spry.Widget.Form.validate(form) == false) {
    return false;
    realizarAlRemitir()
    return true;
    I created a wildcard function "realizarAlRemitir()" to be
    performed only when, having pressed the submit button, there is no
    incorrect or empty required field to fill.
    Then, in the html page containig the form, Iredefined the
    "realizarAlRemitir()" function as follows:
    <script language="JavaScript" type="text/javascript">
    <!--
    function realizarAlRemitir()
    ratioGrow = 0.68;
    Spry.Effect.GrowShrink('enviando', {duration:300, from:
    '1px', to: '559px', toggle: true, growCenter:false});
    Spry.Effect.AppearFade('enviando',
    {duration:300,from:1,to:100,toggle:true});
    // -->
    </script>
    This function "draws" using a modified spry effect a div tag
    that effectively blocks the whole form so that the user cannot
    modify the information or press again the submit button, while
    giving her or him appropriate feedback that indicates that the
    submission is being performed correctly.
    This is the sample page:
    http://192.168.10.2/nuevawebdesarrollo/eventos/conferencia.aspx?id=mbatc
    Finnally, my question is whether or not there is a less
    intrusive way to do such a thing, meaning, not having to touch the
    javascript files code. I didn't find one, for instance, so will
    some functionality like this be added to the framework? And,
    lastly, once the framework is embedded inside Dreamweaver, will we
    still be able to make such changes, without generating some trouble
    that will cause the framework to stop working correctly with
    dreamweaver.

    Hello Marin,
    Thanks a lot for your reply. I´m really sorry I made the
    mistake of giving you our internal address. I'm used to just
    copy/pasting it and sending the link to be reviewed. In spite of
    that, you seem to have gotten the idea, perfectly fine, so thanks
    again for making the effort to reply to a flawed question.
    This is the public link, so It should work well for you:
    http://www.esan.edu.pe/nuevawebdesarrollo/eventos/conferencia.aspx?id=mbatc
    It's in spanish, but I don't think language matters to
    understand how it works. Your solution is perfect, as it
    effectively stops the user from pressing the submit button more
    than once.
    Still, the final part of my question holds. We are inserting
    an event, after the submit button has been pressed and,
    consequently, after we've got your javascript files running. So,
    the only way to insert such an event is messing with the files. Or
    can it be done with our own scripts? Will there be a less intrusive
    way to do such a thing, meaning, not having to touch the javascript
    code of your source files to add events or functionality? I didn't
    find a way but that doesn't mean that there isn't one, right? I'm
    worried that now that we have dreamweaver CS3, if anybody needs to
    do such a thing, dreamweaver will no longer recognize the files and
    it will look like in the preview window, that we didn't insert it,
    even if it still works perfectly in the browser.
    Thanks again,
    DANTESAENZ

  • Where to put a function to perform only once?

    Question #1: I am writing an applet, and as part of it I have created a custom canvas class which extends the canvas class... When this is created I would like to perform a custom calculation of the size that it should be. Where is the best place to put this function? Right now I have put it in getPreferredSize(), but I'm afraid it might be called everytime i scroll or resize or whatever?
    Question #2: When I load my IE browser and go to the page with my applet, then call the applet.getSize() function it works. When I hit the refresh button on IE, getSize returns 0. Is there a workaround to this? I have the getSize() in the init of the applet...
    Thank you!
    Rusty

    Hi
    About #1 question, the best place is at constructor class, "once a time" right? but getPreferredSize really is called so many time as needed, you know the reason. The simple workaround for #2 question is to store applet dimension at the very first call, also at applet construction.
    Regards.

Maybe you are looking for

  • Backup ibook to macbook pro

    i am needing to do a total reformat and reinstall of os x on my wifes ibook. she is the only user account on her puter, so, if i boot her ibook in target disk mode and connect it to my macbook pro, dragging and droping her user folder should get ever

  • Presentation Director allows only max 1024 x 768

    Hi, I have a T42 and recently purchased a 22" LCD monitor to connect through my dock station. When I dock my thinkpad I can only see in 1024*768 resolution and would like to configure it to 1280*1024. When I do it manually and undock the Thinkpad its

  • Two System cluster panics due to SCSI reservation

    We have two E2900's configured as a fail-over cluster. They use a Sun Store Edge JBOD as a storage device and a quorum device (running ZFS). Sometimes, when we reboot the offline server (using init 6 or init 5 or reboot or shutdown), the online serve

  • JavaHelp installer is broken!

    Ok, I've noticed a few other posts on this topic, so I can only conclude that there are problems with the JavaHelp installer, as I'm experiencing them as well. I'm running windows 2000, and have downloaded the file "javahelp1_1-win-no_rt.exe". When I

  • CD/DVD not recognized when booted in OS 9

    Hi, I have a PB G4 667 titanium (the gigabite ethernet model) that can boot into OS 9. I normally run OS 10.4.5. I recently re-installed OS 9.2.2 using a generic install disk (not the one that came with this specific model). It boots fine into OS 9,