Java Dictionary or ABAP tables

Dear all,
Can anybody tell me when to make use of Java Dictionary?
I've seen different projects that make use of ABAP tables as well as Java dictionary to store data. But what will be the criteria to decide which one I should choose for  my data persistence?
For example, I've a requirement at my hand, which will have huge data transfer per day & the number of records in the table will be in lacs. Where will I persist my data in Java dictionary or ABAP tables?
What are the pros & cons of each?
Regards,
Aparnna

Hi
Sir as your question : I wanted to know the pros & cons of using Java Dictionary (Dictionary DC) as well as ABAP tables ?
Please try to understand both are different things in their context , OK let me try again
1.  Java Dictonary is used used to define the table structure its data types and  used for portal database if it is small/ lightweighted.
2.ABAP table is again for defining the structure , datatypes , which is used in RFC/BAPI.
3. When to use what or Pros & Cons
Java supports more models (Javabeans, web services, adaptive RFC, and XMI) . Data Dictonary is common every where  ,OK
Compared to the function module model in  ABAP,
(so u can think like this that  ABAP tables are base in SAP environment to define metadata of the databse , Similar concept java has implemented using data dictonary)
There is nothing comparable because both have their own purpose to serve, except Java Dictonary are mostly use for small project or if project involvment is only in Java., where as ABAP table has no limit .
and ,
Second thing is both has code wizards to generate the metatdata after definition.
Best Regards
Satish Kumar

