Modify chart options at run time?

Post Author: davestewart
CA Forum: .NET
I am trying to create a bar chart that shows a custom grid line, or a reference line across the chart. I can set this manually in chart options using the 'Draw custom line at:' setting in the grids tab of the data axis in chart options. There must be a way to set this programatically at run time as this value will change based on the dataset passed to teh report each time. How could I accomplish this report?
If there is some other way to show a horizontal reference line on my bar chart, and have it match up with the scaling, that would be fine too. Any method of getting this on there would be great.
Thanks for any help you may be able to lend!

Hi ,
this will work..ut after you enter the p1 , you atleast have to hit enter key to get the value automatically in p2.
this is because you have to have atleast one screen refresh.
handle the eventy at selection screen output....
this is called just before the screen is dispalyed.
may be something like this.
p_matnr  material
p_maktx  description of material
But the value will not appear as soon as you enter the p1 , you have to..
1)enter p1
2)press enter
3)now p2 will appear automatically since at selection screen output would have processed in between.
AT SELECTION-SCREEN OUTPUT.
  IF NOT p_matnr IS INITIAL.
    SELECT SINGLE
    maktx FROM makt INTO p_maktx WHERE matnr = p_matnr AND spras = 'EN'.
  ENDIF.
please reward if useful.
Edited by: santosh sarda on Mar 8, 2008 11:51 AM

