Using a PreparedStatement accross transactions

How can I use a PreparedStatement object across multiple transactions?
Every transaction uses a dedicated jdbc connection, and all database interaction
needs to use this connection object in order to participate in the transaction.
So, if I do:
PreparedStatement ps = conn.prepareStatement("...");
the prepared statement object is tied to "conn". Can I use this prepared statement
object in other transactions that are using other connections? There is no method
to reset the connection object in PreparedStatement.
Am I totally missing the point here?

GB wrote:
How can I use a PreparedStatement object across multiple transactions?
Every transaction uses a dedicated jdbc connection, and all database interaction
needs to use this connection object in order to participate in the transaction.
So, if I do:
PreparedStatement ps = conn.prepareStatement("...");
the prepared statement object is tied to "conn". Can I use this prepared statement
object in other transactions that are using other connections? There is no method
to reset the connection object in PreparedStatement.
Am I totally missing the point here?You're not missing the point, but you do not know the sleight-of-hand that
weblogic can do for you, under the covers. How are you getting your connections?
If they come from a weblogic transaction-aware DataSource or the jts driver, and the
transaction is being managed by the weblogic transaction coordinator, we have you
covered.
You should create your PreparedStatements as you show, wherever you need them.
You cannot pass a statement around, or retain it across transactions, but if you get
your connection from our pool, the pool transparently caches prepared statements
with the connection they came from, and when your code does a prepareStatement(),
we transparently return a currently-unused cached statement for that SQL, if it exists.
Joe