Similar Messages

  • Java Dictionary Project with Tables already Existing

    Hi@all,
    is there a possibility to define a Dictionary Project in Developer Studio with Database Tables already existing? I tried to rebuild them manually in a project though there is no import possibility.
    But it doesen't seem to work with the frameworks requiring Java Dictioniary such as CMPs and SQLJ
    Best
    Uwe

    I forgott to mention the AppServer: it is a WebAS with J2EE (4)
    Developer Studio 7.0.11
    WebAS 7.00

  • ZSD_TABLE is not defined in the ABAP dictionary as a table"

    Hello,
    I created zsd_table and inserted few records
    When i use this table in program system is giving error message "ZSD_TABLE is not defined in the ABAP dictionary as a table"
    How can we define this table in ABAP dictionary?
    Thanks

    Hi,
    Go to Transaction SE11
    Give the table name 'ZSD_TABLE'
    and click on create and enter the fileds
    after entering fields give 'techinical setting' for a table by clicking on technical setting button on tool bar
    save check and activate
    Regards
    Krishna

  • Differrences between structure and table in data dictionary in ABAP?

    What is the differrences between structure and table in data dictionary in ABAP?
    are they same?

    Tables :
    1. The place where the data is stored so that you can retrieve at any time.
    2. There can be more than one record stored
    Structures :
    1. The data / info stays only during the runtime of the application and will not get stored at all during the run time ....
    2. Only one record can be stored at the runtime .....
    A structure forms the skeleton of the table.
    A structure comprises components i.e., fields. Types are defined for the components A component can refer to an elementary type (via a data element or by directly specifying the data type and length in the structure definition), another structure or a table type. A structure can therefore be nested to any depth
    Tables can be defined independently of the database in the ABAP Dictionary. The fields of the table are defined with their (database-independent) data types and lengths.
    When the table is activated, a physical table definition is created in the database for the table definition stored in the ABAP Dictionary. The table definition is translated from the ABAP Dictionary to a definition of the particular database.

  • Java dictionary database table in web dynpro application

    Hi,
    I want to access java dictionary database table in my web dynpro application in java.
    Right now I have created one java dictionary DC.
    and in that Dc i have created two database table .
    Now I want to use this table in my web dynpro application.
    Can anyone help me.

    You can use the Dictionary Projects to create tables in Database. You must use codes to access these database tables that is created using Dictionary projects.
    You have to use the DataSource in order to get connection ; Use Visual Administrator to see the data source name.
    You can use the following code to access the database table.
    ResultSet result = null;
    try
         InitialContext initialcontext = new InitialContext();
         DataSource datasource = (DataSource)initialcontext.lookup("jdbc/<DataSourceName>");
            Connection connection = datasource.getConnection();
         Statement statement = connection.createStatement();
         result = statement.executeQuery( <Query>);
         connection.close();
    } catch (NamingException e) {
         // TODO Auto-generated catch block          
              e.printStackTrace();
    } catch (SQLException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
    Regards
       Vinod

  • Access ABAP Table using Java (NWDS/JCO)

    All,
    I am trying to setup a jco connection from java program through NWDS to ECC abap table.
    However I am getting the following error in NWDS:
    Exception in thread "main" java.lang.ExceptionInInitializerError: JCO.classInitialize(): Could not load middleware layer 'com.sap.mw.jco.rfc.MiddlewareRFC'
    JCO.nativeInit(): Could not initialize dynamic link library sapjcorfc [C:\Program Files\Java\jdk1.6.0_45\bin\sapjcorfc.dll: Access is denied]. java.library.path [C:\Program Files\Java\jdk1.6.0_45\bin;.]
    and a parity error on my system:
    "Parity blocked an attempt by javaw.exe to run sapjcorfc.dll because the file is not approved.  If you require access to this file, please contact your system administrator.  Scroll down for diagnostic data."
    Here is the Java code...per the SAP website:
    package com.sap.pi.updateAbapSxmbAdminParams;
    import com.sap.mw.jco.*;
    public class ReadPiAbapTables {
      private static JCO.Client theConnection;
      private static IRepository theRepository;
      public static void main(String[] args) {
       createConnection();
       retrieveRepository(); 
       try {
        JCO.Function function = getFunction("RFC_READ_TABLE");
        JCO.ParameterList listParams = function.getImportParameterList();
        listParams.setValue("BSAUTHORS", "QUERY_TABLE");
        theConnection.execute(function);
        JCO.Table tableList = function.getTableParameterList().getTable("SXMSCONFVLV");
        if (tableList.getNumRows() > 0) {
         do {
          for (JCO.FieldIterator fI = tableList.fields();
          fI.hasMoreElements();)
           JCO.Field tabField = fI.nextField();
           System.out.println(tabField.getName()
             + ":t" +
             tabField.getString());
          System.out.println("n");
         while (tableList.nextRow() == true);
       catch (Exception ex) {
        ex.printStackTrace();
      private static void createConnection() {
       try {
        theConnection = JCO.createClient("aaa", "aaa", "aaa", "aa", "aa", "aa");
        theConnection.connect();
       catch (Exception ex) {
        System.out.println("Failed to connect to SAP system");
      private static void retrieveRepository() {
       try {
        theRepository = new JCO.Repository("saprep", theConnection);
       catch (Exception ex)
        System.out.println("failed to retrieve repository");
      public static JCO.Function getFunction(String name) {
       try {
        return theRepository.getFunctionTemplate(name.toUpperCase()).getFunction();
       catch (Exception ex) {
        ex.printStackTrace();
       return null;

    Hi Vicky,
    You need authorization to the S_TABU_DIS object, talk with the ABAP basis team about this to find the more restrictive role.
    It's not a good idea to use the RFC_READ_TABLE, for the wide permissions needed. You could think to develop a Z RFC for this.  You can check pros/cons in this document: http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/a83ec690-0201-0010-14ac-bd1d75e24a7d?overridelayout=t…
    Regards.

  • Access ABAP table in Webdynpro Java application

    Hi All
    Is it possible to access ABAP table in Webdynpro Java application
    Please provide your input
    Thanks
    Karthi D.

    Hi you will connect to the remote SAP system, the
    backend, using an Adaptive RFC MOdel. To access database tables, you can make use of existing functions in terms of RFC function modules. For each function module you need, the system generates a corresponding Java proxy class. All the generated proxy classes and interface are bundled together in the RFC model and treated as part
    of your Web Dynpro project
    In WebDynpro java you RFC by using Model :
    Adaptive RFC Model
    1. automatically adapts to changes in function module signature
    2 provides support for data types and extensibility
    3.support for different structure definitions in different backend
    systems (release dependent structures, custom adaptation)
    Basic principles and guidelines
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/11c3b051-0401-0010-fe9a-9eabd9c216de
    See this blog
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/wdjava/faq%2b-%2bmodels%2b-%2badaptive%2brfc
    http://help.sap.com/saphelp_nw04s/helpdata/en/6a/11f1f29526944e8580c5e59333d96d/frameset.htm
    Thanks,
    Tulasi

  • Problems with Java Dictionary Tables

    Hi Experts,
    I have some problems with the Java Dictionary tables that I have created for my
    application. There are around 15 dictionary tables, each one of them having
    several hundred records, added in due course.
    As much as I understand these tables (created using the dictionary perspective)
    are stored in the default schema of the J2EE engine where the dictionary project
    is deployed and there is no direct way to insert records into these tables, we have
    to separately write methods to insert, update and delete records.
    I've already done this. Now the problem is that i have moved my project DC from
    development to testing. Now here the tables are existing, but not the data that i
    inserted during development.
    NOW, the main question: IS THERE ANY WAY IN WHICH I CAN TRANSFER
    THE CONTENTS OF THESE JAVA DICTIONARY TABLES??
    I have tried solutions like creating a DBLINK between the databases, but it is
    tedious, and unpredictable in behaviour. Also Please do not advise to first
    download them to excel and then upload using jxlapi, etc.
    Thanx in Advance.
    Alka.

    Hi Alka,
    The dblink is a good solution, but just a bit slow. You can also use a SQL Loader, first export the data from the source table in a text file (i.e. using a tool like TOAD), then sql loader loads the data in the destination table. This is more fast.
    Hope this help,
    Vito

  • How to save data from a server log to the java dictionary table?

    Hi,
    I need a java dictionary and a program which will read data from the log file and save records into tables.
    Can somebody help how to achieve this? Please help!
    Thanks & regards
    Amita

    Hi folks, Give some inputs here....
    Thanks & regards
    Amita

  • Access ABAP tables using NWDS Java Code

    All,
    I am planning to write a program to autmatically update is_url entries in sxmb_admin using a Java program.
    Is there a way we can access the ABAP tables using standalone Java Code? would it something like dblookup that we use in the mappings?
    Your Thoughts....
    Thanks.

    Hi Vicky - Interesting..Seems like you are trying to automate every single thing
    However you can make use of Jco to connect to ABAP tables..
    Check the below thread..
    Help on accessing tables of SAP from the Java Application
    I assume the table name is "SXMSCONFVLV" which you might have to update but not sure..

  • Java dictionary table access

    HEllo all,
    I have to access a table created using the java dictionary perspective . I know how I do it by means of creating an ejb and sharing a reference.
    But how do i acess the table if i have to do it using the jsp dynpage model.
    Thank you

    Hi,
    do you use JSP or Web Dynpro?
    - In JSP the procedure is the same as with EJB
    (lookup the jdbc data source via JNDI, using a resource reference you map to the jndi name in deployment descriptor)
    View an example "Getting Started With Open SQL) existing in the examples folder of your SAP NW Developer Studio,
    and the corresponding tutorial in the Docu:
    http://help.sap.com/saphelp_nw04/helpdata/en/bd/b127af68234e868cfd4e9f440aa0bf/frameset.htm
    - In Web Dynpro resource references are not available so you use the JNDI name of the data source in the lookup string.
    Regards, Katharina

  • Deleted Tables in Java Dictionary

    Hi all,
    I have deleted a table within the Java Dictionary. The documentation tells that it is not possible to reuse the name of a deleted table.
    But unfortunately i have to reuse this name. So my question is:
    Is there any possiblity to undelete the table or to reuse the name?
    Thanks in advance....

    Hi Florian,
    the creation of Java dictionary projects is checked against the name server. That is the reason why you cannot re-use the name just after the deletion of the table, as it could be possible that this table is already transported and re-used in another project.
    If you really know that this table name is not used somewhere else, you can remove the name reservation. This has to be done in the SLD that acts as the Name Reservation Server (in most cases it's the SLD that you also use for creating your SCs).
    There, go to the section "Name Reservation" and have a look at the reserved names of type "DB table". Delete the desired entry.
    Then you only have to restart the NWDS, as this is chaching the info from the name server. 
    On the DB, there is no issue re-using the table. But you have to keep in mind that this will result in a drop of the existing table with all the data before it is recreated.
    Best regards,
    Timo

  • Java Dictionary Primary Key

    Hello,
      I'm creating some database tables in the Java Dictionary on Web AS 6.40.  What is the best way to create unique identifiers for the primary key of these tables?  In ABAP Dictionary you would use a number range.  Is there an equivalent or other technique for the Java Dictionary?
    Thanks,
    Dustin

    Hi Dustin,
    the best way is if the logic of your data represent a primary key. If your central data object for example is a project, it will have a project number, and this is unique, so predestinated to be the primary key. If a customer has an order for this project (maybe the project is handled via two or three single orders), you will have an "order" table. For single customers having unique order IDs, the combination of the customers order id and the project id (foreign key) are predestinated to be the primary key.
    If such a logic does not work, it's up to you to implement something (automatic PK generation does not work with the Java Dictionary). A number range seems to be ABAP... I would prefer a PKGenerator, for example generating them out of a combination of timestamp and random number or chars (sure, managing that the generated keys are unique).
    Hope it helps
    Detlev

  • Error while saving date value in Java dictionary

    Hello Everybody,
    I got following error while saving date value in one of the fields of the Java table.
    Internal error occured in submit request: Error in method updateRequestContact : The object of type java.sql.Date with the value '2005-12-04 08:00:00.0' assigned to host variable 9 is not normalized. It must not contain time components in the time zone running the virtual machine.
    I can't find why it is taking time value in the date object.
    This value is coming from the RFC as a date value, and I am saving this value in Java dictionary table.
    Same code for this was working fine earlier. But, now suddenly it gives error like this.
    Even if I provide date on the screen from webdynpro application, this date value can't save in the Java dictionary and gives same error.
    What should be the problem behind this?
    Regards,
    Bhavik

    Hi Satyajit,
    I am getting date value from the screen of the webdynpro application from date picker control and passing this value in Java dictionary.
    More Information:
    I have dat value in the Date object: <b>target_date</b>
    But Now I have made new Date object as following:
    Date target_Date1 = new Date(target_date.getYear(),target_date.getMonth(),target_date.getDate());
    Then I am passing this object to Java dictionary. Still it gives same error.
    Then I have changed code as following:
              int l_year;
              int l_month;
              int l_days;
              l_year = target_Date.getYear();
              l_month = target_Date.getMonth();
              l_days = target_Date.getDate();
         Date target_Date1 = new Date(l_year,l_month,l_days);
    Now it works for me.
    But I guess this is not the perment solution. It looks very strange. I have used so many date objects at various palces. So, this solution is not the final for me.
    I want to findout the main cause of it.
    One more thing: This code was working for a mornth or two. But, now suddenly it is giving this error.
    Please help me if anybody knows.
    Regards,
    Bhavik

  • VALUES NOT GETTING ADDED IN JAVA DICTIONARY

    HIII ,
    AM DOING AN APPLICATION IN WHICH I AM TRYING TO INSERT VALUES IN A TABLE(CREATED THRU JAVA DICTIONARY), USING EJBS(ENTITY BEAN AND SESSION BEAN) AND COMMAND BEAN..AND WEBDYNPRO....
        AFTER DEPLOYMENT EVRYTHNG IS RUNNING FINE BUT VALUES NOT GETTING ADDED IN THE TABLE...
    THE CODE FOR THE "ADD" BUTTON IS :
    wdContext.currentEmp_cmdElement().modelObject().add(wdContext.currentEmp_cmdElement().getEmpno(),wdContext.currentEmp_cmdElement().getEmpname());
    THE CODE FOR ADD function IN COMMANDBEAN IS
    public void add(String empno,String empname){
              try {
                     local.createdata(empno,empname);
                   } catch (Exception e) {
                        e.printStackTrace();}
    PLZZ DO HELP OUT!!!

    The message in simple English just means that "You are doing something really bad" !!! It is absolutely not the communication problem, but understanding problem.
    Though you may be executing the same function using SE37 or in the webshop application through JCo, the runtime context is different and without knowing what exactly your Z rfc is doing, it is very difficult to help. To start with, the userid - that is who is running the RFC is different in both situations. In SE37, it is the logon user and in the web, depending upon whether the connection is stateless or stateful, it could be the anonymous ICSS user or the logged in user. Here again, if you have used UME, it is the user id and if you have used ALIAS user, then it is the alias user id. This is just an example. Your runtime context can be different due to many other reasons too.
    So, to make this simpler - what is that you are trying to do?
    BTW, try not to create multiple threads for the same issue..

Maybe you are looking for

  • Custom Slide Size!!!

    Hi, I'm having trouble resizing a slide, and I was wondering if someone could help? I am using a custom size, and got it down to 1500 X 200, I need it to be 1500 X 125, but it won't let me reduce the height to that setting. Can anyone tell me why, an

  • Compatibility when using nested classes an templates

    We hit this problem when upgrading to from Workshop 4.2 to Sun WorkShop 6 update 2 C++ 5.3. This code compiles with 4.2 and MSVC6, but does not compile with 5.3. The compiler seems to get confused between the nested class typedef and template paramet

  • How to fix a song glitch that won't play?

    I'll try to keep this as brief as possible. I had to restore a backup because I accidentally deleted some photos. Ever since then my most recent iPod purchases will either not play or skip themselves whenever I try to play them. Long story short most

  • Media sync problem with BB LINK

    I've down every thing to make the BB LINK sync my media files(pictures,music,videos....) but it did not work.I've a mac and I instaled BB link several times, also I restore my BB z10 a few times then I instal BB LINK on my friends ps which runs WINDO

  • How do I edit R3D footage from my Red One and Epic?

    Log and transfer is gone.  Native support not available.  It says 4K on the website, but it won't edit 4K in the real world.