EVO:RAIL - Use Cases?

I think as soon as the world becomes aware of EVO:RAIL then folks will start asking what the use cases are. It's clear that there are couple of immediate use cases, but I'm betting that customers will bring to the table applications that perhaps we hadn't considered. The other night I was our Tech Summit event (its private event for VMware SE/TAMs to attend prior to VMworld to get them up to speed on what the announcements are all about), and I was approached by a number of SE/TAMs who are interested in running EVO:RAIL in the basements and garages as the foundation to their homelabs. Even with the onsite of Cloud - and we have an internal cloud that SE/TAMs can use demo products to customers - just like the VMware Community they still have a passion for building out their own demos, just how they like them - that they can tailor make to handle customer questions that come up. I'm the same, despite being at VMware for 2+ years, I'm still running my own gear at home. It just worked out more cost effective form my needs than keeping my 42U rack at a colo.
I doubt that my might the "WAF" would apply to having a 4U box with 4 nodes inside it - in the spare bedroom. So I'm already looking at running EVO:RAIL in a nested configuration on my home lab gear for testing, videos and demos to customers. That work has already been done for the VMworld HoL, by William Lam (the undisputed king of nested ESX, well, perhaps Simon Gallagher comes close!) - who's done some excellent work on this already. So hopefully it won't take much work to get hold of the bits from the HoL, and pump the lastest build of EVO:RAIL into it...
Anyway, I digress use cases. It's clear that ROBO, SMB and VDI are the top use cases - situations where an appliance like model, with zero configuration (almost!) is needed. I think we perhaps be a bit careful with the SMB use case. EVO:RAIL is 4xNodes in a 4U configuration with each node presenting 192GB of RAM. One thing I've always been concerned with is how variable "SMB" is as term. Over here in a the US an SMB would be classed as company with <1000 employees. Over here in Europe, that would be regarded as still quite large for an SMB.. The same goes ROBO. So I guess what I'm saying is size is relative, and so we have to be careful when use terms like "small".
Folks who know me will know that I'm a big fan of VMware Site Recovery Manager and vSphere Replication - having written books about the version 1.0, 40 and 5.0 versions. I think there's use case where an EVO:RAIL is put into some colocation facilitiy and used as DR target. The important thing to remember about EVO:RAIL as its based on vSphere 5.5 U2, other products in the vCloud Suite family will work with it - like SRM, View, vCloud Director or vCAC... So its not some special "moded" version of the platform. Perhaps a better model for DR and EVO:RAIL is to run VR locally on it, and use vCloud Air as the target for recovery...? I guess we have to ask the question what's going to be more popular/easier. Two site with EVO:RAIL at either end, or EVO:RAIL enabled for DR to the cloud. Just to be clear. That isn't baked into EVO:RAIL today, I'm just blue sky thinking about the possibilities in the future.
So what do folks think here? Can you dream up any other scenarios where an EVO:RAIL would be good fit...?

You make some valid points there, but there's a couple of things that are worth clarifying....
Firstly, EVO:RAIL is pre-installed at factory. So really the only "installation" is racking up, and connecting to the TOR. In fact I think an EVO:RAIL is easier to setup that a VSA is, and gives more usable disk space, and lower cost per gigabyte..
IF the customer has given the OEM the IPs, IP Ranges, Hostnames, and Passwords - then it literally is a 15min setup after clicking "Build Appliance". On the other hand if the customer wants to customize the EVO:RAIL prior to build - such as changing the VLANs Tags (That they supplied) that would add a couple of minutes...
vDS is NOT a prequistie. EVO:RAIL uses standard switches... Although an EVO:RAIL is licensed for Enterprize Plus. There's no requirement to configure a Distributed Switches.
The real "asks" here is the customer needs 10Gb switch - I think its fair to say that isn't common in SMB/ROBO environment. I suspect many of the OEMs will be asking the customer to validate their switch configuation. Multicast for IPv4/IPv6 is used by the "Zero Network Configuation" on the management/VSAN networks. As the name suggest no configuration is required on the EVO:RAIL, its used as part of the discovery process for finding the nodes, and finding new appliances. One most switches this tick off box option on the switch for the VLANs that require it...
Anyone of my plans is to order an EVO:RAIL from one of our suppliers just like a customer would, and document/record that process. So i can get a feel for a real world customer experience would be. In fact I might see if my wife, Carmel can set it up... :-)