Similar Messages

  • How To... Change the Data Type for a SELECT-OPTIONS at run time.

    Hello,
    I am trying to restrict the values available for entry into a SELECT-OPTIONS at run time depending on user input.
    The logic is as follows. The user has two input fields. A PARAMETER field which has the type RSDIOBJNM and allows them to choose an InfoObject. And the user has a SELECT-OPTIONS field to allow them to select the Characteristic values for that InfoObject.
    I would like the following example to be possible:
    The user enters 0MATERIAL into the PARAMETER. When the user clicks on the SELECT-OPTIONS control code will derive a list of possible options the user can enter in the SELECT-OPTIONS. In this case only values found in the master data or at least no values greater than 18 characters.
    I have looked at the following function module SELECT_OPTIONS_RESTRICT and this do not appear to be helpful as they only restrict on the signs allowed for the values (unless I misunderstand, it is a complex function module!).
    The code I have so far is (thus the user enters a InfoObject into p_char1 and the select options so_char1 should only accept active values of that InfoObject):
    declaration of variables for user interface
      DATA c_char(32) TYPE c.
    declaration of count variable
      DATA i_count TYPE i.
    declaration of user interface
      SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME TITLE text-001.
        PARAMETERS: p_ipack TYPE RSLOGDPID.
      SELECTION-SCREEN END OF BLOCK a1.
      SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-002.
        PARAMETERS: p_char1 TYPE RSDIOBJNM.
        SELECT-OPTIONS: so_char1  for c_char NO INTERVALS.
        PARAMETERS: p_char2 TYPE RSDIOBJNM.
        SELECT-OPTIONS: so_char2  for c_char NO INTERVALS.
        PARAMETERS: p_char3 TYPE RSDIOBJNM.
        SELECT-OPTIONS: so_char3  for c_char NO INTERVALS.
      SELECTION-SCREEN END OF BLOCK b1.
    Is what I am trying to do possible???
    Thanks for any help. Ross.

    You really want to restrict possible values of a select-option based on another field, not change the length of type of the select-option field, right?
    Here is what you do:  Code a custom F4 value help for the select-option at event AT SELECTION-SCREEN ON VALUE REQUEST FOR..  The first thing you do here is read the value of the parameter field (p_ipack in your example).  You can use function module DYNP_VALUES_READ.  Based on this value, you can propose values for the select-option fields.  Note that the use can still enter whatever s(he) wishes in to the select-option field without pressing F4. In this case, you will have to code some input validations taking into account the value in the p_ipack field.

  • How to bind chart type at run time

    Hi,
    I want to select chart type at run time using a drop down , i know the class name (CL_WD_BUSINESS_GRAPHICS) which
    has to be bind. but iam unable to bind the class.
    can any one help me.

    Hi,
    **... check view exists
    check me->if_salv_wd_view~r_view is bound.
    *... get wd root uie for adding graphic control uie
      data:
        lr_wd_root type ref to cl_wd_transparent_container.
      lr_wd_root ?= me->if_salv_wd_view~r_view->get_element( if_salv_wd_comp_table_ui=>c_uie_root ).
      check lr_wd_root is bound.
    *... use a group container
      data:
        lr_wd_group type ref to cl_wd_group.
      lr_wd_group ?= me->if_salv_wd_view~r_view->get_element( if_salv_wd_comp_table_ui=>c_uie_graphic_container ).
    *... if wd uie group container does not exist create group container
      if lr_wd_group is not bound.
        lr_wd_group = me->if_salv_wd_comp_table_ui~create_graphic_container( ).
      endif.
    *... get wd uie graphic
      value ?= me->if_salv_wd_view~r_view->get_element( if_salv_wd_comp_table_ui=>c_uie_graphic ).
    *... if wd uie graphic does not exist create graphic
      if value is not bound.
        data:
          l_source_category type string,
          l_source_series   type string,
          l_source_point    type string.
        concatenate if_salv_wd_comp_table_data=>c_name_node_graphic '.'
                    if_salv_wd_comp_table_data=>c_name_node_graphic_category
                    into l_source_category.
        concatenate if_salv_wd_comp_table_data=>c_name_node_graphic '.'
                    if_salv_wd_comp_table_data=>c_name_node_graphic_series
                    into l_source_series.
        concatenate if_salv_wd_comp_table_data=>c_name_node_graphic '.'
                    if_salv_wd_comp_table_data=>c_name_node_graphic_series '.'
                    if_salv_wd_comp_table_data=>c_name_node_graphic_point
                   into l_source_point.
        value = cl_wd_business_graphics=>new_business_graphics(
                  view                 = me->if_salv_wd_view~r_view
                  id                   = if_salv_wd_comp_table_ui=>c_uie_graphic
                  bind_category_source = l_source_category
                  bind_series_source   = l_source_series ).
        data:
          l_bind_value type string.
        data:
          lr_wd_category type ref to cl_wd_category.
        concatenate l_source_category '.' 'LABEL' into l_bind_value.
        lr_wd_category = cl_wd_category=>new_category(
                           view             = me->if_salv_wd_view~r_view
                           bind_description = l_bind_value
                           bind_tooltip     = l_bind_value ).
        value->set_category( lr_wd_category ).
        data:
          lr_wd_series type ref to cl_wd_series.
        concatenate l_source_series '.' 'LABEL' into l_bind_value.
        lr_wd_series = cl_wd_series=>new_series(
                         view              = me->if_salv_wd_view~r_view
                         bind_point_source = l_source_point
                         bind_label        = l_bind_value
                         bind_tooltip      = l_bind_value ).
        value->add_series( lr_wd_series ).
        data:
          lr_wd_point type ref to cl_wd_point.
        concatenate l_source_point '.' 'LABEL' into l_bind_value.
        lr_wd_point = cl_wd_point=>new_point(
                        view              = me->if_salv_wd_view~r_view
                        bind_value_source = l_source_point
                        bind_label        = l_bind_value
                        bind_tooltip      = l_bind_value ).
        lr_wd_series->set_point( lr_wd_point ).
        data:
          lr_wd_value type ref to cl_wd_numeric_value.
        concatenate l_source_point '.' 'VALUE' into l_bind_value.
        lr_wd_value = cl_wd_numeric_value=>new_numeric_value(
                        view       = me->if_salv_wd_view~r_view
                        bind_value = l_bind_value ).
        lr_wd_point->add_value( lr_wd_value ).
        me->if_salv_wd_comp_table_ui~add_child_to_container(
          r_container = lr_wd_group
          r_child     = value ).
      endif.

  • How to change options in Run time menu while labView was running

    Hello Good Afternoon,
        I m Using LabView 8.5.How to change the options in Run time menu for any control while Labview was running
    Thanks 
    Jai
    Jayavel
    Solved!
    Go to Solution.

    Hi Jai,
    Try the below attached VI and let me know if u still need some explanation.
    Rgds,
    Venky
    Attachments:
    Run Time Menu.zip ‏6 KB

  • Is it possible to modify a view at run time?

    Hi,
    I am relatively new to using SQL Server, so sorry if this is impossible or very easy and I missed the solution.
    I am working on an enterprise SQL Server 2008 R2.  Because of the size of the company, we do not want to create new Views as they need to be maintained.  With that said, I need to use Views and not tables because of DB traffic issues.
    HERE IS MY QUESTION:
    Is it possible to Alter a view at run time; in this specific instance I want to change a constraint in the WHERE clause to include one more value in an IN() constraint.  Specifically I want the modified SQL to go from WHERE column IN('A', 'B', 'C')
    to 
    WHERE column IN('A', 'B', 'C', 'L').  I do not want to permanently modify the View, I just want the View to change when it is run for this report.  I need to do this in order to fix a dynamic report.  I am sure that there is another way to
    accomplish this; however, a solution of this manner would also have many other uses, so I am curious if this is possible. 
    Feel free to tell me that it can be done. 
    Thanks for your ideas!!

    Right, I understand those fundamentals.  We outsource a lot of out view creation and do not have permission to create views for Business reasons; these are beyond my control.  However, I can see the source code to many Views.  We have also
    been told that we should not use tables in our queries.  Therefore, I need to use existing Views.  Specifically, I would like to add an additional value to an IN() constraint.  This would change the constraint as showed below: 
    IN('A', 'B', 'C') ---> IN('A',
    'B', 'C', 'L')
    I am wondering if this change can be made when the view runs and only for this one report, with the change being made from the report.  This would be very easy if the constraint was removing a value.  Obviously I could change the constraint from
    IN('A', 'B', 'C') to IN('A','B') very easily with out modifying the View. This would be done by writing a query against the view and in the WHERE clause adding the new IN('A', 'B') statement.  However, I want to do the opposite and add a value...

  • Modifying property file at run time

    Hi all..
    I have been using properties file for handling few configurations in my project.
    whenever i need a change in the file, i had to change it in corresponding file, create a jar file and then introspect it into project and then publish the project.
    Is there any other way of achieving it.... can we modify the property file at run time just like we do for JSP pages...
    Or any other better way of doing this.. pls suggest..
    (am using 10g OBPM)
    Have a nice time...
    Regds,
    Viswanath

    Sharma,
    write a java class that reads a property file from the external path. make the jar file non-versionable in case you need to update that later. if you are on J2ee container all you need to do it drop the file @ domain root and u shd be good to go.
    sample code I am doing this for log4j.properties and application propertied.
    public class BPMLoggerUtil {
         // Initializing the default Logger //
         private static Logger logger = null;
         private static final String DEFAULT_PATH = "resources/log4j.properties";
         private static HashMap map = new HashMap();
         * This is the init method
         * @param propertyPath
         public static void init(String propertyPath){
              try {
                   if((logger = (Logger) map.get(propertyPath)) == null){
                        Properties properties = new Properties();
                        properties.load(LoggerUtil.class.getClassLoader().getResourceAsStream(propertyPath));
                        PropertyConfigurator.configure(properties);
                        logger = Logger.getLogger(PropertiesHelper.getProperty("resources.test", "AppName"));
                        map.put(propertyPath, logger);
              } catch(Exception ex) {
                   ex.printStackTrace();
         }

  • How to change Number of test socket in Model option during run-time

    I wanna be able to change the the number of test sockets(in the Model Options menu) during runtime. I have overriden the Prebatch callback and used my own instead. I have a LabView program in my Prebatch where I would select the test script each time before running the batch. I wann be able to also modify the number of test sockets each time before I run the batch again. I tried setting the "Parameters.ModelData.ModelOptions.NumTestSockets" from the Labview program which is in my Prebatch before running each batch, but get into errors. Please help?

    Hello Kumar,
    The Batch process model shipped with TestStand does not handle this scenario, but you can still do this. Attached is a sequence file that utilizes the Batch Model's ProcessCleanup callback to reset the next execution point. It still uses the method of setting the Parameters.ModelOptions.NumTestSockets variable in the PreBatch callback. The change I added was three steps to a different callback (the ProcessCleanup callback):
    Message Popup - prompts Yes or No to continue testing with a new batch size.
    Statement 1 - based on the response to the message popup (via precondition), resets the Batch Model's next step to be executed and the ContinueTesting flag:
    RunState.Root.RunState.StepGroup = "Setup"
    RunState.Root.RunState.NextStepIndex = 0
    RunState.Root.Locals.ModelData.ContinueTesting = True
    Statement 2 - based on the response to the message popup (via precondition), loops to reset each TestSocket's ContinueTesting flag:
    RunState.Root.Locals.ModelData.TestSockets[RunState.LoopIndex].ContinueTesting = True
    These two statement steps force the next step to be executed in the Batch Process Model to be the first step in the "Setup" step group, and reset all necessary flags for the batch itself and the individual TestSockets. I discovered the flags that had to be reset by trial-and-error (that was the time-consuming part).
    You can run continuous batches of the same size you first chose (for as long as you like), but when stop the batch execution this new message popup will prompt (yes/no) whether you want to continue testing with a new batch size. If no, then processing terminates. If yes, then the next two statement steps are run and execution resumes back at the beginning of the Batch Process Model's Setup step group. This forces the ModelOptions callback to be executed again, so your VI (in my example here it's just a Message Popop) can then set NumTestSockets appropriately.
    Thanks for contacting National Instruments!
    David Mc.
    NI Applications Engineering
    Attachments:
    kumar.seq ‏27 KB

  • CR2008 - Set chart titles during run time

    Hello community!
    Is there a way to change the chart titles during runtime with the fullversion?
    I have the following code to change the text of the "FieldHeadingObject" and "TextObject" and this is working.
    foreach (CrystalDecisions.CrystalReports.Engine.ReportObject repObject in sec.ReportObjects)
       if (repObject.Kind == ReportObjectKind.TextObject ||
           repObject.Kind == ReportObjectKind.FieldHeadingObject)
            ((CrystalDecisions.CrystalReports.Engine.TextObject)repObject).Text = "my new Text";
    How can I change the titles of the chart object?
    I know already that there is the class "ChartTextOptionsClass"
    Does someone know how I could access the TextOptions in the ChartObject so that the new Titles are displayed in the report?
    Thank you
    Alex

    Hello Ludek!
    Thank you for the example code. I modified them to meet my requirements.
    void LoadReportLanguageResources(ReportClass report)
       foreach ( CrystalDecisions.CrystalReports.Engine.Section sec in report.ReportDefinition.Sections)
          foreach (CrystalDecisions.CrystalReports.Engine.ReportObject repObject in sec.ReportObjects)
             if (repObject.Kind == ReportObjectKind.TextObject ||
                  repObject.Kind == ReportObjectKind.FieldHeadingObject)
                ((CrystalDecisions.CrystalReports.Engine.TextObject)repObject).Text = "test";
       CrystalDecisions.CrystalReports.Engine.ReportDocument rptDoc = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
       CrystalDecisions.ReportAppServer.ClientDoc.ISCDReportClientDocument rptClientDoc;
       report.Load();
       rptClientDoc = report.ReportClientDocument;
       CrystalDecisions.ReportAppServer.ReportDefModel.ReportObjects myCharts;
       myCharts = rptClientDoc.ReportDefController.ReportObjectController.GetReportObjectsByKind(CrReportObjectKindEnum.crReportObjectKindChart);
       foreach (CrystalDecisions.ReportAppServer.ReportDefModel.ReportObject oldObject in myCharts)
          if (oldObject.Kind == CrReportObjectKindEnum.crReportObjectKindChart)
             CrystalDecisions.ReportAppServer.ReportDefModel.ChartObject oldChart;
             CrystalDecisions.ReportAppServer.ReportDefModel.ChartObject newChart;
             oldChart = (CrystalDecisions.ReportAppServer.ReportDefModel.ChartObject)oldObject;
             newChart = (CrystalDecisions.ReportAppServer.ReportDefModel.ChartObject)oldChart.Clone(true);
             newChart.ChartStyle.TextOptions.Title = "My new Title";
             newChart.ChartStyle.TextOptions.DataTitle = "My new data Title";
             newChart.ChartStyle.TextOptions.SeriesTitle = "My new series Title";
             rptClientDoc.ReportDefController.ModifyChartObject(oldChart, newChart);
    But I am hvaing problems with the method modifyChartObject(oldChart, newChart). When the method is called i get an COMException with a message like "The data fields of the diagramm are not valid" (German message: "Die Datenfelder des Diagramms sind ungültig"); ErrorCode -2147213287;
    LoadReportLanguageResources is called via the following functions - I left out the outermost functions where the reportingList is loaded and the parameter is built.
    //Checks the list with the report items and call the main load method
    void IReportView.LoadHusReport(IList<HusRepItem> reportingList, BDEA01RangeParameter parameter)
       if ( reportingList.Count > 0)
          reportClass = new repHusReport();
          reportClass.SetDataSource(reportingList);
          LoadReport(reportClass, "Hus Station Report", parameter);
    void LoadReport(CrystalDecisions.CrystalReports.Engine.ReportClass myReport, string title, BDEA01Parameter parameter)
       //check the parameters
       //set the parameters for the report (start and end time of the displayed report range)
       myReport.SummaryInfo.ReportTitle = title;
       if(reportViewer == null)
          crCrystalReportViewer = new CrystalReportViewer();
          reportViewer.Child = crCrystalReportViewer;
       LoadReportLanguageResources(myReport);
       crCrystalReportViewer.ReportSource = myReport;
    Is there something I have forgotten?
    I checked the datafields of the old and the new chart and both have 0 entries before the ModifyChartObject method is called.
    If the method is not called, the report is functioning and all values/diagrams are displayed correctly.
    Thank you Ludek for your help.
    Alex
    Edited by: Alexander Frwirth on Jul 7, 2010 10:13 AM

  • Set date grouping option at run time

    Is there a way to change the date field grouping options at runtime?  What I would like to do is have the user select a parameter for monthly or weekly grouping; then set the "The section willl be printed:" area on the date group to either "for each week" or "for each month" based on the value of the parameter.

    Try to create two formula in the report like this
    @Monthly:
    whilereadingrecords;
    if {?Parameter}="Monthly" then
    {date field}
    @Weekly:
    whilereadingrecords;
    if {?Parameter}="Weekly" then
    {date field}
    Now remove the existing group GH1 in the report and insert a group on formula @Monthly and select for each month for this group.
    Now insert another group GH2 on the formula @Weekly and select for each week for this group in group options.
    Now the report works dynamically according to the selected value in the parameter.
    Hope this helps!
    Raghavendra

  • Enter subscripts at run time

    How can a user enetr subscripts into textfields when they are filling out the form?  I already have the form designed - this is not a design time question.  My users have reader 9.x and X.x  For example, they need to enter
    PuP4CO7 into a textfield, but Acrobat Pro X or 9.x or reader/standard seems to have no font tool for the user to put in those subscripts.
    Thanks,

    Bernd -
    This is not an option at run time.  The form is designed, it cannot be altered at this point.  When the user opens the form to entr text there is no option for rich text.  Acrobat X seems to have no font menu to manage text for entry into fields.

  • Moving a rectangle or change color in "Run-Time "?

    First step, the objects of decoration you can modify its properties in "Run-Time "?
    Moving a rectangle or change color in "Run-Time "?
    I want to develop a mini SCADA application, where I have to do some animations usingsimple objects like Shapes.

    Yes, it is possible to modify decorations in runtime. An example is below.
    As you can see, you just need to get a reference to the front panel containing the decoraitions, and then use the Decos[] property to get an array of references to the decorations. These can be passed to a property node.
    Unfortunately, the decorations cannot be given a unique identifier, such as a label. So if you have multiple decorations, it can be tricky to modify the properties of a specific one. If you are only dealing with one shape, this won't be an issue. One roundabout way to pick out a particular decoration would be to search through the array references until you find the one with matching size and location on the front panel. Alternatively, you could use a disabled control, such as a boolean push button with no caption, and refer to that directly.
    Hope this helps.
    -Garrett

  • How do you set the size / bounds of a waveform chart at run time?

    I have a plot area that I would like to fill with as many waveform charts as the user specifies (at run time). The "bounds" property is read only and I haven't noticed an additional "size" property for a waveform chart as there is for a button. Is there a way to set the size of a waveform chart at run time, and if not, why not? (Labview 6.1)

    Look at it a little more carefully, I suspect that your assumption is only half wrong. The property does only resize the plot area--LV resizes the frame to fit the resized plot on it's own.
    You'll need to bear this in mind when you're figuring-out what size to set the property to.
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • Only first plot of waveform chart has run-time menu

    Hello again all you helpful forum-goers!
    My multi-plot waveform chart is working decently well, but now for some reason only the first plot in the plot legend displays a run-time customization menu when I click on it while the VI is running (allowing me to select the plot color, etc.).  All the other plots do nothing when I click on them.  I do not have any mouse-down events or filter events of any kind in my VI.  I programmatically set the number of plots and the size of the plot legend, along with each plot's name, y index, and color.  Any ideas as to what might be going on?
    Thanks a bunch as always!
    -Joe
    Solved!
    Go to Solution.

    Okay, hopefully this will help get some more thoughts / answers flowing.  I've copied my strip chart from my actual VI into a test VI, and it still exhibits the problem.  On the other hand, I have created a new strip chart from scratch, and it works fine.  I have attached both VIs here for you to see.  My guess is that some property of the first chart is set incorrectly or something, but I cannot figure out which one (and there are so many!).
    Any assistance you can give would be appreciated. The challenge is to get the chart in the first VI working (plots other than the first responding to a mouse click to change their color or other attributes), via changing some attribute of the chart (and being able to tell me which one you changed!).
    Thank you again for anyone who can look into this.
    -Joe
    Attachments:
    Test StripChart color selection not working.vi ‏17 KB
    Test StripChart color selection working.vi ‏12 KB

  • Chart run-time tools: focus

    Hello,
    I have a problem with the chart run-time tools. The Focus button doesnu2019t seem to work.
    Situation:
    My chart has values (y-axis) that vary mainly from 0 to 30, but sometimes there might be values over 100. I want the user to be able to see the trend clearly between values from 0 to 30. So I have set y-axis limit to follow the max value of the spread till it reaches 30. With higher values chart max limit stays in 30 (formula in cell).
    With Focus Button and Reset Scale Button I would allow user to format chart to show the overall trend with values over 30.
    Problem example:
    One of my y-values is 50. When I preview the chart the max limit is at 30 (as explained earlier). When I click Focus Chart Data-button the chart rescales to 35, but not to 50 (adds 5). Another example: my value is 80 and limit is at 60. With Focus chart data u2013button the chart rescales to 70 (adds 10) not 80
    What is the logic here? Why wonu2019t the chart rescale to my value?
    Br.
    Nicolas

    hi Nicolas,
    I tried to replicate your scenario using Line Chart.
    Sample Data
    x1,y1 - A, 1
    x2,y2 - B, 4
    x3,y3 - C,15
    x4,y4 - D,30
    Now i bind the data with Line Chart using 'By Series' and 'Category labels'.
    Go to Behavior -> scale
    set Manual Y-axis
    Min limit : 0
    Max limit : 30
    Go to 'Common' tab
    Enable Run-time Tools.
    Click Preview
    Grow - 35
    Off- 30
    Auto - 35
    Focus - 35
    Reset - 30
    Now i change my x3,y3 in excel to C, 50
    Now click Preview
    Properties are changed automatically as follows.
    Grow - 60
    Off- 50
    Auto - 60
    Focus - 60
    Reset - 30
    Here, i don't see any problem. As data changes, properties are automatically adjusted.
    Please try it out and let me know if  problem still exists.
    Regards,
    Vamsee

  • Modifying a Application Substitution String in Run-time

    Hello all,
    I have a substitution string defined in an application (under application definition) that needs to be different based on whether the application is on a development server or a test server. Is there a way that I can alter the value of that subsitution string on my test run-time instance after I've brought the application in from development? Perhaps an API call? APEX_INSTANCE_ADMIN doesn't appear to have anything for this.
    Or do I have to either do a test in code and set an application item when the application starts up, or pull it from a database table or constant?
    Thanks!
    John

    Shane,
    SubVersion works with files, so everything you do has to be a file, including all of your PL/SQL procs / functions / packages. If you have "cowboy coders" editing packages in the database with SQL Developer or TOAD, that's the first thing that needs to change. I regularly export my APEX apps and check them in. I also make a DDL-only backup of any schemas I'm working on at major mile-stones or before upgrades.
    There's a server and client component. The sever houses the repository and everyone checks projects out from and commits projects to the server. On the client-side, the TortoiseSVN client is by far the most popular Windows client. It perfectly integrates with Windows so you can right-click a file and lock, update, commit it.
    To work on a project, you:
    - check it out from the repository. you typically only do this once as you keep a working copy on your client pc.
    - get a lock on a file you want to edit. This is optional, but it's my preferred method. Now you are the only one that can commit the file back to the repository.
    - make your changes to the file, once you are happy, simply right-click and select commit. you can then enter comments on the file.
    - now, anyone else who wants to edit that file will see your changes when they request a lock or issue the "update" command.
    You can review every version of the file, diff versions, "Tag" a version of your code, and the list goes on.
    After a few hours you'll be comfortable with the client process. I think the server component of it deters most people as you have a number of choices to make and it can be slightly complicated to install. For this reason, I STRONGLY recommend trying one of the hosting providers as then all you have to worry about is the client-side. Additionally, your code is now backed-up off-site.
    I don't have any personal experience with these services, but here are a few reasonably priced ones. The first one has a free option which is where I would start with a test project just to get a feel for it.:
    - https://www.projectlocker.com
    - http://svnrepository.com/
    For what it's worth, the APEX team uses SubVersion, as do many dev teams inside Oracle (not the DB dev team though). Also, the new https://samplecode.oracle.com uses Subversion as part of an offering from CollabNet. My 1st project hosted there is called logger . You can brows the logger subversion repository here: https://logger.samplecode.oracle.com/source/browse/logger/
    Links:
    - [TortoiseSVN Client|http://tortoisesvn.tigris.org/]
    - [SubVersion Server|http://subversion.tigris.org/]
    Tyler Muth
    http://tylermuth.wordpress.com
    [Applied Oracle Security: Developing Secure Database and Middleware Environments|http://sn.im/aos.book]
    Edited by: Tyler on Nov 17, 2009 2:57 PM

Maybe you are looking for

  • How do I show the Develop Module settings when I open up an image I've exported from LR 4.4?

    Say I have a preset that I use upon import.  I import some raw files using that preset but decide to tweak the settings a bit per each image.  IOW, now they are different than my preset. I now export from a tweaked raw file a jpeg.  If I later import

  • How to exit Loop in the middle

    I have a requirement of exiting a loop in between, if a particular condition is satisfied. How do i achieve this in workflow? I thought of using 'Process Control' but it has no option to exit a loop from the middle....is there a way out?

  • Can I create an action link(drill through) to a Union report

    hello experts, Through my summary report I have created an action link to the detail report. My summary report is coming from one subject area; but my detail report is a union of 4 different subject areas. When I click on my action link to do to the

  • Why wont itunes open?

    it really wont open...

  • Mapping execution failed

    Hi All, One of my customer is facing the following issue: Customer has a mapping that loads tha data from an external table to two staging tables. Deployment of the mapping went fine. When trying to run the mapping mapping fails with status 'Error' B