Singel Table Maintenance Cookbook with ADF/Toplink

Hi All.
I've got a rather large project to do at the moment (with the usual impossible deadline), and my boss insists that we have to use at least toplink but preferably toplink with ADF Faces on top of it. All the examples that I've found however are of the master detail display type.
Are there any resources out there for showing how to do a single table maintenance type application using this technology? I have about 20+ tables of data that have to be maintained individually by various users for my system to work.
Any thoughts/ideas/wild speculations would be greatly appreciated.
Kind regards
Elmar Matthee
Stellenbosch University
South Africa

After you went through the tutorial, your next step is to read the ADF Developer Guide book on the same page (if you want a hard copy of this book you can get it on the oracle store, or just print the PDFs).
http://www.oracle.com/technology/products/adf/learnadf.html
There you will find things like adding validation and handling errors explained in more details.
And it will also explain how the "ton of code/xml/jsp pages that all interact in very misterious ways" actually work and what each file is doing.
Basically the xml files describe to the framework how your data controls are structured and also how your pages use the data-controls. These XML files are what saves you all the coding.
Regarding changes in the database, if you are using ADF Business Components then there is a reconcile with database option for your EOs. If you are using TopLink you'll need to manually add/remove the new column to the class and then use the mapping editor to update its mappping to your database object.
And I don't think your assesment that the development environment is very fragile is true. We have many customers using this environment to build production applications, so if you have a specific bug you that you encountered we'll be interested to know what it is.

