Object Oriented Databases

Has anyone had any experience with connecting Forte with an Object Oriented
Database (such as ObjectStore)?
Two things:
1. Impact on application architecture
2. Speed of database operations.
Thanks
Dan Parker
Michelin North America (Canada) Inc
902 753 1789
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.
This footnote also confirms that this email message has been swept by
MIMEsweeper for the presence of computer viruses.
The E-Mail System is to be used for business purposes only.
www.mimesweeper.com
**********************************************************************

Bump?

Similar Messages

  • Is oracle OODBMS (Object Oriented database management system)?

    Hello, All
    Is oracle OODBMS (Object Oriented database management system)? and if yes, please explain.
    I have query in my mind so, I just posted here.
    Regards,
    Rahul
    Edited by: Rahul K. Thakar on Nov 3, 2010 12:03 PM
    Edited by: Rahul K. Thakar on Nov 3, 2010 12:04 PM

    I believe the precise answer is that Oracle is ORDBMS (Object-Relational DBMS).For a brief period in time Oracle Corporation offered a product called Object Oriented Oracle (OOO).
    It was such a wonderous product that it was buried in the trash can of history when it did neither task very well.

  • Only oracle object tables to create object oriented database

    Can we use only oracle object tables for a database and if it can be done, can we create pure object oriented database with oracle. How it can be done?
    help..
    thank you..

    PriyashanthaHP wrote:
    I have no my own definitions for OODB. There are lot in the internet. I'm asking, can't we use that OODB concept with oracle. And gave you an example with 'employee' and 'department' tables. I asked that can we create object tables for these two tables keeping their relationship
    thank you..
    There is no way to answer that without knowing what YOU mean by OODB.
    See the database concepts doc
    http://docs.oracle.com/cd/B28359_01/server.111/b28318/schema.htm
    Nested Tables
    You can create a table with a column whose datatype is another table. That is, tables can be nested within other tables as values in a column. The Oracle database server stores nested table data out of line from the rows of the parent table, using a store table that is associated with the nested table column. The parent row contains a unique set identifier value associated with a nested table instance.
      Oracle Database Object-Relational Developer's Guidefor further information on nested tables
      Oracle Database Advanced Application Developer's Guide

  • Why generate object-oriented database schema

    Let me begin with an example:
    public class Base
    protected int id = 0;
    protected String name = null;
    public class Derived extends Base
    protected int type = 0;
    Derived class and Base class form an object-oriented inheritence. After
    using SchemaToolTask, the following table definition is generated :
    create table base
    id INT NOT NULL,
    name VARCHAR(255),
    PRIMARY KEY (id)
    create table derived
    id INT NOT NULL,
    type INT,
    PRIMARY KEY (id)
    Actually, RDBMS is ER-oriented. Every meaningful entity corresponds to a
    database table. But in this example, maybe "Base" has no any meaning, just
    for abstraction. So why we must generate this table ? Why cannot be
    configurated to just generate
    create table derived
    id INT NOT NULL,
    name VARCHAR(255),
    type INT,
    PRIMARY KEY (id)
    This will not only avoid join operation in SELECT, but also reduce the table
    size according to Base class.
    Thanks
    Liang Zhilong
    EMail : [email protected]
    Tel : (021)54235858-6650
    Fax : (021)54235800
    PhotonicBridges Co., Ltd.
    12F, 900 Yi Shan Rd., Shanghai 200233

    As I said, this is quite high on our project plans.
    On Wed, 25 Jun 2003 14:41:29 +0800, Liang Zhilong wrote:
    I believe your concern is reasonable. However, in our application, the
    operation you assumed( to find all base instances owned by class C) is
    rare, so it'll be useful if my suggested mapping is taken as an option.
    Moreover, we should not get better performance at the cost of worse
    database schema. Kodo should have enough capacity to optimize database
    operations. For example, to find all base instances owned by class C, kodo
    should issue a "SELECT col1, col2 FROM a UNION SELECT col1, col2 FROM b".
    "Stephen kim" <[email protected]>
    ??????:[email protected]...
    This sort of mapping is on our project plan but know that there a number
    of severe performance penalties that can happen with the mapping you
    describe. If you desire to lack the join, a flat-class mapping is the
    most efficient table structure.
    Take for example the multiple classes problem:
    base
    |_ A
    |_ B
    which would result in table a and table b. Now try to do an ordering
    query. You would issue 2 selects and then have to merge in memory. To
    do any relation join, again you multiply the number of SQL statements by
    the number of subclasses (e.g. to find all base instances owned by class
    C, you would have to query against a and b).
    On Wed, 25 Jun 2003 12:39:39 +0800, Liang Zhilong wrote:
    Let me begin with an example:
    public class Base
    protected int id = 0;
    protected String name = null;
    public class Derived extends Base
    protected int type = 0;
    Derived class and Base class form an object-oriented inheritence.
    After using SchemaToolTask, the following table definition is
    generated :
    create
    table base
    id INT NOT NULL,
    name VARCHAR(255),
    PRIMARY KEY (id)
    create table derived
    id INT NOT NULL,
    type INT,
    PRIMARY KEY (id)
    Actually, RDBMS is ER-oriented. Every meaningful entity corresponds to
    a database table. But in this example, maybe "Base" has no any
    meaning,just
    for abstraction. So why we must generate this table ? Why cannot be
    configurated to just generate
    create table derived
    id INT NOT NULL,
    name VARCHAR(255),
    type INT,
    PRIMARY KEY (id)
    This will not only avoid join operation in SELECT, but also reduce the
    table size according to Base class.
    Thanks
    Liang Zhilong
    EMail : [email protected]
    Tel : (021)54235858-6650
    Fax : (021)54235800
    PhotonicBridges Co., Ltd.
    12F, 900 Yi Shan Rd., Shanghai 200233--
    Steve Kim
    [email protected]
    SolarMetric Inc.
    http://www.solarmetric.com
    Steve Kim
    [email protected]
    SolarMetric Inc.
    http://www.solarmetric.com

  • Is Berkeley an object-oriented database?

    As the subject described, please help me to understand if the Berkeley is an object-oriented, or a data structure based database.

    Hi Kevin,
    A Berkeley DB database is like a relational table. Data is stored as key/data pairs and a key/data pair (a record) is similar to an RDBMS row with a primary key.
    What Berkeley DB is not: http://www.oracle.com/technology/documentation/berkeley-db/db/ref/intro/dbisnot.html
    What is Berkeley DB: http://www.oracle.com/technology/documentation/berkeley-db/db/ref/intro/dbis.html
    Do you need Berkeley DB?: http://www.oracle.com/technology/documentation/berkeley-db/db/ref/intro/need.html
    Bogdan Coman

  • Sites on Object Oriented Databases??????

    Hi
    I want some help on OOD. Please recommend some sites on this topic.
    Thanks

    Amjad,
    Oracle database is an Object-Relational Database. In addition to relational functionality, Oracle8i and 9i also provide Objects features with user-defined types, type inheritance, as well as corresponding language APIs in Java, XML, C/C++, PL/SQL, and VB. You can check out the documentation at http://download-west.oracle.com/otndoc/oracle9i/901_doc/appdev.901/a88878/toc.htm. You can also posted your questions to'Oracle Objects' forum.
    Regards,
    Geoff

  • Object Oriented Databases and entity beans?

    Does one of the authors care to comment on the benefits of using OODBMS models versus RDBMS models for entity beans? Any differences between BMP and CMP in this scenario?
    Thanks!
    Peter

    Bump?

  • Can I develop a 100% Object Oriented DB with Oracle 11?

    Hello!
    I want to know if I can develop a 100% object oriented data base in Oracle 10g or 11? I have reed the "Oracle Database 11g The Complete Reference" chapter 41 "Advanced Object-
    Oriented Concepts" and I still have the doubt if I can implement a database 100% object-oriented. I hope you can help me.
    Thanks!

    >
    I want to know if I can develop a 100% object oriented data base in Oracle 10g or 11?
    >
    The short answer is no.
    See this AskTom blog for the long answer.
    http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1545206281987
    It starts off with Tom saying
    >
    First off, in Oracle you would be considering pure relational versus Object RELATIONAL,
    not OO. We have object relational extensions to the relational database. We do not have
    an object oriented database.
    >
    I think you will find a lot of infomation in there from Tom and other respondents about the differences between relational, object relational and object oriented.

  • Can I develop a 100% Object Oriented DB with Oracle 10g?

    Hello!
    I need to know if I can develop a pure Object Oriented Data Base? because I have been looking for this information, and I just found Oracle's arquitecture is oriented to relational object model.
    Thanks!
    Edited by: 925803 on 05-abr-2012 10:39

    Dear "925803",
    1) You're asking this question in the Oracle Application Express discussion forum - not really related to generic Database questions. This Database forum may be more suited: General Database Discussions
    2) The Oracle database is not an object-oriented database.
    Joel

  • Object Oriented? Or Not?

    Perhaps the way I raised this question would be peculiar for you as I'm a newbie!
    I'm willing to use oracle object oriented programing for my applications, and some senior people(work in my organization) told me that Object oriented database concept is failed in the industry. As a reason they say that; even if Object oriented databases solved some problems people had with relational databases, still Object oriented databases are failed to facilitate most of the advantages of relational databases. It's somewhat chaotic for me, as I'm new to PL developments.
    They didn't mention any specific reason; but just told me that relational databases perform well and faster than object oriented databases, and for business logic, object oriented databases has some accuracy issues.
    But I'm not ready to accept that it will be useless to learn 'Oracle Object Oriented Programing' or 'Object Oriented Database Concept' would be failed.
    So I need to know,
    1. Will it be useless to learn & use 'OOP' techniques when learning PL/SQL programing?
    2. Is there any disadvantage of using 'OOP' with oracle? (If there is any, please let me know if you have time for that).
    Especially, (The most pleasing answer I would like to hear from you ;-) )
    3. If Object Oriented Databases concept is better and something that a "PL/SQL" developer must learn; please let me know that.
    Please provide me a link if you can, which would help me to learn why should we use 'OOP' with oracle (if Object oriented database is better than Relational database)

    Intruder wrote:
    So I need to know,
    1. Will it be useless to learn & use 'OOP' techniques when learning PL/SQL programing?No. OOP has very little do with relational database design. The two is not mutually exclusive and can co-exist easily.
    2. Is there any disadvantage of using 'OOP' with oracle? (If there is any, please let me know if you have time for that).That depends on how+ you use it. If OOP was truly horrible and bad, then why does Oracle spend money on the research and development on it for their RDBMS product?
    Especially, (The most pleasing answer I would like to hear from you ;-) )
    3. If Object Oriented Databases concept is better and something that a "PL/SQL" developer must learn; please let me know that.OOP is not Object Orientated Database. These are two very different concepts. OOP competes with procedural programming. Object Orientated Database design competes with Relational Database Design (and others of course).
    There are two primary issues with an Object Orientated Database design. Complexity. Performance.
    Do you for example store the subclasses of the same abstract class in the same physical object table? You can do that in Oracle.. but then the database need to resolve the class type at run-time.. every single time.. for every single object accessed... At what cost ito performance?
    How do you treat collection classes? A collection can be stored as a physical table. It can also be stored as an attribute (column) of an object (table) - in which case the physical implementation for that is a nested table. There are dire performance issues with nested tables when these are used and applied incorrectly.
    There are numerous such issues.
    Compare this with something as mature and robust as Relational Database Design. Easy to understand. Easy to use. And what the Oracle RDBMS product was specifically designed to support.
    Which one is "+better+" (especially in the Oracle RDBMS environment)? It should be obvious.
    I suggest that you read Codd's original paper on "+A Relation Model of Data for Large Shared Data Banks+", read "+The Third Manifesto+" from Chris Date, and papers from various other authors for insight.

  • Relational or Object-oriented

    Hi everyone,
    I'm just a novice in db design and have been given the task to design a db for our app. The app data consists of multiple Java node objects (as many as the user can think of, and needs to have) that, most of the time, have references to the parents and children (nodes). The main goal is to facilitate searching of objects (based on attributes) and object sharing. The objects are composite, meaning they contain links to others that contain links to many others.
    I'm confused of which, relation or object oriented, databse is a better fit for the design. So far, several questions have popped up like:
    1. To represent links (to other objects), which, an object id or a primary key, is better?
    2. How to represent Java vector and hashtable in db?
    3. If objects A and B link to C, after A and C are loaded, then if B is loaded, how do I know to share the copy of C (from A) instead of creating a new one?
    Any help from you db experts, or if i can be pointed to the right direction, is greatly appreciated. And forgive me if I ask stupid questions.
    Thanks,

    You can use either a relational or an object-oriented database to store this sort of information. An object-oriented design may well be easier to build an object-oriented database if the goal is basically to use a database as a persistent bitbucket of objects that you will instantiate in an application server.
    My preference, however, would be to use a relational database because that makes the data much more accessible to other applications. In most cases, if the data is valuable enough to want to write an application around, it is valuable enough to want to ensure that it survives any particular application. Relational databases are much better at this than are object databases, which necessarily enshrine a particular way of looking at the data.
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • Open source, object-oriented embedded database for J2ME

    For J2ME-based devices that require embedded data management, there is now an open source, object-oriented embedded database for J2ME called Perst Lite.
    Perst Lite can be downloaded as part of the Perst open source embedded database package, at
    http://www.mcobject.com/downloads.php?step=2&catID=4
    Cheers,
    Ted

    Spam blocked. As this user has only ever logged in here to post spam, the user account is blocked for a year.
    db

  • What are the basic pillars of Object Oriented Programming?

    there are 3 pillars of OOP which are Encapsulation, inheritance, polymorphism, but i heard lot's of people even companies software engineers use abstraction is a pillar, i haven't find it from MSDN why abstraction is not a pillar ?

    Whereas encapsulation, inheritence and polymorphism are specific implementation details of OOP (i.e. the key ideas that make programming
    object-oriented), abstraction is a high-level way of looking at your overall application design.
    For example, in a simple database application you would not want to write your code so that your user-interface, business logic, and database code was all hard-coded and "tied" to each other.
    Ideally you would think about your design and try to plan your application so that your user-interface code is independent of your business logic code (which can be "plugged-in" and/or changed as necessary), which is again independent of your database
    code such that you could even switch to a different database and only need to change that one part of your code-base.
    As an example, you might not pass a class representing some business logic directly into your user-interface code. Rather, you may want to create an interface representing a generic way of representing your logic that could be re-used by lots of business
    classes. It is then this interface that could be used by your UI code or database code to validate data, rather than specific classes. Then you could create more classes in future that just have to implement the same interfaces, knowing that the rest of your
    code would not need to change. This is just one aspect of "abstraction".
    If you do a search for "application design patterns" or "object-oriented design patterns" you will find plenty of articles and books on how to go about doing this.

  • Notes on using Object  oriented concept in ABAP

    Hi ,
    I want somes notes on how to use Object  oriented concept in ABAP.
    Thanks in advance.
    Chetan

    Hi, this may help you
    OOPs ABAP uses Classes and Interfaces which uses Methods and events.
    If you have Java skills it is advantage for you.
    There are Local classes as well as Global Classes.
    Local classes we can work in SE38 straight away.
    But mostly it is better to use the Global classes.
    Global Classes or Interfaces are to be created in SE24.
    SAP already given some predefined classes and Interfaces.
    This OOPS concepts very useful for writing BADI's also.
    So first create a class in SE 24.
    Define attributes, Methods for that class.
    Define parameters for that Method.
    You can define event handlers also to handle the messages.
    After creation in each method write the code.
    Methods are similar to ABAP PERFORM -FORM statements.
    After the creation of CLass and methods come to SE38 and create the program.
    In the program create a object type ref to that class and with the help of that Object call the methods of that Class and display the data.
    Example:
    REPORT sapmz_hf_alv_grid .
    Type pool for icons - used in the toolbar
    TYPE-POOLS: icon.
    TABLES: zsflight.
    To allow the declaration of o_event_receiver before the
    lcl_event_receiver class is defined, decale it as deferred in the
    start of the program
    CLASS lcl_event_receiver DEFINITION DEFERRED.
    G L O B A L I N T E R N A L T A B L E S
    *DATA: gi_sflight TYPE STANDARD TABLE OF sflight.
    To include a traffic light and/or color a line the structure of the
    table must include fields for the traffic light and/or the color
    TYPES: BEGIN OF st_sflight.
    INCLUDE STRUCTURE zsflight.
    Field for traffic light
    TYPES: traffic_light TYPE c.
    Field for line color
    types: line_color(4) type c.
    TYPES: END OF st_sflight.
    TYPES: tt_sflight TYPE STANDARD TABLE OF st_sflight.
    DATA: gi_sflight TYPE tt_sflight.
    G L O B A L D A T A
    DATA: ok_code LIKE sy-ucomm,
    Work area for internal table
    g_wa_sflight TYPE st_sflight,
    ALV control: Layout structure
    gs_layout TYPE lvc_s_layo.
    Declare reference variables to the ALV grid and the container
    DATA:
    go_grid TYPE REF TO cl_gui_alv_grid,
    go_custom_container TYPE REF TO cl_gui_custom_container,
    o_event_receiver TYPE REF TO lcl_event_receiver.
    DATA:
    Work area for screen 200
    g_screen200 LIKE zsflight.
    Data for storing information about selected rows in the grid
    DATA:
    Internal table
    gi_index_rows TYPE lvc_t_row,
    Information about 1 row
    g_selected_row LIKE lvc_s_row.
    C L A S S E S
    CLASS lcl_event_receiver DEFINITION.
    PUBLIC SECTION.
    METHODS:
    handle_toolbar FOR EVENT toolbar OF cl_gui_alv_grid
    IMPORTING
    e_object e_interactive,
    handle_user_command FOR EVENT user_command OF cl_gui_alv_grid
    IMPORTING e_ucomm.
    ENDCLASS.
    CLASS lcl_event_receiver IMPLEMENTATION
    CLASS lcl_event_receiver IMPLEMENTATION.
    METHOD handle_toolbar.
    Event handler method for event toolbar.
    CONSTANTS:
    Constants for button type
    c_button_normal TYPE i VALUE 0,
    c_menu_and_default_button TYPE i VALUE 1,
    c_menu TYPE i VALUE 2,
    c_separator TYPE i VALUE 3,
    c_radio_button TYPE i VALUE 4,
    c_checkbox TYPE i VALUE 5,
    c_menu_entry TYPE i VALUE 6.
    DATA:
    ls_toolbar TYPE stb_button.
    Append seperator to the normal toolbar
    CLEAR ls_toolbar.
    MOVE c_separator TO ls_toolbar-butn_type..
    APPEND ls_toolbar TO e_object->mt_toolbar.
    Append a new button that to the toolbar. Use E_OBJECT of
    event toolbar. E_OBJECT is of type CL_ALV_EVENT_TOOLBAR_SET.
    This class has one attribute MT_TOOLBAR which is of table type
    TTB_BUTTON. The structure is STB_BUTTON
    CLEAR ls_toolbar.
    MOVE 'CHANGE' TO ls_toolbar-function.
    MOVE icon_change TO ls_toolbar-icon.
    MOVE 'Change flight' TO ls_toolbar-quickinfo.
    MOVE 'Change' TO ls_toolbar-text.
    MOVE ' ' TO ls_toolbar-disabled.
    APPEND ls_toolbar TO e_object->mt_toolbar.
    ENDMETHOD.
    METHOD handle_user_command.
    Handle own functions defined in the toolbar
    CASE e_ucomm.
    WHEN 'CHANGE'.
    PERFORM change_flight.
    LEAVE TO SCREEN 0.
    ENDCASE.
    ENDMETHOD.
    ENDCLASS.
    S T A R T - O F - S E L E C T I O N.
    START-OF-SELECTION.
    SET SCREEN '100'.
    *& Module USER_COMMAND_0100 INPUT
    MODULE user_command_0100 INPUT.
    CASE ok_code.
    WHEN 'EXIT'.
    LEAVE TO SCREEN 0.
    ENDCASE.
    ENDMODULE. " USER_COMMAND_0100 INPUT
    *& Module STATUS_0100 OUTPUT
    MODULE status_0100 OUTPUT.
    DATA:
    For parameter IS_VARIANT that is sued to set up options for storing
    the grid layout as a variant in method set_table_for_first_display
    l_layout TYPE disvariant,
    Utillity field
    l_lines TYPE i.
    After returning from screen 200 the line that was selected before
    going to screen 200, should be selected again. The table gi_index_rows
    was the output table from the GET_SELECTED_ROWS method in form
    CHANGE_FLIGHT
    DESCRIBE TABLE gi_index_rows LINES l_lines.
    IF l_lines > 0.
    CALL METHOD go_grid->set_selected_rows
    EXPORTING
    it_index_rows = gi_index_rows.
    CALL METHOD cl_gui_cfw=>flush.
    REFRESH gi_index_rows.
    ENDIF.
    Read data and create objects
    IF go_custom_container IS INITIAL.
    Read data from datbase table
    PERFORM get_data.
    Create objects for container and ALV grid
    CREATE OBJECT go_custom_container
    EXPORTING container_name = 'ALV_CONTAINER'.
    CREATE OBJECT go_grid
    EXPORTING
    i_parent = go_custom_container.
    Create object for event_receiver class
    and set handlers
    CREATE OBJECT o_event_receiver.
    SET HANDLER o_event_receiver->handle_user_command FOR go_grid.
    SET HANDLER o_event_receiver->handle_toolbar FOR go_grid.
    Layout (Variant) for ALV grid
    l_layout-report = sy-repid. "Layout fo report
    Setup the grid layout using a variable of structure lvc_s_layo
    Set grid title
    gs_layout-grid_title = 'Flights'.
    Selection mode - Single row without buttons
    (This is the default mode
    gs_layout-sel_mode = 'B'.
    Name of the exception field (Traffic light field) and the color
    field + set the exception and color field of the table
    gs_layout-excp_fname = 'TRAFFIC_LIGHT'.
    gs_layout-info_fname = 'LINE_COLOR'.
    LOOP AT gi_sflight INTO g_wa_sflight.
    IF g_wa_sflight-paymentsum < 100000.
    Value of traffic light field
    g_wa_sflight-traffic_light = '1'.
    Value of color field:
    C = Color, 6=Color 1=Intesified on, 0: Inverse display off
    g_wa_sflight-line_color = 'C610'.
    ELSEIF g_wa_sflight-paymentsum => 100000 AND
    g_wa_sflight-paymentsum < 1000000.
    g_wa_sflight-traffic_light = '2'.
    ELSE.
    g_wa_sflight-traffic_light = '3'.
    ENDIF.
    MODIFY gi_sflight FROM g_wa_sflight.
    ENDLOOP.
    Grid setup for first display
    CALL METHOD go_grid->set_table_for_first_display
    EXPORTING i_structure_name = 'SFLIGHT'
    is_variant = l_layout
    i_save = 'A'
    is_layout = gs_layout
    CHANGING it_outtab = gi_sflight.
    *-- End of grid setup -
    Raise event toolbar to show the modified toolbar
    CALL METHOD go_grid->set_toolbar_interactive.
    Set focus to the grid. This is not necessary in this
    example as there is only one control on the screen
    CALL METHOD cl_gui_control=>set_focus EXPORTING control = go_grid.
    ENDIF.
    ENDMODULE. " STATUS_0100 OUTPUT
    *& Module USER_COMMAND_0200 INPUT
    MODULE user_command_0200 INPUT.
    CASE ok_code.
    WHEN 'EXIT200'.
    LEAVE TO SCREEN 100.
    WHEN'SAVE'.
    PERFORM save_changes.
    ENDCASE.
    ENDMODULE. " USER_COMMAND_0200 INPUT
    *& Form get_data
    FORM get_data.
    Read data from table SFLIGHT
    SELECT *
    FROM zsflight
    INTO TABLE gi_sflight.
    ENDFORM. " load_data_into_grid
    *& Form change_flight
    Reads the contents of the selected row in the grid, ans transfers
    the data to screen 200, where it can be changed and saved.
    FORM change_flight.
    DATA:l_lines TYPE i.
    REFRESH gi_index_rows.
    CLEAR g_selected_row.
    Read index of selected rows
    CALL METHOD go_grid->get_selected_rows
    IMPORTING
    et_index_rows = gi_index_rows.
    Check if any row are selected at all. If not
    table gi_index_rows will be empty
    DESCRIBE TABLE gi_index_rows LINES l_lines.
    IF l_lines = 0.
    CALL FUNCTION 'POPUP_TO_DISPLAY_TEXT'
    EXPORTING
    textline1 = 'You must choose a line'.
    EXIT.
    ENDIF.
    Read indexes of selected rows. In this example only one
    row can be selected as we are using gs_layout-sel_mode = 'B',
    so it is only ncessary to read the first entry in
    table gi_index_rows
    LOOP AT gi_index_rows INTO g_selected_row.
    IF sy-tabix = 1.
    READ TABLE gi_sflight INDEX g_selected_row-index INTO g_wa_sflight.
    ENDIF.
    ENDLOOP.
    Transfer data from the selected row to screenm 200 and show
    screen 200
    CLEAR g_screen200.
    MOVE-CORRESPONDING g_wa_sflight TO g_screen200.
    LEAVE TO SCREEN '200'.
    ENDFORM. " change_flight
    *& Form save_changes
    Changes made in screen 200 are written to the datbase table
    zsflight, and to the grid table gi_sflight, and the grid is
    updated with method refresh_table_display to display the changes
    FORM save_changes.
    DATA: l_traffic_light TYPE c.
    Update traffic light field
    Update database table
    MODIFY zsflight FROM g_screen200.
    Update grid table , traffic light field and color field.
    Note that it is necessary to use structure g_wa_sflight
    for the update, as the screen structure does not have a
    traffic light field
    MOVE-CORRESPONDING g_screen200 TO g_wa_sflight.
    IF g_wa_sflight-paymentsum < 100000.
    g_wa_sflight-traffic_light = '1'.
    C = Color, 6=Color 1=Intesified on, 0: Inverse display off
    g_wa_sflight-line_color = 'C610'.
    ELSEIF g_wa_sflight-paymentsum => 100000 AND
    g_wa_sflight-paymentsum < 1000000.
    g_wa_sflight-traffic_light = '2'.
    clear g_wa_sflight-line_color.
    ELSE.
    g_wa_sflight-traffic_light = '3'.
    clear g_wa_sflight-line_color.
    ENDIF.
    MODIFY gi_sflight INDEX g_selected_row-index FROM g_wa_sflight.
    Refresh grid
    CALL METHOD go_grid->refresh_table_display.
    CALL METHOD cl_gui_cfw=>flush.
    LEAVE TO SCREEN '100'.
    ENDFORM. " save_changes
    chk this blog
    /people/vijaybabu.dudla/blog/2006/07/21/topofpage-in-alv-using-clguialvgrid
    Reward if helpfull.
    Regards Madhu.

  • Object-oriented APEX. Best practices.

    Hello,
    in my company we are developing quite big application in Apex. At the beginning we saw Apex as a very developer friendly application, but now we have problem with it.
    Our application has about 100 pages, most of them are not only reports but are also designed to edit and add new data. We are often using javascript and plsql procedures to handle collections and error processing. There are a lot of elements that are identical on several pages – not only processes, but also buttons, branches etc. – and when something changes, we must do the same operation on every page. Do you know any way to deal with it in better way?
    Are there any “best practices” for APEX to make it more object-oriented? I know I can put e.g. plsql procedures as a function in database, but what about button functions etc.? Maybe I should name most important buttons in the same way and handle them using javascript?
    Regards,
    Przemek Staniszewski

    Hi Przemek,
    I'm not an object oriented expert so I probably can't offer you too much in the way of advice here, I'm old school from relational theory, 3GL etc. But one of the things to remember is that Apex isn't one single language like Java where it is easier to maintain good object oriented practicies and even enforces and encourages. Apex is a collection of technologies such as Relational Design, SQL, PL/SQL, HTML and Javascript which are all held together by a declarative programming interface.
    Although all these technologies have varying degrees of object orientism, they are all quite distinct technologies which work together well but don't really help each other in maintaining or enforcing OO good practices. I think it would be hard to reverse engineer an existing application, but with some thought, kowledge and advice from the right areas you should be able to put together some good design and coding standards which will serve you well going forward.
    There are some documents and threads you should be able to find which will also help you, but also remember you are also dealing with some long established technologies such as Relation Database Design and SQL. Too often developers with skills in more recent languages get lost in the API front end and assume the database isn't really part of the application. You know, DBA stuff. For my money the database is the centre and the most important part of the application.
    My two cents worth anyway.
    Andre

Maybe you are looking for