Query regarding passivation and PS_TXN tables

Hi All ,
I am working on a read only Dashboard UI where the DB user has only read privileges.
The jbo.server.internal_connection uses the same DB connection to create PS_TXN & PS_TXN_SEQ tables which fails for obvious reasons & I get the error -
"Couldnot create persistence table PS_TXN_seq".
I have disabled passivation at all the VO levels and also disabled jbo.isSupportsPassivation to be false at the AMLocal level , but still I am getting this error.
I have also increased the initial AM pool size in bc4j.xcfg & Connection Pool at the weblogic server level to avoid snapshots been written to this table.
Is there any way I can prevent any interaction with this table as the client too is not interested in any kind of passivation to happen for the time being.
Thanks

Thanks for your reply Chris.
Chris Muir wrote:
You might be taking the wrong approach to solving this. Rather than disabling the AM pooling (which btw is not supported by Oracle) to the database, instead you can get ADF to passivate to file or memory of the app server.I am confused as to what exactly jbo.ampool.issupportspassivation = false does then ? I read on one of the blogs that its a viable use case for Programatic VOs ?
Also regarding passivating to file system as per http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/bcstatemgmt.htm#ADFFD1307 , its not really a recommended approach.. hence was not going for that.
Can you please throw some more light ?
Thanks

