ADF independent transactions

Hi all,
I'm trying to implement independent transactions in JSF/ADF. At the next lines I'll try to explain the process that I have followed:
- First of all we know there are two ways to obtain independent transactions (e.g. different executions of the same page). One of them is creating different BindingContexts each time we execute the page (we obtain one DataControl and consequently one transaction for each BindingContext). The other way is to generate different DataControls in a BindingContext (one transaction for each DataControl).
This is a theorical behavior and I don't know if it is possible but i tried.
- The next step is to investigate how can we do this? I have followed OTN's how to: "How to support dynamic jdbc credentials". In this example, we extend the ADFBindingFilter class and redefine any functions. I see that in doFilter fuction it creates a new BindingContext when it is necessary (only when isn't null in initializeBindingContext). If I could modify this function and control the BindingContext creation (concretely I want to create the BindingContext each time, I know it's possible it doesn't work).
Obviously, if I want to redefine initializeBindingContext function I have to redefine the function that calls it (doFilter), because this function isn't called in any other case. When I copy-paste all the function code in my new class I have a big problem:
when I make
bindingCtx.initializeSessionContext(new HttpSessionContextImpl());
developer says to me: "access not allowed to oracle.adf.model.servlet.HttpSessionContextImpl"
Due to this problem I can't redefine this functionality and I can't test if the independent transactions are possible with this method.
Any suggestion?
Thanks at all.
XerX
My developer version is 10.1.3.0.4

hi,
the
import oracle.adf.model.servlet.HttpSessionContextImpl;
statement results in:
Error(14,8): class oracle.adf.model.servlet.HttpSessionContextImpl is not public; cannot
be accessed from outside of package package servlet
Because HttpSessionContextImpl is not a public class:
class HttpSessionContextImpl implements SessionContext{...}
Hope this helps a little.
Cheers
Andy

