Question about transactions...

Halo...
I am still in a process of understanding oracle transactions and this is the question :
If I do in store procedure this:
PROCEDURE SomeProc....
varField NUMBER(15,2);
BEGIN
SAVEPOINT UndoAll;
UPDATE aTable SET aField = 1000, bField = 'YES' WHERE cField = 'id10';
SELECT aField INTO varField FROM aTable WHERE bField = 'YES' AND cField = 'id10';
EXCEPTION
WHEN OTHERS THEN ROLLBACK TO UndoAll;
END SomeProc;
Should I do COMMIT in between UPDATE and SELECT !?
Or, because it is a single transaction the SELECT statemant fetchs the changes done by previous UPDATE statemant !?

Should I do COMMIT in between UPDATE and SELECT !?
Or, because it is a single transaction the SELECT
statemant fetchs the changes done by previous UPDATE statemant !? When you do the UPDATE, you lock those rows. If you do not COMMIT then do a SELECT on those same rows, you'll see your updates.
If you do the UPDATE and then COMMIT, you may or may not see your changes. As soon as you commit, your locked rows become unlocked. Then anyone else may update those rows. Some of your rows may have been updated in the (very brief) time between your COMMIT and your SELECT.
Of course, in your example that's not likely to happen. But in a highly concurrent environment...who knows?
The reason you do a COMMIT is to make permanent a logical unit of work.

