Multicash - External Transaction Codes

Hi Gurus,
My client on ECC6.0 would like to enable EBS using Multicash formats.  I am thru with the needed configuration but stuck at the point of setting External Business Transaction Codes.
The only two external transactions set by SAP are -
009     +     0013     000: No interpretation
051     +     0001     000: No interpretation
I would like to have a complete list of External Transactions that are applicable to Multicash formats.
As I understand, there are close to 100 external transaction codes for BAI2 format.  Is there a list of such external transactions available somewhere?
I have already searched it in Google without any concrete results.
Any help would be highly appreciated.
Many Thanks
Rox

They should be available in the file format available @ the bank.
If at all by change few of them are not available, you only have to configure as and when you face error in your EBS upload.
As far as my case is concerend, all the T-Types are available in the file format provided by bank. 1.5 yrs has passed from Go-live...Almost daily EBS was received...no error was report on missing T-Types.
Hope this helps...Any points??
Rgds
Rajendra

Similar Messages

  • 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

  • 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

  • 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();

  • I am having problem for activate adobe form in transaction.code SFP

    Dear friends,
    I am getting one dialogbox with error message when ever i activate adobe form in transaction code sfp.
    ERROR is :
    THis form refers to external files which where not found on this computer. please create a connection to the following folder so that these files can be found.
    http://localhost:8000/sap/bc/form/layout/

    exactly the same problem here.
    Somebody any idea?
    All help is appreciated.
    Tnx!
    RoB

  • How to convert 864 Transaction code into XML in EDI to File Scenario

    Hello Friends,
                            Can any body help me out in using 864 Transaction Code (Tex Message) in EDI to Flat File Conversion?? I mean i am using just 2 Fields i.e  Name and Address.I didnt understand the Format given<u><i>..Here is the format for Name
    N1 Name                                                           </i></u>                 Pos: 040 Max: 1
                                                                                    Heading - Optional
                                                                                    Loop: N1 Elements: 4
    To identify a party by type of organization, name, and code
    Element Summary:
    <u><i>Ref     Id       Element Name                     Req  Type    Min/Max    Usage</i></u>
    N101 98        Entity Identifier Code             M      ID        2/3          Must use
    Description: Code identifying an organizational entity, a physical
    location, property or an individual
    All valid standard codes are used.
    N102   93      Name                                  C     AN       1/60            Used
    Description: Free-form name
    N103 66        Identification Code Qualifier   C     ID        1/2              Used
    Description: Code designating the system/method of code structure used
    for Identification Code (67)
    All valid standard codes are used.
    N104 67        Identification Code                C     AN        2/80           Used
    Description: Code identifying a party or other code
    Syntax:
    1. N102 R0203 -- At least one of N102 or N103 is required.
    2. N103 P0304 -- If either N103 or N104 are present, then the others are required.
    Comments:
    1. This segment, used alone, provides the most efficient method of providing organizational identification. To obtain this efficiency the "ID Code" (N104)
    must provide a key to the table maintained by the transaction processing party.
    2. N105 and N106 further define the type of entity in N101.
    [<u>b]
    Here is the format for Address</b></u>
    N3 Address Information                                                 Pos: 060 Max: 2
                                                                                    Heading - Optional
                                                                                    Loop: N1 Elements: 2
    To specify the location of the named party
    Element Summary:
    <b><u><i>Ref            Id              Element Name            Req     Type      Min/Max   Usage</i></u></b>
    N301        166            Address Information       M        AN         1/55       Must use
    Description: Address information
    N302 166 Address Information
    Description: Address information                     O          AN         1/55       Used
    So Help me hoe to convert this into XML...

    try this
    For EDI U need SEEBURGER Adapter or Conversion agent by itemfield.
    Using Conversion agent convert EDI Into XSD and Import using External definition.
    Have look
    EDI Conversion
    Re: Seeburger Splitter adapter!!
    Thanks

  • Set the default field value to transaction code field, when calling from WD

    Hi all,
    Can we pass the value in a input field of a standard transaction calling from WD application. Suppose we are calling a transaction VA03 in an external window, then how will be pass the value in the VBAK_VBELN screen field.
    Is there any way to pass the value to this transaction field. I have also tried out to set the parameter ID 'AUN' for VA03 transaction VBELN field. But it did not work for me.
    Is there any way to set the default field value to transaction code field, when calling from WD?
    Please suggest, if anyone have any idea.
    Thanks
    Sanket

    Hi,
    I am using the below code to open a standard transaction. It will help you to explain my point more easily.
    DATA: url TYPE string,
              host TYPE string,
              port TYPE string.
    *Call below method to get host and port
      cl_http_server=>if_http_server~get_location(
         IMPORTING host = host
                port = port ).
    *create URL
      CONCATENATE 'http'
      '://' host ':' port
      '/sap/bc/gui/sap/its/webgui/?sap-client=&~transaction=' 'VA03'
       INTO url.
    *get the window manager as we are opening t code in external window.
      DATA lo_window_manager TYPE REF TO if_wd_window_manager.
      DATA lo_api_component TYPE REF TO if_wd_component.
      DATA lo_window TYPE REF TO if_wd_window.
      lo_api_component = wd_comp_controller->wd_get_api( ).
      lo_window_manager = lo_api_component->get_window_manager( ).
    call the url which we created above
      lo_window_manager->create_external_window(
      EXPORTING
      url = url
      RECEIVING
      window = lo_window ).
      lo_window->open( ).
    Note*
    One more query I want to add to this thread, that is there any possibility to call a custom transaction as well?

  • CATS: Looking for user exit / badi for transaction code CAT4/CATS_APPR_LITE

    Hi,
    I have a task here that needs to send external email to the employee's manager whenever the approver set the status from 'released for approval' to 'approve'.
    which is status 20 to 30 in CATSDB-STATUS thru transaction code CAT4 or
    CATS_APPR_LITE.
    Can anyone give some help here?
    Thanks in advance.

    Hi,
    there are mainly three ways to trigger a workflow:
    - linked to a change document, because in standard function module to write change documents a trigger for a workflow is pre-designed. With workflow-customizing you can activate an active trigger.
    - linked to output messages. There is a medium 9, which is the workflow trigger.
    - linked to status changes. Maybe not all status  change functions include a pre-designed workflow trigger, but at least for status in table JEST it should be possible to make workflow-customizing to activate a trigger.
    - 'manually' with a function module SWE_EVENT_CREATE.
    It's also possible to define filters (e.g. only status = approved), so your example was perfectly fitting workflow possibilities. If no other option is fitting, have a look at above mentioned exit.
    Then you still have the question, should you try to define a workflow or just create a mail by FM. There I can't help you, this depends more on your skills and time.
    Regards,
    Christian

  • 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.

  • Transaction Codes: Talent Profile, Talent Assessment, Talent Review Meeting

    Hi experts,
    When a user accesses the Talent profile, Talent Assessment and Talent Review Meeting on the Portal does SAP call specific transactions on the backend.
    I would like to find out what are the transaction codes being called(if any) to restrict access to the Talent Profile, Talent Assessment, and Talent Review meeting. I have checked the SAP standard roles for Talent Management to
    get an idea however, P_TCODE= All Transactions.
    Thanks

    >
    Luke Marson wrote:
    > HI Francesco,
    >
    > A number of BAPIs are used in the portal and in STVN SuccessionPlanning. Go to SE37 and check out all of the HRTMC_* functions available (as per Michael's suggestion for SE93). You will see functions to read and write back various data. You might be able to re-write the apps or your own apps, but I'm not sure on the feasability of this.
    >
    > I expect Michael can have further input.
    >
    > Best regards,
    >
    > Luke
    Hi Francesco -
    So Luke is more a technical guy than me, and he already gave some great input.  Here are my thoughts. 
    I think an initial assessment would be that this is a challenging effort.  There are number of BAPIs that could be potentially be used utilized.  However, much of the entire Talent Management space recently developed by SAP was written with ABAP Objects using class / methods.  Exposing these as web services to be used by XI or wrapping the functionality of the class / methods into a custom RFC would require some effort.  
    The link below shows some pro's and con's on ABAP objects. 
    http://help.sap.com/saphelp_nw73/helpdata/en/60/8c94422533c46ae10000000a155106/frameset.htm
    This paragraph really touches on what you would need to do: 
    Classic access through RFC is only possible using function modules. You can generate server-side proxies for ABAP classes using XI and thus provide existing functions as external services in classes. However, function modules are still a better choice in comparison in order to make the functions accessible as a Web service or using RFC.
    So to really know the scope of what you are trying to do, we would need some more specifics.  Are you just wanting to retreive some SAP data and display it on variouis .net screens.  Are you actually trying to execute a process, like succession planning, in a .net application?
    Hope this helps.
    Thanks Mike
    Edited by: Michael L Pappis on Mar 28, 2011 8:11 PM

  • Orders, deliv. and conRel fields in MD04 transaction code

    Hi All,
    I want to know the database tables and fields for Orders, deliveries and conrel fields in MD04 transaction code.
    In MD04 if you give material and plant as input details and say continue, we are getting the Stock requirement list. In that MRP elements : Orders, deliveries and conrel  and the quantity fields against to these elements ,, from where we are getting the data. Is there any function modules for the same?
    Kindly advice me.
    Thanks in advance.
    Regards
    Ramesh.

    Hi Ram Kumar,
    I'm not sure about the screen enhancements can be done for the transaction FBCJ as we don't have any screen exits.
    But we have only BAdI for FBCJ transaction called CJ_DOCUMENT - Change to External Document before Cash Journal Doc. Check.
    Workaround on the method CHANGE with the changing parameter C_ITCJ_SPLIT_POSTINGS.
    Enhance the structure ISCJ_POSTINGS to add your new fields and write the logic in the BAdI method to populate the values to these fields.
    Please give a try and let us know.
    Regards
    Gangadhar
    Message was edited by: Gangadhar Ragula

  • 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

  • Transaction code for infopackage scheduling

    Hi,
    Does any know what the standard transaction code is for infopackage scheduling (other than RSA1)? Is there any other option to by pass the RSA1 code and go to the infopackage directly to upload an external file to the infocube? Any input will be appreciated. Thanks.

    Hi,
    RSA1 is a standard TCODE for SAP-BI or BW.
    As far as my guesses, there was no standard transaction to run a Infopackage....
    Instead of using tht still if u need to scedule a package,
    1) If ur Infopackage is included in process chains, then u can goto RSPC to the same chain where the infopackage was included and there on the loading step if u rightclick-->display variant.....then it'll goto scheduler window..there u can start...
    2) If u have run the same package before anytime and u remember the date, u can goto RSMO and filter according to IP selections and u'll get all the packages run on tht day...
    If we execute with tht selection u'll get the monitor of the load..ther from the header tab...in the IP selction u can schedule the same without using RSA1..
    But RSA1 is the easy way to trace via data source..
    rgds,
    Edited by: Krishna Rao on Mar 26, 2009 2:48 AM
    Edited by: Krishna Rao on Mar 26, 2009 2:48 AM

  • What is procedure to use transaction code BPH and to see it?

    Hello Expert,
    What is procedure to use transaction code BPH and to see it?
    Please let me guide...
    Thanks
    Satish

    A Late 2012 iMac can only be used as an external display for Macs with Thunderbolt. As your notebook hasn't got Thunderbolt, you can't use your Mac as an external display. See > http://support.apple.com/kb/HT3924

  • 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

Maybe you are looking for