No external transaction assigned to internal transaction 0020 / 0010

Hi gurus..
While iam doing invoice  its shows error like
"No external transaction assigned to internal transaction 0020 / 0010"
Where i need to maintain external transactions?
can any one please tel the complete path for that...
thanks...

Hello,
Financial Accounting / Contract Accounts Receivable and Payable / Basic Functions / Postings and Documents / Document / Maintain Document Assignments / Maintain Transactions for IS-U/IS-T / Maintain Transactions for Cash Security Deposits/Interest
There, go to Define Main Transaction, select main transaction 0020, double click Define Sub-Transactions, select subtransaction 0010, double click Allocate Transactions to Internal Transactions and do the allocation there.
If you didn't define the combination of main transaction and subtransaction for cash security deposit payment, do that first, then follow the steps described above. If you define other main/sub transaction (for example AAAA/BBBB), replace "select main transaction 0020" with "select main transaction AAAA", and "select subtransaction 0010" with "select subtransaction BBBB" in the steps above.
Hope this helps.
Bogdan

Similar Messages

  • Internal transaction not assigned to external transaction

    Hi,
    while running the transaction FP08, it showed me an error saying that "Internal transaction 0060 0020 is not assigned to an external transaction". Can any1 please help me what the problem is and how to sort the error as well as the proper running process of the transaction FP08?

    Check you config under the IMG Activites:
    -Basic Functions > Posting & Documents > Document > Maintain Document Assignments > Maintain Transaction > Define and Parameterize External Transactions
    -Basic Functions > Posting & Documents > Document > Maintain Document Assignments > Maintain Transaction > Assign External Transactions

  • Electronic Bank Statement - Assign External Transaction Types to Posting Rules

    Hello,
    I am trying to assign external transactions (BAI codes) to posting rules in global settings of electronic bank statement.
    Here is my scenario -
    If it is a credit transaction then I assign BAI code 167 to a posting rule (ex. Z555) that is assigned to GL account lets say 1234. Now I want to assign a credit transaction 167 from a different customer to a different posting rule (ex. Z666) so it posts to different account lets say 9991. SAP won't let me do this. It gives me an error that entry already exists. It won't let me assign two posting rules to the same external transaction code. Is there a way to address this scenario?
    Please advise.
    Thanks,
    Priya

    Hi Priya
    If you have something different to distinguish between the two transactions, you can use the search string configuration. Generally, such kind of information is available in Notes to Payee  information in your bank file. The below link will help you in how the search strings are configured in SAP
    EBS: configuration of search string, part 1
    If the search string does not work for you, you may also at implementing the enhancement FEB00001. You can check out the relevant exits in this enhancement in t code SMOD.
    Thanks & Regards
    Sanil Bhandari

  • Internally started external transaction,release causes ConcurrencyException

    I will try to explain my problem with a very very simplified code example.
    (The code is not entirely correct; consider it to be pseudocode)
    Below the onMessage method of a Message Driven (TestMDB) bean is shown.
    The mdb bean is configured not to have a container managed transaction; Transaction attribute is 'NotSupported'.
    Toplink is configured to use a external transaction controller.
    onMessage(Message message)
    try
    String sessionId = Guid.generateGUID(message);
    uow = getUnitOfWork(sessionid);
    ObjectToPersist obj = new ObjectToPersist();
    uow.registerNewObject(obj);
         // the following release would normally only be performed in case of an exception
    uow.release();
    public UnitOfWork (String sessionId) {
    ClientSession session = (ClientSession)sessionProvider.getSession(sessionId);
    uow = session.getActiveUnitOfWork();
    if(uow == null)
    uow = session.acquireUnitOfWork();
    Now when this very simple piece of code above is executed an external transaction is internally started.
    But the statement "uow.release()" produces the following exception stack:
    Exception [TOPLINK-2004] (Oracle TopLink - 10g Release 3 (10.1.3.3.0) (Build 070620)): oracle.toplink.exceptions.ConcurrencyException
    Exception Description: A signal was attempted before wait() on ConcurrencyManager. This normally means that an attempt was made to
    commit or rollback a transaction before it was started, or to rollback a transaction twice.
         at oracle.toplink.exceptions.ConcurrencyException.signalAttemptedBeforeWait(ConcurrencyException.java:63)
         at oracle.toplink.internal.helper.ConcurrencyManager.release(ConcurrencyManager.java:336)
         at oracle.toplink.publicinterface.Session.rollbackTransaction(Session.java:2771)
         at oracle.toplink.publicinterface.UnitOfWork.rollbackTransaction(UnitOfWork.java:4138)
         at oracle.toplink.publicinterface.UnitOfWork.rollbackTransaction(UnitOfWork.java:4159)
         at oracle.toplink.publicinterface.UnitOfWork.commitToDatabase(UnitOfWork.java:1340)
         at oracle.toplink.publicinterface.UnitOfWork.commitToDatabaseWithChangeSet(UnitOfWork.java:1389)
         at oracle.toplink.publicinterface.UnitOfWork.issueSQLbeforeCompletion(UnitOfWork.java:2866)
         at oracle.toplink.publicinterface.UnitOfWork.issueSQLbeforeCompletion(UnitOfWork.java:2846)
         at oracle.toplink.jts.oracle9i.Oracle9iJTSSynchronizationListener.beforeCompletion(Oracle9iJTSSynchronizationListener.java:61)
         at com.evermind.server.ApplicationServerTransaction.callSynchronizationBeforeCompletion(ApplicationServerTransaction.java:1447)
         at com.evermind.server.ApplicationServerTransaction.beforeCompletion(ApplicationServerTransaction.java:1296)
         at com.evermind.server.ApplicationServerTransaction.rollback(ApplicationServerTransaction.java:594)
         at com.evermind.server.ApplicationServerTransaction.rollback(ApplicationServerTransaction.java:572)
         at oracle.toplink.jts.JTSExternalTransactionController.rollbackTransaction(JTSExternalTransactionController.java:151)
         at oracle.toplink.publicinterface.Session.rollbackExternalTransaction(Session.java:2739)
         at oracle.toplink.publicinterface.Session.rollbackTransaction(Session.java:2777)
         at oracle.toplink.publicinterface.UnitOfWork.rollbackTransaction(UnitOfWork.java:4138)
         at oracle.toplink.publicinterface.UnitOfWork.release(UnitOfWork.java:3972)
         at nl.portinfolink.platform.normalizer.emp.service.TestMDB.onMessage(TestMDB.java:007)
    If      "uow.release()" is replaced by "uow.commit()" all works fine. It is ok to commit a uow that is associated with an external
    transaction that is internally started.
    But why does the release cause an exception?
    Specifications:
    Appserver: oc4j(9.0.4)
    Toplink 10.1.3.3
    EJB 2.1

    This is odd. From the stack even though the uow.release() is rolling back the JTA transaction, it is still raising the beforeCompletion event (which is incorrect, I think a issue with OC4J 9.0.4 but was fixed in OC4J 10.2 or 10.1.3).
    Note that you are using a deprecated transaction controller, try using
    oracle.toplink.transaction.oc4j.Oc4jTransactionController, this might work correctly. Otherwise you could customize your transaction controller to ignore the beforeCompletion callback if the transaction is in a rollback state.
    <p>---
    <br>James Sutherland
    <br>Oracle TopLink, EclipseLink
    <br>Wiki: Java Persistence, EclipseLink

  • Automatic BRS - External transaction Keys

    Dear Gurus,
    Please provide the standard external transaction keys used for MT490
    are these external transaction types are common across all the banks or are they different.. ?
    Regards,
    Abhijeet

    Hi Abhijeeth,
    From your previous post it seems you are trying to configure Electronic Banking Statement Configuration and if i'm not wrong,looks like you are bit confused about the basic account determination objects used. Below is the high level understanding  of these, let me know if you have any further questions.
    As you might know about the functionality of EBS, lets not get into. Basic terminology used in this customizing 1. Internal Trans type 2. External Tran Type 3. Posting Rules 4. Posting Key 5. Account Symbols. Its important how this is interlinked and data flow from bank statement to GL.
    1. Internal Trans Type: Typically bank provides data in various formats, few of these formats are BAI, MT940, SWIFT and MultiCash. Each formats differs by how data is provided by housebank. Most commonly in US we use BAI(2) format. You match these with ECC by configuring Internal Trans Type to correspond to bank these formats(BAI, MT940...). SAP ERP provides defaults with all these and as per your clients requirement, you can create additional ,if required. You can assign only one Internal Trans Type to one bank account. (For ex: BAI2 format to Chase)
    2. External Trans Type: For each Internal Trans Type(Ex: BAI) you maintain multiple number of External Trans Types. Using these Ex Tran Type, we Identify different bank transactions in the EBS provided by bank(in this case, format is BAI).  Few of the examples of are Incoming Payment by check, Incoming payment by wire, bank charges, etc: Typically, bank has few hundreds of these trans type's identify each of the individual trans type. As said in the above post, these Ex Trans types are provided by bank to you, depending up on your requirement(I believe, we don't need all of these). Here you might notice one thing, Interpretation Algorithm, Mainly this help in interpreting the reference document number in the trans data(Check number, Account doc. number). One thing to keep in mind, when we assign Internal trans type to you bank account, all these external types implicitly assigned. Hope you got the logic.
    3. Posting Rule: This is basically a connector between Ex Trans type we discussed about to the GL account determination. We define the posting rule with Debit & Credit GL accounts(actually we use account symbols, in turn we assign this to GL a/c). Importan thing here is, knowing about determining posting area and Account Symbol(Instead of assigning GL accounts directly we assing account symbols to debit/credit posting keys.
    4. Account Symbol: We create generic account(For ex: ++++++001) For ex: If you have multiple bank accounts in US, for all these bank accounts configuring individual step of configuring GL account takes time and efforts to make this process easy, we make use of this technique. Make sure, your COA is designed in such  a way to match this.
    As a recap of above,
    1.  We first assign Internal Trans Type to a bank account( For Ex: Chase - BAI2)
    2. The above Internal Trans Type is assigned to multiple External Trans Type (BAI2 --> 101-Incoming Payment by check, 102, Incoming payment by wire transfer.....)
    3. Transaction in the incoming data contains an External Tran Type (For Ex: 101 & 102)
    4. As you might know from above, We connect the External Trans type to GL account using Posting rule. For that reason, we assign posting rule to Ex Trans type.
    5. Posting rule is Assigned to Account Symbol which in-turn assigned to GL account.
    6. Finally data flows to your respective bank GL account.
    MBS & Check Depost: As you might observed or know, MBS and Check deposit, follows the same technique differs at few places.
    Tran-Codes: Configuration: IMG, Import Bank Statement to ECC: FF_5
    Helpful links:
    http://srilogix.com/casesWhitepapers/Electronic%20Bank%20Statement.pdf
    http://en.sap.darkduck.com/en-SAP-FI-FAQ/setting-up-the-electronic-bank-statment
    http://sap-f2.blogspot.com/2009/08/functionality-of-electronic-bank.html
    http://www.sap-topjobs.com/bankreco.pdf
    most important, Previous threads in the forum.
    Gurus, Do correct me if i missed at any point.
    Hope this helps. Enjoy your day!.
    Thanks
    Srinath Challa

  • EBS external transactions – Interpretation algorithms and processing types

    When assigning external transactions I am unclear about how best to use the Interpretation Algorithm and Processing type fields.  Does anyone have some practical examples to help me understand how to use these tools?

    In the global configuration for EBS, you map external transactions to internal transactions (posting rules) within a transaction type.  You then assign each bank key and bank account combination to the transaction type that should be used for processing statements for that account.  If you want different external transaction mappings for different account IDs, then you need to create different transaction types and assign each account to the relevant transaction type.  Since the transaction types are assigned to the account numbers, you can have different transaction types for accounts with the same bank key.
    Regards,
    Shannon

  • No Network given for transaction 0020

    While posting invoice (tcode MIRO) against PO, i am having error "No Network Given for transaction 0020". The PO is having account assignment "N" Network and 0020 is the activity number.
    Any idea how to resolve this.
    Regards,
    Shahzad Shakoor

    Have you provided the network number in the account assignment tab? Or is it not visible (in this case you need to check the configuration of account assignment category, it contains the field selection).
    Regards,
    Aroop

  • Need advise for best practice when using Toplink with external transaction

    Hello;
    Our project is trying to switch from Toplink control transaction to using External transaction so we can make database operation and JMS operation within a single transaction.
    Some of our team try out the Toplink support for external transaction and come up with the following initial recommendation.
    Since we are not familar with using external transaction, I would like member of this forum and experts, to help comment on whether these recommendation are indeed valid or in line with the best practice. And for folks that have done this in their project, what did you do ?
    Any help will be most appreciated.
    Data Access Objects must be enhanced to support reading from a TOPLink unit of work when using an external transaction controller. Developers must consider what impact a global transaction will have on the methods in their data access objects (DAOs).
    The following findSomeObject method is representative of a “finder” in the current implementation of our DAOs. It is not especially designed to execute in the context of a global transaction, nor read from a unit of work.
    public findSomeObject(ILoginUser aUser, Expression queryExpression)
    ClientSession clientSession = getClientSession(aUser);
    SomeObject obj = null;
    try
    ReadObjectQuery readObjectQuery = new ReadObjectQuery(SomeObject.class);
    readObjectQuery.setSelectionCriteria(queryExpression);
    obj = (SomeObject)clientSession.executeQuery(readObjectQuery);
    catch (DatabaseException dbe)
    // throw an appropriate exception
    finally
    clientSession.release();
    if (obj == null)
    // throw an appropriate exception
    return obj;
    However, after making the following changes (in blue) the findSomeObject method will now read from a unit of work while executing in the context of a global transaction.
    public findSomeObject(ILoginUser aUser, Expression queryExpression)
    Session session = getClientSession(aUser);
    SomeObject obj = null;
    try
    ReadObjectQuery readObjectQuery = new ReadObjectQuery(SomeObject.class);
    readObjectQuery.setSelectionCriteria(queryExpression);
    if (TransactionController.getInstance().useExternalTransactionControl())
         session = session.getActiveUnitOfWork();
         readObjectQuery.conformResultsInUnitOfWork(); }
    obj = (SomeObject)session.executeQuery(readObjectQuery);
    catch (DatabaseException dbe)
    // throw an appropriate exception
    finally
    if (TransactionController.getInstance().notUseExternalTransactionControl())
         session.release();
    if (obj == null)
    // throw an appropriate exception
    return obj;
    When getting the TOPLink client session and reading from the unit of work in the context of a global transaction, new objects need to be cached.
    public getUnitOfWork(ILoginUser aUser)
    throws DataAccessException
         ClientSession clientSession = getClientSession(aUser);
         UnitOfWork uow = null;
         if (TransactionController.getInstance().useExternalTransactionControl())
              uow = clientSession.getActiveUnitOfWork();
              uow.setShouldNewObjectsBeCached(true);     }
         else
              uow = clientSession.acquireUnitOfWork();
         return uow;
    }

    As it generally is with this sort of question there is no exact answer.
    The only required update when working with an External Transaction is that getActiveUnitOfWork() is called instead of acquireUnitOfWork() other than that the semantics of the calls and when you use a UnitOfWork is still dependant on the requirements of your application. For instance I noticed that originally the findSomeObject method did not perform a transactional read (no UnitOfWork). Has the requirements for this method changed? If they have not then there is still no need to perform a transactional read, and the method would not need to change.
    As for the requirement that new object be cached this is only required if you are not conforming the transactional queries and adds a slight performance boost for find by primary key queries. In order to use this however, objects must be assigned primary keys by the application before they are registered in the UnitOfWork.
    --Gordon                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • EBS - Electronic Bank Statement Multiple Posting Rule for One External Transaction Type NTRF

    hello SAP Gurus,
    I'm configuring EBS - Electronic Bank Statement. My requirement is for Bank External Transaction Type NTRF <for Incoming Payment> I want to assign 2 posting rules for Posting Area 2 that is Sub-Ledger posting viz. <1> For the payments received from Customer which should clear the Customer Open item since it is bill to bill exactly matching the open line item and <2> For the payments which should not clear the Customer Open item since i know that they are not bill to bill and only partial against the original line item
    Is this possible? if yes then how?
    Currently, SAP allows only one assignment like one external transaction type NTRF => one Posting Rule <either clear the sub-ledger-system picks FB05 or just post on Sub-ledger so that not to clear - system uses FB01 >
    Journal for Posting Area 2:
    Bank Clearing Account Dr
       To Customer Account Cr  <either set this to clear with original invoice / or just post on customer so as to clear/handle it manually later on once paid fully>
    So, what is the solution; how can i differentiate my incoming whether fully payment or partial payment; since bank statement always tag it to external transaction type NTRF always for any incoming payments !
    regards,
    `raj. 

    Hi,
    You cannot create separate rule with sub ledger postings while executing electronic bank reconciliation.The reason is your bill to bill transfers should posted to bank sub ledger account first and then you can write a BDC to clear sub ledger account.Otherwise use F.13 to clear the sub ledger account.
    Regards
    Chrishantha

  • Dunning procedure in configuration:Define Parametrize External Transactions

    Hi There,
    We can assign a Dunning Procedure in configuration at "Define and Parametrize External Transactions".
    Path:
    Financial Accounting->Contract Accounts Receivables and Payables->Basic Functions-> Posting and Documents->Document->Maintain Document Assignments-> Maintain Transactions for Non-Ind. Contract Accounts Receivables and Payables->Define and Parametrize External Transactions.
    For every unique combination of Application Area, Company Code, Division, Main and Sub Transaction:
    When you Add or Select an External Main and Sub transaction, on the Line Item Parameters you can add among other things - a Dunning Procedure and Dunning Lock reason. We cannot assign a Dunning Grouping here though.
    I have been trying to figure out what the use is of assigning the Dunning procedure here.
    1)In what business processes and when/where is this used? What circumstances is Dunning Procedure assigned at Transaction (Main and Sub) level?
    2)Does this configuration insert the dunning procedure at the Item level? i.e all items created by this configuration (main and sub transaction) are configured with this Dunning Procedure or Dunning Lock Reason?
    3)What advantages does it provide over assigning the dunning procedure to the Contract Account or Contract Object?
    Thank you.

    Hi,
    1)In what business processes and when/where is this used? What circumstances is Dunning Procedure assigned at Transaction (Main and Sub) level?
    Everytime a document item with this combintaion of transaction is created. It is a way to default some attributes when documents are posted. This dunning procedure has priority over the one filled in the contract account.
    2)Does this configuration insert the dunning procedure at the Item level? i.e all items created by this configuration (main and sub transaction) are configured with this Dunning Procedure or Dunning Lock Reason?
    Yes, this level has the highest priority (the specific level over the general level), and yes this configuration insert the dunning procedure at the item level
    3)What advantages does it provide over assigning the dunning procedure to the Contract Account or Contract Object?
    Well, it depends what do you want to get. Sometimes specific postings done in the contract account are required to be dunned using a different dunning procedure than the one filled in the contract account.The dunning procedure filled in the contract account is used by dafault to dunn all the contract account postings, but the postings with its own dunning procedure.

  • How does TopLink determine external transaction controller is active?

    Weblogic 9.2. I am having a problem with a new EJB: getExternalTransactionController() is null, getActiveUnitOfWork() is null, and yet when my code issues a commit, TopLink throws 4002 [TOPLINK-4002] (Oracle TopLink - 10g Release 3 (10.1.3.3.0) (Build 070620)): oracle.toplink.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: Cannot call commit when using distributed transactionsError Code: 0. Our code uses getActiveUnitOfWork() to decide whether to issue the commit or not. I had to turn off external transactions for the time being by changing the attribute in ejb-jar.xml to supports.
    This is one of those crazy making problems where the session is (except for the deployment.xml) identical to one for an EJB that is not having any external transaction problems. They are deployed in the same ear and the ejb-jar.xml configuration was the same before I changed the failing EJB to supports.
    What attribute causes TopLink to throw the 4002?
    Thanks

    If you configure TopLink to use an external transaction controller then you should use container managed transactions where the the declared transactions on session/message-driven beans control the transaction begin/commit or use the container's UserTransaction to control the transaction life cycle. TopLink's beginTransaction and commitTransaction should not be used as you have decided that the container controls the transactions externally of TopLink's control.
    When using TopLink with an external transaction controller the getActiveUnitOfWork looks up the active transaction in the container and returns a UnitOfWork unique per container transaction. If no transaction is active then null is returned.
    Note: the UnitOfWork.commit() only has an effect when not using an external transaction controller. If you are using an external transaction controller then UnitOfWork.commit() will only flag the UnitOfWork as complete but will not atually write any changes.
    I am not sure I am answering you question but hope this helps.
    Doug

  • EclipseLink Error looking up external Transaction resource under JNDI name

    I want to verify my EJB 3.0 setup for a Java EE project to be deployed on Weblogic 10.3.3 (11gR2) - however when trying to run the JUnit test from eclipse I keep getting the following exception :
    Exception [EclipseLink-23004] (Eclipse Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.TransactionException
    Exception Description: Error obtaining the Transaction Manager
    Internal Exception: Exception [EclipseLink-23001] (Eclipse Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.TransactionException
    Exception Description: Error looking up external Transaction resource under JNDI name [weblogic.transaction.TransactionManager]
    Internal Exception: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
         at org.eclipse.persistence.exceptions.TransactionException.errorObtainingTransactionManager(TransactionException.java:125)
         at org.eclipse.persistence.transaction.JTATransactionController.<init>(JTATransactionController.java:69)
         at org.eclipse.persistence.transaction.wls.WebLogicTransactionController.<init>(WebLogicTransactionController.java:27)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
         at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
         at java.lang.Class.newInstance0(Class.java:355)
         at java.lang.Class.newInstance(Class.java:308)
         at org.eclipse.persistence.internal.security.PrivilegedAccessHelper.newInstanceFromClass(PrivilegedAccessHelper.java:354)
         at org.eclipse.persistence.platform.server.ServerPlatformBase.initializeExternalTransactionController(ServerPlatformBase.java:247)
         at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.preConnectDatasource(DatabaseSessionImpl.java:656)
         at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:581)
         at org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:228)
         at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:369)
         at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:151)
         at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:207)
         at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:195)
         at com.junit.ejb.orclperf.EjbValidation.setUp(EjbValidation.java:27)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
         at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
         at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
         at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
         at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
         at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73)
         at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46)
         at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)
         at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41)
         at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)
         at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
         at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
         at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
         at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
         at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
    Caused by: Exception [EclipseLink-23001] (Eclipse Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.TransactionException
    Exception Description: Error looking up external Transaction resource under JNDI name [weblogic.transaction.TransactionManager]
    Internal Exception: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
         at org.eclipse.persistence.exceptions.TransactionException.jndiLookupException(TransactionException.java:47)
         at org.eclipse.persistence.transaction.AbstractTransactionController.jndiLookup(AbstractTransactionController.java:434)
         at org.eclipse.persistence.transaction.wls.WebLogicTransactionController.acquireTransactionManager(WebLogicTransactionController.java:35)
         at org.eclipse.persistence.transaction.JTATransactionController.<init>(JTATransactionController.java:67)
         ... 40 more
    Caused by: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
         at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)
         at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
         at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:325)
         at javax.naming.InitialContext.lookup(InitialContext.java:392)
         at org.eclipse.persistence.transaction.AbstractTransactionController.jndiLookup(AbstractTransactionController.java:432)
         ... 42 more
    [EL Finest]: 2010-05-23 21:29:36.629--ServerSession(30149247)--Thread(Thread[main,5,main])--End deploying Persistence Unit PERFEJB; session file:/C:/Users/owner/workspace/PERFEJB/build/classes/_PERFEJB; state Deployed; factoryCount 2The code for the JUnit test is the following:
    package com.junit.ejb.orclperf;
    import static org.junit.Assert.*;
    import java.util.Calendar;
    import java.util.Date;
    import javax.persistence.EntityManager;
    import javax.persistence.EntityManagerFactory;
    import javax.persistence.Persistence;
    import javax.persistence.Query;
    import org.junit.Before;
    import org.junit.Test;
    import eJBgetSet.Attachment;
    import eJBgetSet.Request;
    public class EjbValidation {
         private static final String PERSISTENCE_UNIT_NAME="PERFEJB";
         private EntityManagerFactory factory;
         @Before
         public void setUp() throws Exception {
              factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
              EntityManager em = factory.createEntityManager();
              em.getTransaction().begin();
              Query q = em.createQuery("select r from Request r");
              Calendar c = Calendar.getInstance();
              c.add(Calendar.DAY_OF_MONTH,5);
              Date dnow = c.getTime();
              String[] type= {"Databank","SQL File","Script","Scenario Recording","Other"};
              byte[] junitattachment  = (byte[])"abcdefghijklmnopqrstuvwxyz".getBytes();
              boolean createNewEntries = (q.getResultList().size()==0);
              if(createNewEntries){
                   assertTrue(q.getResultList().size() == 0);
                   Request request = new Request();
                   request.setRequestid(0);
                   request.setReqdescription("JUnit Testing record addition with JPA");
                   request.setReqjustification("Validate EclipseLink/WebLogic/EJB 3.0 setup for this project");
                   request.setProjectreference("Development Task Performance Analysis 1");
                   request.setReqresultdate(dnow);
                   request.setReqstatus(0);
                   em.persist(request);
                   int x=0;
                   for(int i=0; i<10;i++){
                        Attachment attachment = new Attachment();
                        attachment.setAttachmentid(i);
                        attachment.setAttachname("File"+i);
                        attachment.setAttachdate(c.getTime());
                        if(i==5){
                             x=0;
                        }else{
                             x++;
                        attachment.setAttachtype(type[x]);
                        attachment.setAttachuser("User"+i);
                        attachment.setAttachsize(String.valueOf(junitattachment.length));
                        attachment.setAttachfile(junitattachment);
                        em.persist(attachment);
                        request.getPerfAttachments().add(attachment);
                        em.persist(attachment);
                        em.persist(request);
                   em.getTransaction().commit();
                   em.close();
         @Test
         public void testFindAll() {
              EntityManager em = factory.createEntityManager();
              Query q = em.createQuery("select a from perf_attachment a");
              assertTrue(q.getResultList().size() == 10);
              em.close();
         @Test
         public void testSave() {
              EntityManager em = factory.createEntityManager();
              Query q = em.createQuery("select r from req_perf_header");
              assertTrue(q.getResultList().size() == 1);
              assertTrue(((Request) q.getResultList()).getPerfAttachments().size() ==10);
              em.close();
    }Finally the persistence.xml file being used is the following:
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="1.0"
         xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
         <persistence-unit name="PERFEJB" transaction-type="JTA">
              <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
              <jta-data-source>jdbc/ORCLPERF</jta-data-source>
              <class>eJBgetSet.User</class>
              <class>eJBgetSet.Transaction</class>
              <class>eJBgetSet.Request</class>
              <class>eJBgetSet.PerfStatus</class>
              <class>eJBgetSet.Attachment</class>
              <class>eJBgetSet.Approver</class>
              <properties>
                   <property name="eclipselink.target-server" value="WebLogic_10" />
                   <property name="eclipselink.logging.level" value="FINEST" />
                   <property name="eclipselink.jdbc.driver" value="oracle.jdbc.OracleDriver" />
                   <property name="eclipselink.jdbc.platform"
                        value=" org.eclipse.persistence.platform.database.oracle.OraclePlatform " />
                   <property name="eclipselink.jdbc.url"
                        value="jdbc:oracle:thin:@localhost:1521:orcl11g:create=true" />
                   <property name="eclipselink.jdbc.user" value="<username>" />
                   <property name="eclipselink.jdbc.password" value="<password>" />
                   <property name="eclipselink.logging.level" value="ALL" />
                   <property name="eclipselink.logging.timestamp" value="true" />
                   <property name="eclipselink.logging.exceptions" value="true" />
                   <property name="eclipselink.logging.session" value="true" />
                   <property name="eclipselink.ddl-generation" value="drop-and-create-tables" />
                   <property name="eclipselink.ddl-generation.output-mode"
                        value="database" />
              </properties>
         </persistence-unit>
    </persistence>Any help would be much appreciated. Many Thanks

    You have it set to run on the WebLogic platform so it is looking up the TransactionManager from JNDI, but are running the test from within the EclipseIDE. Try deploying it to Weblogic and running it there, or change your persistence.xml settings so that it can connect/run outside the server.
    Best Regards,
    Chris

  • Large Amount of External Transaction - FI-BL

    Hi gurus,
    I need to create a large number of external transaction, around 60,000, and assign them to the respective posting rules as usual for Electronic Bank Statemet, but I would like to know if I can anyhow make this work easier.
    Best Regards,
    Paulo.

    Execute T Code SE16N, enter T028G as table and Execute (F8).  In the next screen, you can use the Insert in New Row option (it should be sixth icon from left) to paste the entries that you copy from your excel sheet where you have the external transactions, posting rules, etc.  Once you save, make sure you choose Table Entry -> Transport option from the menu on top to push your entries into a transport request.

  • External transaction Type

    Hai All,
    I am configuring Electronic Bank statement.There once we define the posting rules we have to go with create  trasanction type and assign external trasaction type.To assign the external Trasaction type do we have to define there only or else do we have to create elsewhere and have to assign in assign external trasnaction type.I have doubt in this.Please suggest me how to assign external trasaction type.
    Thanks

    Dear:
                  You can map external transactions to  posting rules within a transaction type. After that  assign each bank key and bank account combination to the transaction type that should be used for processing statements for that account. If you want different external transaction mappings for different account IDs, then you need to create different transaction types and assign each account to the relevant transaction type. Since the TT are assigned to the account numbers, you can have different TT for accounts with the same bank key. 
    To have different posting rules for debit and credit, you don't need using separate transaction types: the assignment of a posting rule to external transaction is done separately for + and - signs, so you can assign 2 different posting rules to an external transaction, one for debit and one for credit.
    Regards

  • How to use DataSource and External transaction in 9ias?

    I'm working on a project that the application server needs to connect to over 100 databases.
    I'd like to use connection pooling and external transaction service defined in OC4J's Datasources.
    I wonder if anyone has an example of using datasource and external transaction service for OC4J.
    Right now, I export toplink project to a java source and do the initialization there manually but I don't know how to use Datasource to get connections and how to use the external transaction service in the java code for OC4J.
    I really appreciate you help.
    Wei

    Here is a fill in the blank example on how you could set this up through code:
    Project project = new MyProject();
    // alternatively, use the XMLProjectReader
    server = project.createServerSession();
    server.getLogin().useExternalConnectionPooling();
    server.getLogin().setConnector(new JNDIConnector(new javax.naming.InitialContext(), "jdbc/DataSourceName"));
    // the next line depends on the type of driver you want to use.
    server.getLogin().useOracleThinJDBCDriver();
    server.getLogin().useOracle();
    server.getLogin().setUserName("username");
    server.getLogin().setPassword("password");
    server.getLogin().useExternalTransactionController();
    server.setExternalTransactionController(new Oracle9iJTSExternalTransactionController());
    server.logMessages();
    server.login();

Maybe you are looking for

  • When the image file is mounted, the Firefox icon has the Ghostbuster's logo on it

    When I double click the .dmg file and desktop window for the mounted disc appears, on the icon of the file to be drug into the Applications folder has your familiar Firefox logo, however, superimposed over your logo is a circle with a slash through i

  • Confirmation of order quantity

    Hi all, please tell me whether the confirmation of sales order quanity depends on the shipping conditions ? Eg. If requested delivery date(mandatory)  in sales order is 10.06.2008 and shipping conditions is 2days then the order quanity is not getting

  • Failed to install 1 file

    I recently upgraded to a Palm T/X and after a couple of issues with synchronizing and installing files I think I've  got the issues solved by changing the conduit of certain programs and upgrading to the new Palm Desktop (which I don't like as well a

  • Uploading Multiple files in One-Click!!!

    Hi All, I have got nearly about 900 PDF files in my file server which need to be uploaded to the KM CONTENT Repository. what is the best methodology to upload all these file in to the repository in <u><b>one click.</b></u> Is it possible to achieve t

  • G4 crashed and now no icons on desktop

    Sorry if this problem has been posted before, I searched and didnt discover it.... So my office (video production company) has a Final Cut Pro system with a G4, dual 1Ghz, 1GB RAM. Normal issues from time to time, nothing major. We have a few firewir