OO approach for dynpro developing

I don't know about the SAP Official way, but you can read this document for best practice:
[An Insider's Guide to Writing Robust, Understandable, Maintainable State of the Art ABAP Programs Part 1|https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c2992ca9-0e01-0010-adb1-b7629adb623c]
You can use the MVC design pattern (mix of OO ABAP + Classical).
Put your all business logic (model) in Classes
Use Function Groups as Controller to control the screens
Create Screens (view) in the Function Group.
Regards,
Naimesh Patel

Hi all!
I had time yesterday evening to read the document recommended by Naimesh. The following program is my first try. It would be great if somebody can give some helpful suggestions to enhance my approach.
It is a small report, that selects the first 25 user and displays some information on a simple dynpro. There are 2 buttons (next and previous user) to browse through the users.
D A T A   S T R U C T U R E
First i create a dictionary structure (ZSTRUC_USER_DATA) for my dynpro.
BNAME type XUBNAME
PERSNUMBER type AD_PERSNUM
ADDRNUMBER type AD_ADDRNUM
NAME_FIRST type AD_NAMEFIR
NAME_LAST type AD_NAMELAS
SMTP_ADDR type AD_SMTPADR
M A I N   C L A S S
Then I create the main class ZCL_START_DEMO. It contains a single method MAIN, that will be called by a transaction. This method creates the model, view and controller. It has no parameters.
* Method is called by transaction. It creates model, view and
* controller
METHOD main.
* L O C A L   O B J E C T S
  DATA lr_view       TYPE REF TO lcl_view.
  DATA lr_model      TYPE REF TO lcl_model.
  DATA lr_controller TYPE REF TO lcl_controller.
* Create model
  CREATE OBJECT lr_model.
* Create controller     
  CREATE OBJECT lr_controller
    EXPORTING
      ir_model = lr_model.
* Create view
  CREATE OBJECT lr_view
    EXPORTING
      ir_model      = lr_model
      ir_controller = lr_controller.
* register view to model for notification about model changes
  lr_model->register_view( lr_view ).
* Display dynpro
  lr_view->display( ).
ENDMETHOD.
I N T E R F A C E S
So, the model contains the data that will be displayed by the view. The user interacts with the view, that notifies the controller about user actions. When the controller receives the user command, it makes changes to the model. When the model is changed, it notifies the registered views (in this case there is only one) for a refresh.
For the communcation between the different parts, I defined some interfaces.  Interface LIF_MODEL_CHANGES will be implemented by the view to get notified when the model changed.
The model implements the interface LIF_MODEL_CHANGER to provide change-methods to the controller.
The controller implements the interface LIF_USER_COMMAND_LISTENER to listen for user commands. The view will send the command to the controller by using this interface.
* I N T E R F A C E S
* Interface for communication between model and view
* View listens for model changes
INTERFACE lif_model_listener.
  METHODS: fire_model_changed.
ENDINTERFACE.                    "lif_model_listener
* Interface for communication between model and controller
* Controller changes model
INTERFACE lif_model_changer.
  METHODS: next_user,
           previous_user.
ENDINTERFACE.                    "lif_model_changer
* Interface for communication between view and controller
* Controller receives the user command by the view
INTERFACE lif_user_command_listener.
  METHODS: fire_user_command IMPORTING id_command LIKE sy-ucomm.
ENDINTERFACE.                    "lif_user_command_listener
M O D E L
Now the model class. It is a really simple model. When creating a model object the data will be read from table USR21. After that, it notifies the views about changes by setting the next (in this case the first) user. It provides a structure of user data (type ZSTRUC_USER_DATA) for the view.
The methode NEXT_USER and PREVIOUS_USER are generally used by the controller. It reads the next (or the previous) user from the internal table (filled in constructor) and set a structure that will be used by the view. The methods notifies the view automatically about changes. The view can read the data from model that it is interessted in. For reading the model data the view uses the method GET_USER_DATA.
When a view is interessted in model changes, it is neccessary that it registered itself to the model by using the method REGISTER_VIEW. The model holds a internal table with references to all registered views. When the model changes (methods NEXT_USER and PREVIOUS_USER) the views a automatically notified from method NOTIFY_VIEWS. It called the method FIRE_MODEL_CHANGED whicht is defined in the interface LIF_MODEL_LISTENER (remind: this interface is implemented by any view that is interessted in model changes).
* The model holds the data. It will be changed by the controller and
* if it is changed, it notify the view by calling the method
* fire_model_changed
CLASS lcl_model DEFINITION.
  PUBLIC SECTION.
*   Interfaces
    INTERFACES lif_model_changer.
*   Methods
    METHODS: constructor,
             get_user_data RETURNING value(es_user_data) TYPE zstruc_user_data,
             register_view IMPORTING ir_view TYPE REF TO lif_model_listener.
  PRIVATE SECTION.
*   Data
    DATA md_index TYPE i.
*   Structures
    DATA ms_user_data TYPE zstruc_user_data.
*   Tables
    DATA mt_user_data TYPE STANDARD TABLE OF zstruc_user_data.
    DATA mt_view      TYPE STANDARD TABLE OF REF TO lif_model_listener.
*   Methods
    METHODS: notify_views.
ENDCLASS.                    "lcl_model DEFINITION
* The model provides the data for the view. It will be initialized in
* the constructor.
CLASS lcl_model IMPLEMENTATION.
* Class constructor
  METHOD constructor.
    FIELD-SYMBOLS <ls_user_data> LIKE LINE OF mt_user_data.
    SELECT * UP TO 25 ROWS
      FROM usr21
      INTO CORRESPONDING FIELDS OF TABLE mt_user_data
      WHERE persnumber <> ''
        AND addrnumber <> ''.
    LOOP AT mt_user_data ASSIGNING <ls_user_data>.
      SELECT SINGLE name_first name_last
        FROM adrp
        INTO (<ls_user_data>-name_first, <ls_user_data>-name_last)
       WHERE persnumber = <ls_user_data>-persnumber.
      SELECT SINGLE smtp_addr
        FROM adr6
        INTO <ls_user_data>-smtp_addr
       WHERE addrnumber = <ls_user_data>-addrnumber
         AND persnumber = <ls_user_data>-persnumber.
    ENDLOOP.
*   set data for first display
    me->lif_model_changer~next_user( ).
  ENDMETHOD.                    "constructor
* Set the next user in list
  METHOD lif_model_changer~next_user.
    md_index = md_index + 1.
    IF ( md_index > LINES( mt_user_data ) ).
      md_index = 1.
    ENDIF.
    READ TABLE mt_user_data INTO me->ms_user_data INDEX md_index.
    me->notify_views( ).
  ENDMETHOD.                    "lif_model_change~next_user
* Set the previous user in list
  METHOD lif_model_changer~previous_user.
    md_index = md_index - 1.
    IF ( md_index <= 0 ).
      md_index = LINES( mt_user_data ).
    ENDIF.
    READ TABLE mt_user_data INTO me->ms_user_data INDEX md_index.
    me->notify_views( ).
  ENDMETHOD.                    "lif_model_change~previous_user
* Delivers the user data
  METHOD get_user_data.
    es_user_data = me->ms_user_data.
  ENDMETHOD.                    "get_user_data
* Notify views about model changes
  METHOD notify_views.
    DATA ls_view LIKE LINE OF mt_view.
    LOOP AT mt_view INTO ls_view.
      ls_view->fire_model_changed( ).
    ENDLOOP.
  ENDMETHOD.                    "notify_views
* Method to register a view to listen for model changes
  METHOD register_view.
    IF ( ir_view IS NOT INITIAL ).
      APPEND ir_view TO mt_view.
    ENDIF.
  ENDMETHOD.                    "register_view
ENDCLASS.                    "lcl_model IMPLEMENTATION
V I E W
The view consists of multiple parts. The oo part will be represented by the local class LCL_VIEW. The serves as a wrapper class for fm calls. Method DISPLAY calls the dynpro and set the data for the first display. When the model changed, method FIRE_MODEL_CHANGED will be called. In this case the view requests the data from the model (the view has got a reference to the model). Method NOTIFY_VIEW is called by the dynpro. It send the user command to the controller.
* The view serves as wrapper class for the function modules.
CLASS lcl_view DEFINITION.
  PUBLIC SECTION.
*   Interfaces
    INTERFACES: lif_model_listener, zif_user_command.
*   Methods
    METHODS: constructor IMPORTING ir_model TYPE REF TO lcl_model
                                   ir_controller TYPE REF TO lif_user_command_listener,
             display.
  PRIVATE SECTION.
*   Objects
    DATA mr_model      TYPE REF TO lcl_model.
    DATA mr_controller TYPE REF TO lif_user_command_listener.
ENDCLASS.                    "lcl_view DEFINITION
* The view is a wrapper class for function modules.
CLASS lcl_view IMPLEMENTATION.
* Class constructor
  METHOD constructor.
    me->mr_model      = ir_model.
    me->mr_controller = ir_controller.
  ENDMETHOD.                    "constructor
* Method to display the dynpro
  METHOD display.
*   set data for first display
    me->lif_model_listener~fire_model_changed( ).
    CALL FUNCTION 'Z_FUNC_CALL_SCREEN'
      EXPORTING
        id_dynnr = '0100'
        ir_view  = me.
  ENDMETHOD.                    "display
* Method to notify the dynpro about model changes
  METHOD lif_model_listener~fire_model_changed.
    DATA ls_user_data TYPE zstruc_user_data.
    ls_user_data = me->mr_model->get_user_data( ).
    CALL FUNCTION 'Z_FUNC_SET_DATA'
      EXPORTING
        is_user_data = ls_user_data.
  ENDMETHOD.                    "lif_model_notify~fire_model_changed
* Receives user command from dynpro and push it to the controller
  METHOD zif_user_command~notify_view.
    me->mr_controller->fire_user_command( id_command ).
  ENDMETHOD.                    "zif_user_command~notify_view
ENDCLASS.                    "lcl_view IMPLEMENTATION
Since it is not possible to implement dynpros in a class pool, I create a function pool. I tried to minimize the number of global variables.
FUNCTION-POOL zfunc_user_data.              "MESSAGE-ID ..
* G L O B A L   D A T A
DATA gd_ok_code LIKE sy-ucomm.
* G L O B A L   S T R U C T U R E S
DATA gs_user_data TYPE zstruc_user_data.
* G L O B A L   O B J E C T S
DATA gr_view TYPE REF TO zif_user_command.
The dynpro will be controled by the class LCL_VIEW. This approach is used to obtain a complete object orientated concept in my design pattern. The function group contains the dynpro 0100. The process logic is quite simple. The module USER_COMMAND_0100 send the user command to the oo view. Thats all.
PROCESS BEFORE OUTPUT.
  MODULE status_0100.
PROCESS AFTER INPUT.
  MODULE user_command_0100.
* Set title and status
MODULE status_0100 OUTPUT.
  SET PF-STATUS 'STATUS100'.
  SET TITLEBAR 'TITLE100'.
ENDMODULE.                 " STATUS_0100  OUTPUT
* Process user command
MODULE user_command_0100 INPUT.
  gr_view->notify_view( gd_ok_code ).
ENDMODULE.                 " USER_COMMAND_0100  INPUT
There are two function modules available to control the dynpro. The first Z_FUNC_CALL_SCREEN is used to call the dynpro and to set the reference to the oo view.
FUNCTION z_func_call_screen .
*"*"Lokale Schnittstelle:
*"  IMPORTING
*"     REFERENCE(ID_DYNNR) TYPE  SYDYNNR
*"     REFERENCE(IR_VIEW) TYPE REF TO  ZIF_USER_COMMAND
  FREE gr_view.
  gr_view = ir_view.
  CALL SCREEN id_dynnr.
ENDFUNCTION.
The second Z_FUNC_SET_DATA is used to set the data in the dynpro.
FUNCTION z_func_set_data.
*"*"Lokale Schnittstelle:
*"  IMPORTING
*"     REFERENCE(IS_USER_DATA) TYPE  ZSTRUC_USER_DATA
  FREE gs_user_data.
  gs_user_data = is_user_data.
ENDFUNCTION.
Greetings,
Florian

Similar Messages

  • SAP tool to estimate time for web dynpro development project

    Hi,
    Is there any standard SAP tool available to estimate time for web Dynpro development project?
    Thanks and Regards,
    Deepti

    Hi Deepti
    An implementation of Webdynpro based UI could be estimated by a 'standard' technique like any other U:
    1. Try to count the number of views/screens/popups in your application. The estimation time will be proportional to the quantity.
    2. Try to count the number of external interfaces would be used in the application. For example, quantity of necessary BAPI invocations (RFC), quantity of Web-service invocations or EJB calls. Also quantity of native JDBC queries if any.
    Test = Nviews x Hview + Nint x Hint, where Hview & Hint time in hours for average implementing of one UI view and time for adding of average service invocation.
    BR, Sergei

  • SICF Access for Web Dynpro Development

    Developer wants access to SICF to be able to test any Web Dynpro Development. Currently no developer has access and Basis only gives access when requested - and only for short time. I believe developers should have access. Wondering how others have this setup. Thanks!

    > If a developer creats an app via SE80  - which does the same in ICF for the service  - then SICF access is required.
    Are you sure? Or is the tcode check only appearing somewhere in a trace?
    If that is true, then ICF service developers will anyway be able to start SICF directly. Please check the coding location of the check from the trace, if it is calling FM AUTHORITY_CHECK_TCODE (which I suspect it is...) then verify in SE97 that an SE80 developer can use (limited, coded...) SICF functionality from other contexts without starting it directly.
    What you can also do is protect the ICF services using the authorization group concept (including those you are not using...). If the developer wants to use one (in a new development) then it should be released for them by granting them access to it (authorization object S_ICF_ADM in their role) for development work and then ideally object S_ICF added to the service user they are using for development as well. If they are developing the role for the application together with the application coding development (this is the ideal scenario in my opinion for a knowledgable developer) then give them that access as well in PFCG for the role they are developing.
    I think it can safely be said that most developers can be trusted, but also to do stupid things though... and they enter their own user ID in the connection data..
    That is a reality. If you trust them and train them and collaborate with them to improve security - then they will be your best friends and understand more about security as well (to protect themselves from their own user ID's...).
    This is a very interesting topic. Thanks for raising it.
    Cheers,
    Julius
    ps: I don't like posting links, because I see it as an insult to the person who asked the question as not having done a search and not knowing  what they are talking about. But for the benefit of those who use the search and find this thread... please read this documention (or the one which is relevant for your release - I choose a reasonable release level...).
    http://help.sap.com/saphelp_nw04s/helpdata/en/61/d93822a88e15489a9391f309767366/content.htm
    Edited by: Julius Bussche on Mar 5, 2009 10:31 PM

  • Web Dynpro Development Components missing for MSS

    Hey Guys...
    The following BPs are installed on our landscape:
    ○       Business Package for Manager Self-Service (SAP ERP) 1.3
    ○       Business Package for Common Parts (SAP ERP) 1.3
    ○       Business Package for Project Self-Service (SAP ERP) 1.0
    ○       Business Package for HR Administrator (SAP ERP) 1.1
    The ECC is EHP 3, SP 14 and EP is 7.0 SP 14
    I've been trying to set up iViews for MSS but I see that all Web Dynpro Applications specified in the technical information of iViews are missing. I searched for Web Dynpro Development Components in the EP and all MSS related WDC are just missing.
    According to SAP Help Documentation (http://help.sap.com/erp2005_ehp_03/helpdata/en/76/77594d165144a1a9bff9aae1e26b26/content.htm) these are required:
    Web Dynpro Development Components:
    ○       PCUI_GP
    ○       MSS
    ○       SAP_PSS
    Where can I get them??? Is it possible our basis didn't install the right Business Package?

    Seems you have got right business packages, though have a look at  note [1303362|https://websmp230.sap-ag.de/sap%28bD1lbiZjPTAwMQ==%29/bc/bsp/spn/sapnotes/index2.htm?numm=1303362] to confirm dependency.
    "but I see that all Web Dynpro Applications specified in the technical information of iViews are missing."
    Well this could be because of errorsome business package deployment, you can still check list of deployed components from SDM and if there is any error log for deployement, you should try to deploy them again(update existing components).
    Hope this helps. If not then probably you should go Content Admin - WebDynpro  and see list of application listed under MSS.. if those referred applications are available then try to execute them.
    And last one.. if you "think" they wont run.. or you have actually tried to run MSS and none of applications are working. you should be able to run standard package without any major configuration chanegs.. so give it a go.. and see if you encounter any error.
    Cheers

  • Which one is the best approach for responsive UI development option in SharePoint 2013

    Which one is the best approach for responsive UI development option in SharePoint 2013
    Device channel or responsive UI (HTML, CSS)?

    In practice you're probably going to end up with a combination. A couple of device channels for classes of device and then responsive UI within those channels to adjust to particular devices within the classes.
    Of course the real answer is as always 'it depends' as you'll need to pick the best option for each client based on their needs.

  • How Approach for a Game Developer Job

    Hi,
    I am Trinu Completed my Bachelor of Engineering (Electronics & Communication) in 2008. I Qulaified SCJP with 95% and I have developed some mini 2d games. I want to enter into the game development field.Can any one please tell me how to approach for this and also tell me how to include SCJP Logo in my resume.Where can i get that logo.
    Thanks & Regards,
    Trinu.

    the 'certification package' you get from Sun with your certificate includes instructions to follow to get the artwork and the restrictions on its use.

  • Time estimation for WDA development

    Hi All,
    do anybody have some estimation for WDA development objects? i mean depending on critical level as Very Simple, Simple, Medium, Complex and Very Complex.
    please let me know how we can estimate the work on WDA devl. objects?
    if anybody have the documentation/tool on this please let me know. if possible please send the same on my email - [email protected]
    Regards,
    Chandra

    Hi Chandrashekhar Mahajan ,
          Based on my last 6 months experience I will say Time estimation for WebDynpro ABAP based on
    1)     Number of View
    2)     <b>Complexity of UI elements</b> involved in Development ( Take case if you want ALV rows with same content to be clubbed , or On click of alv change in Business Graphics element like Gantt  Chart )
    3)     <b>Complexity of Business process and Extent to which client want it to automate.</b>4)     another issues is Documentation of WD ABAP objects , as in case of WD ABAP object documentation approach entirely different from conventional ABAP documentation.
    5)     Understanding of client Business process , visualizing it and designing it in Web Dynpro context
    6)     How much<b> information you have about data you want put in context</b> and with which database tables , fields , R/3 servers  it has interaction.
    Regards ,
    Parry

  • Web service in Web Dynpro development Component

    Hi All,
    I have created a web service in SAP GUI and I have saved the WSDL file on my local PC.
    Now when I create a web service model in a simple web dynpro project it works perfectly.
    But when I do the same in a web dynpro development component; as soon as the web service model instance is associated with the activity in the DTR my application get hanged. I have to quit my NWDS. When I reopen NWDS my application shows following errors:
    <i>Kind     Status     Priority     Description     Resource     In Folder     Location
    Error               <b>XMLTokenWriter cannot be resolved</b> (or is not a valid type) for the argument writer of the method serialize     Char1.java     JD2_ADBESP6_Dtestwebservicesap.com/src/packages/com/adobe/mo_web1/proxies/types     line 57
    Kind     Status     Priority     Description     Resource     In Folder     Location
    Error               <b>typeRegistry cannot be resolved or is not a field</b>     Z_WS_GETEMPINFO_FULLSoapBindingStub.java     JD2_ADBESP6_Dtestwebservicesap.com/src/packages/com/adobe/mo_web1/proxies     line 29
    Kind     Status     Priority     Description     Resource     In Folder     Location
    Error               <b>transportBinding cannot be resolved or is not a field</b>     Z_WS_GETEMPINFO_FULLSoapBindingStub.java     JD2_ADBESP6_Dtestwebservicesap.com/src/packages/com/adobe/mo_web1/proxies     line 22
    Kind     Status     Priority     Description     Resource     In Folder     Location
    Error               <b>SOAPSerializationContext cannot be resolved</b> (or is not a valid type) for the argument context of the method serialize     Char1.java     JD2_ADBESP6_Dtestwebservicesap.com/src/packages/com/adobe/mo_web1/proxies/types     line 50
    Kind     Status     Priority     Description     Resource     In Folder     Location
    Error               <b>SOAPDeserializationContext cannot be resolved</b> (or is not a valid type) for the argument context of the method deserialize     Char1.java     JD2_ADBESP6_Dtestwebservicesap.com/src/packages/com/adobe/mo_web1/proxies/types     line 26</i>
    Regards
    sid

    Hi Sidharth,
    Which version of NWDS you are using. I was facing the same problem with SP16 sometime back.
    I did find a workaround to do that. See, whenever you will create the WS Model in Web Dynpro DC, it will ask you to add some file in DTR..right!!........ do one thing press "Cancel" or "No" there. Then studio will ask one more time to add the files, in different dialog box though. Add the files from the second dialog box rather than the first one.
    Regards,
    Mausam

  • GeoRaptor 3.2.1 Released for SQL Developer 3.x

    Spatialites!
    After 6 months of development and testing, GeoRaptor 3.2.1 has been released for SQL Developer 3.x (tested on 3.0, 3.1 and 3.2). This release no longer supports SQL Developer 1.x or 2.x releases due to internal changes to the SQL Developer APIs.
    GeoRaptor can be downloaded from the GeoRaptor project's sourceforge page: http://sourceforge.net/projects/georaptor and installed via Help>Check for Updates>Install from Local File. Installation via SQL Developer's update mechanism should be available soon.
    The release notes for this release are:
    * Fixed issues with validate geometry functionality in particular the update dialog box.
    * Revamped "About GeoRaptor" form. Includes clickable URLs, links to mailing lists, version number listing, thanks to testers etc.
    * Placed "About GeoRaptor" icon on GeoRaptor's map toolbar.
    * SQL Developer NLS settings accessed: improvements in the display and entry and numeric data.
      -- Tolerances in Spatial Layer properties will display with the NLS decimal separator eg 0,05.
         Some parts of GeoRaptor such as Validation that show and accept numbers have not been changed from when someone else modified the code.
         If you double click on the left MBR/right MBR icon in the map at the bottom, the current centre position will display according to the NLS settings.
         Editing the value to jump the map to that point works even with grouping separators and decimal separators being commas!
    * Spatial Layer Draw has been modified to use NLS based decimal formatting.
    * New geometry marking/labelling options have been added. In particular you can now label the vertices of a linestring/polygon with the following additional elements:
      -- Cumulative length
      -- Measure (M)
      -- Z value
      -- Labelling of vertices with <id>{X,Y} now also honours 3/4D geometries. If geometry has XYY then it will be labelled as {X,Y,Z} etc.
    * You can also label each vector/segment of a linestring/polygon with:
      -- Length
      -- Cumulative Length
      -- Bearing (approximate for geodetic/geographic data)
      -- Distance (approximate for geodetic/geographic data)
      -- Bearing and Distance (approximate for geodetic/geographic data)
    * The font properties of the mark text can be changed independently of the feature label. This includes the offset and label position (CC, LL, UR etc).
    * New feature labelling options have been provided:
      -- First/middle/last vertex,
      -- Any supplied sdo_point within a line/polygon's sdo_geometry object, or
      -- Calculated by GeoRaptor on the client side using Java Topology Suite.
    * Result sets now have the ability to:
      -- Copy to clipboard all geometries across many rows and columns.
      -- Display one or more (selected) geometries in a popup image window. This functionality is also available in the result set generated by an Identify command.
    * New GeoRaptor Preferences:
      -- Width and height in pixels of the new popup image window (displaying one or more geometry objects) can be set;
      -- Colours of orphan, missing and correct metadata entries for Metadata Manager;
      -- Prefixing with MDSYS for all currently supported spatial objects - sdo_geometry, sdo_point, sdo_elem_info, sdo_ordinates, sdo_dim_info - has been made an option.
      -- There is now a new property called "Show Number Grouping Separator" in Tools>GeoRaptor>Visualisation.
         If it is ticked a number will be formatted with the thousands separator in Tools>Database>NLS eg 10000.000 will display as 10,000.000.
    * Sdo_Geometry display of all spaces in text between elements of the sdo_geometry array have been removed.
       This was done mainly to compact the sdo_geometry strings so that they are as small as possible when displaying or copying to clipboard.
    * Help pages added to the following dialogs with more to follow:
      -- Metadata Manager,
      -- Shapefile Importer and
      -- Layer Properties dialogs.
    * GeoRaptor menu entries renamed. New "Manage All Metadata" entry added to View>GeoRaptor menu.
    * Spatial Index creation dialog now supports additional index parameters and parallel build settings.
    * Metadata Manager overhauled:
      a. Shows:
         1. Metadata entries which have no underlying oracle object (orphan)
         2. Metadata entries for existing underlying objects (existing case)
         3. Database objects with sdo_geometry for which no metadata entry exists (new)
      b. All orphan/existing/missing colours for (a) can be set via Preferences>GeoRaptor>Visualisation
      c. All actions for main (bottom) metadata table are in a single right mouse click menu.
         Some entries will only appear if a single row is selection (metadata copy), others (delete and copy to clipboard) will appear for one or more.
      d. Can now switch between open connections to modify metadata of other objects in schemas other than the starting object.
      e. Buttons revamped.
    * Tab/Shapefile export:
      a. Export now supports NULL valued columns. Can be exported as an empty string (if DBase override in GeoRaptor Preferences is ticked) or
         as a predefined value eg NULL date => 1900-01-01 (set in new GeoRatptor Import/Export Preferences).
      b. Some work attempted on export of NLS strings (still not corrected).
      c. Objects with no rows now correctly processed.
    * Shapefile Import
      -- Bug relating to Linux file names corrected.
    * Fixed issue (identified by John O'Toole) with spatial index underlying a view not being used in map display.
    * Reinstated sdo_nn as the principal method for Identify (requested by John O'Toole).
    * Fixed problem with handling single click zoom in and out in GeoRaptor map etc.
    * Fixed problem with rendering lines from database item (identified by Vladimir Pek).The new "About GeoRaptor" should be read by all people installing GeoRaptor.
    Please, please consider registering your email address with our private email list so that we can get a feel for the sorts of people downloading and installing GeoRaptor.
    Please consider helping us with documentation or the internationalisation via translating properties files from English to your native language.
    GeoRaptor is written and maintained by people who use SQL Developer and Spatial every day but we don't pretend we know everything that users want: please let us know via our feature request page at SourceForge.
    We don't get paid for what we do so are always looking for additional help.
    Here are some of the requests we have had for improvements:
    1. MySQL access
    2. WMS access;
    3. Ability to import shapefile data into an existing table;
    4. Ability to processing multiple shapefiles into separate tables (current version can import one or more into a single target table);
    5. Ability to export/import layer definitions to give to others;
    6. Support for non-English character sets for varchar exports to shapefiles.Some are relatively simply, some require a lot of engineering work. For the latter, we are considering alternative funding methods to the currently completely free development approach.
    Thanks to the following for their invaluable assistance:
    Holger Labe, Germany
    John O'Toole, Ireland
    Vladimir Pek, Czech Republic
    Pieter Minnaar, Holland
    Olaf Iseeger, Germany
    Sandro Costa, Brazil;
    Marco Giana, Australia.regards
    Simon Greener
    Principal GeoRaptor Developer
    Edited by: Simon Greener on Sep 10, 2012 2:43 PM

    Simon,
    I will admit, I almost never use SQL Developer. I have been a long time Toad user, but for this tool, I fumbled around a bit and got everything up and running quickly.
    That said, I tried the new GeoRaptor tool using this tutorial (which is I think is close enough to get the jist). http://sourceforge.net/apps/mediawiki/georaptor/index.php?title=A_Gentle_Introduction:_Create_Table,_Metadata_Registration,_Indexing_and_Mapping
    As I stumble around it, I'll try and leave some feedback, and probably ask some rather stupid questions.
    Thanks for the effort,
    Bryan

  • Best practices for a development/production scenario with ORACLE PORTAL 10G

    Hi all,
    we'd like to know what is the best approach for maintaining a dual development/production portal scenario. Specially important is the process of moving from dev. to prod. and what it implies in terms of portal availability in the production environment.
    I suppose the best policy to achieve this is to have two portal instances and move content via transport sets. Am I right? Is there any specific documentation about dev/prod scenarios? Can anybody help with some experiences? We are a little afraid regarding transport sets, as we have heard some horror stories about them...
    Thanks in advance and have a nice day.

    It would be ok for a pair of pages and a template.
    I meant transport sets failed for moving an entire pagegroup (about 100 pages, 1Gb of documents).
    But if your need only deals with a few pages, I therefore would direclty developp on the production system : make a copy of the page, work on it, then change links.
    Regards

  • Step by step document for NetWeaver Developer studio

    Hi,
    I want to develop web dynpro java application.
    I need step by step document to do it.
    I want to call RFFC, I want to use pop up window.
    Is there a step by step document to do it?
    Thanks

    Hi Cemil,
    Please post the question in right forum so that you will get a right response in right time.
    I think you are looking for some help on Web Dynpro Development. Here I added some help documents to get start with Web Dynpro.
    Webdynpro Sample Applications and Tutorials
    Web Dynpro Java Tutorials and Samples NW 2004
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/webcontent/uuid/28113de9-0601-0010-71a3-c87806865f26?rid=/library/uuid/49f2ea90-0201-0010-ce8e-de18b94aee2d
    SAP WebAs Samples And tutorials
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/webcontent/uuid/7d646a6c-0501-0010-b480-bf47b8673143
    Webdynpro tutorials....
    http://help.sap.com/saphelp_erp2005/helpdata/en/15/0d4f21c17c8044af4868130e9fea07/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/e9/1fc0bdb1cdd34f9a11d5321eba5ebc/frameset.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/3a/d08342a7d30d53e10000000a155106/frameset.htm
    http://searchsap.techtarget.com/searchSAP/downloads/SAPPRESS.pdf
    Check the following thread for more help
    WeB Dynpro Documents
    All Web Dynpro Articles
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/webcontent/uuid/7082f9fc-070d-2a10-88a2-a82b12cea93c?startindex=221
    Refer these links
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/web%20dynpro%20tutorial%20and%20sample%20applications.faq
    Why WebDynpro ?
    Why WebDynpro ?
    Why  webdynpro and not BSP or JSP?
    What kind of applications are being developed with Web Dynpro?
    http://www.sappro.com/downloads/OptionComparison.pdf
    Developing Java Applications using Web Dynpro Configuration Scenario
    http://www50.sap.com/businessmaps/8F5B533C4CD24A59B11DE1E9BDD13CF1.htm
    Integrating Web Dynpro and SAP NetWeaver Portal Part 1: Creating Web Dynpro-Based Portal Content
    http://www.octavia.de/fileadmin/content_bilder/Hauptnavigation/SAP_NetWeaver/WebDynpro/Tutorial_1.pdf
    The Structural Concepts of Web Dynpro Components
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/a048387a-0901-0010-13ac-87f9eb649381
    Web Dynpro:Context Mapping & Model Binding
    http://wendtstud1.hpi.uni-potsdam.de/sysmod-seminar/SS2005/presentations/14-Web_Dynpro_dataflow.pdf
    Web Dynpro:Getting Involved
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/c193252d-0701-0010-f5ae-f10e09a6c87f
    /docs/DOC-8061#13
    SAP Developer guide :-
    http://help.sap.com/saphelp_nw70/helpdata/EN/19/4554426dd13555e10000000a1550b0/frameset.htm
    http://help.sap.com/saphelp_nw70/helpdata/EN/19/4554426dd13555e10000000a1550b0/frameset.htm
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/444d28d6-0a01-0010-6dbe-94ed0b0fe27c
    Complete WebDynPro
    Web Dynpro Java Tutorials and Samples NW 2004
    Portal How to Guide
    https://www.sdn.sap.com/irj/sdn/howtoguides?rid=/webcontent/uuid/006efe7b-1b73-2910-c4aef45aa408da5b
    The following links will give you introduction to Web Dynpro,Getting Started with Web Dynpro & WebDynpro Benefits
    /thread/358673 [original link is broken]
    /thread/353819 [original link is broken]
    Tutorials and PDFs
    OVS More help:
    OVS + RFC...
    OVS, Reloaded
    Object Value Selector search helps step by step using a Web Service
    How to order the output RFC in a OVS?
    Attaching OVS to model attribute.
    Thanks
    Krishna

  • Approach for Inter Organisational BPM

    Hi All,
    I am doing Masters Dissertation in Collaborative BPM. My research topic is the evaluation of three approached for collaborating BPM across value chain.
    Explanation of these approaches:
    Centralise CBPM: Ownership of Collaborative System is with one Central Organisation and Other Partners Participate in this collaboration through various UI such as portal. Example, Collaboration between the automobile manufacturer and dealer were automobile manufacturer provides portal for dealer to place order, manage its customer and handle warranty and recalls.
    Decentralise CBPM: In this approach every partner provides communication technology like Web Services for its Business Partner for collaboration. The ownership is decentralise and more flexible
    Peer-to-Peer CBPM: In ideal condition in this approach every Partner should have the same technology which is developed for handling collaborative Business Processes. In this case the same modelling facility is available across the value chain.
    I found below critical aspects for evaluating these three approaches:
    1] Autonomy
    2] Collaborative process Modelling
    3] Monitoring, Controlling, and Analysis
    4] “Plug and Play” based Platform for Collaboration (Includes Security, Web Service and various adapters for communication and Language Support like Java for easy custom enhancement)
    5] Governance
    I kindly request you all to post your views about pros and cons for evaluating these approaches from the aforementioned critical aspects.
    I welcome your questions and appreciate your valuable guidance.
    Thank you ,
    Regards,
    Ganesh Sawant

    PROS:
    Using the Webservices you can trigger the BPM Process and pass the values from the web dypro component which will available for the end user and pass it on to the BPM Proess.
    We can use EJB as a webservice, where the automated activity in the BPM can output the value based on the logic in the EJB Function. We can manage the automated activity which runs in the back ground of the process as per our logic and returns the value to the next task.
    CONS
    Using Webservices in the various activity with fewer data is not advisable as it takes longer time to deploy the process. And any change in the data in the webservices requires regularly re importing of the web services.

  • Peer-to-Peer approach for Cross Organisation BPM

    What are the pros and cons of using Peer-to-Peer based decentralise approach for managing Inter-Organisational BPM?
    ( Peer-to-Peer CBPM: In ideal condition in this approach every Partner should have the same technology which is developed for handling collaborative Business Processes.  In this case the same modelling, monitoring, and implementation technology is available across the value chain. )
    What are the challenges and what are the benefits from the aspects like autonomy, governance, security, modelling, monitoring, and process ownership?
    Thanks you
    Regards
    Ganesh Sawant
    Edited by: ganesh sawant on Jul 16, 2011 8:45 PM

    PROS:
    Using the Webservices you can trigger the BPM Process and pass the values from the web dypro component which will available for the end user and pass it on to the BPM Proess.
    We can use EJB as a webservice, where the automated activity in the BPM can output the value based on the logic in the EJB Function. We can manage the automated activity which runs in the back ground of the process as per our logic and returns the value to the next task.
    CONS
    Using Webservices in the various activity with fewer data is not advisable as it takes longer time to deploy the process. And any change in the data in the webservices requires regularly re importing of the web services.

  • Books for web developement with oracle 10.1.2 Jdeveloper

    I a new to web developement with ADF BC. Steve's toystore is of great help.However to built of my basics and sharpen my knowledge,I want to buy a few books.Can anyone recommend any good books with project oriented approach for webdevelopment.
    For nowI am buying:
    1 Oracle Application Server 10g Administrative HAndBook
    2. Oracle Application Server 10g Web Development
    3. Enterprise Java Developemnt with JDeveloper
    Can anyone tell me how these books are? If now, what should I buy?
    Thanks

    I am having similar issues, did you ever find a solution?

  • Hardware requirement for CE7.1 for the development purpose

    Experts,
    How to calculate the hardware requirement for using CE7.1 for the development purpose? Do you have some parameters or guidelines for it?
    We will be using CE7.1 for the development of EP contents,  Web dynpro, Web services and Guided procedures.
    We need to calculate minimum hardware requirement for this purpose, but could not find the authorised document from SAP.
    I searched in the SDN. It is available for NetWeaver 7.0 but not for CE7.1.
    Any hints will be highly appreciated.
    Regards,
    sudeep

    Hi Sudeep,
    On the following links you will find the Composition Environment Product Availability Matrix and the installation guide of Composition Environment 7.1 Developer Edition.
    SAP NetWeaver Composition Environment 7.1
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e0e9cc7b-0469-2a10-d3a8-f4f04b30fb0b
    For accessing the Product Availability Matrix document the service marketplace access is required.
    Best regards,
    Yasar

