Where to write Database access logic

I am new to Webdynpro. Could anyone please let me know where to write the code to access database. Is it right to write it in iview or component controller.

Hi Sudhir
Webdynpro works on MVC architecture .So there can be three approaches
1) Create Java Bean Model
Importing Complex JavaBean model into WebDynpro by creating relationships for the model classes
WebDynpro: Importing Java Classes as model
2)Can call create the database in the  Controller and view
3) you can use a java file and copy the same in the wdproject>src->package--> java file and then access the java methods.
Thanx
Pankaj

Similar Messages

  • Logical database access in abap HR

    Dear all,
                 i am working on HR Master Report. is there any way to access logical database PNP without standard input screen.
    means due to requirement my input screen is totally different so i don't want to use standard input screen. but i want to access
    pernr table by get pernr or other functioality of PNP logical database.
    any valuable suggesstion will be much apprecaited.
    Thanks and Regards
    vijay dwivedi

    Yes, there is, by means of FM [LDB_PROCESS|http://help.sap.com/saphelp_47x200/helpdata/en/64/237f8cd43711d1950b0000e8353423/frameset.htm]
    Regards
    Marcin

  • How to read/write from Access database

    Hi everybody
    I need a little help for doing what I wrote in the topic!
    I use LabVIEW 6i student edition, do Ireally need to install the Database
    connectivity toolkit?

    Hi Vicio,
    There are a couple of different methods to communicate with Access in LabVIEW, and some are more difficult than others. You can use ActiveX Automation to open Microsoft Access and control many aspects of the Access Application. For actual database manipulation however, the Access automation classes rely upon the Microsoft DAO (Data Access Object) and/or ADO (ActiveX Data Object) classes. These classes can be used independently or through the Access automation classes to read and write data into an Access database. These classes can be difficult to use and may require a fair amount of SQL knowledge to accomplish a complicated task. Attached is a very simple example of how you can use DAO from the Access automation classes to read an Access table.
    For more information about the Microsoft Access automation classes, DAO or ADO classes refer to the Microsoft website and Developer Network:
    MSDN
    It is also possible to use Dynamic Data Exchange (DDE) communication between LabVIEW and Access. DDE is a Microsoft technology that preceded COM and ActiveX. DDE is NOT recommended as it is considered by most to be obsolete. However, examples still ship with LabVIEW that demonstrate how to communicate with MS Access using DDE. The examples are located in ..\LabVIEW\examples\comm\access.llb
    Note: The LabVIEW Database Connectivity Toolset is the preferred method of database communication with LabVIEW. The LabVIEW Database Connectivity Toolset offers many powerful tools and extended capabilites for quickly accessing databases. The LabVIEW Database Connectivity Toolset offers connectivity to most popular databases through Microsoft ADO technology, complete SQL Functionality, and the ability to save records in XML format. It provides both easy-to-use and advanced functions to allow common database operations as well as detailed database accessibility. The LabVIEW Database Connectivity Toolset is sold separately or in the LabVIEW Enterprise Connectivity Toolset along with the LabVIEW Statistical Process Toolkit and the LabVIEW Internet Developers Toolkit.
    Sincerely,
    Feroz
    National Instruments
    Attachments:
    Access_ActiveX.vi ‏43 KB

  • Where to implement my Business Logic in ADF?

    Hi,
    I am new to Oracle ADF. I found this forum very useful to get my queries and doubts answered. Thanks to the participants.
    I am basically from Struts background,
    Where i design my UI in jsp pages using Struts tags,
    Actions and some utility classes handles my most of the business logic (generally called as Business Layer)
    Then i have custom DAOs or Data Layer to query or update the data in database.
    Now as I am into new Project and I have to learn Oracle ADF.
    I started learning this by following some questions in the forums and various sites (from Google).
    I got info on How to create Entity Objects, Value objects etc.
    But my major doubt is where shall i write my Business Logic in this stack?
    I can easily drag and drop my data controls into my JSF page and create table, forms or charts. But if i have a multi line business logic, say for a Submit button, In which i may be doing the following steps -
    a.  Get data pertaining to user role , department, his tenure in the department etc
    b. On submit do processing based on data collected in above step.
    c. update data in data base.
    d. initiate an approval process
    e. call some business process for Approval
    f. Audit Trail
    g. Transaction handling
    and so many other steps (I know most of you will have gone through these situation before starting work on ADF)
    Now, in the above scenario in Oracle ADF layers where shall i write this whole bunch of logic or steps and then forward the user the page depending upon the outcome of this logic.
    Please let me know where to write all this??
    Thanks a lot,
    Amit
    Edited by: ur.amit on May 13, 2010 4:58 PM

    Generally speaking all of that code would reside in the app module Impl classes or the View object Impl classes - for VOs and AMs you can expose subclasses and add code in there - you can then define whether any of your methods should be exposed to the client, in which case they appear in the Data Controls panel as operations.
    General word of advice -keep business logic code in the Model - don't be tempted to start trying to access your AMs and do any of this stuff from the ViewController project. Keep it nice and simple and just access ALL the business logic code through ADF Model.
    Hope this helps
    Grant

  • Database access

    Hi all. I am trying to write a database access program that is accessible by username and password.I keep getting the following error:
    ' syntax error( missing operator) in query'
    is in this line of code
    "SELECT 'selection choices' FROM 'table name' + "WHERE USERNAME LIKE username && WHERE PASSWORD LIKE password)
    obviously I don't know what I'm doing. What am I doing wrong? Thanks

    Hard to say since I am not sure what you want to do.
    Is "selection choices" a field name? Then a SQL query (which is not the same as java code) would look like this...
    SELECT "selection choices" FROM "table name"
    WHERE USERNAME LIKE 'username' and WHERE PASSWORD LIKE 'password'
    Usually the above would likely look something like this
    SELECT "selection choices" FROM "table name"
    WHERE USERNAME = 'username' and WHERE PASSWORD = 'password'
    Because you would never match on user/password using an approximation.
    Doing this is java code would look something like this.
       String user = ...
       String pwd = ...
       StringBuffer s = new StringBuffer();
       s.append("SELECT \"selection choices\" FROM \"table name\"");
       s.append("WHERE USERNAME = '");
       s.append(user);
       s.append("' and WHERE PASSWORD = '");
       s.append(password);
       s.append("'");
       String sql = new String(s);
       // VERY IMPORTANT STEP.  This is how you make sure
       // that your java code is producing the correct SQL'
       System.out.println("SQL=" + sql);
       // Now do the java.sql.* stuff. Note that the \" in the above is rather important but only for your example. If you were using normal field and table names (basically with not spaces) then those would not be needed.

  • Database Access through JSP

    Hi im trying to access my ORACLE database through a jsp program. The page loads up in the browser, no errors or anything like that, but i get no output.
    I am running things on localhost with TomCat 3.2.3
    Here is the code, any help gratefully appreciated.
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE>Testing Database Access</TITLE>
    </HEAD>
    <BODY BGCOLOR="#FDF5E6" TEXT="#000000" LINK="#0000EE"
    VLINK="#551A8B" ALINK="#FF0000">
    <CENTER>
    <TABLE BORDER=5 BGCOLOR="#EF8429">
    <TR><TH CLASS="TITLE">
    Testing Database Access</TABLE>
    </CENTER>
    <P>
    <P>
    Here Is what Might be in the Database
    <P>
    <%@ page language="java" %>
    <%@ page import="java.util.*" %>
    <%@ page import="oracle.jdbc.driver.*" %>
    <%@ page import="java.io.*" %>
    <%@ page import="java.sql.*" %>
    <%
         try
    %>
    <%
         DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
         String username = "Donnchadh", password = "zcbu5mya";
         Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@kiwi.isg.computing.dcu.ie:1521:kiwi",username,password);
         java.sql.Statement stmt = conn.createStatement();
         String query = "SELECT * FROM PERSONALS";
         ResultSet rs = stmt.executeQuery(query);
         while(rs.next())
              int ccount = rs.getMetaData().getColumnCount();
              for( int i = 1; i <= ccount; i++ )
                   System.out.print(rs.getString(i)+"\t");
              System.out.println();
    %>
    <%
         rs.close();
         stmt.close();
         if(conn != null)
              try
                   conn.close();
              catch(Exception e)
                   return;
         catch(Exception e)
              return;
    %>
    <P>
    </BODY>
    </HTML>
    I have also tried to access columns directly with this code in the while loop
    while(rs.next())
                        String Title = rs.getString("title");
                        String FName = rs.getString("fname");
                        String LName = rs.getString("lname");
                        String Phone = rs.getString("phone1");
                        String Phone2 = rs.getString("phone2");
                        String Addr = rs.getString("addr");
                        String County = rs.getString("county");
                        String Country = rs.getString("country");
                        out.println("<tr><td>" + Title + "</td><td>" + FName + "</td><td>" + LName
                        + "</td><td>" + Phone + "</td><td>" + Phone2 + "</td></tr>" + "</td></tr>" + Addr
                        + "</td></tr>" + County + "</td></tr>" + Country + "</td></tr>" );

    i give a servlet access to oracle ,that have test ok!
    import java.sql.*;
    import javax.servlet.*;
    import javax.sql.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;
    public class TestServlet1 extends HttpServlet {
    private static final String CONTENT_TYPE = "image/jpeg; charset=GBK";
    //Initialize global variables
    String strRno =null;
    ResultSet rs=null;
    byte [] buf=null;
    InputStream in;
    int IntNo;
    public void init() throws ServletException {
    //Process the HTTP Get request
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType(CONTENT_TYPE);
    // PrintWriter out = response.getWriter();
    // System.out.println("TEst database prepaired ok��");
    strRno = request.getParameter( "PictNo" );
    IntNo = 0;
    if( strRno != null ) {
    try { IntNo = Integer.parseInt( strRno ); }
    catch( NumberFormatException e ) {
    strRno = null;
    System.out.println("��������������������"); }
    else
    System.out.println("��������������������");
    if( strRno == null ) {
    // response.sendError( HttpServletResponse.SC_NOT_FOUND );
    return;
    try {
    Class.forName("oracle.jdbc.driver.OracleDriver");
    catch (ClassNotFoundException ex2) {
    //      out.println("TEst2��");
    // System.out.println("TEst2�� ex2��");
    String url="jdbc:oracle:thin:@erdos00:1521:erdos";
    Connection con = null;
    try {
    con = DriverManager.getConnection(url, "system", "manager");
    catch (SQLException ex1) {
         //out.println("TEst�� ex1");
         System.out.println("TEst�� ex1��");
    // PreparedStatement sql=con.PrepareStatement("select photo from blob_test WHERE rno = IntNo" );
    PreparedStatement sql = null;
    try {
    sql = con.prepareStatement("select photo from blob_test WHERE rno = 14 ");
    // sql = con.prepareStatement("select photo from blob_test WHERE rno = " +"+ IntNo +" );
    catch (SQLException ex) {
         //out.println("TEst�� ex");
         System.out.println("TEst�� ex��");
    //method prepareStatement(sting) not found in interface java.sql.connection
    // sql.setInt( 1, rno );
    try {
    rs = sql.executeQuery();
    catch (SQLException ex3) {
         //out.println("TEst�� ex3");
         System.out.println("TEst�� ex3");
    System.out.println("TEst database operate ok��");
    // out.println("TEst database operate ok��");
    //��������������������
    try {
    if (rs.next()) {
    buf = rs.getBytes(1);
    in = rs.getBinaryStream("photo");
    else {
    buf = new byte[0];
    }catch (Exception e){
    //throw e;
    response.reset();
    //������image/jpeg������������������������
    response.setContentType("image/bmp");
    // ��bmp��jpeg
    byte[] b = new byte[1024*1024];
    int len;
    while((len=in.read(b)) >0)
    response.getOutputStream().write(b,0,len);
    OutputStream out1 = response.getOutputStream();
    out1.flush();
    out1.write(buf);
    in.close();
    try {
    rs.close();
    catch (SQLException ex4) {
    // out.println("<html>");
    // out.println("<img src='http://192.168.0.1/examples/servlet/TestServlet1?PictNo="+IntNo+"'>");
    // out.println("</html>");
    out.println("<html>");
    out.println("<head><title>TestServlet</title></head>");
    out.println("<body bgcolor=\"#ffffff\">");
    out.println("<p>The servlet has received a GET111111111. This is the reply.</p>");
    out.println("</body></html>");
    //Process the HTTP Post request
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType(CONTENT_TYPE);
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<head><title>TestServlet</title></head>");
    out.println("<body bgcolor=\"#ffffff\">");
    out.println("<p>The servlet has received a POST. This is the reply.</p>");
    out.println("</body></html>");
    //Process the HTTP Put request
    public void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //Process the HTTP Delete request
    public void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //Clean up resources
    public void destroy() {
    hope u can get some thing from that

  • Database access from session bean

    Hello,
    I have a stateless session bean which performs some complex
    calculations, and also does some database access.
    For the database access the bean class has a datasource as
    follows:
    public class TestBean implements SessionBean {
    private DataSource ds_;
    public void ejbCreate() {
         getDataSources();
    private void getDataSources() {
         try {
         Context ictx = new InitialContext();
         ds_ = (DataSource)ictx.lookup("java:comp/env/jdbc/TestDB");
         } catch (Exception e) {
         e.printStackTrace();
         throw new EJBException(e);
    Now this class has a method (which is also in the remote interface)
    calculateSomething(). This method constructs a number of other
    objects that do the actual calculation, and one of these objects
    does the actual database access. How would another object be able to
    use the datasource that was constructed in the bean class?
    I could pass the datasource reference to that object, but that would
    break my encapsulation. This is because that object does not get
    created directly by the bean object, but rather the way the objects
    interact is something like A -> B -> C, where A is the TestBean, and
    C is the object that does the DB access. If I passed the datasource,
    I would need to make B aware of the datasource, which doesn't
    seem good design, because B doesn't do any database access.
    Alternatively I could do the lookup in class C, but that would
    degrade the performance, as an object C gets created and destroyed
    every time the calculateSomething() method is called.
    A third option I have thought of, is to add a public method to the
    bean that returns a connection. Whenever another object gets
    created, a reference to the bean object will be passed along. Then,
    if another object needs to do database access, it will call back
    the bean to get a connection. This seems just as bad (if not worse)
    than the first option.
    Does anyone have an elegant solution for this situation? What is
    the best practice of handling datasources when a bean class doesn't
    do the database access itself? In all the examples I've seen so far,
    all the functionality was in the session bean class, but again that
    doesn't seem good OO design, and would result in a single huge class.
    regards,
    Kostas

    Thanks again to both for the replies. Here are my responses:
    Yi Lin: Yes, I know that an entity bean would solve this problem, however it has been decided not to use entity beans so this is not my call (I think the reason entity beans are not allowed in this project is that they are considered risky: there are other applications that access the same database, so if the container caches entity bean data as you describe, then the users might get inconsistent results).
    Gerard: Actually object B is the one that has the business logic and C is a peer object that only does database access and no calculaitons. For example B can be Customer, and C CustomerDB. This is why object B does not have any knowledge of datasources or connections. So my design does not appear to be that bad!
    As far as the factory you propose is concerned, I cannot understand how this would solve my problem. In order to solve this situation the factory would need to be persistent, i.e. get created by the ejbCreate() method, and destroyed whenever the container decides to destroy the bean. There would be no point in object C creating the factory, as I would have the overhead of doing the JNDI lookup every time I create a C.
    So the question remains the same: how would I pass a reference to the factory from A to C without making B aware of it?

  • Database access patterns

    I've been wondering for a while what techniques people use to access databases. I'm not talking about the JDBC API but how are applications designed. One obvious objective is to consolidate all database access into one package and not have SQL strewn throughout the app. This obviously helps for abstraction purposes, you could easily change the backend, but also makes for easy updates if you make a schema change. I've read about the Database Access Object pattern and like the idea of seperating database access details from the rest of the application. My question is one of implementation. Say you use something like the DAO pattern. Now you have one database access class for each business object and typically (not always) there is a 1:1 mapping of business objects to database tables. How do you actually implement the DAO class? Do you write a single method for each type of query you may perform? For example, say I have a simple schema where table A references table B and table B references tables C. I could query for Object C (from table C) in a number of ways such as:
    select * from tableC, tableB where tableC.column2=tableB.column1 and tableB.column3=1234;
    or
    select * from tableC, tableB, tableA where tableC.column2=tableB.column1 and tableB.column2=tableA.column1;
    and so on . . .
    I'm wondering if people use some kind of abstraction to dynamically genereate the sql query on the fly or do you simple have seperate method calls for each query and just drop in the values:
    ObjectC getCfromB(int tableBcolumn3Value){
    String sql="select * from tableC where tableC.column2=tableB.column1 and tableB.column3="+tableBcolumn3Value;
    //do your JDBC stuff and return ObjectC
    Is there a way of having the database access classes understand the schema of your DB so if you supply a column from tableB and ask for objectC it knows what to do?
    It seems labor intesive to have to write a method for each type of query,insert, update,delete you might do. How do people handle this? Are there any other standard/accepted methods of separating database details from the rest of the app, other than the DAO pattern?
    thanks

    I'm trying to dive into an object/relational mapping layer. I don't want to have to write and maintain DTOs for every application.
    I looked into OJB from Jakarta first. I liked the cache it had as part of the Jakarta family. It worked fine, but I was uncomfortable with the level of documentation.
    I'm diving into Hibernate now. It seems to have more traction, and there's more documentation. I like the XDoclet/Ant tie-in. Gavin King is working with JBoss now, so Hibernate will be wired into JBoss in the future.
    I hope I can make Hibernate a standard part of my repertoire.
    If you'd rather not go that way, Martin Fowler's "Patterns Of Enterprise Application Architecture" has several approaches to the problem of data mapping layers.- MOD

  • Additional read-write schema in logical standby

    Hi,
    We have successfully configured logical standby for a production database on oracle 11.1.0.7. Now we have the following requirements:
    1) Add a new/ additional schema to logical standby database which can support read write (dml/ddl)operations.
    2) Turn off the sync for one particular table in the standby (prod) schema and make it read write.
    Appreciate any guidelines in this regard.
    Thanks,
    Venkat
    Edited by: 825766 on Jun 23, 2011 1:20 PM
    Edited by: 825766 on Jun 23, 2011 1:44 PM

    Thank you.
    I was able to make a table read-write based on following extract from oracle documentation.
    SQL> ALTER DATABASE STOP LOGICAL STANDBY APPLY;
    Database altered.
    SQL> EXECUTE DBMS_LOGSTDBY.SKIP('SCHEMA_DDL','MYSCHEMA','MYTABLES%');
    PL/SQL procedure successfully completed.
    SQL> EXECUTE DBMS_LOGSTDBY.SKIP('DML','MYSCHEMA','MYTABLES%');
    PL/SQL procedure successfully completed.
    SQL> ALTER DATABASE START LOGICAL STANDBY APPLY;
    Database altered.
    The example then queries the DBA_LOGSTDBY_PARAMETERS view to verify the logical standby database is updated. Verification can take a while so you might need to repeat the query until no rows are returned, as shown in the following example:
    SQL> SELECT VALUE FROM DBA_LOGSTDBY_PARAMETERS WHERE NAME = 'GUARD_STANDBY';
    VALUE
    Ready
    select guard_status from v$database;
    Finally, the example sets the database guard to allow updates to the tables.
    SQL> ALTER DATABASE GUARD STANDBY;
    Database altered.
    select guard_status from v$database;

  • Error in Database accessing!!!

    Hello,
    i get this error when the application is running..... this i quite often
    Error Type : SQL FETECH Cursor error, couldn't do a physical order read to
    fetch next row. (ISAM error code: -107 DB_ER_INVALID STATE)
    Class :qqdb_usageException
    Error # :[807,13]
    Detected at : qqdb_informix cursor :: vendor fetech from server at 10
    Error Time Informix SQLSTATE : 1*100, informix error : -244, server: forte,
    username : , Database stmt: Select sessionkey, , , from <table name> where
    useid = '2000'.
    exception occured(locally) on partition'....09', on node <node name> in
    environment <env name>
    Thanks in Advance
    DB_ER_INVALIDSTATE = incorrect use of a cursor or other database object(For
    example, where
    a program attempts to fetech from a cursor that is not open).

    Hmm,
    From the informix finderror utility
    <START QUOTE>
    -107 ISAM error: record is locked.
    Another user request has locked the record that you requested or the file
    (table) that contains it. This condition is normally transient. A program
    can recover by rolling back the current transaction, waiting a short time,
    and re-executing the operation. For interactive SQL, redo the operation. For
    C-ISAM programs, review the program logic and make sure that it can handle
    this case, which is a normal event in multiprogramming systems. You can
    obtain exclusive access to a table by passing the ISEXCLLOCK flag to isopen.
    For SQL programs, review the program logic and make sure that it can handle
    this case, which is a normal event in multiprogramming systems. The simplest
    way to handle this error is to use the statement SET LOCK MODE TO WAIT. For
    bulk updates, see the LOCK TABLE statement and the EXCLUSIVE clause of the
    DATABASE statement.
    <END QUOTE>
    I have found that whenever I see the phrase "couldn't do a physical
    order read to fetch next row." it means the database has tried to read a
    locked record and lock mode is set to NO WAIT or the lock mode has timed
    out.
    There are a number of solutions. The main one being to try again
    later.
    Cheers
    David McPaul
    Lumley Technology
    -----Original Message-----
    From: Forte App [mailto:[email protected]]
    Sent: Thursday, November 18, 1999 8:45 AM
    To: [email protected]
    Subject: (forte-users) Error in Database accessing!!!
    Hello,
    i get this error when the application is running..... this i
    quite often
    Error Type : SQL FETECH Cursor error, couldn't do a physical
    order read to
    fetch next row. (ISAM error code: -107 DB_ER_INVALID STATE)
    Class :qqdb_usageException
    Error # :[807,13]
    Detected at : qqdb_informix cursor :: vendor fetech from server at 10
    Error Time Informix SQLSTATE : 1*100, informix error : -244,
    server: forte,
    username : , Database stmt: Select sessionkey, , , from
    <table name> where
    useid = '2000'.
    exception occured(locally) on partition'....09', on node
    <node name> in
    environment <env name>
    Thanks in Advance
    DB_ER_INVALIDSTATE = incorrect use of a cursor or other
    database object(For
    example, where
    a program attempts to fetech from a cursor that is not open).
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe,
    send in a new
    email the word: 'Unsubscribe' to: [email protected]

  • Regarding Provisioning a user to Database Access Tables

    Hi,
    I've just completed with the installation of OIM 9101 and upgradation of 9101 to 9102. I'm facing a bit wierd. When I try to create a GTC for the Database Access Tables, I'm not able to see Database Access Tables option, in the drop down list for the Transport Provider.
    I'm a bit confused if I've wrongly upgraded the system or if at all i've missed out some step. Though OIM seems to be ok and working fine.
    Any suggestions as to how to solve this ?
    Regards
    Nikhil

    Thanks Prakash,
    The issue has been resolved.
    I'd like a bit more of your help. I'm facing an error as follows :
    2011-04-14 12:21:52,074 ERROR [XELLERATE.GC.PROVIDER.TRANSFORMATION] Could not transform the data
    java.lang.NullPointerException
         at com.thortech.xl.gc.util.TransformationEngine.doTransformation(Unknown Source)
         at com.thortech.xl.gc.util.TransformationEngine.transform(Unknown Source)
         at com.thortech.xl.gc.runtime.GCAdapterLibrary.executeFunctionality(Unknown Source)
         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 com.thortech.xl.adapterGlue.ScheduleItemEvents.adpDBAT_PROVISIONING1_GTC.GENERICADAPTER(adpDBAT_PROVISIONING1_GTC.java:125)
         at com.thortech.xl.adapterGlue.ScheduleItemEvents.adpDBAT_PROVISIONING1_GTC.implementation(adpDBAT_PROVISIONING1_GTC.java:70)
         at com.thortech.xl.client.events.tcBaseEvent.run(Unknown Source)
         at com.thortech.xl.dataobj.tcDataObj.runEvent(Unknown Source)
         at com.thortech.xl.dataobj.tcScheduleItem.runMilestoneEvent(Unknown Source)
         at com.thortech.xl.dataobj.tcScheduleItem.eventPostInsert(Unknown Source)
         at com.thortech.xl.dataobj.tcDataObj.insert(Unknown Source)
         at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
         at com.thortech.xl.dataobj.tcORC.insertNonConditionalMilestones(Unknown Source)
         at com.thortech.xl.dataobj.tcORC.completeSystemValidationMilestone(Unknown Source)
         at com.thortech.xl.dataobj.tcOrderItemInfo.completeCarrierBaseMilestone(Unknown Source)
         at com.thortech.xl.dataobj.tcOrderItemInfo.eventPostInsert(Unknown Source)
         at com.thortech.xl.dataobj.tcUDProcess.eventPostInsert(Unknown Source)
         at com.thortech.xl.dataobj.tcDataObj.insert(Unknown Source)
         at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
         at com.thortech.xl.dataobj.tcTableDataObj.save(Unknown Source)
         at com.thortech.xl.ejb.beansimpl.tcFormInstanceOperationsBean.setProcessFormData(Unknown Source)
         at com.thortech.xl.ejb.beansimpl.tcFormInstanceOperationsBean.setProcessFormData(Unknown Source)
         at com.thortech.xl.ejb.beans.tcFormInstanceOperationsSession.setProcessFormData(Unknown Source)
         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.jboss.invocation.Invocation.performCall(Invocation.java:359)
         at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:237)
         at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158)
         at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:169)
         at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
         at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
         at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
         at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
         at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168)
         at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
         at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138)
         at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648)
         at org.jboss.ejb.Container.invoke(Container.java:960)
         at sun.reflect.GeneratedMethodAccessor128.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
         at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
         at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
         at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
         at org.jboss.invocation.local.LocalInvoker$MBeanServerAction.invoke(LocalInvoker.java:169)
         at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:118)
         at org.jboss.invocation.InvokerInterceptor.invokeLocal(InvokerInterceptor.java:209)
         at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:195)
         at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:61)
         at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:70)
         at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:112)
         at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:100)
         at $Proxy769.setProcessFormData(Unknown Source)
         at Thor.API.Operations.tcFormInstanceOperationsClient.setProcessFormData(Unknown Source)
         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 Thor.API.Base.SecurityInvocationHandler$1.run(Unknown Source)
         at Thor.API.Security.LoginHandler.jbossLoginSession.runAs(Unknown Source)
         at Thor.API.Base.SecurityInvocationHandler.invoke(Unknown Source)
         at $Proxy813.setProcessFormData(Unknown Source)
         at com.thortech.xl.webclient.actions.DirectProvisionUserAction.handleVerifyProcessData(Unknown Source)
         at com.thortech.xl.webclient.actions.DirectProvisionUserAction.goNext(Unknown Source)
         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.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
         at com.thortech.xl.webclient.actions.tcLookupDispatchAction.execute(Unknown Source)
         at com.thortech.xl.webclient.actions.tcActionBase.execute(Unknown Source)
         at com.thortech.xl.webclient.actions.tcAction.execute(Unknown Source)
         at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
         at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at com.thortech.xl.webclient.security.SecurityFilter.doFilter(Unknown Source)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
         at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
         at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
         at java.lang.Thread.run(Thread.java:619)
    2011-04-14 12:21:52,074 ERROR [XELLERATE.GC.PROVIDER.TRANSFORMATION] Could not transform the data
    com.thortech.xl.gc.exception.ProviderException: GCPROV.ADAPTER_INPUTSTR_MISSING
         at com.thortech.xl.gc.util.TransformationEngine.doTransformation(Unknown Source)
         at com.thortech.xl.gc.util.TransformationEngine.transform(Unknown Source)
         at com.thortech.xl.gc.runtime.GCAdapterLibrary.executeFunctionality(Unknown Source)
         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 com.thortech.xl.adapterGlue.ScheduleItemEvents.adpDBAT_PROVISIONING1_GTC.GENERICADAPTER(adpDBAT_PROVISIONING1_GTC.java:125)
         at com.thortech.xl.adapterGlue.ScheduleItemEvents.adpDBAT_PROVISIONING1_GTC.implementation(adpDBAT_PROVISIONING1_GTC.java:70)
         at com.thortech.xl.client.events.tcBaseEvent.run(Unknown Source)
         at com.thortech.xl.dataobj.tcDataObj.runEvent(Unknown Source)
         at com.thortech.xl.dataobj.tcScheduleItem.runMilestoneEvent(Unknown Source)
         at com.thortech.xl.dataobj.tcScheduleItem.eventPostInsert(Unknown Source)
         at com.thortech.xl.dataobj.tcDataObj.insert(Unknown Source)
         at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
         at com.thortech.xl.dataobj.tcORC.insertNonConditionalMilestones(Unknown Source)
         at com.thortech.xl.dataobj.tcORC.completeSystemValidationMilestone(Unknown Source)
         at com.thortech.xl.dataobj.tcOrderItemInfo.completeCarrierBaseMilestone(Unknown Source)
         at com.thortech.xl.dataobj.tcOrderItemInfo.eventPostInsert(Unknown Source)
         at com.thortech.xl.dataobj.tcUDProcess.eventPostInsert(Unknown Source)
         at com.thortech.xl.dataobj.tcDataObj.insert(Unknown Source)
         at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
         at com.thortech.xl.dataobj.tcTableDataObj.save(Unknown Source)
         at com.thortech.xl.ejb.beansimpl.tcFormInstanceOperationsBean.setProcessFormData(Unknown Source)
         at com.thortech.xl.ejb.beansimpl.tcFormInstanceOperationsBean.setProcessFormData(Unknown Source)
         at com.thortech.xl.ejb.beans.tcFormInstanceOperationsSession.setProcessFormData(Unknown Source)
         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.jboss.invocation.Invocation.performCall(Invocation.java:359)
         at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:237)
         at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158)
         at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:169)
         at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
         at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
         at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
         at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
         at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168)
         at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
         at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138)
         at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648)
         at org.jboss.ejb.Container.invoke(Container.java:960)
         at sun.reflect.GeneratedMethodAccessor128.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
         at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
         at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
         at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
         at org.jboss.invocation.local.LocalInvoker$MBeanServerAction.invoke(LocalInvoker.java:169)
         at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:118)
         at org.jboss.invocation.InvokerInterceptor.invokeLocal(InvokerInterceptor.java:209)
         at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:195)
         at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:61)
         at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:70)
         at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:112)
         at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:100)
         at $Proxy769.setProcessFormData(Unknown Source)
         at Thor.API.Operations.tcFormInstanceOperationsClient.setProcessFormData(Unknown Source)
         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 Thor.API.Base.SecurityInvocationHandler$1.run(Unknown Source)
         at Thor.API.Security.LoginHandler.jbossLoginSession.runAs(Unknown Source)
         at Thor.API.Base.SecurityInvocationHandler.invoke(Unknown Source)
         at $Proxy813.setProcessFormData(Unknown Source)
         at com.thortech.xl.webclient.actions.DirectProvisionUserAction.handleVerifyProcessData(Unknown Source)
         at com.thortech.xl.webclient.actions.DirectProvisionUserAction.goNext(Unknown Source)
         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.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
         at com.thortech.xl.webclient.actions.tcLookupDispatchAction.execute(Unknown Source)
         at com.thortech.xl.webclient.actions.tcActionBase.execute(Unknown Source)
         at com.thortech.xl.webclient.actions.tcAction.execute(Unknown Source)
         at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
         at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at com.thortech.xl.webclient.security.SecurityFilter.doFilter(Unknown Source)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
         at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
         at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
         at java.lang.Thread.run(Thread.java:619)
    Caused by: java.lang.NullPointerException
    This Error seems to occur because I was trying to attach certain pre-prop adapters within the default process form that is created while installing the connector. Roaming around the threads here, I came to know that this might be the problem as pre-props don't work fine when applied to the GTC's default form.
    To overcome this problem, I've thought of a solution wherein I should create a new Custom Process Form and then apply my pre-props. But for this approach, I'm stuck into the middle. How can I apply a new Custom Form to an existing Provisioning Process ? Is this fesiable ? If yes, where should the changes be made ?
    I tried changing the Table Name inside the GTC's provisioning process so that GTC can pick up the my new process form instead of its default process form, but that again gives an error saying :
    com.thortech.xl.orb.dataaccess.tcDataAccessException: DB_READ_FAILEDDetail: SQL: select err_key, err_code, err_desc, err_rowver, err_remedy, err_count, err_last_occurance, err_action, err_help_url, err_severity from err where err_code='DOBJ.UPDATE_FAILED'Description: Got a null connectionSQL State: Vendor Code: 0Additional Debug Info:com.thortech.xl.orb.dataaccess.tcDataAccessException
    I hope the scenario is clear to you and i'm able to explain upto the mark .. :(
    Kindly help me out..
    Regards
    Nikhil

  • After reinstalling MAC OS 10.6.8, config the permissions to read/write/no access, my MacMini [mid 2010] refuses to reboot. I tried to reboot in safe mode with fsck, but after the steps to be taken, it says fscs not done, root device is read only

    After reinstalling MAC OS 10.6.8, I config the permissions to read/write/no access, my MacMini [mid 2010] refuses to reboot. I tried to reboot in safe mode with Command+S and fsck, but after the steps to be taken, it says fscs not done, root device is read only. I also tried to bypass the Mac firmware password by taking one Ram card out and reboot the macmini while holding COMMAND+OPTION+P+R. But no luck. The macmini is not able to see the mac OSX installation CD.
    Please help ??

    f.fromleiden wrote:
    After reinstalling MAC OS 10.6.8, I config the permissions to read/write/no access, my MacMini [mid 2010] refuses to reboot.
    How and where did you change which permissions? And what was the goal?
    Do you have a complete backup of your system? and more importantly data files?
    What happened that prompted the need to reinstall the 10.6.8 update?
    The immediate road forward would be to boot from the optical drive and revert the changes you made.
    What happens when you boot with the install cd and hold down C or hold down the option key?
    [Off topic: I've been to Leiden a few times ]

  • Performance Tuning in case of Database Access

    Hi,
      I am using following code...database access is huge for this code...pls help me out to make database access minimum. I am using 3 internal tables.
    select partner1 partner2 into (mtab-busi_part, mtab-BUT051_PART)
    from but051.
    Select  name_first name_last PARTNER_GUID into (mtab-bp_first, mtab-bp_last, MTAB-R_PARTNER_GUID)
    From but000 where partner = mtab-busi_part.
    *MTAB-OBJECT_ID = ITAB-OBJECT_ID.
    append mtab.
    endselect.
    ENDSELECT.
    *ENDLOOP.
    loop at mtab.
    CONCATENATE mtab-bp_FIRST mtab-bp_LAST INTO mTAB-bp_full
                                        separated BY SPACE.
    modify mtab.
    endloop.
    loop at mtab.
    if mtab-bp_full = ' '.
      select name_org1 into (mtab-bp_full)
      from but000 where partner = mtab-busi_part.
    append mtab.
      endselect.
    endif.
    modify mtab.
    clear mtab.
    endloop.
    SELECT OBJECT_ID GUID INTO (NTAB-object_id, Ntab-guid)
    FROM CRMD_ORDERADM_H
    for all entries in itab
    where process_type = '1001' and object_id in o_id.
    select single date_1 date_2 from crmv_item_index into (ntab-date_1, ntab-date_2 )
    where object_id = ntab-object_id.
    endselect.
    Select partner_no partner_fct into (Ntab-partner_guid, Ntab-partner_fct)
    from bbp_pdview_bup where guid_hi = Ntab-guid .
    *and partner_fct <> '00000015'
    Select partner name_org1 into (Ntab-partner_no2, Ntab-others)
    from but000 where partner_guid = Ntab-partner_guid.
      if sy-subrc = 0.
      SELECT SINGLE DESCRIPTION FROM CDBC_PARTNER_FT INTO NTAB-DESC
      WHERE PARTNER_FCT = NTAB-PARTNER_FCT AND SPRAS = 'EN'.
      endif.
      SELECT  PAFKT ABTNR PAAUTH
      FROM BUT051 INTO corresponding fields of  nTAB
      WHERE PARTNER2 = ntab-partner_no2  .
           if sy-subrc = 0.
           SELECT single BEZ30 FROM TB913
        INTO CORRESPONDING FIELDS OF nTAB
        WHERE PAFKT = nTAB-PAFKT AND SPRAS = 'E'.
        endif.
         if sy-subrc = 0.
        SELECT single BEZ20 FROM TB915
        INTO CORRESPONDING FIELDS OF nTAB
        WHERE PAAUTH = nTAB-PAAUTH AND SPRAS = 'E'.
        endif.
    *endselect.
            if sy-subrc = 0.
        SELECT  single BEZ20 FROM TB911
        INTO (nTAB-BEZ2)
        WHERE ABTNR = nTAB-ABTNR AND SPRAS = 'E'.
    endif.
    endselect.
    APPEND NTAB.
    *clear ntab.
    *ENDSELECT.
    ENDSELECT.
    *clear ntab.
    ENDSELECT.
    ENDSELECT.
    loop at ntab.
      if ntab-others = ' '.
        select name_first name_last into (ntab-first_name1, ntab-last_name1)
        from but000 where partner = ntab-partner_no2.
        endselect.
        CONCATENATE ntab-FIRST_NAME1 ntab-LAST_NAME1 INTO nTAB-others
                                        separated BY SPACE.
      endif.
      modify ntab.
      clear ntab.
    endloop.
    SORT NTAB BY GUID.
    SELECT OBJECT_ID GUID INTO (KTAB-object_id, Ktab-guid)
    FROM CRMD_ORDERADM_H
    for all entries in itab
    where process_type = '1001' and object_id in o_id.
    Select  partner_no into (Ktab-partner_no1)
    From crmd_order_index where header = Ktab-guid and pft_8 = 'X' and object_type = 'BUS2000126'.
    *endselect.
    Select name_first name_last into (Ktab-first_name, Ktab-last_name)
    From but000 where partner = Ktab-partner_no1.
    *endselect.
    APPEND KTAB.
    ENDSELECT.
    ENDSELECT.
    ENDSELECT.
    loop at Ktab.
    CONCATENATE Ktab-FIRST_NAME Ktab-LAST_NAME INTO KTAB-RESP_EMPLOYEE
                                        separated BY SPACE.
    MODIFY KTAB.
    clear Ktab.
    endloop.
    loop at Ktab.
      if Ktab-RESP_EMPLOYEE = ' '.
        select name_ORG1 into (Ktab-RESP_EMPLOYEE)
        from but000 where partner = Ktab-partner_no1.
        endselect.
        endif.
      modify Ktab.
      clear Ktab.
    endloop.
    SELECT OBJECT_ID GUID INTO (itab-object_id, itab-guid)
    FROM CRMD_ORDERADM_H
    where process_type = '1001' and object_id in o_id.
    append itab.
    endselect.
    LOOP AT iTAB.
       LOOP AT NTAB .
         IF NTAB-object_id = iTAB-object_id .
              itab-date_1 = ntab-date_1.
              ITAB-DESC = NTAB-DESC.
              itab-partner_no2 = NTab-partner_no2.
              itab-partner_fct = ntab-partner_fct.
              itab-bez30 = ntab-bez30.
              itab-bez20 = ntab-bez20.
              itab-bez2 = ntab-bez2.
              itab-others = ntab-others.
              INSERT lines of nTAB INTO ITAB.
              modify itab.
              CLEAR ITAB.
             delete itab where object_id = ' ' and partner_no2 = ' '.
         ENDIF.
      endloop.
    endloop.
    sort itab by OBJECT_ID descending PARTNER_NO2 .
              delete adjacent duplicates from itab comparing partner_no2 object_id.
    sort itab by OBJECT_ID descending PARTNER_NO2 .
    loop at iTab where partner_fct = '00000015'.
      LOOP AT mTAB WHERE BUT051_PART = iTAB-partner_no2 .
       itab-busi_part = mtab-busi_part.
       itab-bp_full = mtab-bp_full.
       ITAB-R_PARTNER_GUID = MTAB-R_PARTNER_GUID.
      INSERT  LINES OF mTAB INTO iTAB.
       modify itab transporting busi_part bp_full r_partner_guid.
        endloop.
    endloop.
    sort itab by busi_part descending partner_no2.
    delete itab where object_id = ' '.
    loop at ITab.
      LOOP AT KTAB.
       IF KTAB-GUID = ITAB-GUID.
        move Ktab-partner_no1 to itab-partner_no1.
       move Ktab-R_partner_GUID to itab-R_partner_GUID.
        move Ktab-RESP_EMPLOYEE to itab-RESP_EMPLOYEE.
        modify itab.
       ENDIF.
    endloop.
    endloop.

    Hi
    i will give you some tips to reduce the daya base load please apply that
    <b>Tips and Tricks</b>
    Optimizing the load of the database
    Using table buffering
         Using buffered tables improves the performance considerably. Note that in some cases a statement can not be used with a buffered table, so when using these statements the buffer will be bypassed. These statements are:
    Select DISTINCT
    ORDER BY / GROUP BY / HAVING clause
    Any WHERE clause that contains a sub query or IS NULL expression
    JOIN s
    A SELECT... FOR UPDATE
         If you wan t to explicitly bypass the buffer, use the BYPASS BUFFER addition to the SELECT clause.
         Optimizing the load of the database
    2.  Use the ABAP SORT Clause Instead of ORDER BY
    The ORDER BY clause is executed on the database server while the ABAP SORT statement is executed on the application server. The database server will usually be the bottleneck, so sometimes it is better to move the sort from the database server to the application server.
    If you are not sorting by the primary key ( E.g. using the ORDER BY PRIMARY key statement) but are sorting by another key, it could be better to use the ABAP SORT statement to sort the data in an internal table. Note however that for very large result sets it might not be a feasible solution and you would want to let the database server sort it.
    Optimizing the load of the database
    3.   Avoid the SELECT DISTINCT Statement
    As with the ORDER BY clause it could be better to avoid using SELECT DISTINCT, if some of the fields are not part of an index. Instead use ABAP SORT + DELETE ADJACENT DUPLICATES on an internal table, to delete duplicate rows.
    Additional Info
    Use of CONTEXT can highly optimize the code.
          Context can be created using Context Builder (SE33)
         Context advantages:  - no double fetch by DEMAND: 1. fetch, 2. get from buffer  - more performance (best SELECT-statement)  - better survey of code
    Use of PARALLEL CURSOR  increases the Performance to a great extent.
    INDEXES help to speed up selection from the database. The primary index is always created automatically in the SAP System. It consists of the primary key fields of the database table. If you cannot use the primary index to determine a selection result (for example, WHERE condition may not contain any primary index fields), you can create a secondary index.
    Optimal number of indexes for a table  You should not create more than five secondary indexes for any one table because:
    Whenever you change table fields that occur in the index, the index itself is also updated.
    The amount of data increases.
    The optimizer has too many chances to make mistakes by using the 'wrong' index.
             If you are using more than one index for a database table, ensure that they do not overlap.
    reward if useful

  • Database access code in objects constructor, or in data access object

    Given an object that is stored in a database, is it better to have the database access code in a constructor method, or a data access layer object? E.g. I have a Person class
    public class Person{
    int Id;
    String name;
    int age;
    }When I want to read a person's details from the database, I could use a constructor something like this:
    public Person(int id){
    Connection con = getDatabaseConnection();
    ResultSet rs = con.createStatement().executeQuery("Select name, age from person where person_id = " + id);
    rs.next();
    this.name = rs.getString(1);
    this.age=rs.getInt(2);
    }Or I could use a method in a data access object :
    public Person getPerson(int id){
    Person p = new Person();
    Connection con = getDatabaseConnection();
    ResultSet rs = con.createStatement().executeQuery("Select name, age from person where person_id = " + id);
    rs.next();
    p.setName(rs.getString(1));
    p.setAge(rs.getInt(2));
    return p;
    }It seems to me that the constructor approach has two advantages
    (1) the SQL code is kept in the relevant class (so if I want to add a field to Person, I only have to make changes to the Person class)
    (2) I don't have to have a setter method for each field
    Is one or other of these ways generally recognized as 'best practise'?

    malcolmmc wrote:
    But then, on the other hand, everytime a Person gains a new field that's two places you have to change it. if the persistence interface is written in terms of the object and uses ORM, I don't have to touch the implementation. all i have to do is update the object, the database, and the mapping - just like you and your home brew ORM.
    besides, so what? i'd fear the resource leak, bad layering, more difficult testing more.
    Actually lately I've used annotations to label setters with database field names and run a simple home brew ORM to convert rows into objects even when not using a more complex persistence manager.home brew ORM? why is that necessary when you can choose from hibernate, ibatis, jdo, jpa, etc.? that's just nuts.
    %

  • How to handle and manage a multi Database access in runtime with LCDS?

    Hello there
    I got several customer working with the same application and I wonder how,  with LCDS,  to manage  in a runtime a multi dataBase access; without creating a configuration "mxl" file in
    the folder catalina for each database.
    Indeed, each customer have their own dataBase, and so far, I did not find out how to avoid creating a config xml file in catalina for every single database; which force me to create as well for each customer a  folder application, since the name of the config file in catalina require a folder application to be ran under tomcat....
    Thus, my question is :
    Is there anyway to create only one configuration mxl file in catalina (in the server side) and then from the client side (application) let the user select its environment (meaning its database) to run the application.... this technic can be also used for multi database environment such as : Dev / Test / Prod   environment (or database) where the same application can access to.
    Please if any one have an idea or already delt with; just let me know, because I'm entering in a bootle neck and the situation is getting serioulsy critical....
    Regards

    Hello Ulrich,
    with compact and repair I mean the MSAccess function "Compact and Repair".
    Please follow the link below for more details:
    http://office.microsoft.com/en-us/access-help/compact-and-repair-an-access-file-HP005187449.aspx
    Normally you can execute this function directly in Access or with the Windows ODBC Data Sources Administrator  => "Control Panel" => "Administrative Tools" => "Data Sources (ODBC)"...
     I want to execute this function via cvi code and not by hand ;-).
    Thank you for your support.
    Frank

Maybe you are looking for

  • How to edit the campaign when status is Approved & Released

    Dear All, I am using the User Status profile to controll all the status of the campaign. The status are as follows 1. Create 2. Accept by Dept1 3. Accept by Dept2 4. Accept by Dept3 5. Approve 6. Release When user clicks on status Approve & Release t

  • Unable to run Store Procedure based deski report in Infoview

    Hi All, I have a Deski report which is created using Store Procedure. I am able to run report in Full Client Deski. But I am unable to run / schedule same report thorough infoview. More details about report - Report uses 3 store procedures. When I ra

  • Sending email with attatchements

    hi everyone, Im having difficulties sending an email with an attatchment. Basically what im trying to do is send a web pages HTML along with 2 pdf files. The html i send should result in the email looking like a webpage with 2 files added as attatchm

  • Sapscript  convert to pdf

    Hi All , i want to convert sapscript to pdf . this is standart code  ,  i don't know very good sapscript. Thanks.. LOOP AT it7trg01 WHERE mark EQ 'X'.       CLEAR l_counter.       READ TABLE sirket WITH KEY begda = it7trg01-begda                     

  • InDesign CS6 for Mac v8.1 updater

    Manual download available?