Similar Messages

  • ADF Taskflow Transaction Management Pattern

    We have a project that consumes public common taskflows from a shared library.
    How should we define the transaction management of these public common taskflows?
    Who is respondsible for the transaction management?
    I am able to understand the various transaction handling mechanisms suppported by ADF taskflow from the following link in the Developer's guide:-
    http://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/taskflows_complex.htm#BABICCGC
    But I would like to understand the right pattern for implementating the above.
    Please provide your inputs/links on the same.
    Thanks in advance,
    Navaneeth

    There is no "right" way to do it. If the task flows are standalone, independent transactions that operate independently of any master task flows, then you can have them manage their own transactions; if you want them to join any existing transaction, you would do that. Without an example and without understanding the purpose for which you are building the common taskflows, it's pretty impossible to say much of anything.
    John

  • New ADF Taskflow transaction acquires a new JDBC connection?

    Hi,
    I would like to know more about ADF Taskflow transaction in relation to JDBC Connection.
    tf1 ----(contains)---- page1 and call to tf2
    tf2 ----(contains)---- page2
    page1 - search objects
    page2 - edit objects
    I have two pages part of two taskflows, first taskflow does not create any transaction but the page1 in tf1 shows a searh screen for objects. I want to use transaction behavior of ADF TF for tf2 which is called in tf1.
    My tf2 contains a page for edit objects, if i set New transaction as TF transaction behavior for tf2.
    Does it really acquire a new JDBC connection?
    I really appreciate if someone can help me with this.
    Thanks,
    Sunil.

    "Is there any way to achieve 1 user ---> 1 connection ?"
    I don't claim to be an expert on answering this as there's still a lot of things I need to investigate, and other's in the forum may chime in with more informed answers, but my understanding is you need to:
    a) Use a single root AM
    b) Configure your BTFs to use "shared data control scope" and the same AM
    c) All of your BTFs should use "Use existing transaction if possible"
    Because of "c", the very first BTF called, will not have a transaction to borrow, so it will establish a new transaction and therefore a new connection.
    An alternative is, and I'm on shaky grounds here so please check this for yourself, but you could set all your BTFs to "use no transaction", which implies I believe they switch back to the model used in JDev 10g, where it's purely your AMs that determine connections/transactions.
    As for saying 250 connections sounds very high, that's really up to you. If you build an application that you need to support a user with multiple transactions, it's your requirement that causes this. IMHO Oracle has given you the flexibility to build your application anyway you want, so it's up to you to decide if you want multiple concurrent transactions per user or not.
    Finally regards the behaviour observed in WLS, note that the AM pooling options can influence the behvaiour of connections, so it's hard to say what you're seeing is correct, it depends. A suggestion is to install Oracle's Fusion Middleware Control application and use that for monitoring statistics; the FMW Control has smarts built it to help you observe the AM pooling and connection pooling. Andrejus Baranovskis has a few blog posts describing how he used this to track the pooling options.
    CM.

  • Brief, independent transactions in an EE context

    For various business reasons, I'm writing my own little sequence
    generator. I'd like my generator to update its persistent sequence
    counter in its own independent transaction, and I'm wondering how to
    create that transaction.
    Section 16.1.3 of the JDO spec mentions two ways of doing this, but
    doesn't do much to explain exactly how either of them works. The first
    I'm familiar with: acquire a UserTransaction via JNDI. That's a bit
    heavyweight for our needs.
    The second option, using javax.jdo.Transaction, sounds a lot more like
    what we want: "acquiring a PersistenceManager without beginning a
    UserTransaction results
    in the PersistenceManager being able to manage transaction boundaries via
    begin, commit, and rollback methods on javax.jdo.Transaction."
    OK, but what if there's already a transaction in my context? That is,
    what if my sequence generator is called from an EJB, and that EJB created
    a transaction? How do I get my own transaction? Do I still acquire the
    UserTransaction via JNDI, and simply not ever call
    UserTransaction.begin()? Or should I acquire a PersistenceManager at
    startup somehow?
    Paul

    Paul,
    You probably want to either maintain a separate (non-managed) PMF for the
    sequence generator, or use the EEPersistenceManagerFactory's DataSource to
    obtain a separate JDBC connection.
    Also, the SequenceFactory interface in our 2.3 beta (available to the public
    Real Soon Now) is significantly improved. Let me know if you are interested
    in more details.
    -Patrick
    On 5/22/02 6:35 PM, in article ach6fg$1q2$[email protected], "Paul
    Cantrell" <[email protected]> wrote:
    For various business reasons, I'm writing my own little sequence
    generator. I'd like my generator to update its persistent sequence
    counter in its own independent transaction, and I'm wondering how to
    create that transaction.
    Section 16.1.3 of the JDO spec mentions two ways of doing this, but
    doesn't do much to explain exactly how either of them works. The first
    I'm familiar with: acquire a UserTransaction via JNDI. That's a bit
    heavyweight for our needs.
    The second option, using javax.jdo.Transaction, sounds a lot more like
    what we want: "acquiring a PersistenceManager without beginning a
    UserTransaction results
    in the PersistenceManager being able to manage transaction boundaries via
    begin, commit, and rollback methods on javax.jdo.Transaction."
    OK, but what if there's already a transaction in my context? That is,
    what if my sequence generator is called from an EJB, and that EJB created
    a transaction? How do I get my own transaction? Do I still acquire the
    UserTransaction via JNDI, and simply not ever call
    UserTransaction.begin()? Or should I acquire a PersistenceManager at
    startup somehow?
    Paul
    Patrick Linskey [email protected]
    SolarMetric Inc. http://www.solarmetric.com

  • Swing ADF - New transaction in a java panel.

    How can I create a new ADF Transaction (session/unit of work/ independant dataset) within a panel?
    I have two issues that I'm trying to resolve:
    1) I already have a framework that I need to use, so I cannot use the defaultly created ADF JFrames or InternalFrames. I need all the plumbing (both single window/panel and multi-window/panel views) to exist in panels so they can be properly embedded into the existing framework. I'm not sure how to seperate the frame from the ADF logic or how to start from an empty class and add the needed plumbing.
    2) I need a new panel to be created under a tabset when the user initiates an action. This by itself is simple enough, the issue is in dynamically creating a new transaction per tab that is created so that each tab can be committed/rollbacked independently. The user may hop around between tabs and open/close them in random orders.
    Thank you of any help and insight you can offer,
    SMartel

    bump.

  • How to Use No DB connection App with task flow desined as 'New Transaction'

    Hi,
    My application is fully depend on Custom java datasource implmentation and it requires no DB connection at all. I've done necessary implementation (http://andrejusb.blogspot.in/2012/03/use-case-for-adf-bc-with-no-database.html) by creating CustomDatabaseConnectionStrategy that says
        @Override
        public ApplicationModule createApplicationModule(Hashtable env) {
          env.put(Configuration.DB_REQUIRES_CONNECTION,Boolean.FALSE);
          env.put(PropertyMetadata.ENV_DO_FAILOVER.pName, PropertyConstants.FALSE);
          return super.createApplicationModule(env);
        }My application works fine until i keep my task flow transaction as 'No Controller transaction'. Yes, I use Dynamic tab shell template as UI. But when I keep it as 'Always Begin with New Transaction' and not to share the Data control, Screen is not at all getting rendered. I get some exception (I guess the moment I try to open the task flow, it is trying to get the connection. Since there is no connection available, It gives me this error. Is it so?)
    One of my client requirement is to open the same screen under multiple tabs as a fresh screen (i.e. with different transaction. We do transaction through tuxedo transaction server). If I load a screen under first Tab with some data, added some record, deleted some record.. and If I load the same screen under another Tab, it should not refelect the same data whatever I have under first Tab.
    Requirement:
    I don't have DB connection in my app. But I should be able to define the task-flow to open with new instance of Application module whenever it is opened.
    Your help on this would be appreciated.
    Raghu

    If I understand you requirements correctly, you do not need ADF taskflow transactions but you just need fresh DataControls. If it is so, then you do not have to set the taskflow's transaction behaviour to "Always Begin with New Transaction" (e.g. keep it to "No Controller Transaction"), but set the DataControl frame to "isolated" (e.g. uncheck the "Share data controls with the calling task flow" checkbox in the taskflow's Property Inspector). In this way each taskflow instance will be started in a different DataControl frame (e.g. it will instantiate its own set of ApplicationModule instances).
    Dimitar

  • ADF: approach needed to do pre-processing on creation of a record

    Hi,
    i need a proper approach for doing some select and updates from the database when a new record is created. The select and update is not related to the entity object base table.
    at the moment i have overriden the create method in the Enitity Implementation class:
    1. Select a value from a table
    2. Change this value in the database (and commit)
    3. use the new value as a default value in the in the EO's new record
    The problem is that i want this to be done as two independant transactions, ie. the update in isolation of the entity objects underlying transaction. I have tried using PreparedStatements and postChanges() (which should commit the first transaction without validating the state of the Entity Object?) But i find that the changes are not effected in the database until commit on the entity object is called.
    help appreciated,
    Brenden

    If you are using Oracle database, I would strongly advise you NOT to use this approach.
    First, using the code you have given, you can easily get two different records with the same ID. Image two different sessions (users) that are trying to get their IDs. It is possible that the two sessions read the same last number, each increments this number in its own context and then assign the same number to its newly created record. To avoid this, you should try to lock the sequence row before reading the last number, then increment it, save it back in the database and then release the lock. This is very bad approach that limits severely the concurrency.
    Secondly, this approach does not allow you to create two new entities in the same transaction. Committing the transaction in the create() method for the second entity will try to post the first one, which might not have its mandatory fields populated, for example. The transaction will fail to commit as there are non-validated entities in its pending list.
    So in brief, I suggest that you use native database sequences for this as generating unique numbers in a concurrent and scalable manner is what they have been created for. You can use DBSequence datatype combined with a before-insert trigger for this.

  • Is it possible to create multiple transactions in BMT?

    Hi all,
    I have a doubt in implementing the Bean-Managed Transactions in our EJB application.
    Is it possible to get more than one UserTransaction from the ejb sessioncontext in one execution? Or is it possible to begin the obtained userTransaction after commit or rollback again?
    Our problem is we have to handle multiple process in one ejb call, where each process required to be involved in independent transaction.
    Like irrespective of the first process success / failure, the second process should run. And we are trying to begin the transaction everytime in each process. For the first process, the BMT works fine. But while running the second process, the system throws exception saying "Transaction is no longer active - 'committing'".
    Pls help me to know whether any settings problem or my understanding is not correct.
    Thanks
    Thiruppathy.R

    Hi All,
    I have resolved the issue.
    I was getting this error "Transaction is no longer active - 'committing'",
    because I had opened the session from sessionfactory (hibernate) before starting beginning the transaction and I did use the same session for every transaction.
    If I open separate session for each transaction begin, appln works fine. And ofcourse, I am closing the session after the commit / rollback.
    So we can't use the same session for more than one transaction.
    Sincerely,
    Thiruppathy.R

  • FOD mobile db sync with base adf server db not working

    Hi,
    We have successfully installed and run the base ADF and the mobile adf apps for the fusion order demo app.
    Now we are trying to synchronize the client and server dbs.
    Our server db is Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 and client db is whatever came with the labs zip file for this mobile client FOD app.
    Our Jdev sits on the same box as the above mentioned server db, and hence we installed the MS and MDK on the same box, under two homes (D:\Olite10g_1 and D:\Olite10g_2).
    And then we followed the instructions given in the thread by Dennis T (jdeveloper and mobile client blackberry data sync and Mobile Client Developer's Guide for Oracle ADF (section 8.3 Creating Data Sync Publications on the Server).
    Also, since the mobile client developer's guide mentioned that sync is not possible for standalone databases, we changed the application's deployment profile
    to change the client database connection properties to use "synchronized database on client" with the name as MOBILEFOD, same as what we gave for the "model" project's deployment properties as per the mobile client app dev guid, section 8.3
    Now when I try to deploy the app publication artifacts as per Dennis' instructions, Jdev reports the following error: "No entity object is enabled for sync. Publication was not created for the application." and completed the deployment without doing anything.
    We then re-deployed the client app from applications - deploy menu, and now when the app opens, it asks for userid-password-server....i am giving syncuser-syncuser-ip address/localhost/127.0.0.1, but all three options for server give the same error: "element "databases" is invalid in this document.
    Can anyone help please?
    Regards,
    Hemant

    Hi,
    As part of debugging this problem, we have tried enablign TRS on the base ( and mobile client apps as per documentation given at:
    Oracle® Fusion Middleware Mobile Client Developer's Guide for Oracle Application Development Framework 11g Release 1 (11.1.1) Part Number E14826-01
    Section 5.8 Enabling ADF Mobile Transaction Replay Service for an ADF Application
    URL: http://download.oracle.com/docs/cd/E17904_01/doc.1111/e14826/develop.htm
    And now when we deploy the publication profile on the model project, we got a more detailed set of actions that got performed:
    [03:54:03 PM] ---- Deployment started. ----
    [03:54:03 PM] Target platform is Standard Java EE.
    [03:54:03 PM] Running dependency analysis...
    [03:54:03 PM] Building...
    [03:54:23 PM] Mobile data publication started.
    [03:54:24 PM] No new user was created. Sync user already exists -SYNCUSER
    [03:54:30 PM] Mobile data publication: Publication created:MOBILEFODHVTJDEV111142
    [03:54:36 PM] Mobile data publication: Publication Item I_MO_142_PRODUCTS_BASE was created.
    [03:54:36 PM] Mobile data publication: Publication Item I_MO_142_PRODUCTS_BASE was added to publication MOBILEFODHVTJDEV111142.
    [03:54:37 PM] Mobile data publication: Sequence S_MO_142_PRODUCTS_BASE was created.
    [03:54:37 PM] Mobile data publication: Sequence S_MO_142_PRODUCTS_BASE was added to publication MOBILEFODHVTJDEV111142.
    [03:54:38 PM] Mobile data publication: Publication Item I_MO_142_ORDER_ITEMS was created.
    [03:54:38 PM] Mobile data publication: Publication Item I_MO_142_ORDER_ITEMS was added to publication MOBILEFODHVTJDEV111142.
    [03:54:38 PM] Mobile data publication: Sequence S_MO_142_ORDER_ITEMS was created.
    [03:54:38 PM] Mobile data publication: Sequence S_MO_142_ORDER_ITEMS was added to publication MOBILEFODHVTJDEV111142.
    [03:54:39 PM] Mobile data publication: Publication Item I_MO_142_ORDERS was created.
    [03:54:39 PM] Mobile data publication: Publication Item I_MO_142_ORDERS was added to publication MOBILEFODHVTJDEV111142.
    [03:54:39 PM] Mobile data publication: Sequence S_MO_142_ORDERS was created.
    [03:54:39 PM] Mobile data publication: Sequence S_MO_142_ORDERS was added to publication MOBILEFODHVTJDEV111142.
    [03:54:40 PM] Subscription created for mobile user:SYNCUSER
    [03:54:41 PM] Subscription instantiated for mobile user: SYNCUSER
    [03:54:41 PM] Mobile data publication project file created: D:\JDeveloper\mywork\MobileFODHvtJDev11114_2\Model\mobile\oracle.model.mobile\MobileFODHvtJDev11114_2.mpj
    [03:54:41 PM] Mobile data publication ended.
    [03:54:58 PM] Mobile data publication for TRS started.
    [03:54:58 PM] No new user was created. Sync user already exists -SYNCUSER
    [03:54:59 PM] Mobile data publication: Publication created:TRS__
    [03:55:01 PM] Mobile data publication: Publication Item I_TRS__REPLAY_TYPE was created.
    [03:55:01 PM] Mobile data publication: Publication Item I_TRS__REPLAY_TYPE was added to publication TRS__.
    [03:55:01 PM] Mobile data publication: Sequence S_TRS___REPLAY_TYPE was created.
    [03:55:01 PM] Mobile data publication: Sequence S_TRS___REPLAY_TYPE was added to publication TRS__.
    [03:55:01 PM] Mobile data publication: Publication Item I_TRS__REPLAY_ITEM was created.
    [03:55:02 PM] Mobile data publication: Publication Item I_TRS__REPLAY_ITEM was added to publication TRS__.
    [03:55:02 PM] Mobile data publication: Sequence S_TRS___REPLAY_ITEM was created.
    [03:55:02 PM] Mobile data publication: Sequence S_TRS___REPLAY_ITEM was added to publication TRS__.
    [03:55:02 PM] Mobile data publication: Publication Item I_TRS__REPLAY_STATUS was created.
    [03:55:03 PM] Mobile data publication: Publication Item I_TRS__REPLAY_STATUS was added to publication TRS__.
    [03:55:03 PM] Mobile data publication: Sequence S_TRS___REPLAY_STATUS was created.
    [03:55:03 PM] Mobile data publication: Sequence S_TRS___REPLAY_STATUS was added to publication TRS__.
    [03:55:03 PM] Subscription created for mobile user:SYNCUSER
    [03:55:03 PM] Subscription instantiated for mobile user: SYNCUSER
    [03:55:03 PM] Mobile data publication project file for TRS created: D:\JDeveloper\mywork\MobileFODHvtJDev11114_2\Model\mobile\oracle.model.mobile\MobileFODHvtJDev11114_2TRS.mpj
    [03:55:03 PM] Mobile data publication ended.
    [03:55:20 PM] Elapsed time for deployment: 1 minute, 16 seconds
    [03:55:20 PM] ---- Deployment finished. ----
    But still, the error on the mobile client (even after re-deploying it) remains the same (element databases is invalid for this document).
    Can someone help please?
    Regards,
    Hemant

  • Transaction support in RDBMS event adapter

    I am using RDBMS adapter v7.0 SP2.
    1) Does anyone know if the reading of a database record (event) from an Oracle
    DB, its transfer to the WLAI_EVENT_QUEUE JMS queue and execution by the RDBMS
    adapter of the "Post SQL query" on the originating database are all executed within
    a single transaction? I can find no evidence of this in any BEA documentation
    so any reference would also be gratefully received.
    2) Assuming there is a transaction to transfer the event to the WLAI_EVENT_QUEUE,
    is the transaction used by the Event Processor to transfer the event from the
    WALI_EVENT_QUEUE to the BPM Event queue a new and independent transaction? I believe
    so.
    Thanks.

    In all the BPELs, make sure you are adding the preferredPort property on the partnerlinks for the esb services. You need to give this to force the BPEL->ESB calls to use the esb bindings rather than the soap bindings.
    I think this is old info, but the preferredPort property is mentioned at the bottom: http://bpel.us.oracle.com/engineering/knowledgebase/DD/DDProps.htm

  • ADF Model Validation using JPA/EJB stack.

    Hi,
    We are evaluating 11g and are interested in implementing using a JPA/EJB3.0/Toplink - EJB Session Bean - ADF bindings - ADF Faces RC stack.
    Looking at the declarative validation rule framework, I am trying to determine whether I can define domain model validation rules that can be propagated up through to the ADF faces RC layer. We have looked previously, at the ADF BC framework and note that it can be done there, but we wish to use a pure EJB/JPA solution.
    I can see how validation rules can be declared at the page bindings layer in the pageDef file, and this all works. However, these same validation rules applied to the Structure Definition <entitybeanname>.xml file, do not propagate up through the ADF binding layer, although the xsd of the structure definition file does appear to support it. The documentation I have read is somewhat ambigious as to whether this is possible.
    Basically, it would be nice to have some form of domain attribute validation that can be defined against the entity bean attributes that is available in the service and UI layer ala Hibernate Validator etc...
    Anyone, got any suggestions?
    regards,
    andy

    I'm not sure I understand what the "ADF own transaction operation" is. Could you explain?
    If you have to write your own persist method, what's the proper way to go about doing this? Is there a tutorial to be found somewhere? What I have now has been created by following the tutorial linked above, I haven't modified the code yet. Looking at the code I found this:
    jTable1.setModel((TableModel)panelBinding.bindUIControl("tableNameFindAll",jTable1));
    Where tableNameFindAll is related to a named query TableName.FindAll.
    There seems to be a data structure named "UpdateableCollection" which provides the operations such as 'create', 'next', 'first', etc. Would a subclass of this be the proper place to put a 'commit' function? I'm assuming through the bind control I could gain access to either this UpdateableCollection or the list of entities (List<tableName>) then I suppose I could go through this list and persist the new ones. But I think this doesn't fit with the paradigm as these are data control operations not interface operations. So I'm wondering where should I put the 'commit' operation (which should both add new data and merge the updated data) and how do I bind it to the interface? I just couldn't find a tutorial explaining all of this, but perhaps it's out there.
    Thanks.

  • Forte:Transaction Handling

    Hi ,
    Iam trying to run an independent transaction using the start task statement
    transaction.beginIndependent();
    sql insert into ORDER_TBL (orderId) values (:int_var) on session DBSessionSO;
    if (int_var % 5 = 0) then
    event case
    postregister
    start task m3(int_var) where completion = event,transaction = independent;     
    when m3_returnValue do   
    task.part.logmgr.putline('returning m2_exceptionValue');
    when m3_exceptionValue do                    task.part.logmgr.putline('returning m2_exceptionValue');
         end event;
    end if;
    if (int_var % 10 = 0) then
    transaction.Abort();     
    else
    transaction.commit();
    end if;
    In my start task statement if I specify that the transaction is 'independent'
    then the prog hangs
    but if I specify that the transaction is 'dependent'
    it works fine with the expected output.
    Please let me know as to where Iam going wrong.
    Thanks in advance

    You'll need 2 dbsessions if you want to execute two transactions in the same server on two different tasks.
    A dbsession is a transactional object and a shared object so if the parent task accessed the dbsession within a transaction then the new task will wait until the parent task has completed.
    this may be the cause of your deadlock.

  • Creating a separate transaction in both JTA and nonJTA environment

    I want to record some performance information for each call to my application and I want to write it to the database even if the transaction rolls back. The code needs to run both in a Websphere JTA context and a non-JTA context. The code I wrote works in non-JTA, but doesn't work in Websphere JTA context. How do I create an independent transaction when running in JTA context ? Would starting a new thread work, assuming that started a new JTA transaction ? Is there any other way that would have less overhead ?

    One way would be to use non-JTA data source. I am not sure that WebSphere allows that in JTA case, but you still may be able to create it and put into jndi "by hand".
    Alternatively you may try to use suspend / resume apis defined in jta spec.:
    Transaction tobj = TransactionManager.suspend();
    TransactionManager.resume(tobj);
    For more please see
    Java Transaction API (JTA)
    3.2.3 Suspending and Resuming a Transaction

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

  • How to prevent the transaction code

    Hi
    I want to remove the common transaction code like /n,/o and /nex for particular user.
    Is there any SAP standard role availble or how to prevent the authurization for the above client independed
    transaction code.
    Regards,
    Jayakumar

    Hi,
    I want to know why you need to restrict these features when there is no harm.
    These are not transactions. They are extra features in SAP.
    /nT-code --- takes you to the new T-code by ending the previous T-code.
    /oT-code -
    creates a new session with the given T-code.
    /nex -
    ends the session.
    Rgds
    Suman

Maybe you are looking for