Maybe you are looking for

  • Not possible to output CFTREEITEM in a CFC function?

    Hi there, I am parsing a sorted list of strings (in the form of a/b/c/, a/b/c, /a/c/d etc.) and trying to make a treeview out of it. I have the CFFORM and CFTREE tag in the top function and the code that generate CFTREEITEM in a subfunction, but I go

  • Wordpress xml file from local to remote MySQL

    I am developing a php site with an attached WordPress blog using Dreamweaver CS6 on my localhost test server. My php pages contain echos from private blog posts with an average of several divs per page. Heres my problem, when I export the xml from my

  • Connecting an HP photosmart R967 camera

    Hey Guys, I got this HP camera that i need to connect and synchronize with my macbook, but when connected on iPhoto it shows no images though i have about 177 photos on it! Is it because the photos are on the SD card not the camera memory? or is ther

  • Unable to start in single-user mode - HD dead?

    My MacBook Pro (Mac OS X) refused to start, it hung up on the loading screen where you see the apple and the spinning loading wheel. I found out how to fix this, I had to go into single-user mode and type "/sbin/fsck -fy" to repair/verify the disk (I

  • Unable to set default message memory to mass memor...

    Hi i bought n96 two weeks ago,yesterday i wanted to set mass merroy as default message memory. but it asking to copy all messages tonew memor...i said okthen it asked me to save original messages.. i pressed yes. then it says unable to move messages