Similar Messages

  • Question about Transactions...  Part 1 (Urgent)

    Hi all!
    Is there a transaction that I can use to check the status of ALL the objects that I activated in the BI system.  If there is, what is it?  Can this transaction return data about who activated it, when and what is wrong with it if ever?
    Is there a transaction that can return a list of unactivated objects in the system (tables, datasources, infosources and infoproviders)?  Can this transaction tell me why the selected object cannot be activated?
    Thank you!
    Philips

    Something NEW to learn in nw2004s
    <b>Content Analyzer</b> is available in SAP NetWeaver 2004s  from BI Content Add-On Version 2.
    The program provides tools to monitor and enforce project quality standards. Content Analyzer (transaction RSBICA) checks for inconsistencies and errors of customer-defined objects throughout your entire landscape .
    This provides a way to analyze the objects and flush out hard-to-find problems. This tool assists BI project teams in identifying many problems that they need to address, such as InfoObjects that were created and not assigned to an InfoObject Catalog, or objects still in the temporary development class.
    In the past, it was nearly impossible to analyze and find all the issues that Content Analyzer now can unearth for you. BI users just did not have the tools or techniques to handle all the issues that surfaced. As a result, BI teams often did not thoroughly address and resolve all problems. You can run Content Analyzer across the entire BI landscape to research possible errors. In some cases, the produced report provides data and directions for resolving the problem.
    You configure Content Analyzer in transaction RSBICA
    <b>
    Content Analyzer allows you to check for the following errors:</b>
    1)InfoObjects not assigned to an InfoObject catalog
    2)Objects that do not comply with the configured naming convention
    3)Objects that are in the temporary development class
    4)Query elements that have multiple global unique identifiers (GUIDs)
    5)Object status with inconsistencies between A (active) and D (delivered) versions
    Hope it Helps
    Chetan
    @CP..

  • A question about transactions and point-of-time

    We have an operation which we want to serialize, since it can be called concurrently by same user from different web servers which would cause duplicates
    We have a Table 'Search'
    UserID
    <other fields>
    the Search table is updated in stored proc (INUserID, INSearchString) where INSearchString is a complete SELECT statement that can encompass many tables. Currently this is what the proc does:
    DELETE FROM Search WHERE UserID = INUserID;
    EXECUTE IMMEDIATE 'INSERT INTO Search SELECT INUserID,RowNum FROM (' || INSearchString || ')';
    I want to add a new table SearchLock (UserID)
    and add a SELECT * FROM SearchLock WHERE UserID = INUserID FOR UPDATE
    to this stored proc
    my question is, where exactly should I put the transaction BEGIN and COMMIT to insure that a second call, after waiting if needed, will see the contents of Search AFTER the first call has commited? would the following sequence work every time?
    BEGIN TRANSACTION ...
    SELECT ... FOR UPDATE
    DELETE...
    EXECUTE ...
    COMMIT
    (obviously will add en EXCEPTION handling)
    my worry, and what i'm trying to prevent, is that the second call, after waiting, will see the contents of Search BEFORE the first call has commited it

    To avoid this, just create a primary key for your
    table. If a row is currently inserted in a
    non-committed transaction, all other transactions
    that want to insert the same primary key in the same
    table will wait on the first transaction to complete.
    If the first transaction commits, all other
    transaction will get ORA-0001 error: unique contraint
    ... violated.
    If the first transaction rollbacks, one will be able
    to insert the primary key and the same process
    applies with other transactions.
    Oracle automatically locks the row with the primary
    key to be inserted for you.intriguing, but I am trying to protect several statements, I don't want the second sessin any chance to be able to run a DELETE.
    I am thinking the SELECT ... FOR UPDATE will have a NOWAIT option so that the second session will get immediate error notification.

  • Help, a question about transaction...

    sorry for my english:(
    my application env:
    kodo 3.2.3 / Oracle 9i /JBoss 3.2.5
    Application logic is written in EJB(CMP) and Stored procedure. they must
    be finished in a transaction :
    ejb business method begin....
    get PM;
    do kodo database operate ....;
    get Connection from PM;
    get stored procedure from connection;
    (1) execute stored procedure;
    close stored procedure;
    close connection;
    close PM
    ejb biz method finished.
    It's a so simple function .
    My question is:
    when I reach (1) line, the new data that generated by stored procedure
    has committed to database!! ----Why! The Connection gotten from PM is out
    of the Transaction??? In fact, I can't rollback the modification made by
    stored procedure when exceptions occurred:(
    What can I do ?

    Are you using managed datasource? Are you using pessimistic or
    optimistic transactions?
    In the first case, Kodo will defer to the managed datasource so if your
    transaction is not rolled back, the stored procedure will run through.
    If using optimistic transactions, you should trigger some other
    transactional change so that Kodo will know to start a datastore
    transaction. Otherwise, depending on how your stored procedure is
    written, it may change the datastore.
    Kodo 4.0 includes a KodoPersistenceManager.beginStore () to ensure that
    the connection is transactional.
    yan wrote:
    sorry for my english:(
    my application env:
    kodo 3.2.3 / Oracle 9i /JBoss 3.2.5
    Application logic is written in EJB(CMP) and Stored procedure. they must
    be finished in a transaction :
    ejb business method begin....
    get PM;
    do kodo database operate ....;
    get Connection from PM;
    get stored procedure from connection;
    (1) execute stored procedure;
    close stored procedure;
    close connection;
    close PM
    ejb biz method finished.
    It's a so simple function .
    My question is:
    when I reach (1) line, the new data that generated by stored procedure
    has committed to database!! ----Why! The Connection gotten from PM is out
    of the Transaction??? In fact, I can't rollback the modification made by
    stored procedure when exceptions occurred:(
    What can I do ?
    Steve Kim
    [email protected]
    SolarMetric Inc.
    http://www.solarmetric.com

  • Question about transaction SNOTE

    Hi friends, I need some help.
    I trying to apply corrections on ECC 600 with sap note for note number 1394582. When I load this note on SNOTE, this transaction load a lot of other notes (prerequisites). My doubt is about this prerequisites, some of loaded notes as prerequisites is from support package 13 and here we already have support package 13.
    Its safe to continue this? Why SNOTE loads notes that already exist on R3?
    Thanks a lot!

    Hi!
    Personally I like to check manually the source code changes after implementing SAP notes. I get the first correction within the note, and if the changes in the source codes are the same to the changes within the correction instruction, then the note was implemented correctly.
    Regards
    Tamá

  • A question about transaction consistency between multible target tables

    Dear community,
    My replication is ORACLE 11.2.3.7->ORACLE 11.2.3.7 both running on linux x64 and GG version is 11.2.3.0.
    I'm recovering from an error when trail file was moved away while dpump was writing to it.
    After moving the file back dpump abended with an error
    2013-12-17 11:45:06  ERROR   OGG-01031  There is a problem in network communication, a remote file problem, encryption keys for target and source do
    not match (if using ENCRYPT) or an unknown error. (Reply received is Expected 4 bytes, but got 0 bytes, in trail /u01/app/ggate/dirdat/RI002496, seqno 2496,
    reading record trailer token at RBA 12999993).
    I googled for It and found no suitable solution except for to try "alter extract <dpump>, entrollover".
    After rolling over trail file replicat as expected ended with
    REPLICAT START 1
    2013-12-17 17:56:03  WARNING OGG-01519  Waiting at EOF on input trail file /u01/app/ggate/dirdat/RI002496, which is not marked as complete;
    but succeeding trail file /u01/app/ggate/dirdat/RI002497 exists. If ALTER ETROLLOVER has been performed on source extract,
    ALTER EXTSEQNO must be performed on each corresponding downstream reader.
    So I've issued "alter replicat <repname>, extseqno 2497, extrba 0" but got the following error:
    REPLICAT START 2
    2013-12-17 18:02:48 WARNING OGG-00869 Aborting BATCHSQL transaction. Detected inconsistent result:
    executed 50 operations in batch, resulting in 47 affected rows.
    2013-12-17 18:02:48  WARNING OGG-01137  BATCHSQL suspended, continuing in normal mode.
    2013-12-17 18:02:48  WARNING OGG-01003  Repositioning to rba 1149 in seqno 2497.
    2013-12-17 18:02:48 WARNING OGG-01004 Aborted grouped transaction on 'M.CLIENT_REG', Database error
    1403 (OCI Error ORA-01403: no data found, SQL <UPDATE "M"."CLIENT_REG" SET "CLIENT_CODE" =
    :a1,"CORE_CODE" = :a2,"CP_CODE" = :a3,"IS_LOCKED" = :a4,"BUY_SUMMA" = :a5,"BUY_CHECK_CNT" =
    :a6,"BUY_CHECK_LIST_CNT" = :a7,"BUY_LAST_DATE" = :a8 WHERE "CODE" = :b0>).
    2013-12-17 18:02:48  WARNING OGG-01003  Repositioning to rba 1149 in seqno 2497.
    2013-12-17 18:02:48 WARNING OGG-01154 SQL error 1 mapping LS.CHECK to M.CHECK OCI Error ORA-00001:
    unique constraint (M.CHECK_PK) violated (status = 1). INSERT INTO "M"."CHECK"
    ("CODE","STATE","IDENT_TYPE","IDENT","CLIENT_REG_CODE","SHOP","BOX","NUM","KIND","KIND_ORDER","DAT","SUMMA","LIST_COUNT","RETURN_SELL_CHECK_CODE","RETURN_SELL_SHOP","RETURN_SELL_BOX","RETURN_SELL_NUM","RETURN_SELL_KIND","INSERTED","UPDATED","REMARKS")
    VALUES
    (:a0,:a1,:a2,:a3,:a4,:a5,:a6,:a7,:a8,:a9,:a10,:a11,:a12,:a13,:a14,:a15,:a16,:a17,:a18,:a19,:a20).
    2013-12-17 18:02:48  WARNING OGG-01003  Repositioning to rba 1149 in seqno 2497.
    The report stated the following:
    Reading /u01/app/ggate/dirdat/RI002497, current RBA 1149, 0 records
    Report at 2013-12-17 18:02:48 (activity since 2013-12-17 18:02:46)
    From Table LS.MK_CHECK to LSGG.MK_CHECK:
           #                   inserts:         0
           #                   updates:         0
           #                   deletes:         0
           #                  discards:         1
    From Table LS.MK_CHECK to LSGG.TL_MK_CHECK:
           #                   inserts:         0
           #                   updates:         0
           #                   deletes:         0
           #                  discards:         1
    At that time I came to the conclusion that using etrollover was not a good idea Nevertheless I had to upload my data to perform consistency check.
    My mapping templates are set up as the following:
    LS.CHECK->M.CHECK
    LS.CHECK->M.TL_CHECK
    (such mapping is set up for every table that is replicated).
    TL_CHECK is a transaction log, as I name it,
    and this peculiar mapping is as the following:
    ignoreupdatebefores
    map LS.CHECK, target M.CHECK, nohandlecollisions;
    ignoreupdatebefores
    map LS.CHECK, target M.TL_CHECK ,colmap(USEDEFAULTS,
    FILESEQNO = @GETENV ("RECORD", "FILESEQNO"),
    FILERBA = @GETENV ("RECORD", "FILERBA"),
    COMMIT_TS = @GETENV( "GGHEADER", "COMMITTIMESTAMP" ),
    FILEOP = @GETENV ("GGHEADER","OPTYPE"), CSCN = @TOKEN("TKN-CSN"),
    RSID = @TOKEN("TKN-RSN"),
    OLD_CODE = before.CODE
    , OLD_STATE = before.STATE
    , OLD_IDENT_TYPE = before.IDENT_TYPE
    , OLD_IDENT = before.IDENT
    , OLD_CLIENT_REG_CODE = before.CLIENT_REG_CODE
    , OLD_SHOP = before.SHOP
    , OLD_BOX = before.BOX
    , OLD_NUM = before.NUM
    , OLD_NUM_VIRT = before.NUM_VIRT
    , OLD_KIND = before.KIND
    , OLD_KIND_ORDER = before.KIND_ORDER
    , OLD_DAT = before.DAT
    , OLD_SUMMA = before.SUMMA
    , OLD_LIST_COUNT = before.LIST_COUNT
    , OLD_RETURN_SELL_CHECK_CODE = before.RETURN_SELL_CHECK_CODE
    , OLD_RETURN_SELL_SHOP = before.RETURN_SELL_SHOP
    , OLD_RETURN_SELL_BOX = before.RETURN_SELL_BOX
    , OLD_RETURN_SELL_NUM = before.RETURN_SELL_NUM
    , OLD_RETURN_SELL_KIND = before.RETURN_SELL_KIND
    , OLD_INSERTED = before.INSERTED
    , OLD_UPDATED = before.UPDATED
    , OLD_REMARKS = before.REMARKS), nohandlecollisions, insertallrecords;
    As PK violation fired for CHECK, I've changed nohandlecollisions to handlecollisions for LS.CHECK->M.CHECK mapping and restarted an replicat.
    To my surprise it ended with the following error:
    REPLICAT START 3
    2013-12-17 18:05:55 WARNING OGG-00869 Aborting BATCHSQL transaction. Database error 1 (ORA-00001:
    unique constraint (M.CHECK_PK) violated).
    2013-12-17 18:05:55 WARNING OGG-01137 BATCHSQL suspended, continuing in normal mode.
    2013-12-17 18:05:55 WARNING OGG-01003 Repositioning to rba 1149 in seqno 2497.
    2013-12-17 18:05:55 WARNING OGG-00869 OCI Error ORA-00001: unique constraint (M.PK_TL_CHECK)
    violated (status = 1). INSERT INTO "M"."TL_CHECK"
    ("FILESEQNO","FILERBA","FILEOP","COMMIT_TS","CSCN","RSID","CODE","STATE","IDENT_TYPE","IDENT","CLIENT_REG_CODE","SHOP","BOX","NUM","KIND","KIND_ORDER","DAT","SUMMA","LIST_COUNT","RETURN_SELL_CHECK_CODE","RETURN_SELL_SHOP","RETURN_SELL_BOX","RETURN_SELL_NUM","RETURN_SELL_KIND","INSERTED","UPDATED","REMARKS")
    VALUES
    (:a0,:a1,:a2,:a3,:a4,:a5,:a6,:a7,:a8,:a9,:a10,:a11,:a12,:a13,:a14,:a15,:a16,:a17,:a18,:a19,:a20,:a21,:a22,:a23,:a24,:a25,:a26).
    2013-12-17 18:05:55 WARNING OGG-01004 Aborted grouped transaction on 'M.TL_CHECK', Database error 1
    (OCI Error ORA-00001: unique constraint (M.PK_TL_CHECK) violated (status = 1). INSERT INTO
    "M"."TL_CHECK"
    ("FILESEQNO","FILERBA","FILEOP","COMMIT_TS","CSCN","RSID","CODE","STATE","IDENT_TYPE","IDENT","CLIENT_REG_CODE","SHOP","BOX","NUM","KIND","KIND_ORDER","DAT","SUMMA","LIST_COUNT","RETURN_SELL_CHECK_CODE","RETURN_SELL_SHOP","RETURN_SELL_BOX","RETURN_SELL_NUM","RETURN_SELL_KIND","INSERTED","UPDATED","REMARKS")
    VALUES
    (:a0,:a1,:a2,:a3,:a4,:a5,:a6,:a7,:a8,:a9,:a10,:a11,:a12,:a13,:a14,:a15,:a16,:a17,:a18,:a19,:a20,:a21,:a22,:a23,:a24,:a25,:a26)).
    2013-12-17 18:05:55  WARNING OGG-01003  Repositioning to rba 1149 in seqno 2497.
    2013-12-17 18:05:55 WARNING OGG-01154 SQL error 1 mapping LS.CHECK to M.TL_CHECK OCI Error
    ORA-00001: unique constraint (M.PK_TL_CHECK) violated (status = 1). INSERT INTO "M"."TL_CHECK"
    ("FILESEQNO","FILERBA","FILEOP","COMMIT_TS","CSCN","RSID","CODE","STATE","IDENT_TYPE","IDENT","CLIENT_REG_CODE","SHOP","BOX","NUM","KIND","KIND_ORDER","DAT","SUMMA","LIST_COUNT","RETURN_SELL_CHECK_CODE","RETURN_SELL_SHOP","RETURN_SELL_BOX","RETURN_SELL_NUM","RETURN_SELL_KIND","INSERTED","UPDATED","REMARKS")
    VALUES
    (:a0,:a1,:a2,:a3,:a4,:a5,:a6,:a7,:a8,:a9,:a10,:a11,:a12,:a13,:a14,:a15,:a16,:a17,:a18,:a19,:a20,:a21,:a22,:a23,:a24,:a25,:a26).
    2013-12-17 18:05:55  WARNING OGG-01003  Repositioning to rba 1149 in seqno 2497.
    I've expected that batchsql will fail cause it does not support handlecollisions, but I really don't understand why any record was inserted into TL_CHECK and caused PK violation, cause I thought that GG guarantees transactional consistency and that any transaction that caused an error in _ANY_ of target tables will be rollbacked for _EVERY_ target table.
    TL_CHECK has PK set to (FILESEQNO, FILERBA), plus I have a special column that captures replication run number and it clearly states that a record causing PK violation was inserted during previous run (REPLICAT START 2).
    BTW report for the last shows
    Reading /u01/app/ggate/dirdat/RI002497, current RBA 1149, 1 records
    Report at 2013-12-17 18:05:55 (activity since 2013-12-17 18:05:54)
    From Table LS.MK_CHECK to LSGG.MK_CHECK:
           #                   inserts:         0
           #                   updates:         0
           #                   deletes:         0
           #                  discards:         1
    From Table LS.MK_CHECK to LSGG.TL_MK_CHECK:
           #                   inserts:         0
           #                   updates:         0
           #                   deletes:         0
           #                  discards:         1
    So somebody explain, how could that happen?

    Write the query of the existing table in the form of a function with PRAGMA AUTONOMOUS_TRANSACTION.
    examples here:
    http://www.morganslilbrary.org/library.html

  • Question about Transaction scope

    Hello all
    I failed to find the answer in the Forte documentation.
    what appends when
    - a client GUI uses transactions,
    - services use message duration AND dependant transactions.
    Do we have
    - two independant transactions,
    - an undetected error,
    - some thing in between ?
    thank you for any reference to the right document or an
    explanation.
    Jean-Claude Bourut
    s-mail 72-78 Grande-Rue 92310 Sevres
    e-mail [email protected]
    Tel (33-1) 41 14 86 41

    If you want to access variables outside of a method then you have to use class variables.
    regards,
    Owen
    class TestClass
      String a;
      public void init ()
        a = "aba";
      public void output()
        System.out.println ( a );
      public static void main(String[] args )
         TestClass test = new TestClass();
         test.init();
         test.output();
    }

  • Question about transaction

    In one of my screen flow, there is one action to call an external ejb. The ejb may be deployed on a different application server.
    How to make that ejb call in the same transaction of the obpm?
    For example, if there is any error happens after the action calling ejb, I want the ejb call could be rolled back.
    How to do that?
    Thanks a lot!

    Hi,
    All transaction codes are stored in table TSTC.
    Thorgh Se93   Transaction code is created for the applications
    like Dialog programmming
          Reports
          OOtransaction
          Parameter Transaction
          Table maintenace
    Even you can change the Transaction code here.
    Regards,
    Raj.

  • Some questions about the integration between BIEE and EBS

    Hi, dear,
    I'm a new bie of BIEE. In these days, have a look about BIEE architecture and the BIEE components. In the next project, there are some work about BIEE development based on EBS application. I have some questions about the integration :
    1) generally, is the BIEE database and application server decentralized with EBS database and application? Both BIEE 10g and 11g version can be integrated with EBS R12?
    2) In BIEE administrator tool, the first step is to create physical tables. if the source appliation is EBS, is it still needed to create the physical tables?
    3) if the physical tables creation is needed, how to complete the data transfer from the EBS source tables to BIEE physical tables? which ETL tool is prefer for most developers? warehouse builder or Oracle Data Integration?
    4) During data transfer phase, if there are many many large volume data needs to transfer, how to keep the completeness? for example, it needs to transfer 1 million rows from source database to BIEE physical tables, when 50%is completed, the users try to open the BIEE report, can they see the new 50% data on the reports? is there some transaction control in ETL phase?
    could anyone give some guide for me? I'm very appreciated if you can also give any other information.
    Thanks in advance.

    1) generally, is the BIEE database and application server decentralized with EBS database and application? Both BIEE 10g and 11g version can be integrated with EBS R12?You, shud consider OBI Application here which uses OBIEE as a reporting tool with different pre-built modules. Both 10g & 11g comes with different versions of BI apps which supports sources like Siebel CRM, EBS, Peoplesoft, JD Edwards etc..
    2) In BIEE administrator tool, the first step is to create physical tables. if the source appliation is EBS, is it still needed to create the physical tables?Its independent of any soure. This is OBIEE modeling to create RPD with all the layers. If you build it from scratch then you will require to create all the layers else if BI Apps is used then you will get pre-built RPD along with other pre-built components.
    3) if the physical tables creation is needed, how to complete the data transfer from the EBS source tables to BIEE physical tables? which ETL tool is prefer for most developers? warehouse builder or Oracle Data Integration?BI apps comes with pre-built ETL mapping to use with the tools majorly with Informatica. Only BI Apps 7.9.5.2 comes with ODI but oracle has plans to have only ODI for any further releases.
    4) During data transfer phase, if there are many many large volume data needs to transfer, how to keep the completeness? for example, it needs to transfer 1 million rows from source database to BIEE physical tables, when 50%is completed, the users try to open the BIEE report, can they see the new 50% data on the reports? is there some transaction control in ETL phase?User will still see old data because its good to turn on Cache and purge it after every load.
    Refer..http://www.oracle.com/us/solutions/ent-performance-bi/bi-applications-066544.html
    and many more docs on google
    Hope this helps

  • One question about Pricing and Conditions puzzle me for a long time!

    One question about Pricing and Conditions puzzle me for a long time.I take one example to explain my question:
    1-First,my sale order use pricing procedure RVAA01.
    2-Next,the pricing procedure RVAA01 have some condition type,such as EK01(Actual Costs),PR00(Price)....,and so on.
    3-Next,the condition type PR00 define the Access Sequences PR00 as it's Access Sequences.
    4-Next,the Access Sequences PR00 have some Condition tables,such as:
         table 118 : "Empties" Prices (Material-Dependent)
         table 5 : Customer/Material
         table 6 : Price List Type/Currency/Material
         table 4 : Material
    5-Next,I need to maintain Condition tables's Records.Such as the table 5(Customer/Material).I guess the sap would supply one screen for me to input the data of table 5.At this screen,the sap would ask me to select one table,such as table 5.When I select the table 5,the sap would go to the screen to let me input the data of table 5.But when I use the T-CODE VK31 or VK32 to maintain Condition tables's Record,I found it's total different from my guess:
    A-First,I can not found one place for me to open the table,such as table 5,to let me input the data?
    B-Second,For example,when I select the VK31->Discounts/Surcharges->By Customer/Material,the sap show the grid view at the right side.At the each line of the grid view,you need to select the Condition Type at the first field.And this make me confused very much.Why the sap need me to select one Condition Type but not the Condition table?To the normal logic,it ought not to select Condition table but not the Condition Type!
    Dear all,I'm a new one in sd.May be this is a very stupid question.But it did puzzle me for a long time.If any one can  explain this question in detail and let me understand the concept,I will appreciate him/her very much.Thank you.

    Hi,
    You said that you are using the T.codes VK31 or VK32.
    These transaction codes are used to enter condition records for standard condition types. As you can see a grid left side having all the standard condition types like price, discounts, taxes, frieghts.
    Pl check using T.code VK11 OR VK12 (change mode)
    Here you can enter the required condition type, in the intial screen. (like PR00, MWST, K004, K005 .....etc)
    After giving the condition type, press enter or click on Combinations icon on top of the screen. Then you can see all the condition tables which you maintained for that condition type. Like as you said table 118, table 5, table 6 and table 4.
    You can select any table and press enter, then you can go into the screen in which you have all the field cataglogues you maintained for that table. For example you selected combination of Customer/Material (table 5) then after you press enter then you can see customer field on top, and material fields.
    You can give all the required values and save the conditon record.
    Hope this is clear.
    REWARD IF HELPFUL.
    Regards,
    praveen

  • Important conceptual question about Application Module, Maximum Pool Size

    Hello everyone,
    We have a critical question about the Application Module default settings (taking the DB connections from a DataSource)
    I know that on the Web it is generally suggested that each request must end with either a commit or rollback when executing PL/SQL blocks "directly" on the DB without the framework BC/ViewObject/Entity service intervention.
    Now, for some reasons, we started to develop our applications with thinking that each Web Session would reference exactly one DB session (opened by any instance taken from the AM pool) for the whole duration of the session, so that the changes made by each Web session to its DB session would never interfere with the changes made by "other" Web Sessions to "other" DB sessions .
    In other words, because of that convincement we often implemented sort of "transactions" that open and close (with either commit or rollback) each DB session not in/after a single HTTP request, but during many HTTP Requests.
    As a concrete example think of this scenario:
    1. the user presses the "Insert" button. An HTTP request is fired. The action listener is executed and ends up with inserting rows in a table via a PL SQL block (not via the ViewObjects API).
    2. no commit or rollback after the above PL/SQL block is done yet.
    3. finally the user presses a "Commit" or "Rollback" button, firing the call to the appropriate AM methos.
    Those three requests consist of what I called "transaction".
    From the documentation it's clear that there is no guarantee that the couple AM istance + DB session is the same during all the requests.
    This means that, during step 2, it's possible that another user might reference the same "pending" AM/DbSession for his needs and "steal" somehow the work done via PL/SQL after step 1. (This happens because sessions taken by the pool are always rolled back by default.)
    Now my question is:
    Suppose we set the "Maximum Pool Size" parameter to very a great number (always inferior to the maximum number of concurrent users):
    Is there any guarantee that all the requests will be isolated in that case?
    I hope the problem is clear.
    Let me know if you want more details.

    Thanks for the answers.
    If I am right, from all your answers about resource avaiability, this means that even supposing the framework is able to always give us the same AM instance back from the AM pool (by following the session-affinity criterias), there is, however, no "connection affinity" with the connections from the DataSource. This means that the "same AM instance" might take the "a new DB connection", if necessary, from the connection pool of the DataSource. If that happens, that could give us the same problems as taking "a new AM instance" (that is, not following session-affinity) from the beginning, since each time an a new connection is taken (either via a new AM instance or via the same AM instance plus a new DB connection), the corresponding DB session is rolle back by default, clearing all the pending transactions we might have performed before with direct PL/SQL calls bypassing the AM services during the life cycle of our application, so that the new HTTP request will have a clean DB session to start to work with.

  • I have a question about Configuration of Post with Clearing

    I have a question about confiruation of the post with clearing which is t-doce 'FB05'.
    When I make post with clearing on 'FB05', I can change the additional selections.
    Where can I control the confiruation of the additional selections in t-code 'FB05'
    Please, tell me the menu path.

    Hi,
    In SPRO, go to
    Financial Accounting (New) > Accounts Receivable and Accounts Payable > Business Transactions > Incoming Payments > Manual Incoming Payments > Make Settings for Processing Open Items > Choose Selection Fields
    Hope this helps.
    Thanks

  • A question about authorization of "me29n".

    I have a question about authorization of "me29n".
    In the screen of me29n, after I choose "cancel release" option,  there are several button I can use, such as "delete","lock","unlock" and so on.    now I want the "delete" button become unavailable after I choose "cancel release".    how can I archive ?   Is there any authorization object to use?   thanks a lot.

    Hello Victor,
    It is possible through Transaction code "SHDS".
    try to create new variant for it.Also you need to take
    ABAP'rs help in this .Try it.All the Best.
    Regards,
    Manjula.

  • Question about sql batch process in java app

    hi all
    i have few questions about using batch process in the java.sql package. the addBatch method can take sql statements like inserts or updates. can we use a mixture of insert and update then? can we use prepared statement for this? it's just for performance consideration. thanks in advance.

    hi all
    i have few questions about using batch process in the
    java.sql package. the addBatch method can take sql
    statements like inserts or updates. addBatch() is a method that has no parameters. It doesn't 'add' sql statements.
    can we use a
    mixture of insert and update then? can we use
    prepared statement for this? it's just for
    performance consideration. thanks in advance.The point of batching is that you take something that is invariant and then 'add' a variant part.
    Thus a single insert has an invariant part (the table and specific columns) and a variant part (the data for each row by column.)
    You can use anything that is valid SQL (for jdbc, driver, database) and use it presuming your database allows that particular usage in batching. But that does require some regular pattern - it won't work if your usage is random. Nor will it work if some statements need to be executed only some of the time. Finally also note that transaction processing will often require smaller chunks - you can't insert a million rows in one batch.

  • Questions about VK34 (create condition record with reference)

    Hi experts,
    When clicking the botton "copy condition" via VK34, an error message pops up. It says the error is due to no definition of select rule. I use the  standard condition record PR00.
    Q1: How to define "select rule"?
    Q2: Any chances to download condition record when using VK13 or VK33?

    Hello Colleague.                                                                               
    This Unicode problem occurs mainly with pricing reports (recognized by report names that start with /1SDBF12L/RV14AK).                        
    To regenerate these, call transaction V/LE or use transaction SE38 to execute the report RV14ALLE.                                           
    Leave the selection screen empty and execute (F8).                     
    See SAP note 497850.                                              
    If you have further questions about the generation in the condition maintenance, I recommend to read Note 886771.                
    I hope it can help you.
    Regards
    Ruy Castro

Maybe you are looking for