Similar Messages

  • Passivation and PS_TXN table - (Oracle ADF 11.1.1.6)

    Hi All,
    Can anyone help me understand the relationship between passivation and PS_TXN table insert? I am testing my application in a controlled environment using following steps -
    (1) I truncated PS_TXN table first.
    (2) I ran my application and visited couple of pages.
    (3) I queried PS_TXN table and it has 22 rows in it
    (4) When I check in enterprise manager ADF performance page the number of Passivations per min still shows 0 rows for all of my AMs.
    What else could cause inserts in to PS_TXN table?
    Thanks
    Chetan

    See My Oracle Support note IMPDP Fails With Errors ORA-39126 And ORA-01403: no data found (Doc ID 729346.1).
    Note that is a forum and not official Oracle Support: you should not ask for urgent answer.

  • Bc4j and PS_TXN Table

    Hi,
    Reading the article "Understanding Application Module Pooling Concepts and Configuration Parameters" from Dive into Bc4j Blog; http://radio.weblogs.com/0118231/stories/2003/12/17/understandingApplicationModulePoolingConceptsAndConfigurationParameters.html
    The jbo.passivationstore, parameter sets where we want to store Bc4j's Xml snapshots ( files on disk or Database ).
    Bc4j AM, uses PS_TXN table to store it's states between sessions calls.
    Querying this table at an dummy database schema just to see how many rows, i realize that it has almost 7.000 rows .
    Application Module Pool does not have any parameter to configure a garbage collection over Ps_Txn or the disk file ?
    I mean, as it is a dummy schema the application module pool, never will restore any state stored there, how it's works ? When can we clean all that rows ?
    thanks.

    Passivation store parameter controls all passivation, including what is written to PS_TXN when you opt for the (Default of) database passivation.
    BC4J should clean up the snapshots when the AM is released in stateless mode, or when the session expires.
    If sessions are killed, we supply a script in ./BC4J/bin/bc4jsession.sql to clean up the info in that table at whatever interval you would like to.

  • Performance issue in BI due to direct query on BKPF and BSEG tables

    Hi,
    We had a requirement that FI document number fieldshould be extracted in BI.
    Following code was written which has the correct logic but performance is bad.
    It fetched just 100 records in more than 4-5 hrs.
    The reason is there was a direct qury written on BSEG and BKPF tables(without WHERE clause).
    Is there any way to improve this code like adding GJAHR field  in where clause? I dont want to change the logic.
    Following is the code:
    WHEN '0CO_OM_CCA_9'." Data Source
        TYPES:BEGIN OF ty_bkpf,
        belnr TYPE bkpf-belnr,
        xblnr TYPE bkpf-xblnr,
        bktxt TYPE bkpf-bktxt,
        awkey TYPE bkpf-awkey,
        bukrs TYPE bkpf-bukrs,
        gjahr TYPE bkpf-gjahr,
        AWTYP TYPE bkpf-AWTYP,
        END OF ty_bkpf.
        TYPES : BEGIN OF ty_bseg1,
        lifnr TYPE bseg-lifnr,
        belnr TYPE bseg-belnr,
        bukrs TYPE bseg-bukrs,
        gjahr TYPE bseg-gjahr,
        END OF ty_bseg1.
        DATA: it_bkpf TYPE STANDARD TABLE OF ty_bkpf,
        wa_bkpf TYPE ty_bkpf,
        it_bseg1 TYPE STANDARD TABLE OF ty_bseg1,
        wa_bseg1 TYPE ty_bseg1,
        l_s_icctrcsta1 TYPE icctrcsta1.
        "Extract structure for Datasoure 0co_om_cca_9.
        DATA: l_awkey TYPE bkpf-awkey.
        DATA: l_gjahr1 TYPE gjahr.
        DATA: len TYPE i,
        l_cnt TYPE i.
        l_cnt = 10.
        tables : covp.
        data : ref_no(20).
        SELECT lifnr
        belnr
        bukrs
        gjahr
        FROM bseg
        INTO TABLE it_bseg1.
        DELETE ADJACENT DUPLICATES FROM it_bseg1 COMPARING belnr gjahr .
        SELECT belnr
        xblnr
        bktxt
        awkey
        bukrs
        gjahr
        AWTYP
        FROM bkpf
        INTO TABLE it_bkpf.
        IF sy-subrc EQ 0.
          CLEAR: l_s_icctrcsta1,
          wa_bkpf,
          l_awkey,
          wa_bseg1.
          LOOP AT c_t_data INTO l_s_icctrcsta1.
            MOVE l_s_icctrcsta1-fiscper(4) TO l_gjahr1.
          select single AWORG AWTYP INTO CORRESPONDING FIELDS OF COVP FROM COVP
          WHERE belnr = l_s_icctrcsta1-belnr.
          if sy-subrc = 0.
              if COVP-AWORG is initial.
           concatenate l_s_icctrcsta1-refbn '%' into ref_no.
                  READ TABLE it_bkpf INTO wa_bkpf WITH KEY awkey(10) =
                  l_s_icctrcsta1-refbn
                  awtyp = COVP-AWTYP
                  gjahr = l_gjahr1.
            IF sy-subrc EQ 0.
              MOVE wa_bkpf-belnr TO l_s_icctrcsta1-zzbelnr.
              MOVE wa_bkpf-xblnr TO l_s_icctrcsta1-zzxblnr.
              MOVE wa_bkpf-bktxt TO l_s_icctrcsta1-zzbktxt.
              MODIFY c_t_data FROM l_s_icctrcsta1.
              READ TABLE it_bseg1 INTO wa_bseg1
              WITH KEY
              belnr = wa_bkpf-belnr
              bukrs = wa_bkpf-bukrs
              gjahr = wa_bkpf-gjahr.
              IF sy-subrc EQ 0.
                MOVE wa_bseg1-lifnr TO l_s_icctrcsta1-lifnr.
                MODIFY c_t_data FROM l_s_icctrcsta1.
                CLEAR: l_s_icctrcsta1,
                wa_bseg1,
                l_gjahr1.
              ENDIF.
            ENDIF.
                ELSE. " IF AWORG IS NOT BLANK -
                concatenate l_s_icctrcsta1-refbn COVP-AWORG into ref_no.
                READ TABLE it_bkpf INTO wa_bkpf WITH KEY awkey(20) =
                ref_no
                awtyp = COVP-AWTYP
                gjahr = l_gjahr1.
            IF sy-subrc EQ 0.
              MOVE wa_bkpf-belnr TO l_s_icctrcsta1-zzbelnr.
              MOVE wa_bkpf-xblnr TO l_s_icctrcsta1-zzxblnr.
              MOVE wa_bkpf-bktxt TO l_s_icctrcsta1-zzbktxt.
              MODIFY c_t_data FROM l_s_icctrcsta1.
              READ TABLE it_bseg1 INTO wa_bseg1
              WITH KEY
              belnr = wa_bkpf-belnr
              bukrs = wa_bkpf-bukrs
              gjahr = wa_bkpf-gjahr.
              IF sy-subrc EQ 0.
                MOVE wa_bseg1-lifnr TO l_s_icctrcsta1-lifnr.
                MODIFY c_t_data FROM l_s_icctrcsta1.
                CLEAR: l_s_icctrcsta1,
                wa_bseg1,
                l_gjahr1.
              ENDIF.
            ENDIF.
               endif.
          endif.
            CLEAR: l_s_icctrcsta1.
            CLEAR: COVP, REF_NO.
          ENDLOOP.
        ENDIF.

    Hello Amruta,
    I was just looking at your coding:
    LOOP AT c_t_data INTO l_s_icctrcsta1.
    MOVE l_s_icctrcsta1-fiscper(4) TO l_gjahr1.
    select single AWORG AWTYP INTO CORRESPONDING FIELDS OF COVP FROM COVP
    WHERE belnr = l_s_icctrcsta1-belnr.
    if sy-subrc = 0.
    if COVP-AWORG is initial.
    concatenate l_s_icctrcsta1-refbn '%' into ref_no.
    READ TABLE it_bkpf INTO wa_bkpf WITH KEY awkey(10) =
    l_s_icctrcsta1-refbn
    awtyp = COVP-AWTYP
    gjahr = l_gjahr1.
    Here you are interested in those BKPF records that are related to the contents of c_t_data internal table.
    I guess that this table does not contain millions of entries. Am I right?
    If yes, the the first step would be to pre-select COVP entries:
    select BELNR AWORG AWTYP into lt_covp from COVP
    for all entries in c_t_data
    where belnr = c_t_data-belnr.
    sort lt_covp by belnr.
    Once having this data ready, you build an internal table for BKPF selection:
    LOOP AT c_t_data INTO l_s_icctrcsta1.
      clear ls_bkpf_sel.
      ls_bkpf_sel-awkey(10) = l_s_icctrcsta1-refbn.
      read table lt_covp with key belnr = l_s_icctrcsta1-belnr binary search.
      if sy-subrc = 0.
        ls_bkpf_sel-awtyp = lt_covp-awtyp.
      endif.
      ls_bkpf_sel-gjahr = l_s_icctrcsta1-fiscper(4).
      insert ls_bkpf_sel into table lt_bkpf_sel.
    ENDLOOP.
    Now you have all necessary info to read BKPF:
    SELECT
    belnr
    xblnr
    bktxt
    awkey
    bukrs
    gjahr
    AWTYP
    FROM bkpf
    INTO TABLE it_bkpf
    for all entries in lt_bkpf_sel
    WHERE
      awkey = lt_bkpf_sel-awkey and
      awtyp = lt_bkpf_sel-awtype and
      gjahr = lt_bkpf_sel-gjahr.
    Then you can access BSEG with the bukrs, belnr and gjahr from the selected BKPF entries. This will be fast.
    Moreover I would even try to make a join on DB level. But first try this solution.
    Regards,
      Yuri

  • SAP QUERY using ASSHR and ASSOB tables

    We currently have SAP query that reports on additional payments (Info type 0015).  The user wants to report the cost center held on the cost assignment (Tables ASSOB and ASSHR).
    The existing query uses infoset created using PNP logical database. 
    How do I add or join the ASSOB and ASSHR tables to Info type 0015 to report the cost center?
    Thanks in advance
    Shamshudin

    Hi Sham
    You may need to create custom fields in the infoset and create some code to pull out and display details from ASSHR and ASSOB corresponding to the ifnotype record.

  • Regarding ska1 and skb1 tables

    Hi ,
             I got the requirement to extract the data from ska1 and skb1 tables, is their any standard datasource maintaining for that or else shall i extract based on generic extraction on view. Is the table which i mentioned is correct or not
    This was the requirement which am having
    The data which am having in excel is maintained in Budget in the year and budget in the month and previous. And parallel in the same data am having Actuals for the month and Actuals for the previous month.

    Hi,
    These tables are master data for G/L accounts; there are no figures stored in these tables.
    Regards,
    Eli

  • Query regarding Exception and invocation.

    I have a query regarding Exception.
    In my code, which throws an ArithmeticException:
    <code>
    public class TestArithmeticException{
    public static void main(String[] args)
    int a,b ;
    try {
    b=0;
    a = 50/b;
    }catch(Exception ex) {
    ex.printStackTrace()
    </code>
    The above code is catching exception of type Exception(which is superclass of all RuntimeExceptions)
    and which inturn extends the Throwable class.
    ie. Throwable -
    Exception -
    RuntimeException
    ArithmeticException
    Am I correct in my assumption below:
    a Because ArithmeticException is an indirect subclass of Throwable and has access to its inherited methods,
    it overrides the methods defined in 'Throwable', and then via polymorphism(superclass reference 'ex' in the catch clause)
    invokes the method ex.printStackTrace() ?
    Does it mean that all runtime exception child classes override the methods defined in Throwable, and then via polymorphism execute overridden
    methods?

    Yes.

  • Question regarding Classic and Advance table

    Hi,
    I have classic and advance table. I am populating with VO that brings 100 record. When i render page i see last record being displayed. How can i show my first record by defult on both tables?

    By default the first record will be displayed, if you are seeing the last one instead, you probably did a vo.last() in the code.
    Thanks
    Tapash

  • Regarding index and anla table

    Hi
    i have code as below and i have Select option input
    for fields bukrs, anln1 and anln2.
    SELECT bukrs      anln1     anln2     anlkl txt50 ktogr invnrz sernr deakt               
        FROM anla                    
        INTO TABLE o_anla                    
       WHERE bukrs IN wa_ex_bukrs.
       if sy-subrc = 0.
       DELETE o_anla WHERE anln2 NOT IN wa_ex_anln2.
       DELETE o_anla WHERE anln1 NOT IN wa_ex_anln1.
       endif.
    Does the below code change is more faster than above code.?
    SELECT bukrs anln1 anln2 anlkl txt50 ktogr invnrz sernr deakt               
        FROM anla                    
        INTO TABLE o_anla                    
       WHERE bukrs IN wa_ex_bukrs
       and anln1 in wa_ex_anln1
       and anln2 in wa_ex_anln2.
    I feel bukrs and anln1 and anln2 are primary key fields and could increase performance better.
    However there is no std index available for this 3 fields. do you think creating secondary index
    for this 3 field can increase performance.
    Pls confirm.
    Regards

    Hi,
    If bukrs, anln1 and anln2 makes the primary key then you are hitting the table with primary index itself(which is always a better option for good performance). Your 2nd query would always do better.  No need to create secondary index in this case.
    Regards,
    Ravi

  • Infoset query logical database and transparent table

    Hi!
    We have an infoset with the data source logical database=PNP.
    We get some fields from the infotype 0768, P0768-PERNR, P0768-BEGDA, etc.
    Now we need add another table to make a join within infotype 0768 and table T5F99SE.
    For instance, in infotype 0768 I have one record with the fields PERNR and BEGDA and in the T5F99SE I have 3 records related to the unique record of infotype 0768, the fields of the table are PERNR, BEGDA, ACTDT and ADDAT .
    The fields values in the example can be:
    Infotype 0768: PERNR=00101800, BEGDA=20110401, DICOT=20, BACHE=1200
    Table T5F99SE:  record 1 PERNR=00101800, BEGDA=20110401, ACTDT=20110401, ADDAT=PB    E
                             record 2 PERNR=00101800, BEGDA=20110101, ACTDT=20110405, ADDAT=PC    E01
                             record 3 PERNR=00101800, BEGDA=20110401, ACTDT=20110409, ADDAT=PA    E
    The result we want get with infoset query is
    PERNR    BEGDA   DICOT  BACHE   ADDAT
    00101800 20110101 20        1200       PB    E
    00101800 20110101 20        1200       PC    E01
    00101800 20110101 20        1200       PA    E
    I would like to get the fields of the infotype and some fields of the table T5F99SE.
    Is possible do this action with ABAP modifying an infoset that already exists adding the fields of the transparent table?
    What should I do?
    Kind regards,
    Julian.

    My guess is that it would not be possible to include a transparent table into the LDBs PNP and PNPCE. Would need input from a technical expert there.
    However, instead of using the LDB, why don't you explore just using a direct table join? You may need to join PA0000, PA0001, PA0002 along with PA0768 and your other tables. An infoset can then be created on this table join.
    To go to the mode where you can create the table join, in your infoset transactions, choose 'Table join' instead of 'LDB'.

  • Three questions regarding DB_KEEP_CACHE_SIZE and caching tables.

    Folks,
    In my Oracle 10g db, which I got in legacy. It has the init.ora parameter DB_KEEP_CACHE_SIZE parameter configured to 4GB in size.
    Also there are bunch of tables that were created with CACHE turned on for them.
    By querying dba_tables table , with CACHE='Y', I can see the name of these tables.
    With time, some of these tables have grown in size (no. of rows) and also some of these tables are not required to be cached any longer.
    So here is my first question
    1) Is there a query I can run , to find out , what tables are currently in the DB_KEEP_CACHE_SIZE.
    2) Also how can I find out if my DB_KEEP_CACHE_SIZE is adqueataly sized or needs to be increased in size,as some of these
    tables have grown in size.
    Third question
    I know for fact, that there are 2 tables that do not need to be cached any longer.
    So how do I make sure they do not occupy space in the DB_KEEP_CACHE_POOL.
    I tried, alter table <table_name> nocache; statement
    Now the cache column value for these in dba_tables is 'N', but if I query the dba_segments tables, the BUFFER_POOL column for them still has value of 'KEEP'.
    After altering these tables to nocache, I did bounce my database.
    Again, So how do I make sure these tables which are not required to be cached any longer, do not occupy space in the DB_KEEP_CACHE_SIZE.
    Would very much appreciate your help.
    Regards
    Ashish

    Hello,
    1) Is there a query I can run , to find out , what tables are currently in the DB_KEEP_CACHE_SIZE:You may try this query:
    select owner, segment_name, segment_type, buffer_pool
    from dba_segments
    where buffer_pool = 'KEEP'
    order by owner, segment_name;
    2) Also how can I find out if my DB_KEEP_CACHE_SIZE is adqueataly sized or needs to be increased in size,as some of these tables have grown in size.You may try to get the total size of the Segments using the KEEP BUFFER:
    select sum(bytes)/(1024*10124) "Mo"
    from dba_segments
    where buffer_pool = 'KEEP';To be sure that all the blocks of these segments (Table / Index) won't be often aged out from the KEEP BUFFER, the total size given by the above query should be less than the size of your KEEP BUFFER.
    I know for fact, that there are 2 tables that do not need to be cached any longer.
    So how do I make sure they do not occupy space in the DB_KEEP_CACHE_POOL.You just have to execute the following statement:
    ALTER TABLE <owner>.<table> STORAGE(BUFFER_POOL DEFAULT);Hope this help.
    Best regards,
    Jean-Valentin

  • Query regarding entity_type in eam_work_orders_v table

    Hi All,
    This is regarding the Enterprise Asset Module in Oracle.
    I have the following 2 queries -
    select * from eam_work_orders_v where wip_entity_name = 'XYZ'
    and
    select * from wip_entities where wip_entity_name = 'XYZ'
    The first query does not return any rows whereas the second query returns some output.
    Reason being that eam_work_orders_v has a check that entity type should be 6 or 7 and the wip_entity_name which i am querying has entity_type as 3.
    Can anyone please tell me where is this entity type set and what is its significance related to eam work orders.
    Regards,
    Shruti

    Hi,
    What is the application release?
    Set the application context as per the following documents and see if you can get any data then.
    Note: 209185.1 - Setting the Applications Context (FND_GLOBAL.APPS_INITIALIZE)
    Note: 437119.1 - How to set the Organization Context in R12?
    Note: 420787.1 - Oracle Applications Multiple Organizations Access Control for Custom Code
    Note: 415860.1 - How to view org-specific data in a MOAC environment
    Thanks,
    Hussein

  • Regarding ODS and Physical Tables

    Hi,
    can you tell me the difference between ODS and a physical table created using transaction SE11?
    I am writing a program to update this table not by any update rules, it is just updating the table using modify statement.
    suggest me which one to use a physical table or ODS?
    Thanks,
    Vijaya

    Hi Vijaya,
    You want to insert the records into the table/ODS using some ABAP...(not through update rules)..
    In such a case you can do it either way...but going for an ODS will give an added advantage. You will be able to report on the data in ODS.
    Hope it helps..
    Regards,
    Amol )

  • Joins query between itab and database table..

    Hi all,
    Is it posible to use joins query between internle table and data base table...

    Hi Mehboob,
    No thats impossible to join the internal table and the database table.
    Alternatively what you need to do is you need to execute a Queryin Database Table and use the For All Entries in itab.
    Eg:  Select * from marc into table it_marc
             for all entries in it_matnr
               where matnr = it_matnr-matnr.
    Thanks,
    Chidanand

  • Regarding BP  and Premise tables

    Hi,
    what are the tables that will be updated when we create Business partner and Premise.
    Please Reply
    Regards,

    BP details should be there in BUT000 table.
    Address Number should be there at BUT020
    address details will be there at ADRC
    telephone details will be there at ADR6
    Please press BUT* in se11 u wiill get the exact description also.
    premise :  EVBS,EVBST.....
    Please Allot points
    Regards,
    Shiv.

Maybe you are looking for