Similar Messages

  • Table maintenance generator with radiobuttons

    Hello,
    how can I automatically (via se11: table maintenance generator) generate from a DDIC-structure the radiobtton-fields on a dynpro?
    If I use the domaine 'X' or 'XFELD', I only get checkboxes....
    kind regards

    Hi,
    Table Maintenance Generator will create the Z Screens.
    In order modify those Z screens go to SE80 and give the
    Function group for that table maintenance generator.
    Then to find the function group go to sm30, give the table name and click on display. It show a screen with table control. Click on System -> Status .
    It gives you the Z screen information.
    Give that Z screen in SE80 and do the changes accordingly.
    I hope it helps you.
    Regards,
    Gopi

  • Table in form with adf 11g

    how can i create table inside a form with two column like the login screen and bind the username and password column
    Edited by: user603350 on 2011/12/31 3:53 PM

    Duplicate of {thread:id=2327701}
    Please don't post your questions multiple times.
    Timo

  • Transporting table maintenance (se54 entries ) in a requst,

    Hello,
    I transported a table to another system. But it seems that the table maintenance associated with that table is not transported. How to transport entries in se54 (tagle maintenace) for a given table in a request.
    Regards,
    Jainam.

    Hi,
      Use transaction SE09 to see  the transport request created for the migration . use the display task for that transport & check if there is an entry for table maintainence for that table. It should be of  like below.
    R3TR TOBJ Table nameS
    hope this helps.
    -Vinita

  • Include a field in the table maintenance generator

    Hi All,
    There is a Z table with MATNR and another numeric field and the table maintenance generator exists for the table. The requirement is to include another field for MAKTX ( Material description) in the table maintenance generator with input disabled. Is it possible to do the same in the table maintenance generator else please suggest me the best solution.
    Thanks in Advance.

    Hi Srinivasa,
    This is quite simple, first add the field MAKTX into the Table and activate it .
    Now again generate the Table maintainence for the table.
    from Table maintainence generator go to the main program
    there click the screen maintained for Table maintainence generator .
    in the Pbo of the screen write the following code.
    assume table name is table1.
    Loop at screen.
    if screen-name = table1-maktx.
    screen-input = '0'.
    modify screen.
    endif.
    endloop.
    this will automatically disable the material description field in the Table Maintainence Generator.
    This is will solve your problem
    Regards,
    Madhavi

  • What is Table Maintenance Allowed ?

    What is the Table Maintenance Allowed in Table attributes... And where it is utilized in practical environment ?

    Hi,
    The option Table Maintenance allowed with restrictions means -
    Display/maintenance is allowed to limited extent.
    Usage of standard table maintenance tools is allowed to a limited extent:
    -   Transaction SE16 allows the display function for this
        table/view, but no maintenance.
    -   Generation of a maintenance dialog for this table/view is
        possible through transaction SE54.
    -   Transaction SM30 does not allow maintenance and display
        functions for this table/view.
    For more information about what the other two options mean, just place your cursor on that field and click on F1.
    No, the maintenance is only for the table's contents (data).
    If the table is allowed for maintenance, then the user will be able to go to the SE16 / SM30 transaction and change / delte the contents of the table. So, we would generally use the Authorization concept to see to it that this does not happen. But even if the user is not able to change anything in SE16, it simple doesn't make sense to make the table table with transaction data maintainable.
    If you change the data element and / or domain of the table fields, then you will have to use the <b>database utility</b> (you can find this under the Utilities menu). The database utility takes care of any possible data truncation etc., and will tell you whether this table can be altered.
    Strictly speaking, Table maintenance option is intended for the end-users. But in some cases, I have known the testing teams to enable the table maintainable and populate it with various test data to test the functionality for various cases. Finally, when they are through with testing, the table maintenance is again disallowed and the table is delivered to the production system. This might be desirable because when the table is newly created in the development environment, it would not be having any data in it. so we might have to create some data in it ourselves for testing purposes.
    Hope that is clear.
    Regards,
    Anand Mandalika.

  • ADF Toplink Create Row with foreign key

    Hello,
    I'd like to create a new row in a table that has a required one-to-one mapping relationship (foreign key). I've created an edit form by dragging the return node of a readQuery. The columns holding foreign key values aren't added to the page(because of 1-1 relationship) and when I commit the changes errors are raised.
    How do I pass the foreign key to the ADF Toplink framwork to include in the insert statement.

    TopLink's persistence model is based around relationships, which represent FKs. To have these FKs properly populated you need to create the corresponding object relationships.
    To do this you need to create a data action that will invoke a method on your class passing in the object you want to create the relationship with. There is currently an issue where ADF will not allow you to easily drop a set method onto an action. You will need to create a method on your bean that does not start with 'set'.
    In the demos I have done I have added a method like 'populateAddress(Address)' that internally calls the set method. This populate method will show up on the data control palette and you can then drop it on the action in your page flow.
    One additional tip: To access the object you want to pass in you will need to extend the default expression that reflects the current selected row in the iterator to have '.dataProvider' appended. This accesses the persistent object within row container.
    If you are still struggling please contact me through the email address in my forum profile.
    Doug

  • Problem with ADF Table and doDML method.

    HI,
    I have a problem with ADF Trinidad Table. I have one search form and which i click on search button the result is coming it's working fine, And when i click on CreateInsert button to insert a new row it's adding after entering all the data into the table when i click on button on the page i am getting error like
    Messages for this page are listed below.
    Error     
    Missing mandatory attributes for a row with key oracle.jbo.Key[1 ] of type AppModule.CmSubscribersView1
    Error     
    Attribute Name in AppModule.CmSubscribersView1 is required
    Error     
    Attribute CreatedBy in AppModule.CmSubscribersView1 is required
    Error     
    Attribute CreationDate in AppModule.CmSubscribersView1 is required
    Here Created By and Creation Date are not available in the table i need to set these data from back end for that i have used doDML() method in the entity object and i written the logic but this method not even invoking as i couldn't able to see the logs in the server.
    protected void doDML(int operation, TransactionEvent e) {
    super.doDML(operation, e);
    System.out.println("^^^^^^^^^^^^^^^^66666Inside entity object^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ");
    // AppModuleImpl am=new AppModuleImpl();
    // Number userID= am.getUserId();
    //System.out.println("User id in the Entity Object Is: "+userID);
    oracle.jbo.domain.Date dt = new Date();
    if(operation ==DML_INSERT){
    EntityDefImpl cmSubscribers=CmSubscribersImpl.getDefinitionObject();
    CmSubscribersImpl newSubscribers=(CmSubscribersImpl)cmSubscribers.createInstance2(getDBTransaction(),null);
    Number n=new Number(1599);
    newSubscribers.setCreatedBy(n);
    newSubscribers.setCreationDate(dt);
    newSubscribers.setLastUpdateDate(dt);
    newSubscribers.setLastUpdatedBy(n);
    But still the same problem can any one help me inthis.
    Regards,
    Edited by: user5802014 on Aug 21, 2009 2:04 PM

    Hi,
    Modify your method to call super.doDML() after initialization of mandatory attributes as below:
    protected void doDML(int operation, TransactionEvent e) {
         oracle.jbo.domain.Date dt = new Date();
         if(operation ==DML_INSERT){
              //PRE-INSERT code begins     
           EntityDefImpl cmSubscribers=CmSubscribersImpl.getDefinitionObject();
           CmSubscribersImpl newSubscribers=(CmSubscribersImpl)cmSubscribers.createInstance2(getDBTransaction(),null);
           Number n=new Number(1599);
           newSubscribers.setCreatedBy(n);
           newSubscribers.setCreationDate(dt);
           newSubscribers.setLastUpdateDate(dt);
           newSubscribers.setLastUpdatedBy(n);
           //PRE-INSERT code ends
           super.doDML(operation, e);
           //POST-INSERT code if any
         }else
            super.doDML(operation, e);
    }Sireesha

  • Delete data with table maintenance generator

    Hi All,
    I have created custom table ZXXX and table maintenance generator.
    I need to maintain data but delete them too. I can update and modify data but how can I delete them ?
    Thanks for your answers !
    Best regards,
    Sandrine

    ok, I found  ..
    I created an internal table to delete the content of my table ZXXX :
    DATA : ws_zxxx TYPE zxxx OCCURS 0 WITH HEADER LINE.
    select * from zxxx into CORRESPONDING FIELDS OF TABLE ws_zxxx
    DELETE zxxx from table ws_zxxx.
    commit work.
    it works !
    thanks all !

  • Problem with the regeneration of Table Maintenance

    My Scenario is like this.
    I have to add a Long Description with a length of 4000 Charecters. For this I have created in my Z TAble ZINT  INT2  5  and ZZLONG_DESC  LCHR  4000. I have activated the ZTABLE. I have Adjusted & Activated the Database by using Data Base Utility. I have regenerated the Table Maintenance (SM30), here my concern is I am not able to see the ZZLONG_DESC Field for Value Entry. I have seen all other Fields are ready for input, except this field. How do you achieve this.
    What ever I will type in ZZLONG_DESC, when I say SAVE it should be available in ZTABLE.
    How to read the Long TExt for 4000 charecters, is it possible using the Function  Module "READ_TEXT".  Please suggest me.
    Thanks & Regards,
    Sivaram Kandula

    Hi Sivaram,
       Yes, there is a problem with fields of long lengths. But, can I know exactly what type of table maintenance u have generated? Is it a one step or a two step? I suggest you to go ahead with creation of two step table maintenance. Then you will definitely see that in the second screen means, when you click on "New Entries" you should be able to see it. Plz have a try at this and let me know with the update. Hope this should work out.
       Otherwise, better to go with Text table concept. Hope you got it.
    Thanks,
    Adithya K
    SAP Practise.
    Note:  Reward points for the helpful answers.

  • Problem with table maintenance allowed

    hi,
    here my problem is table is genarated and stored under local object that time i m creating function group is zabc. afterwards i m storing my table in my development class that time it is not possible to change function group in table maintenance genarator plz help me any one knows.
    what is the exact use of table maintenance generator i m using this for ztables and i m going to screen painter i m adjesting the fields.what is the exact use of it.

    Hi,
    1) You may delete the function group assignment and re-assign another one in change mode
    2) The use of table maintenance generator is to provide users with a screen to maintain data in the table. If the data is not going to be populated by any users then there is no need for it. Transactions will automatically populate the data in the background
    3) One can access the maintenance screen by going to SM30 or can assign your own transaction code to access it
    Hope it helps.
    Raj
    Reward points if helpful

  • Problem with adf tables in dynamyc region

    Hello.
    I have a problem when use ADF tables within dynamic regions. It happens that if the table is inside the first task flow that is loaded (by default) in the dynamic region, retrieves the data perfectly, but if the table is in a second, third and so on. task flow, does not retrieve data. This happens only with adf tables and graphics, if I use a component form, for example, does not present any problem.
    Any idea that can be happening?
    I'm using Jdveloper 11.1.1.1.0
    Appreciate any ideas or help with this problem
    In iexplorer 8 gives the following error:
    Detalles de error de página web
    Agente de usuario: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)
    Fecha: Wed, 2 Dec 2009 16:17:48 UTC
    Mensaje: 'null' is null or not an object
    Línea: 1105
    Carácter: 2
    Código: 0
    URI: http://seisbd101.dgac.cl:7001/SGLadf-ViewController-context-root/afr/partition/ie/default/opt/collection-11-r1.js

    Hi,
    set the managed bean scope for the bean that switches between the regions to a scope larger as request: for example, set it to viewScope or pageFlowScope. This fixes the problem
    Frank

  • Error with the table maintenance screens

    Hi Experts,
    I have created a maintenance view for two tables. The first table has only one field, which is the primary key. The second table is the text table for the first table, where the description of the primary key is maintained. Initially after creating the table maintenance for these two tables, all the fields were comming correctly. The first table showed only one field in the SM30 and the second table showed all fields in SM30(primary key, its description and the language key). The table maintenance was later deleted and regenerated, due to some changes in the table. After regenerating the TMG it is seen that the first table shows all the fields in SM30 same as the second table. I feel the function group program is not getting refreshed. Is there any method to regenerate the function group.
    Thanks in advance.
    Regards,
    Anu.

    Hi Dhina,
    I deleted the TMG for both the primary table and the text table, but when I check in SE16 I still find all the fields in the primary table just like the text table.
    My first table has
    MANDT
    EDUCATION_TYPE
    My second table has
    MANDT
    LANGU
    EDUCATION_TYPE
    DESCRIPTION
    I have create a maintanence view joining the above two tables(with the following fileds MANDT, EDUCATION_TYPE, DESCRIPTION), and deleted the table maintenance of the above tables. But still when I check the first table in SE16 I can see fields MANDT, EDUCATION_TYPE, DESCRIPTION.
    What is the problem with the table maintenance?
    Any idea?
    Thanks
    Anu.

  • Need to create Table Maintenance with more than 400 characters

    I need to create table maintenance in which one filed have more than 400 characters. CHAR type support between 1-255 & STRING type not supported by Table Maintenance. Is there any alternative type or solution for that?

    Hi,
    If  you assign TMG to the table, it will throw error as unable to display the field on screen. why because it can able to display upto 255 char length only.
    For this requirement you have 2 solutions :
    1) Create multiple fields and your Z table, split the data and store them as required.
    2) Create a TEXT ID and store it as a long text using FM CREATE_TEXT.
    or
    This type of text should be treated as Long Text.
    And the steps are:
    1. Create Text Object Using SE75.
    2. Create Text ID Using SE75.
    3. Now you have to Save the text with FM SAVE_TEXT.
    For example:
    The Most simple solution for it can be that Divide the field REMARKS of size 1000 in multiples of 200 characters like REMARK1, REMARK2....REMARKn.
    Now you can create two FMs :
    zset_data: To Store 1000 char long data in Table
    Here you will divide the data of Variable (type char1024) in multiples of 200 and will store in REMARK1, REMARK2.....
    zget_data: To Get 1000 char long data back from Table
    Here you will concatenate REMARK1, REMARK2..... and will store in Variable of Type char1024.
    This is the best solution if Table is not going to be maintained by Table Maintenance Generator.
    regards,
    ravi

  • Table Maintenance Generator-Before Delete event not working with sort

    Hi All,
    I have requirement to sort the TMG for a custom table with non primary key and also to put condition for deleting entries, so that only specific entries can be deleted.
    I did the sorting by adding MODULE SORT in the PBO of the Screen and providing the logic to sort EXTRACT and TOTAL tables with the required field. This is working correctly.
    Also I used BEFORE_DELETE (Event 03) to unmark all entries selected, which is not satisfying the condition. This is also working as expected.
    But, though they are working independently, these changes are not working together.
    Please help me in resolving this issue.
    Thanks,
    Savitha

    Hello,
    Read my answer on this thread :
    Maintenance View with Subset Fields
    I think It can help you about finding examples for table maintenance events
    and solution to your problem.

Maybe you are looking for

  • Inserting apostrophe into a table

    im trying to insert a word with the apostrophes still around it e.g 'word' to appear like that in a table, can someone let me know how i can do this?

  • ODBC Trouble

    Hi, everyone. I'm sure you've seen this type of thing before but I'm new to this and can't figure it out. Synopsis: I'm developing pages for php, have installed and configured MySQL, have installed and configured ODBC driver for MySQL, installed and

  • Using stand alone executables to send data to the parallel port

    I have a executable that uses the parallel port to activate an alarm. The program works well on the base machine which is running windows XP. However when I try to run the stand alone executable on a windows NT machine there is nothing sent to the pa

  • Huge project in Premiere Pro CC

    Hi, I'm currently working on a really big project, with dozens of thousands of raw media files in HD (different formats, too) to be imported into the project, amounting to tens of Tb's in total. Of course, the project will be split in many short sequ

  • Loading php variables into flash 8

    i'm trying to load some vars into flash 8. i tried loadvariables, loadvariablesnum, loadvars, google. can't figure it out. 2 years ago when using flash mx trying the same thing, the line: loadVariablesNum("file",0); was enough to do the trick. but in