Query related with nested transaction

Friends,
Today i've been encountered with problem in running a nested transaction and i guess the sample script given below illustrates well abt the same ...
I've a proc "sp_proc1" as follows
CREATE OR REPLACE PROCEDURE sp_proc1
AS
     val INT;     
     BEGIN      
          val := 1;     
          BEGIN SAVEPOINT proc1;                         
          INSERT INTO tab1 VALUES ( 1 , 2 );
          sp_proc2(val);
          ROLLBACK TO SAVEPOINT proc1;               
     END;
and the called proc is like this
CREATE OR REPLACE PROCEDURE sp_proc2
     val1 IN      INT DEFAULT NULL
AS
     BEGIN SAVEPOINT proc2;          
     UPDATE tab1 SET     col1 = 5;
     IF val1 = 0 THEN
     BEGIN
          ROLLBACK TO SAVEPOINT proc2;
     END;
     ELSE
     BEGIN
COMMIT;
     END;
     END IF;
     END;
and when i exec the proc1
ORA-01086: savepoint 'PROC1' never established
Any suggestions on this .....

Autonomous transactions are independent units of work and should be completely
committed of rolled back before returning from an autonomous program unit.
So anything you do in the calling procedure doesn't affect the autonomous one:
SQL> create table t (id number);
Table created.
SQL> create or replace procedure auto_01
  2  is
  3   pragma autonomous_transaction;
  4  begin
  5   insert into t values(1);
  6   savepoint a;
  7   insert into t values(2);
  8   rollback to savepoint a;
  9   commit;
10  end;
11  /
Procedure created.
SQL> begin
  2   insert into t values(3);
  3   savepoint a;
  4   auto_01;
  5   insert into t values(4);
  6   rollback to savepoint a;
  7   commit;
  8  end;
  9  /
PL/SQL procedure successfully completed.
SQL> select * from t;
        ID
         3
         1Rgds.