Similar Messages

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

  • Posting using cross company code transaction must be blocked

    Hello Guys,
    I have a  problem related to cross company code transaction.
    In the OBA7 I have the document type KE that not allows posting using cross company code transactions. In the moment that I am creating a new document through the FB01, I have an error as "Consolidated companies US52 and ' ' are different
    Message no. F5080. As a results, the document cannot be created by this way. This is the correct process.
    But I have several documents that was used the doc type KE and the cross company code transaction was used. This is my issue. I don´t know why these documents were posted. The document come from another interface via IDOC and the IDOC not errored out.
    Can anyone help on this?
    Thanks
    Rafael B.

    Hello, I´ve checked the log and no changes since 2008.
    The document was created in 2010.
    This is the message: "No logs found for the selected period"
    More suggestions?
    Regards.
    Rafael

  • Why can't I select or update the Record using the PreparedStatement?

    the DB is oracle9i,here is the test table
    test
    id number;
    name char(10);
    intro char(10);
    I have insert a record in the table.
    Now I will select or update the record by using the PreparedStatement here is my code:
    sqlStr = "update test set intro = ? where name =?";
    PreparedStatement stmt = conn.prepareStatement(sqlStr);
    stmt.setString(1,"my name is irixwang");
    stmt.setString(2,"irixwang");
    int is = stmt.executeUpdate();
    if (is >=1 )
    System.out.println("ok");
    It will not work ,but where I change the update condiction as followed:
    sqlStr = "update test set intro = ? where id =?";
    PreparedStatement stmt = conn.prepareStatement(sqlStr);
    stmt.setString(1,"my name is irixwang");
    stmt.setInt(2,100);
    int is = stmt.executeUpdate();
    It works well,why?
    please help me!thk!!!!

    I doubt it works "well" in either case since you are inserting a string that is longer than 10 characters into a field that only holds 10 characters. But to your question....
    A char data type holds a fixed number of characters - in your case 10.
    Because it holds 10 characters it will never hold 9, regardless of what you think is in the field it will always have 10 characters in it. The value you are using for query for name is 9 characters. Since 9 characters, regardless of content, will never be equal to 10 characters there is no way that it will update.
    So your choice is to either use a varchar, which holds a variable number of characters, or to always use 10 characters for your query (pad it with spaces.)

  • How to re-use a PreparedStatement from poolled connections?

    Consider poolled connections....
    one advantage of poolled connections are resource sharing...preventing the system from creating lots of connections or from creating and destroying similar connections.
    Connection and thread pools are specially usefull on multi-threaded servers.
    Consider now an application that has a service that logs the number of times a user has connected.
    This service is thread-safe, it is synchronized (bad) or it doesn�t have state (good).
    Every time a thead is started in this service a connection is requested from the pool que the service finish logging it needs to release the connection back to the pool.
    This is done automatically by the Connection wrapper. When we do conn.close(); actually the wrapper is releasing the connection so that other threads and services can use it.
    Suppose the log service uses this PreparedStatement: "Update users set accessCount=accessCount+1 where userId=?"
    Because we are using connection pooling, every time the service is requested we possibly get a different connection object. Then, we can�t store a PreparedStatement object locally.
    If we use a conn.prepareStatement, then we are creating a new PreparedStatement on every request. Isn�t it? Then, we are not able to re-use PreparedStatements.
    Does anyone know a pratical way to re-use PreparedStatements in a multi-threaded server? In my case, this is a servlet.
    Thanks

    I can only speak about DB2 on the ISeries (AS/400) but to get the benifits of prepared statments it is not required to leave the preperedstatment object open. The first time a prepared statment is prepared against a connection: it takes a significant amount of time, subsiquent prepares for exactly the same SQL take practically no time.
    It may be different on with your database and driver but you should have a test!
    So if this is the case it is not a problem to create and close a prepared statment with every request, you will get the preformance increase after the 1st time the statment is prepared against the connection in question.
    Hope this helps!

  • How to trace the data dictionary tables used in the standard transaction

    Dear all,
    Help me to trace the data dictionary tables used in the standard transaction "crm_dno_monitor". I need to find the tables where the data are stored.
    or
    Tell me generally how to find the tables used in the standard transaction.
    Regards,
    Prem

    Hi,
    Open the program of that standard transaction in object navigator or SE80..
    Then click on the dictionary structures tab..
    U can find the database tables used in this transaction..
    \[removed by moderator\]
    Regards,
    Rakesh
    Edited by: Jan Stallkamp on Jul 29, 2008 5:29 PM

  • Which statement would you use to confirm a transaction?

    Which statement would you use to confirm a transaction?
    a. COMMIT TRANSACTION
    b. ROLLBACK TRANSACTION
    c. CHECK TRANSACTION
    d. VIEW TRANSACTION

    a.
    For every expert, there is an equal and opposite expert. - Becker's Law
    My blog
    My TechNet articles

  • Can we record two transactions and use for  a Call-transaction BDC?

    can we record two transactions and upload data using Call-transaction method in BDC ?IF not why?

    Hi Prakash,
    Here i used two transactions.
    REPORT zra_gl_cr NO STANDARD PAGE HEADING LINE-SIZE 255.
    TYPE-POOLS: truxs.
    DATA: it_raw TYPE truxs_t_text_data.
    DATA:messtab1 LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
    DATA:messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
    DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
    DATA: BEGIN OF i_mess OCCURS 0,
      l_mstring(480),
      msgnr(5),
      msgv1(15),
      END OF i_mess.
    DATA:i_mess1 LIKE i_mess OCCURS 0 WITH HEADER LINE.
    DATA: l_mstring(480),l_mstring1(480).
    DATA: BEGIN OF it_itab OCCURS 0,
          saknr(10),    "G/L a/c number.
          bukrs(4),     "Company Code.
          ktoks(4),     "G/L a/c group.
          xplacct(1),   "P&L statement account.
          xbilk(1),     "Balance sheet account.
          txt20_ml(20), "G/L a/c short text.
          txt50_ml(50), "G/L a/c long text.
          waers(5),     "Account currency.
          MWSKZ(2),
          mitkz(1),     "Reconciliation a/c for a/c type.
          xopvw(1),     "Open item management
          xkres(1),     "Line item display.
          zuawa(3),     "Sort Key.
          fstag(4),     "Field status group.
          xintb(1),     "Post automatically only.
          hbkid(5),     "House bank.
          hktid(5),     "Account id.
          vzskz(2),     "Interest indicator
          END OF it_itab.
    DATA: hdate LIKE sy-datum.
                          Selection Screen                       *****
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 5(15) text-103. " FOR FIELD P_FILE1.
    SELECTION-SCREEN POSITION 25.
    PARAMETERS : p_file1 LIKE rlgrap-filename.
    SELECTION-SCREEN END OF LINE.
                          Initialization                         *****
    INITIALIZATION.
                       At Selection Screen                       *****
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file1.
    Perform file_selection will help to select the location of the file
      PERFORM file_selection.
                       Start-Of-Selection                        *****
    START-OF-SELECTION.
    Perform data_upload will help to upload the data from the flat file
    to the internal table.
      PERFORM data_upload.
    PERFORM open_group.
       Peform bdc_upload will help to upload the data from the internal
       table into its respective fields.
    PERFORM bdc_fspo.
      PERFORM bdc_upload.
      PERFORM exp_log.
    PERFORM close_group.
       Perform display_log will prepare a log for the data that has been
       uploaded
       PERFORM display_log.
                        End-Of-Selection                           ****
    END-OF-SELECTION.
    *&      Form  file_selection
          To select the location of the file
    FORM file_selection .
      CALL FUNCTION 'WS_FILENAME_GET'
        EXPORTING
          def_filename     = ' '
          def_path         = 'C:\'
          mask             = ',.txt,.xls.'
          mode             = 'O'
          title            = 'Open a excel file'
        IMPORTING
          filename         = p_file1
        EXCEPTIONS
          inv_winsys       = 1
          no_batch         = 2
          selection_cancel = 3
          selection_error  = 4
          OTHERS           = 5.
    ENDFORM.                    " file_selection
    *&      Form  data_upload
         To upload the data from the file location to the internal table.
    FORM data_upload .
      CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
        EXPORTING
        I_FIELD_SEPERATOR        =
          i_line_header            =  'X'
          i_tab_raw_data           =  it_raw
          i_filename               =  p_file1
        TABLES
          i_tab_converted_data     = it_itab
       EXCEPTIONS
          conversion_failed        = 1
          OTHERS                   = 2.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " data_upload
    *&      Form  bdc_upload
    To upload the data from the internal table into its respective fields.
    FORM bdc_upload .
      LOOP AT it_itab.
    perform bdc_dynpro      using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=ACC_CRE'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'GLACCOUNT_SCREEN_KEY-SAKNR'.
    perform bdc_field       using 'GLACCOUNT_SCREEN_KEY-SAKNR'
                                  it_itab-SAKNR.
    perform bdc_field       using 'GLACCOUNT_SCREEN_KEY-BUKRS'
                                  it_itab-BUKRS.
    perform bdc_dynpro      using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=2102_GROUP'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'GLACCOUNT_SCREEN_COA-KTOKS'.
    perform bdc_field       using 'GLACCOUNT_SCREEN_COA-KTOKS'
                                  it_itab-KTOKS.
    perform bdc_field       using 'GLACCOUNT_SCREEN_COA-XPLACCT'
                                  it_itab-XPLACCT.
    perform bdc_dynpro      using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=2102_BS_PL'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'GLACCOUNT_SCREEN_COA-XBILK'.
    perform bdc_field       using 'GLACCOUNT_SCREEN_COA-KTOKS'
                                  it_itab-KTOKS.
    perform bdc_field       using 'GLACCOUNT_SCREEN_COA-XPLACCT'
                                 it_itab-XPLACCT.
    perform bdc_field       using 'GLACCOUNT_SCREEN_COA-XBILK'
                                  it_itab-XBILK.
    perform bdc_dynpro      using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=ENTER'.
    perform bdc_field       using 'GLACCOUNT_SCREEN_COA-KTOKS'
                                  it_itab-KTOKS.
    perform bdc_field       using 'GLACCOUNT_SCREEN_COA-XBILK'
                                  it_itab-XBILK.
    perform bdc_field       using 'GLACCOUNT_SCREEN_COA-TXT20_ML'
                                  it_itab-TXT20_ML.
    perform bdc_field       using 'GLACCOUNT_SCREEN_COA-TXT50_ML'
                                 it_itab-TXT50_ML.
    perform bdc_field       using 'BDC_CURSOR'
                                  'GLACCOUNT_SCREEN_COA-BILKT'.
    perform bdc_field       using 'GLACCOUNT_SCREEN_COA-BILKT'
                                  it_itab-saknr.
        PERFORM bdc_dynpro      USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=TAB02'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'GLACCOUNT_SCREEN_COA-KTOKS'.
        PERFORM bdc_field       USING 'GLACCOUNT_SCREEN_COA-KTOKS'
                                       it_itab-ktoks.
        PERFORM bdc_field       USING 'GLACCOUNT_SCREEN_COA-TXT20_ML'
                                       it_itab-txt20_ml.
        PERFORM bdc_field       USING 'GLACCOUNT_SCREEN_COA-TXT50_ML'
                                       it_itab-txt50_ml.
        perform bdc_field       using 'BDC_CURSOR'
                                  'GLACCOUNT_SCREEN_COA-BILKT'.
    perform bdc_field       using 'GLACCOUNT_SCREEN_COA-BILKT'
                                  it_itab-saknr.
    perform bdc_dynpro      using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=TAB02'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'GLACCOUNT_SCREEN_COA-KTOKS'.
    perform bdc_field       using 'GLACCOUNT_SCREEN_COA-KTOKS'
                                     it_itab-KTOKS.
    perform bdc_field       using 'BDC_CURSOR'
                                  'GLACCOUNT_SCREEN_COA-KTOKS'.
    perform bdc_field       using 'GLACCOUNT_SCREEN_COA-KTOKS'
                                  it_itab-KTOKS.
    perform bdc_field       using 'GLACCOUNT_SCREEN_COA-XBILK'
                                 it_itab-XBILK.
    perform bdc_field       using 'GLACCOUNT_SCREEN_COA-TXT20_ML'
                                  it_itab-TXT20_ML.
    perform bdc_field       using 'GLACCOUNT_SCREEN_COA-TXT50_ML'
                                  it_itab-TXT50_ML.
    perform bdc_field       using 'GLACCOUNT_SCREEN_COA-BILKT'
                                 it_itab-saknr.
    perform bdc_dynpro      using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=ENTER'.
    perform bdc_field       using 'GLACCOUNT_SCREEN_CCODE-WAERS'
                                  it_itab-waers.
    perform bdc_field       using 'GLACCOUNT_SCREEN_CCODE-MWSKZ'
                                  it_itab-MWSKZ.
    perform bdc_field       using 'GLACCOUNT_SCREEN_CCODE-MITKZ'
                                  it_itab-mitkz.
    perform bdc_field       using 'BDC_CURSOR'
                                  'GLACCOUNT_SCREEN_CCODE-XOPVW'.
    perform bdc_field       using 'GLACCOUNT_SCREEN_CCODE-XOPVW'
                                  it_itab-XOPVW.
    perform bdc_field       using 'GLACCOUNT_SCREEN_CCODE-XKRES'
                                  it_itab-XKRES.
    perform bdc_field       using 'GLACCOUNT_SCREEN_CCODE-ZUAWA'
                                 it_itab-ZUAWA.
        PERFORM bdc_field       USING 'GLACCOUNT_SCREEN_COA-XPLACCT'
                                       it_itab-xplacct.
        PERFORM bdc_field       USING 'GLACCOUNT_SCREEN_COA-XBILK'
                                       it_itab-xbilk.
           IF it_itab-xbilk = 'X'.
       PERFORM bdc_dynpro USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
       PERFORM bdc_field       USING 'BDC_OKCODE'
                                     '=TAB03'.
       PERFORM bdc_field       USING 'BDC_CURSOR'
                                     'GLACCOUNT_SCREEN_CCODE-WAERS'.
       PERFORM bdc_field       USING 'GLACCOUNT_SCREEN_CCODE-WAERS'
                                      it_itab-waers.
         PERFORM bdc_field USING 'GLACCOUNT_SCREEN_CCODE-XOPVW'
                                  it_itab-xopvw.
         PERFORM bdc_field USING 'GLACCOUNT_SCREEN_CCODE-MITKZ'
                                  it_itab-mitkz.
       ENDIF.
       PERFORM bdc_field       USING 'GLACCOUNT_SCREEN_CCODE-XKRES'
                                      it_itab-xkres.
       PERFORM bdc_field       USING 'GLACCOUNT_SCREEN_CCODE-ZUAWA'
                                      it_itab-zuawa.
       PERFORM bdc_dynpro      USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
       PERFORM bdc_field       USING 'BDC_OKCODE'
                                     '=SAVE'.
       PERFORM bdc_field       USING 'BDC_CURSOR'
                                     'GLACCOUNT_SCREEN_CCODE-FSTAG'.
       PERFORM bdc_field       USING 'GLACCOUNT_SCREEN_CCODE-FSTAG'
                                      it_itab-fstag.
       PERFORM bdc_field       USING 'GLACCOUNT_SCREEN_CCODE-XINTB'
                                      it_itab-xintb.
       PERFORM bdc_field       USING 'GLACCOUNT_SCREEN_CCODE-HBKID'
                                      it_itab-hbkid.
       PERFORM bdc_field       USING 'GLACCOUNT_SCREEN_CCODE-HKTID'
                                      it_itab-hktid.
       PERFORM bdc_field       USING 'GLACCOUNT_SCREEN_CCODE-VZSKZ'
                                      it_itab-vzskz.
    perform bdc_dynpro      using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=TAB03'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'GLACCOUNT_SCREEN_CCODE-WAERS'.
    perform bdc_field       using 'GLACCOUNT_SCREEN_CCODE-WAERS'
                                  it_itab-WAERS.
    perform bdc_field       using 'GLACCOUNT_SCREEN_CCODE-MWSKZ'
                                  it_itab-MWSKZ.
    perform bdc_field       using 'GLACCOUNT_SCREEN_CCODE-MITKZ'
                                  it_itab-MITKZ.
    perform bdc_field       using 'GLACCOUNT_SCREEN_CCODE-ZUAWA'
                                 it_itab-ZUAWA.
    perform bdc_dynpro      using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=ENTER'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'GLACCOUNT_SCREEN_CCODE-FSTAG'.
    perform bdc_field       using 'GLACCOUNT_SCREEN_CCODE-FSTAG'
                                 it_itab-FSTAG.
    perform bdc_dynpro      using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=SAVE'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'GLACCOUNT_SCREEN_CCODE-FSTAG'.
    perform bdc_field       using 'GLACCOUNT_SCREEN_CCODE-FSTAG'
                                  it_itab-FSTAG.
       PERFORM bdc_transaction USING 'FS00'.
        CALL TRANSACTION 'FS00' USING bdcdata MODE 'A'
                                              UPDATE 'S'
                                             MESSAGES  INTO messtab1.
        PERFORM mess1.
        REFRESH bdcdata[].
      ENDLOOP.
    ENDFORM.                    " bdc_upload
    *&      Form  bdc_fspo
          text
    FORM bdc_fspo .
      LOOP AT it_itab.
        PERFORM bdc_dynpro      USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=ACC_CRE'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'GLACCOUNT_SCREEN_KEY-SAKNR'.
        PERFORM bdc_field       USING 'GLACCOUNT_SCREEN_KEY-SAKNR'
                                      it_itab-saknr.
        PERFORM bdc_field       USING 'GLACCOUNT_SCREEN_KEY-KTOPL'
                                      '1000'.
        PERFORM bdc_dynpro      USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=2102_GROUP'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'GLACCOUNT_SCREEN_COA-KTOKS'.
        PERFORM bdc_field       USING 'GLACCOUNT_SCREEN_COA-KTOKS'
                                      it_itab-ktoks.
        PERFORM bdc_field       USING 'GLACCOUNT_SCREEN_COA-XPLACCT'
                                       it_itab-xplacct.
        PERFORM bdc_field       USING 'GLACCOUNT_SCREEN_COA-XBILK'
                                      it_itab-xbilk.
        PERFORM bdc_dynpro      USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=SAVE'.
        PERFORM bdc_field       USING 'GLACCOUNT_SCREEN_COA-KTOKS'
                                       it_itab-ktoks.
        PERFORM bdc_field       USING 'GLACCOUNT_SCREEN_COA-XPLACCT'
                                       it_itab-xplacct.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'GLACCOUNT_SCREEN_COA-TXT50_ML'.
        PERFORM bdc_field       USING 'GLACCOUNT_SCREEN_COA-TXT20_ML'
                                       it_itab-txt20_ml.
        PERFORM bdc_field       USING 'GLACCOUNT_SCREEN_COA-TXT50_ML'
                                       it_itab-txt50_ml.
    *perform bdc_transaction using 'FSP0'.
        CALL TRANSACTION 'FSP0' USING bdcdata MODE 'A'
                                              UPDATE 'S'
                                             MESSAGES  INTO messtab.
        PERFORM mess.
        REFRESH bdcdata[].
      ENDLOOP.
    ENDFORM.                    " bdc_fspo
    *&      Form  mess
          text
    -->  p1        text
    <--  p2        text
    FORM mess .                                                 "fsp0
      LOOP AT messtab.
        CALL FUNCTION 'FORMAT_MESSAGE'
          EXPORTING
            id        = messtab-msgid
            lang      = messtab-msgspra
            no        = messtab-msgnr
            v1        = messtab-msgv1
            v2        = messtab-msgv2
            v3        = messtab-msgv3
            v4        = messtab-msgv4
          IMPORTING
            msg       = l_mstring
          EXCEPTIONS
            not_found = 1
            OTHERS    = 2.
        CONDENSE l_mstring.
        i_mess1-l_mstring = l_mstring(250).
        i_mess1-msgnr = messtab1-msgnr.
        i_mess1-msgv1 = messtab1-msgv1.
        APPEND i_mess1.
      ENDLOOP.
    ENDFORM.                    " mess
    *&      Form  mess1
          text
    -->  p1        text
    <--  p2        text
    FORM mess1 .                                                "fs00
      LOOP AT messtab1.
        CALL FUNCTION 'FORMAT_MESSAGE'
          EXPORTING
            id        = messtab1-msgid
            lang      = messtab1-msgspra
            no        = messtab1-msgnr
            v1        = messtab1-msgv1
            v2        = messtab1-msgv2
            v3        = messtab1-msgv3
            v4        = messtab1-msgv4
          IMPORTING
            msg       = l_mstring1
          EXCEPTIONS
            not_found = 1
            OTHERS    = 2.
        CONDENSE l_mstring1.
        i_mess-l_mstring = l_mstring1(250).
        i_mess-msgnr = messtab1-msgnr.
        i_mess-msgv1 = messtab1-msgv1.
        APPEND i_mess.
      ENDLOOP.
    ENDFORM.                                                    " mess1
    *&      Form  exp_log
          text
    -->  p1        text
    <--  p2        text
    FORM exp_log .
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          filename = 'c:\temp\error_fsp0.txt'
          filetype = 'DAT'
        TABLES
          data_tab = i_mess1.
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          filename = 'c:\temp\error_fs00.txt'
          filetype = 'DAT'
        TABLES
          data_tab = i_mess.
    ENDFORM.                    " exp_log
    *&      Form  bdc_dynpro
          text
         -->PROGRAM    text
         -->DYNPRO     text
    FORM bdc_dynpro USING program dynpro.
      CLEAR bdcdata.
      bdcdata-program  = program.
      bdcdata-dynpro   = dynpro.
      bdcdata-dynbegin = 'X'.
      APPEND bdcdata.
    ENDFORM.                    "BDC_DYNPRO
           Insert field                                                  *
    FORM bdc_field USING fnam fval.
      CLEAR bdcdata.
      bdcdata-fnam = fnam.
      bdcdata-fval = fval.
      APPEND bdcdata.
    ENDFORM.                    "BDC_Field
    ********Rewards some points.

  • Problems of using of Aggregates for Transactional Cube

    Hi,
    <b>Are there problems or disadvantages of using of Aggregates for Transactional Cube?</b>
    Tx.
    AndyML

    Hi,
    have a look at SAP's docu: http://help.sap.com/saphelp_nw04/helpdata/en/c0/99663b3e916a78e10000000a11402f/frameset.htm
    /manfred

  • Last Used status for Reports, Transactions, Tables ??

    Dear all,
    Kindly let me know how to find the last used status for
    Reports, Transactions, Tables ??
    This is very urgent, Please do the needful.
    Waiting for the responses..
    Cheers,
    Virendra.

    Here the issue is same.
    STAT transaction is asking for the time which is the main hurdle.
    I am hanging around with STAT transaction but not finding
    how to getover the time specification.
    if i dont specify the time i takes by default the 2 or minutes back from the current time.
    which is not useful for me at all.
    My main requirement is that my seniors want to know what are all reports or transaction or tables which are not used at what last time ?
    so if i have to specify the time wont be so useful for me.
    And writing a report 'll not gain anything coz internal SAP report is take time as main parameter.
    Regards,
    Virendra.

  • Using batched PreparedStatements - found bug

    i am using batched PreparedStatements.
    Everything is forking fine - but - when i suppose to get integer of ints (which means number of rows affected by query) - i got a array of constants (-2).
    Here is pease of code and results.
    It seems to be a bug of Oracle JDBC driver.
    Anybody know about that ? any workaround ?
    i have tried last version of production JDBC driver - no success .....
    public static void executeBatch (PreparedStatement stmt)
    throws Exception
    int[] counts = stmt.executeBatch();
    System.out.println("XXX counts num="+counts.length);
    for (int i = 0; i < counts.length; i++)
    System.out.println(" XXX count="+counts);
    if (counts [i] == 0)
    // throw new RuntimeException(
    throw new Exception(
    "Wrong return count in batched statement");
    XXX counts num=1
    XXX count=-2
    XXX counts num=3
    XXX count=-2
    XXX count=-2
    XXX count=-2
    XXX counts num=4
    XXX count=-2
    XXX count=-2
    XXX count=-2
    XXX count=-2
    null

    I am trying to reproduce this but as of now, mine is working properly.
    Can you copy and paste your system information in this thread for me to take a look at? (Photoshop  Help>system info)
    Pattie

  • Can we use LSMW to load Transaction data

    Hi.
    Can we use LSMW to load transactional data.Or it is used only for Master Data.
    With Best Regards
    Mamatha

    Hi,
    you can do upload of transactional data using,
    Standard Programs,
    Batch Input Recording,
    BAPI method,
    IDoc,
    best regards,
    Thangesh

  • Use of javax.jdo.Transaction in BMT

    Sections 16.1.3 and 16.1.4 of the JDO spec (version 0.95) state that the
    application code with a Bean Managed Transaction has the option of
    getting a Persistence Manager before a UserTransaction is opened and
    managing the transaction through the javax.jdo.Transaction interface.
    When I attempt this in Kodo 2.1.2 (EE), I get the following exception
    thrown:
    javax.jdo.JDOUserException: The global UserTransaction must be used for
    begin/commit/rollback.
    at
    com.techtrader.modules.jdo.ee.EEPersistenceManager.begin(EEPersistenceManager.java:62)
    at
    com.ysoft.jdo.book.restaurant.MenuManagerImpl.getObjectsByQuery(MenuManagerImpl.java:108)
    Is this the expected behavior for Kodo? If so, it appears to be a bug.
    If not, then perhaps I am doing something wrong.
    David Ezzio
    Yankee Software

    You're right, we don't implement that feature of the spec yet. And
    unfortunately, if we do implement it, we'll break another part of the
    spec in doing so. Let me explain:
    In enterprise situations, there are two requirements for transaction
    management:
    * In container-managed EJBs, the javax.jdo.Transaction interface cannot
    be used and must throw an exception on begin/commit/rollback.
    * In bean-managed EJBs, the javax.jdo.Transaction interface should tie
    into the gobal UserTransaction and can be used for begin/commit/rollback.
    Now, the problem is, there is absolutely no way for a generic JDO
    implementation without appserver-specific hooks to know whether it is
    being executed from a container managed or bean managed EJB. None. So
    if we allow control of the UserTransaction through the
    javax.jdo.Transaction, we'd have to allow all the time, including for
    container managed beans.
    The good news is that most EJB containers will detect our messing with
    the transaction state manually in a container-managed EJB and throw the
    proper Exception themselves, so we could probably get away with this.
    And in fact this is exactly what we plan to do -- go ahead and always
    allow transaction management through the javax.jdo.Transaction interface
    and hope containers detect errors themselves.
    Well, I'm sure that was much more information than you needed :)
    Anyway, expect to see this feature implemented in the next version of
    the Enterprise Edition, due out next month.
    -- Abe White
    Kodo Product Team
    David Ezzio wrote:
    Sections 16.1.3 and 16.1.4 of the JDO spec (version 0.95) state that the
    application code with a Bean Managed Transaction has the option of
    getting a Persistence Manager before a UserTransaction is opened and
    managing the transaction through the javax.jdo.Transaction interface.
    When I attempt this in Kodo 2.1.2 (EE), I get the following exception
    thrown:
    javax.jdo.JDOUserException: The global UserTransaction must be used for
    begin/commit/rollback.
    at
    com.techtrader.modules.jdo.ee.EEPersistenceManager.begin(EEPersistenceManager.java:62)
    at
    com.ysoft.jdo.book.restaurant.MenuManagerImpl.getObjectsByQuery(MenuManagerImpl.java:108)
    Is this the expected behavior for Kodo? If so, it appears to be a bug.
    If not, then perhaps I am doing something wrong.
    David Ezzio
    Yankee Software

  • Sending an email using action in complaint transaction

    Hi,
    I am using complaint transaction. I want to send an email to employee responsible. Initially I create and save the complaint transaction. After saving it, i open the transaction again and change the employee responsible at that time the email should go to new employee responsible.
    Can you please the list of steps to be followed.
    Thanks

    Hi Vinay,
    You can use action defintions to send emails to your employee responsible.
    for that pls check action profile 'Order_Messages' and within this, action definition
    'ORDER_CONFIRMATION'.
    Check in there. Partner funtion is assigned to it, in second level customizing and smart form to be mailed in third level customizing.
    Prerequisite: emails should be maintained in BP master.
    For your requirement you can  do following settings:
    In second level customizing(i.e. selecting the action definition and double click on the same)
    Enter the partner funtion of Emp. responsible. in 'Partner Determination for the Action' Details. and check 'Partner Dependent'.
    Secondly, in details for 'Action Determination and Action Merging' in 'Action Merging' details select 'Max. 1 Unprocessed Action for Each Action Definition.
    Save the settings.
    Schedule the actions using action scheduling.
    Best Regards,
    Pratik Patel
    <b>Reward with Points!</b>

  • Custom screen using MB_MIGO_BADI  in MIGO transaction

    Using MB_MIGO_BADI i have cretaed a subscreen in MIGO transaction.WHen i select a particular item in MIGO transaction that particulra item value,i have to get into my custom code to make some validations.In which method i have to use set& get parameters.

    Hi sashi,
    Check the pbo and pai of that screen.
    Regards,
    Madhu.

Maybe you are looking for

  • Sharing my Ipod classic with two computers

    Does anyone know why my Ipod classic will not syncronize it starts and 30 sec.later it ejects. I down loaded a couple songs off Itunes and now it will not sync. I also created a new playlist. can you down load on two different computers? I also upgra

  • My first menu: biting me in the Act..

    ..ionListener() . It's about time I added a menu to my [url http://r0k.us/graphics.SIHwheel.html]Interactive Color Wheel. Having never done menus in Java before, it's fighting me every stop of the way, even with the help of the tutorial. The good new

  • Generic problem in passing arguments  ( question )

    I wrote some generic class that hold some generic map. When i looking some key in this map - i want to have the value of the key and set this value to some argument that i pass to the function that look for it. I dont want to return the value as retu

  • Capturing data from a dynamic table that span multiple pages

    I created a PDF form that contained a dynamic table that can span across multiple pages. Additional rows in the table can be created by the person filling the form as and when needed. The PDF form is distributed to the receipient using Adobe LiveCycl

  • How do u find your itunes seurity questions?

    How do i find my questions ?