Similar Messages

  • EVO:Rail Training

    For EVO:Rail to succeed vmware must make sure the availability of training for the same and not depend upon its hardware partners for Training.
    Most of the hardware mentioned don't have a great track record in Training.
    Vmware can also add a EVO:Rail Training Module in VSAN Deploy and Manage course.
    Non Availability of the training was one of the reason that vmware VSA failed to get traction in the market.

    You make some valid points there, but there's a couple of things that are worth clarifying....
    Firstly, EVO:RAIL is pre-installed at factory. So really the only "installation" is racking up, and connecting to the TOR. In fact I think an EVO:RAIL is easier to setup that a VSA is, and gives more usable disk space, and lower cost per gigabyte..
    IF the customer has given the OEM the IPs, IP Ranges, Hostnames, and Passwords - then it literally is a 15min setup after clicking "Build Appliance". On the other hand if the customer wants to customize the EVO:RAIL prior to build - such as changing the VLANs Tags (That they supplied) that would add a couple of minutes...
    vDS is NOT a prequistie. EVO:RAIL uses standard switches... Although an EVO:RAIL is licensed for Enterprize Plus. There's no requirement to configure a Distributed Switches.
    The real "asks" here is the customer needs 10Gb switch - I think its fair to say that isn't common in SMB/ROBO environment. I suspect many of the OEMs will be asking the customer to validate their switch configuation. Multicast for IPv4/IPv6 is used by the "Zero Network Configuation" on the management/VSAN networks. As the name suggest no configuration is required on the EVO:RAIL, its used as part of the discovery process for finding the nodes, and finding new appliances. One most switches this tick off box option on the switch for the VLANs that require it...
    Anyone of my plans is to order an EVO:RAIL from one of our suppliers just like a customer would, and document/record that process. So i can get a feel for a real world customer experience would be. In fact I might see if my wife, Carmel can set it up... :-)

  • Renaming default Datacenter, Cluster, and Datastore object names in EVO:RAIL

    Hello,
    The Datacenter, Cluster, and vSAN Datastore objects in my newly-installed EVO:RAIL appliance all default to a label of "MARVIN-...". Is it safe to rename these labels appropriate to my environment, such as a geographic location for my Datacenter object? I suspect that it is okay because the underlying UID will not change, but am looking for confirmation from someone who has successfully done this in a lab or production environment and who has also been successful in applying EVO:RAIL patches afterward.
    Thanks in advance.

    Just to close the loop, I successfully renamed the datacenter, cluster, and vSAN objects in vCenter Server.
    I kept a close watch on Log Insight at each step, and did log one error that I found suspicious following the object rename of the vSAN datastore:
    2015-01-29T19:03:27.158Z <My 4th Host's FQDN> Hostd: [783C2B70 info 'DiskLib'] DISKLIB-LINK :DiskLinkGetSpaceUsedInfo: Failed to get the file system unique id for file vsan://118eb054-f123-469a-d542-XXXXXXXXXXXX, using id as "remote"
    Where in my case the 4th host happens to currently be the HA master. I'm guessing this was just a transient error as it hasn't reappeared in the last 30 minutes, but I'll keep an eye out for it. There was no corresponding error viewed in vCenter Server, and I seem to be able to refresh the vSAN storage counter without issue.
    Thanks again.

  • EVO:Rail as stretched Cluster?

    Hi all,
    has anyone found information about the max. distance or RTT between the EVO appliances?
    Or what about using EVO:Rail as stretched cluster - any thought's.
    rgds
    Tom

    Just to 100% clear. EVO:RAIL deploys the standard edition of Virtual SAN - which specific does not support stretched clustered deployments where the storage available is across one network, across two sites...
    EVO:RAIL requires 10Gps local networking to the appliance, and between the appliances in scaled-out scenario...
    I hope that answers your question - keep them coming...
    Regards
    MIke

  • EVO:RAIL and VSAN

    Are there VSAN benchmarks on EVO:RAIL compared with traditional server based VSAN?

    Sorry, I'm a bit confused about the question - you mean a comparison between EVO:RAIL and VMware Virtual SAN - or do you mean benchmarks between EVO:RAIL/VSAN - and conventional Storage Array connected over ethernet (iSCIS/NFS) or FC block storage?
    For VSAN there's been a number of articles about performance which you might find useful - one caveat. In this release EVO:RAIL supports 16 nodes per cluster whereas Virtual SAN supports 32-nodes per cluster - so some of the sliding scale doesn't apply...
    http://blogs.vmware.com/performance/2014/09/microsoft-exchange-server-shows-great-performance-vmware-virtual-san.html
    http://blogs.vmware.com/performance/2014/08/web-2-0-applications-vmware-virtual-san.html
    http://blogs.vmware.com/performance/2014/03/vdi-performance-benchmarking-vmware-virtual-san-5-5.html
    My colleague Duncan Epping has written extensively on some of the considerations around VSAN:
    http://www.yellow-bricks.com/2013/11/14/vsan-performance-many-sas-low-capacity-vs-sata-high-capacity/
    and there's been some independent work too:
    http://www.storagereview.com/vmware_vsan_posts_2_million_iops

  • EVO:RAIL features

    Hi,
    what about comparison evo:rail with simplivity or nutanix ?
    What about the features like dedup, data protection over wan and so on. Are there some information already?
    Regards,
    Rob

    Don't really want to get into comparison at this stage - as I feel fundmentally the architecture and business model for EVO:RAIL is very different from other hyper-converged systems. Notice how I said different, not better or worse. I've got a great respect for the folks at Nutanix and Simplivity, and don't feel its far to produce an apples to oranges comparison. It would like comparing motorcycle to car, and pointing out to everyone that one of the major limitation of the motorcycle is that only has two wheels...
    EVO:RAIL in the current release is targetting the SMB/ROBO/VDI markets with hardware from wide range of vendors - in away that we hope will create a market place for the technology. Fundmentally, VMware is software company and remains so - all we have done is empowered new vendors to the market. So I hope it increases competition, which in the long run will only benefit customers as whole...
    EVO:RAIL is based on the products in your DC that have been around for 10years - vCenter, ESX - clearly Virtual SAN and Log Insight are new to the party. The big advantage to me of this is - is you have a model that's 100% VMware, with a very simple and easy upgrade process - an upgrade process that's shares the self same cadences as the vSphere product. So they won't be an jive between the version of vSphere used by regular customers, and those who go the EVO:RAIL. Remember EVO:RAIL doesn't have a "controller" node like so many hyper-converged vendors do, its built into the ESX vmkernel....
    The joke/irony I've been point out this week - is although we have a "converged" marketplace - the various vendors haven't converged on the same solution - either architecturally or from a business model perspective....

  • EVO:RAIL Management Page not loging...

    1. EVO:RAIL Configration 100% completed.
    2. EVO:RAIL Management Page Connecting..( https://IP: 7443 )
    3. Go login..
    4. loading...loading...loading...loading...loading...loading...............................
    Does not proceed from loading page...
    What is the problem?...

    Thanks for the log. It told me that you are using EVO:RAIL 1.0.1 release and based on your screenshot you are using either the browser that's set into one of either Chinese or Korean languages (sorry I can't tell). In 1.0.1 release, we had a known problem when EVO UI would set to use one of such languages, we would not be able to login into the UI (exactly the issue you are seeing). The fix for this problem would be to upgrade to 1.0.2 release using the bits from VMW's download site (https://my.vmware.com/group/vmware/details?productId=442&downloadGroup=EVORAIL1_0_2). You would need to login to the EVO:RAIL UI using English setting (https://<ip>:7443/manage?lang=en) and perform the update to both EVO:RAIL rpm and offline bundle.
    Ping us back if you have any problems getting through this and we can walk you upgrade process in another way if needed.
    @Mike: the appliance is from Dell (with a very weird appliance ID - most likely from engineering samples)
    Biteksystem: Are you evaluating this appliance or have you purchased it this way? Thanks.

  • Cannot Record Material Inspection Results as per wiki use case * SOLVED *

    === EDIT ===
    Playing around, I solved my issue.
    I did not realize that I needed to set both flags
    CloseIndicatorSpecified  = true;
    CloseIndicator = false;
    Adding that fixed it; I suspect I cannot set them to null even if the WSDL allows it.
    Michel.
    === ORIGINAL POST ===
    Hi,
    I have a project to integrate SAP and our LIMS using the SAP web services with the Material Inspection business object.
    In the Wiki, there are a few [use cases|https://www.sdn.sap.com/irj/sdn/wiki?path=/display/ESpackages/IntegrationofQualityManagementSystems] on the subject.
    Following that, I successfully retrieve all the required data using the following web services:
    [Find Material Inspection Basic Data by Elements|https://wiki.sdn.sap.com/wiki/display/ESpackages/FindMaterialInspectionBasicDatabyElements]
    [Find Material Inspection Subset Operation by Elements|https://wiki.sdn.sap.com/wiki/display/ESpackages/FindMaterialInspectionSubsetOperationbyElements]
    [Find Subset Operation Inspection Activity Basic Data by Elements|https://wiki.sdn.sap.com/wiki/display/ESpackages/FindSubsetOperationInspectionActivityBasicDatabyElements]
    [Read Subset Operation Inspection Activity|https://wiki.sdn.sap.com/wiki/display/ESpackages/ReadSubsetOperationInspectionActivity]
    From there, I want to record results. According to the Wiki , I should use
    [Record Subset Operation Inspection Activity Result|https://wiki.sdn.sap.com/wiki/display/ESpackages/RecordSubsetOperationInspectionActivity+Result]
    I tried directly through the [WS Navigator|http://sr.esworkplace.sap.com/webdynpro/dispatcher/sap.com/tcesiespwsnavui/WSNavigator] to test web services. Whenever go through that tho, I get the following error:
    Conversion Error: Invalid Input Format (701 SFB)
    Obviously, I get the exact same error using c# (at least I'm consistent!)
    Below is the code (some is truncated because it is too long but I think you can get the idea).
    The question: Can anyone help me understand why I am getting that error? Maybe there is one or more property I don't understand... It would be practical if the actual failing property was identified in the LogItem, but it is not.
    Some things I tried (to no avail):
    1. Tried all sort of combination for actionCode
    2. Removed actionCode and set actionCodeSpecified = false
    3. Removed the Measure property
    4. Removed the Text property
    5. Removed the ChangeStateID
    Thanks in advance!
    Michel
    ...RequestMessage_sync messageIn = new ...RequestMessage_sync();
    messageIn.MaterialInspection = new u2026RequestMessage_syncMaterialInspection();
    messageIn.MaterialInspection.ID = new MaterialInspectionID();
    messageIn.MaterialInspection.ID.Value = "3265";
    messageIn.MaterialInspection.ChangeStateID = "1";
    messageIn.MaterialInspection.Subset = new u2026RequestMessage_syncMaterialInspectionSubset();
    messageIn.MaterialInspection.Subset.ID = new InspectionSubsetID();
    messageIn.MaterialInspection.Subset.ID.Value = "0";
    messageIn.MaterialInspection.Subset.Operation = new u2026RequestMessage_syncMaterialInspectionSubsetOperation();
    messageIn.MaterialInspection.Subset.Operation.ID = "0300";
    u2026RequestMessage_syncMaterialInspectionSubsetOperationInspectionActivity activity = new u2026RequestMessage_syncMaterialInspectionSubsetOperationInspectionActivity();
    activity.ID = "0010";
    activity.CloseIndicatorSpecified = false;
    activity.Result = new u2026RequestMessage_syncMaterialInspectionSubsetOperationInspectionActivityResult[1];
    activity.Result[0] = new u2026RequestMessage_syncMaterialInspectionSubsetOperationInspectionActivityResult();
    activity.Result[0].ID = "0001";
    activity.Result[0].AcceptanceStatusCodeSpecified = false;
    activity.Result[0].DefectNumberValueSpecified = false;
    activity.Result[0].ExceptionIndicatorSpecified = false;
    activity.Result[0].InspectedNumberValueSpecified = false;
    activity.Result[0].Comment = string.Empty;
    activity.Result[0].NonConformingUnitNumberValue = 0;
    activity.Result[0].Measure = new Measure();
    activity.Result[0].Measure.Value = decimal.Parse("4.15";);
    activity.Result[0].Measure.unitCode = "AMP";
    activity.Result[0].Text = new Text();
    activity.Result[0].Text.Value = "Some Text Here";
    activity.Result[0].actionCode = ActionCode.Item01 |ActionCode.Item02 | ActionCode.Item03;
    activity.Result[0].actionCodeSpecified = true;
    activity.CloseIndicatorSpecified = false;
    messageIn.MaterialInspection.Subset.Operation.InspectionActivity = activity;
    messageIn.MessageHeader = new BasicBusinessDocumentMessageHeader();
    messageIn.MessageHeader.ID = new BusinessDocumentMessageID();
    messageIn.MessageHeader.ID.Value = "starlims_update";
    try
          u2026ConfirmationMessage_sync messageOut = ws.MaterialInspectionSubsetOperationInspectionActivityResultRecordingRequestConfirmation_In(messageIn);
          if (messageOut.Log.Item != null)
                string message = String.Empty;
                foreach (LogItem item in messageOut.Log.Item)
                      message += (item.Note + "\n");
                MessageBox.Show(message);
    catch (Exception ex)
          MessageBox.Show(ex.Message);
    Edited by: Michel Roberge on Jul 16, 2008 2:38 PM

    See post for solution.

  • Use case export to text document

    In Jdeveloper you can export generated UML use case with scenarios, to HTML format, however is it possible to generate to say .txt or .doc type files?
    I am looking at a very good commercial product called Visual Use Case and wondered if JDeveloper's generated documentation has/can have similar features.
    Thank you

    Hi,
    there is SDE plugin for JDeveloper ( http://www.visual-paradigm.com/product/sde/jd/ ) but it only works with older - 10.1.2 version of JDev.
    Kuba

  • Use case for showing records in report view BAM based on version number

    Hi,
    I have a use case to update records based on version no. Let say I have a table or data object in BAM called 'Notes'. The Notes dataobject has three fields Id, Version, Description. The Notes data is displayed in a BAM report. I need to just display the latest version of the Notes. Say two records with one with Id as '124' and Version '4' and another with Id as '124' and version as '5'. The record related to version 5 should be dispalyed to user. How will I introduce this check in BAM reports for the latest version?
    Thanks
    Edited by: user5108636 on 28/06/2010 16:47

    That you see you're prints only means that your method outta called. The code creates a new row, but never inserts the row into the rowset. Then you call execute query which loses any connection to the new route which is not part of the rowset.
    First action would never to call insertRow(r1) on the view object.
    If you change data this way, only the model layer knows about it, the ui can't know about this (one of the disadvantages of using plsql or this construct you try). You have to tell the view controller to update it's data to. For this you can execute the iterator in the binding layer and/or ppr the container showing your data.
    Then I don't see any complicated plsql called do I question if a programmatic co is necessary.
    Timo

  • How to use, Case function and Filter in Column Formula?

    Hello All,
    I am using case function and also would like to filter value to populate.
    Below is showing error :
    case
    when '@{Time}' = 'Year' then "Time"."Fiscal Year"
    when '@{Time}' = 'Quarter' then "Time"."Fiscal Quarter"
    when '@{Time}' = 'Month' then FILTER ("Time"."Fiscal Period" USING "Time"."Fiscal Period" NOT LIKE 'A%')
    else ifnull('@{Time}','Selection Failed') end
    Thanks, AK

    when '@{Time}' = 'Month' then FILTER ("Time"."Fiscal Period" USING "Time"."Fiscal Period" NOT LIKE 'A%')I dont think Filter this works here or any other data types except number.
    Try to use option Column's->Filter->Advanced->Convert this filter to SQL
    If helps mark

  • Help needed in SQL performance - Using CASE in SQL statement versus 2 query

    Hi,
    I have a requirement to find count from a bunch of tables.
    The SQL I have gives the count of all members.
    I have created 2 queries to find count of active and inactive members.
    The key difference is only the active dates.
    Each query takes 20 seconds to execute.
    I modified the SQL to use CASE statement in the SELECT.
    So after the data is fetched the CASE statement will evaluate the active date and gives 2 counts (active and inactive)
    Is it advisable to use this approach. Will CASE improve SQL performance ? I have to justify this.
    Please let me know your thoughts.
    Thanks,
    J

    Hi,
    If it can be done in single SQL do it in single SQL.
    You said:
    Will CASE improve SQL performance There can be both cases to prove if the performance is better or worse.
    In your case you should tell us how it is.
    Regards,
    Bhushan

  • Transactions documentation and a difficult(?) use-case...

    I would like detailed information about how TransactionMap work with different isolation levels, ie how both changes performed by the application holding the map and in the distributed cache is propagated between them etc.
    More detailed information about the TransactionMap.Validator would also be very appreciated.
    We also have one specific "use case" I would like advice about - it goes like this:
    We use one type of main object that has a very tight coupling to a varying number (0 to a few hundred in the extreme case) small detail objects. All the detail objects are always required as soon as the main object is used. A given detail object is never referenced from more than one main object. We have (for performance reasons) decided to treat the detail objects as "part of" the main object. The main objects are stored in the cache.
    Users can make changes to the main objects themselves or to there detail objects. A user should be able to perform many changes to many main objects (and there detail objects) and "commit" them all at once pressing a button.
    Now to the problem:
    We would like to allow users to make "non conflicting" changes to a main objects detail objects - ie if two users has changed different detail objects we want to merge the changes instead of refusing the modification at commit. To be able to do this we intend to keep version numbers not only on the main object but also on the detail objects.
    We would like to use "transactions" to handle the requirement that all a users changes should be "committed" at once and either all be introduced or not introduced at all (in the event of hardware failure during update for instance!) but the default behavior of Transaction is as I understand it (I have so far just read about it not played around with it much!) to compare the "whole object" for equality in the prepare (and commit?) steps. We also need exact information about WHAT object(s) that had been concurrently modified in the case a commit cant be performed allowing the user to "refresh" the relevant detail object only and retry committing his changes.
    How would we be able to implement our "use case" in a good and reasonably efficient way given Coherents features? Would it for instance be possible (with a reasonable effort) to create our own transaction validation that could perform "merging of "non-conflicting" changes to the same object and in that case how should we go about it?
    Best Regards
    Magnus

    Hi Magnus,
    Our entry processor functionality is your best solution, but unfortunately is not fully supported within a transactional context.
    I would suggest using a combination of explicit locking (as opposed to implicit transactions) and our entry processor functionality (new in 3.1).
    Using explicit locking, you can enforce atomic access to cache entries. Using the entry processor you can perform partial updates locally on the server (allowing you to send only changes).
    So the sequence would be:
    * lock all "main objects"
    * if necessary, validate the main objects (see below)
    * use entry processors to perform "delta updates" against those main objects
    * unlock the main objects
    The locking is only required for atomicity (ensuring that updates don't overlap), and does require that all modifiers follow the same locking pattern. You may either design your objects so that you know the delta updates will complete successfully, or you'll need to verify the updates will succeed prior to actually executing the updates.
    Jon Purdy
    Tangosol, Inc.

  • Using Case and Joins in update statement

    Hi all,
    I need to update one column in my table...but need to use case and joins...I wrote the query and it is not working
    I am getting an error msg saying...the SQL command not ended properly...
    I am not that good at SQL...Please help...
    update t1 a
    set a.name2=
    (case
    when b.msg2 in ('bingo') then '1'
    when b.msg2 in ('andrew') then '2'
    when b.msg2 in ('sam') then '3'
    else '4'
    end )
    from t1 a left outer join t2 b
    on a.name1 = b.msg1 ;
    Waiting for help on this...!
    Thanks in Advance... :)

    Another approach is to update an inline view defining the join:
    update
    ( select a.name2, b.msg2
      from   t1 a
      join   t2 b on b.msg1 = a.name1 ) q
    set q.name2 =
        case
          when q.msg2 = 'bingo' then '1'
          when q.msg2 = 'andrew' then '2'
          when q.msg2 = 'sam' then '3'
          else '4'
        end;which could also be rewritten as
    update
    ( select a.name2
           , case q.msg2
                when 'bingo'  then '1'
                when 'andrew' then '2'
                when 'sam'    then '3'
                else '4'
             end as new_name
      from   t1 a
      join   t2 b on b.msg1 = a.name1 ) q
    set name2 = new_name;The restriction is that the lookup (in this case, t2.msg1) has to be declared unique, via either a primary or unique key or unique index.
    (You don't strictly need to give the view an alias, but I used 'q' in case you tried 'a' or 'b' and wondered why they weren't recognised outside the view.)

  • Using case when statement or decode stament in where clause

    hi gems..
    i have a problem in the following query..
    i am trying to use case when statement in the where clause of a select query.
    select cr.customer_name || ' - ' ||cr.customer_number as cust_name,
    cr.salary as salary
    from customer_details cr
    where (case when '>' = '>' then 'cr.salary > 5000'
    when '>' = '<' then 'cr.salary < 5000'
    when '>' = '=' then 'cr.salary = 5000'
    else null
    end);
    the expression in the when clause of the case-when statement will come from UI and depending on the choice i need to make the where clause.
    thats why for running the query, i have put '>' in that place.
    so the original query will look like this(for your reference):
    select cr.customer_name || ' - ' ||cr.customer_number as cust_name,
    cr.salary as salary
    from customer_details cr
    where (case when variable = '>' then 'cr.salary > 5000'
    when variable = '<' then 'cr.salary < 5000'
    when variable = '=' then 'cr.salary = 5000'
    else null
    end);
    so, in actual case,if the user selects '>' then the filter will be "where cr.salary > 5000"
    if the user selects '<' then the filter will be "where cr.salary < 5000"
    if the user selects '=' then the filter will be "where cr.salary = 5000"
    but i am getting the error "ORA 00920:invalid relational operator"
    please help..thanks in advance..

    Hi,
    select cr.customer_name || ' - ' ||cr.customer_number as cust_name,
           cr.salary                                      as salary
    from customer_details cr
    where (    v_variable = 'bigger'
           and cr.salary > 5000
       or (    v_variable = 'less'
          and cr.salary < 5000
       or (    v_variable = 'eq'
            and cr.salary = 5000
           )Edited by: user6806750 on 22.12.2011 14:56
    For some reason I can't write in sql '<', '>', '='

Maybe you are looking for