Similar Messages

  • Query related to RSA3 transaction

    Hi Guys ,
             I have query related to RSA3 transaction screen in that you can see in
    settings
    Data Records / Calls = 100
    Display Extr. Calls    = 10  by default .
    can this value can be made to 1000 and 1000 as a default value as soon as screen get displayed without manually changed .
    can we creat any variant for this ,will it be possible .
    i need some suggestion related to this .
    valuble answers will be surly rewarded .
    Thanks ,
    Vinay .

    Do any one have any suggestion how to solve the query

  • Query rewrites with Nested materialized views with different aggregations

    Platform used : Oracle 11g.
    Here is a simple fact table (with measures m1,m2) and dimensions (a) Location (b) Calendar and (c) Product. The business problem is that aggregation operator for measure m1,m2 are different along location dimension and Calendar dimension. The intention is to preaggregate the measures for a product along the calendar dimension and Location dimension and store it as materialized views.
    The direct option is to define a materialized view with Inline queries (Because of the different aggrergation operator, it is not possible to write a query without Inline query). http://download-uk.oracle.com/docs/cd/B28359_01/server.111/b28313/qradv.htm#BABEAJBF documents the limitations that it works only for 'Text match' and 'Equivalent queries' and that is too limiting.
    So decided to have nested materialized view, with first view having just joins(my_dim_mvw_joins), the second view having aggregations along Calendar dimension (my_dim_mvw_calendar) and third view having aggregations along the Location dimension(my_dim_mvw_location). Obviously I do not want the query I fire to know about materialized views and I fire it against the fact table. I see that for the fired query (Which needs aggregations along both Calendar and Location), is rewritten with just second materialized view but not the third. (Had set QUERY_REWRITE_INTEGRITY as TRUSTED) .
    Wanted to know whether there are limitations on Query Writes with nested materialized views? Thanks
    (Have given a simple testable example below. Pls ignore the values given in 'CALENDAR_IDs', 'PRODUCT_IDs' etc as they are the same for all the queries)
    -- Calendar hierarchy table
    CREATE TABLE CALENDAR_HIERARCHY_TREE
    (     "CALENDAR_ID" NUMBER(5,0) NOT NULL ENABLE,
    "HIERARCHY1_ID" NUMBER(5,0),
    "HIERARCHY2_ID" NUMBER(5,0),
    "HIERARCHY3_ID" NUMBER(5,0),
    "HIERARCHY4_ID" NUMBER(5,0),
    CONSTRAINT "CALENDAR_HIERARCHY_TREE_PK" PRIMARY KEY ("CALENDAR_ID")
    -- Location hierarchy table
    CREATE TABLE LOCATION_HIERARCHY_TREE
    (     "LOCATION_ID" NUMBER(3,0) NOT NULL ENABLE,
    "HIERARCHY1_ID" NUMBER(3,0),
    "HIERARCHY2_ID" NUMBER(3,0),
    "HIERARCHY3_ID" NUMBER(3,0),
    "HIERARCHY4_ID" NUMBER(3,0),
    CONSTRAINT "LOCATION_HIERARCHY_TREE_PK" PRIMARY KEY ("LOCATION_ID")
    -- Product hierarchy table
    CREATE TABLE PRODUCT_HIERARCHY_TREE
    (     "PRODUCT_ID" NUMBER(3,0) NOT NULL ENABLE,
         "HIERARCHY1_ID" NUMBER(3,0),
         "HIERARCHY2_ID" NUMBER(3,0),
         "HIERARCHY3_ID" NUMBER(3,0),
         "HIERARCHY4_ID" NUMBER(3,0),
         "HIERARCHY5_ID" NUMBER(3,0),
         "HIERARCHY6_ID" NUMBER(3,0),
         CONSTRAINT "PRODUCT_HIERARCHY_TREE_PK" PRIMARY KEY ("PRODUCT_ID")
    -- Fact table
    CREATE TABLE RETAILER_SALES_TBL
    (     "PRODUCT_ID" NUMBER,
    "PRODUCT_KEY" VARCHAR2(50 BYTE),
    "PLAN_ID" NUMBER,
    "PLAN_PERIOD_ID" NUMBER,
    "PERIOD_ID" NUMBER(5,0),
    "M1" NUMBER,
    "M2" NUMBER,
    "M3" NUMBER,
    "M4" NUMBER,
    "M5" NUMBER,
    "M6" NUMBER,
    "M7" NUMBER,
    "M8" NUMBER,
    "LOCATION_ID" NUMBER(3,0),
    "M9" NUMBER,
    CONSTRAINT "RETAILER_SALES_TBL_LOCATI_FK1" FOREIGN KEY ("LOCATION_ID")
    REFERENCES LOCATION_HIERARCHY_TREE ("LOCATION_ID") ENABLE,
    CONSTRAINT "RETAILER_SALES_TBL_PRODUC_FK1" FOREIGN KEY ("PRODUCT_ID")
    REFERENCES PRODUCT_HIERARCHY_TREE ("PRODUCT_ID") ENABLE,
    CONSTRAINT "RETAILER_SALES_TBL_CALEND_FK1" FOREIGN KEY ("PERIOD_ID")
    REFERENCES CALENDAR_HIERARCHY_TREE ("CALENDAR_ID") ENABLE
    -- Location dimension definition to promote query rewrite
    create DIMENSION LOCATION_DIM
    LEVEL CHAIN IS LOCATION_HIERARCHY_TREE.HIERARCHY1_ID
    LEVEL CONSUMER_SEGMENT IS LOCATION_HIERARCHY_TREE.HIERARCHY3_ID
    LEVEL STORE IS LOCATION_HIERARCHY_TREE.LOCATION_ID
    LEVEL TRADING_AREA IS LOCATION_HIERARCHY_TREE.HIERARCHY2_ID
    HIERARCHY PROD_ROLLUP (
    STORE CHILD OF
    CONSUMER_SEGMENT CHILD OF
    TRADING_AREA CHILD OF
    CHAIN
    -- Calendar dimension definition
    create DIMENSION CALENDAR_DIM
    LEVEL MONTH IS CALENDAR_HIERARCHY_TREE.HIERARCHY3_ID
    LEVEL QUARTER IS CALENDAR_HIERARCHY_TREE.HIERARCHY2_ID
    LEVEL WEEK IS CALENDAR_HIERARCHY_TREE.CALENDAR_ID
    LEVEL YEAR IS CALENDAR_HIERARCHY_TREE.HIERARCHY1_ID
    HIERARCHY CALENDAR_ROLLUP (
    WEEK CHILD OF
    MONTH CHILD OF
    QUARTER CHILD OF
    YEAR
    -- Materialized view with just joins needed for other views
    CREATE MATERIALIZED VIEW my_dim_mvw_joins build immediate refresh complete enable query rewrite as
    select product_id, lht.HIERARCHY1_ID, lht.HIERARCHY2_ID, lht.HIERARCHY3_ID, lht.location_id, cht.HIERARCHY1_ID year,
    cht.HIERARCHY2_ID quarter, cht.HIERARCHY3_ID month, cht.calendar_id week, m1, m3, m7, m9
    from retailer_sales_tbl RS, calendar_hierarchy_tree cht, location_hierarchy_tree lht
    WHERE RS.period_id = cht.CALENDAR_ID
    and RS.location_id = lht.location_id
    and cht.CALENDAR_ID in (10,236,237,238,239,608,609,610,611,612,613,614,615,616,617,618,619,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476,1477)
    AND product_id IN (5, 6, 7, 8, 11, 12, 13, 14, 17, 18, 19, 20)
    AND lht.location_id IN (2, 3, 11, 12, 13, 14, 15, 4, 16, 17, 18, 19, 20)
    -- Materialized view which aggregate along calendar dimension
    CREATE MATERIALIZED VIEW my_dim_mvw_calendar build immediate refresh complete enable query rewrite as
    select product_id, HIERARCHY1_ID , HIERARCHY2_ID , HIERARCHY3_ID ,location_id, year, quarter, month, week,
    sum(m1) m1_total, sum(m3) m3_total, sum(m7) m7_total, sum(m9) m9_total,
    GROUPING_ID(product_id, location_id, year, quarter, month, week) dim_mvw_gid
    from my_dim_mvw_joins
    GROUP BY product_id, HIERARCHY1_ID , HIERARCHY2_ID , HIERARCHY3_ID , location_id,
    rollup (year, quarter, month, week);
    -- Materialized view which aggregate along Location dimension
    CREATE MATERIALIZED VIEW my_dim_mvw_location build immediate refresh complete enable query rewrite as
    select product_id, year, quarter, month, week, HIERARCHY1_ID, HIERARCHY2_ID, HIERARCHY3_ID, location_id,
    sum(m1_total) m1_total_1, sum(m3_total) m3_total_1, sum(m7_total) m7_total_1, sum(m9_total) m9_total_1,
    GROUPING_ID(product_id, HIERARCHY1_ID, HIERARCHY2_ID, HIERARCHY3_ID, location_id, year, quarter, month, week) dim_mvw_gid
    from my_dim_mvw_calendar
    GROUP BY product_id, year, quarter, month, week,
    rollup (HIERARCHY1_ID, HIERARCHY2_ID, HIERARCHY3_ID, location_id)
    -- SQL Query Fired (for simplicity have used SUM as aggregation operator for both, but they will be different)
    select product_id, year, HIERARCHY1_ID, HIERARCHY2_ID,
    sum(m1_total) m1_total_1, sum(m3_total) m3_total_1, sum(m7_total) m7_total_1, sum(m9_total) m9_total_1
    from
    select product_id, HIERARCHY1_ID , HIERARCHY2_ID , year,
    sum(m1) m1_total, sum(m3) m3_total, sum(m7) m7_total, sum(m9) m9_total
    from
    select product_id, lht.HIERARCHY1_ID , lht.HIERARCHY2_ID , lht.HIERARCHY3_ID ,lht.location_id, cht.HIERARCHY1_ID year, cht.HIERARCHY2_ID quarter, cht.HIERARCHY3_ID month, cht.calendar_id week,m1,m3,m7,m9
    from
    retailer_sales_tbl RS, calendar_hierarchy_tree cht, location_hierarchy_tree lht
    WHERE RS.period_id = cht.CALENDAR_ID
    and RS.location_id = lht.location_id
    and cht.CALENDAR_ID in (10,236,237,238,239,608,609,610,611,612,613,614,615,616,617,618,619,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476,1477)
    AND product_id IN (5, 6, 7, 8, 11, 12, 13, 14, 17, 18, 19, 20)
    AND lht.location_id IN (2, 3, 11, 12, 13, 14, 15, 4, 16, 17, 18, 19, 20)
    GROUP BY product_id, HIERARCHY1_ID , HIERARCHY2_ID , HIERARCHY3_ID , location_id, year
    ) sales_time
    GROUP BY product_id, year,HIERARCHY1_ID, HIERARCHY2_ID
    This Query rewrites only with my_dim_mvw_calendar. (as saw in Query Plan and EXPLAIN_MVIEW). But we would like it to use my_dim_mvw_location as that has aggregations for both dimensions.

    blackhole001 wrote:
    Hi all,
    I'm trying to make my programmer's life easier by creating a database view for them to query the data, so they don't have to worry about joining tables. This sounds like a pretty horrible idea. I say this because you will eventually end up with programmers that know nothing about your data model and how to properly interact with it.
    Additionally, what you will get is a developer that takes one of your views and see's that of the 20 columns in it, it has 4 that he needs. If all those 4 columns comes from a simple 2 table join, but the view has 8 tables, you're wasting a tonne of resources by using the view (and heaven forbid they have to join that view to another view to get 4 of the 20 columns from that other view as well).
    Ideally you'd write stored routines that satisfy exactly what is required (if you are the database resource and these other programmers are java, .net, etc... based) and the front end developers would call those routines customized for an exact purpose.
    Creating views is not bad, but it's by no means a proper solution to having developers not learn or understand SQL and/or the data model.

  • QUERY RELATED WITH SAP HR CERTIFICATION

    I like to do the SAP HR training . Myself MBA, working in manufacturing company having over 04 years of experience. As i am not into any IT related company nor having any prior experience or course related with computers, So, would be relevant enough for me to go for ILT from institute, and if yes, then would I be able to get job offer right after completion of course in MNC/ IT industry with good enough package though i know in starting i wont be able to get jobs with high package, but I dont have any idea about the placement criteria of MNC's for SAP HR candidates.
    Also, kindly suggest me right institute for SAP HR training and which provide good placement in Delhi/ NCR region.

    Hi Priyanka,
    as you are itself remains a recruiter so i think you better knows what will be there, but as far as i concern you will be considered as an experienced professional having exposure to SAP, not it depends on the IT Company at some extent that they will take it as a fresher, but anyhow your experience will get counted.
    When it comes to get Salary, you can get a handsome salary if they will consider you along with your experience, but literally saying some points.
    1. As most of the IT companies has started outsourcing its recruitment process, so he will not take you as you have recruitment process knowledge           (means generally they have already excluded recruitment to other firms) .
    2. HR process in SAP involves process of recruitment, appraisals , payroll management and more generally process of PMS.
    3. As job in Hr are always limited, as they are mainly hired through Campus drives, so little openings as a whole.
         So, what i will suggest you to take the help of your contacts in getting a job when you complete SAP  HR module, if you are not getting a good job in SAP HR in IT company, then you can look into non-it companies, because in non-it companies you will get more time to learn as there are no strict deadlines, as moving towards any new technology becomes handy in early days, so you can work for one more years in any non-it companies, where you clear all your doughts in SAP HR  module, then if you will move towards an IT company, it will become more fruitful to you.

  • Queried related to Business Transaction Events

    Hi what is the difference between Info System(P/S) and InfoSystem(Processes).
    if possible please expalin with examples or scenarios.
    Thanks

    Refer http://help.sap.com/saphelp_47x200/helpdata/en/95/1632f0ba9511d29e310000e839cd96/frameset.htm
    Regards, IA

  • Problem with call transaction and a query

    Hi,
    Whe have a query that has its own Z tcode, we are working with this "EXIT_SAPLCORF_103"  within the tcode CO11N. Inside the include "ZXCOFU13" we call the query Tcode and it is displayed on screen but with no data.
    The table "itbdcdata" record well the data of the inputs in the query recording so you can see with the WERKS and the number of reserve (3994) in the recording.
    Why the call transaction display the query screen with no data...? and how can i pass the inputs to the query screen so it be executed.
    Thanks on advance.
    David Fúnez
    Tegucigalpa, Honduras.
    This is the recording:
    AQZZZ_USER_GRMA=Z_QUERY_PP_003     1000X                                                                                BDC_CURSOR     SP$00002-LOW
                                                                BDC_OKCODE     =CRET
                                                                S_WERKS-LOW     1202
                                                                SP$00002-LOW           3994
                                                                %ALV     X
    this is the code in the INCLUDE
    *&  Include           ZXCOFU13
    DATA: itbdcdata TYPE bdcdata    OCCURS 0 WITH HEADER LINE,
          optoption TYPE ctu_params.
    REFRESH itbdcdata.
    CLEAR   itbdcdata.
    itbdcdata-program  = 'AQZZZ_USER_GRMA=Z_QUERY_PP_003'.
    itbdcdata-dynpro   = '1000'.
    itbdcdata-dynbegin = 'X'.
    APPEND itbdcdata.
    itbdcdata-fnam = 'BDC_CURSOR'.
    itbdcdata-fval = 'SP$00002-LOW'.
    APPEND itbdcdata.
    itbdcdata-fnam = 'BDC_OKCODE'.
    itbdcdata-fval = '=CRET'.
    APPEND itbdcdata.
    itbdcdata-fnam = 'S_WERKS-LOW'.
    itbdcdata-fval = '1202'.
    APPEND itbdcdata.
    itbdcdata-fnam = 'SP$00002-LOW'.
    itbdcdata-fval = caufvd_imp-rsnum.
    APPEND itbdcdata.
    itbdcdata-fnam = '%ALV'.
    itbdcdata-fval = 'X'.
    APPEND itbdcdata.
    CLEAR optoption.
    optoption-dismode = 'A'. "A is visible
    optoption-updmode = 'S'.
    CALL TRANSACTION 'ZRESV' USING itbdcdata OPTIONS FROM optoption.

    problem solved.

  • Count(*) with nested query

    Hi,
    I have a question about the count(*) with nested query.
    I have a table T1 with these columns:
    C1 number
    C2 number
    C3 number
    C4 number
    C5 number
    (The type of each column is not relevant for the example.)
    This query:
    select C1, C2, C3, C4
    from T1
    group by C1, C2
    it's not correct becausa C3 and C4 are not columns specified in the GROUP BY expression.
    If if run this query:
    select count(*)
    from (select C1, C2, C3, C4
    from T1
    group by C1, C2)
    I haven't an error message (the result is correctly the number of records).
    Why?
    Thanks.
    Best regards,
    Luca

    Because you are just selecting count(*) and none of the columns from the subquery, Oracle is optimising it by ignoring the selected columns and just running the sub query with the group by columns. I know it seems odd, but if you take a basic example:
    SQL> ed
    Wrote file afiedt.buf
      1  select count(*)
      2  from (select empno, sal, mgr, deptno
      3  from emp
      4* group by deptno)
    SQL> /
      COUNT(*)
             3... all columns but deptno are ignored
    ... but if you include one of the other columns, even if you group by that column...
    SQL> ed
    Wrote file afiedt.buf
      1  select count(*), empno
      2  from (select empno, sal, mgr, deptno
      3  from emp
      4  group by deptno)
      5* group by empno
    SQL> /
    group by empno
    ERROR at line 5:
    ORA-00979: not a GROUP BY expression
    SQL>... the error returns, because you're forcing oracle to include the column in the subquery.

  • How can I related Query name with Query elements?

    Hello gurus!
    I am working with BI7, content technical, well I need to find out a solution where I can related Query name with query elements (KYF, CKY, Restricted Key Figures, var, etc)
    In master data 0tctquery, exist the query element, but, I can not related with object are from what query...
    Do you know how I can do it??? some solution???
    Best Regards

    "it is impossible to relate both tables" ???
    hmmm... these are exactly the tables the Query Designer uses to "build" up the query... so trust me, they do relate
    now to get this information in an InfoCube is a totally different thing... how do you expect to report on this if you should get it in an InfoCube? let's take a simple example... assume you have a query (QUERY_1) which looks like:
                                      Sales  Sales
    Sales Org Customer    Qty      Value
    1000         ABC           10 PC  500 €
    1000         DEF             5 PC  250 €
    in your Cube you would get:
    QueryName  QueryElement
    QUERY_1    0SALESORG
    QUERY_1    0CUSTOMER
    QUERY_1    ZSLSQTY
    QUERY_1    ZSLSVAL
    if you have free characteristics, you'll add more lines... same for variables, CKFs, RKFs, conditions, ...
    I guess it would be better to create a little ABAP report using the above tables (oh, you'll be needing a lot more tables if you wish more detail)

  • Sql Query Error (9i) nested select with OleDB

    I have the following query which works fine when used with Sqlplus, but fails when called from within crytal reports (using an OleDB connection). I saw an open Oracle bug number 3025605 on some website, but haven't been able to look up any additional information on the error. The query fails with Ora-00972.
    SELECT "CLIENTS"."CLTFIRSTNAME",
    "CLIENTS"."CLTLASTNAME",
    "CLIENTS"."CLTMIDDLENAME",
    "SCHEDULE"."SCSESSIONDATE",
    (SELECT r.REMPFIRSTNAME||' '||r.REMPLASTNAME
    FROM REFAGENCYEMPLOYEES R WHERE "R"."REMPLOYEEID" = "SCHEDULE"."SCREFPERSON1ID") REFAGENT1,
    (SELECT r.REMPFIRSTNAME||' '||r.REMPLASTNAME
    FROM REFAGENCYEMPLOYEES R WHERE "R"."REMPLOYEEID" = "SCHEDULE"."SCREFPERSON2ID") REFAGENT2,
    "CODELOOKUP"."CODELISTNAME"
    FROM "POBJS"."CLIENTS" "CLIENTS",
    "POBJS"."SCHEDULE" "SCHEDULE",
    "POBJS"."CODELOOKUP" "CODELOOKUP"
    WHERE ("CLIENTS"."CLIENTID"="SCHEDULE"."SCCLIENTID")
    AND ("SCHEDULE"."SCEXAMTYPE"="CODELOOKUP"."CODEVALUE")
    AND "CODELOOKUP"."CODELISTNAME"='EXAM TYPES'
    Thanks for any help.

    Thanks for the information. I worked around the problem by calling a function that basically runs the nested select statement and returns a value.
    pobjs.getrname("SCHEDULE"."SCREFPERSON1ID") AS AGENT1,
    "CODELOOKUP"."CODELISTNAME"
    FROM "POBJS"."CLIENTS" "CLIENTS", ........

  • Database connectivity toolset and nested transaction

    Is it possible to make nested transactions with the Database Connectivity Toolset ?
    By nested transactions I mean that I want to open a transaction inside a transaction.
    I use LabVIEW 6.1 and Database Connectivity Toolset 1.1
    Any ideas are welcome.

    You may be able to do this in a different manner. Your options depend on how the database has structured the data. For example you can have a table defining "measures", another table defining "measure setps" and so on.
    Each measure has an ID (MID) and each measure step has an ID (MSID) and these can be related to each other to provide the hierarchy. So in this case you could just get a measure, then query for all the measure steps that match (the MID and MSID) and sort them based on some attribute/criteria and work down in that manner.
    This would provide a clean data architecture and enable you to reuse steps in multiple measures if you needed to. I'm not sure how your database is building the hierarchy, in the end there are some parent ch
    ild relationships defined ... these would be very similar to the IDs referred to above.
    Like you said, had to explain without a picture.
    Regards,
    Kamran

  • Nested Transactions are not supported by J2EE.

    I am a relative newbie to J2EE and am trying to get my head around transactions. I will use the following components to illustrate my questions.
    I have two container managed enterprise beans, Bean-1 and Bean-2. Bean-1 has a single method method-A. Bean-2 also has a single method method-B. The code in method-A calls method-B.
    We have the following scenarios:
    1. A servelet calls method-A, starting a new transaction. Method-A calls method-B.
    2. Another servlet calls method-B starting a new transaction.
    And now for my first questions ......
    Am I right in saying that, as the beans are container managed, scenario 1 does not create a nested transaction as the begin and commit are controlled by the container and only issued at the beginning / end of the overall transaction as appropriate.
    Now lets change the set-up slightly. Lets assume that both beans have bean managed transactions using JTA. At the beginning and end of both method calls appropriate begin / commit / abort code is inserted.
    And now the second question ......
    A call to method-B starting a new transaction (scenario 2) works fine. Am I right in saying that a call to method-A under scenario 1 would not be allowed as when method-A calls method-B a nested transaction would occur as both methods have begin / commit code.
    Thanks any help with this query.
    Paul

    hello
    We have a very strange problem in our application.
    I have the following code in an MDB onMessage() metod
    // inserts 100 rows into table1
    //in the dploymentdescriptor method is marked with requiednew
    statelessSessionBean1.generaterowsWithNewTransaction();
    //updates a row in table2
    //in the dploymentdescriptor method is marked with requiednew
    statelessSessionBean2.updaterow1WithNewTransaction();
    //updates a row in table3
    //in the dploymentdescriptor method is marked with requiednew
    statelessSessionBean3.updaterow2WithNewTransaction();
    when the above code is successfully executed and transactions are
    committed succussfully, we have at times the situation like the first
    100 lines inserted into DB are not available but the other two table
    rows are updated. After a while if we see again in DB we are finding
    the 100 rows as well. Again this situation happens very sporadically.
    Any help would be appreciated. Thanks in advance.
    Venkat

  • Query related to filter group on matnr created in ALE distribution model

    Hi All,
    I have query related to filter group on matnr created in ALE distribution model.
    I have created a filter group on matnr in ALE distribution model and put the value E*  ( purpose is that all the material number started with E should be triggered in case of any changes in the material).But it is not working.
    <b>Can anybody suggest the solution for this i.e how to capture E* value for the material master changes and should trigger idoc using change pointer using BD21.</b>
    Thanks & Regards
    Prabhat

    Unfortunately, you cannot filter using wildcards or exclusions.  You have to explicitly list each allowed value in its entirety.
    In my opinion, the simplest solution would be to copy function MASTERIDOC_CREATE_SMD_MATMAS, modify it to handle your custom filtering and update the message type entry in transaction BD60.

  • Query related to SAP

    I have a query relating to SAP, specifically when using the Create New Session button. In the past when using this button, it has always created a new SAP session with the window displaying the SAP Easy Access  User Menu... front end, with all my favourite transactions listed. However, recently this user menu has disappeared and the window is blank, meaning I have to type the transaction in the top left box, which, whilst not preventing use, is a little annoying and awkward!
    I dont believe I have changed any options recently and can find no settings that look like they would bring the user menu back but it would be really useful if it did! (It is probably worth mentioning that this only occurs when creating a new session; when starting a new SAP session in the first instance, the user menu appears...)
    Please help me out
    Many Thanks,
    Sunny

    Hi,
    SAP GUI version - 7.10
    i am using a desktop, tried logging in another desktop ,same problem.
    Recently there is a HARDWARE migration occured , might be this also effects the settings ?
    please Advise.
    Sunny

  • Showing Items with no transactions

    I am trying to build a report that will show us items with potentially incorrect item status.  Item status (on table itmmas) is either A(ctive) or I(nactive).  The report should show all Inactive items which have had at least one transaction in the past 4 weeks AND active items which have had no transactions in that period.
    My plan is to join the item master table to the item ledger table (itmldg) which lists all inventory transactions.  I can show the inactive items with transactions without a problem.
    What I can't figure out is how to show items with Active Status that don't have any transactions.  I can't get CR to return a data set which includes ALL records from itmmas but only those from itmldg in the last 4 weeks.  I tried this SQL query:
    SELECT itmmas.itmiid, itmmas.itmdes, itmmas.itmsts, itmldg.ilgdno, itmldg.ilgdat
    FROM {oj itmmas  LEFT OUTER JOIN itmldg ON itmmas.itmiid = itmldg.ilgiid}
    WHERE (itmldg.ilgdat>={d '2009-09-01'})
    When I run this query in MS Query and return the results to Excel, I get single lines for items with no transactions.  For these items, the fields from itmldg are NULL.  When I run this query in CR, I don't get any data for items with no transactions.
    Can anyone think of a way to get this to work?

    The issue that you have is that the WHERE clause in your SQL statement is only looking at an itmldg table field for a value.  This is effectively making your Left Outer Join an Inner Join, because when an itmmas record does not have an itmldg record, the date field will be NULL.  You have to add the condition "OR itmldg.ilgdat is null".
    If you want to return ONLY the records that the report is interested in (which should have beter performance), change the SQL to
    SELECT itmmas.itmiid, itmmas.itmdes, itmmas.itmsts, itmldg.ilgdno, itmldg.ilgdat
    FROM {oj itmmas LEFT OUTER JOIN itmldg ON itmmas.itmiid = itmldg.ilgiid}
    WHERE ((itmldg.ilgdat>={d '2009-09-01'}) and (itmmas.itmsts = 'I'))
      or  ((itmldg.ilgdat is null) and (itmmas.itmsts = 'A'))
    HTH,
    Carl

  • How to get XLR to show BPs with no transaction data for a given date range

    Hi -
    I am building an XLR report that does a comparison of net sales data across two periods for a given sales employee's BPs.
    The report has the row expansion:
    FACT BPA(*) SLP(SlpName = "ASalesPersonNameHere") ARDT(Code = "ARCreditMemo", "Invoice") Group by BPA.CardName
    and column expansions:
    FIG(SO_TaxDate = @StartDate:@EndDate)
    and
    FIG(SO_TaxDate = @StartDate2:@EndDate2)
    where @StartDate, @EndDate, @StartDate2, @EndDate2 are parameters that define the two ranges of dates.
    The column formulas are, from left to right:
    =ixDimGet("BPA", "CardName")
    =ixGet("SO_DocTotal")      <-- filtered by column expansion for first date range
    =ixGet("SO_DocTotal")      <-- filtered by column expansion for second date range
    The report works fine except for one problem, I would like it to include BPs for which no transaction occurred in either date range as well.
    Any help is greatly appreciated!
    Thanks,
    Lang Riley

    Really appreciate your feedback!  Those are good suggestions. I should have mentioned that I had already tried both those suggestions.
    Removing FACT on BPA in this case ends up returning all the BPs and not respecting the SLP(SlpName = "aName") part of the query. 
    Using **, i.e., * or #NULL, makes no change in the resulting data in this case.  I had thought that ** would be the solution, but it didn't change the outcome.  I still have BPs for which when their sales employee is used as the filter and they have no transactions for either date range, and yet they still do not appear. 
    I should further mention that the IXL query, as it now stands, does return BPs for which one of the periods has no data, just not both, and I have verified that applicable BPs with no transaction data for both periods do exist in my data set.  It seems that perhaps the IXL query needs to be restructured?  Please keep the suggestions coming including how this query might be restructured if necessary.

Maybe you are looking for