Type for measurements

For Science and Engineering a number is usually naked without its measurement unit.
Can I somehow make a type for values like 59.333mn or 657.99ft?
I could use "59.333mn" and "657.99ft" but that seems cumbersome.
Does java have such a type or another good way?
C has struct. class seems a bit much too. There would be so many classes around.

Thank you EJP for the information and encouragement.
I got a start tonight by writing the attached class.
I think I will use it and modify some appropriate conversion routines I have elsewhere and add.
I have used some subroutines not included here.
  public static class M1 {
    double value=Double.NaN; String unit=""; int nNegSigns=0; int nPoints=0; int digCnt=0; int untWid=-1; int totWid=-1;
    M1(String measInStg) { //constructor using string
      int lgt=measInStg.length();
      for(int i=0;i<lgt;i++) {
        if(isDigit(measInStg.charAt(i))) { digCnt++; continue; } else if(measInStg.charAt(i)=='-') { nNegSigns++; continue; } else
        if(measInStg.charAt(i)=='.') { nPoints++; continue; } else if(measInStg.charAt(i)=='+')continue; else
        if(isAlphaChar(measInStg.charAt(i))) {
          unit=measInStg.substring(i); value=Double.parseDouble(measInStg.substring(0,i)); untWid=lgt-i;
          if(nPoints>1) { System.out.println("Found more than one decimal point in measurement "+measInStg); System.exit(0); }
          if(nNegSigns>1) { System.out.println("Found more than one negative sign in measurement "+measInStg); System.exit(0); }
          totWid=nNegSigns+nPoints+digCnt+untWid; break; //pause("totWid="+totWid+" nNegSigns="+nNegSigns+" nPoints="+nPoints+" digCnt="+digCnt+" untWid="+untWid); break;
        } System.out.println("Unknown character "+measInStg.charAt(i)+" in measurement "+measInStg+" at position "+i); System.exit(0); //leave remainder concerns for elsewhere 
    M1(double val,String unt) { //constructor using number and unit
      value=val; unit=unt; untWid=unt.length();
    String measOuStg(int outWid) {
      String ouStg=OuWid.sR(value,outWid-untWid)+unit; return(ouStg);
    M1 tim0=new M1(59.99,"sc"); System.out.println(tim0.measOuStg(8)); System.exit(0);
    M1 tim1=new M1("59.99sc"); System.out.println(tim1.measOuStg(6)); System.exit(0);

Similar Messages

  • Measurement types for water consumption

    Hi,
    I have following scenario in industrial lease out.  There are two meters for water consumption. The water rate is different / same for both the meters.
    Is it possible to configure the same by using two different measurement types for water consumption and a single condition type for water consumption ? Do I need to create two separate condition types for water consumption for two meters?
    I need to have two separate line items in the contract under conditions for water consumption. The two line items will also be printed as two separate line items in the invoice.
    Regards
    T Saravanan

    Hi,
    the combination condition type, calculation object and condition purpose must be unique for a specific key date.
    Regards, Franz

  • EG01 - incorrect type of measurement for device category

    Dear All,
    A device category has been created with the incorrect 'type of measurement' as '0 using transaction EG01'.
    This 'type of measurement' takes billing factor as zero resulting in wrong bills.
    Same is grayed out on transaction EG02.
    More than a 1000 meters have been created under device category. A few have already been installed.
    Can you please suggest how to change the 'type of measurment' to '3'.
    Thanks & Regards
    Malini

    Hi
    I guess you have created only for basic device category "Meter". Basic device category meter has direct measurment type property.Thats correct.
    If you are converting to type of measurment from 0 TO 3 .then it should basically a transformer.
    Thats the reson system not allowing.
    Try with Combination basic device category "meter/transformer"...it will come change mode..
    Thanks & Regards
    Konakanchi

  • How to differentiate a packing type for Finished goods based on which customer will be invoiced ?

    I need a little expertise
    The requirement for my organization is Certain Finish goods packing.
    Currently certain, Finished goods packaging items when send to Customer, is charged for the packaging items like Pallets , Q- Bit Boxes.
    There will be a deposit fee which will appear on the customer invoice.
    Moving forward they want to eliminate that deposit fee, from the customer invoice for a few of the packaging types.. (For example Pallet we would still charge the customer the same way AS_IS today but for another pack type Q-BIT boxes customer should not be charged as a deposit fee for returing the pack type.)
    From Materials management perspective… At the time of order entry how do we differentiate a particular pack type so that for that a particular Pack type customer is not charged anything…
    2 options I am thinking is introduce a new characteristics in Classification view for PK type.. Upon entering the order the User exit will check the characteristic in material master and customer invoice won’t be charged for the Packing item if Pack type = Q Bit..
    Other one is  From the  Alternate Unit of Measure translation to Common Unit of measure / Sales Unit of measure.
    Which one would you recommend ?
    Pls advise.

    Hi Joe,
    What I was suggesting was to have different material codes per pack size. If this is done, you will not need to modify anything, other than maintain condition types for the correct material codes.
    In case you are leaning towards the classification approach, I will suggest having a custom calculation type added to include  RV64ANNN with a check of the characteristic on a custom table. In this table, maintain the pack sizes with should be charged. The logic should turn  XKOMV-KBETR = 0 if the pack size is not found in the table.

  • Urgent:Material Type for Packaging Material in WM and MM

    Hi
    There is a place in SPRO where i can define the material type for packaging.
    Logistics - General -> Handling Unit Management -> Basics -> Define Packaging Material Types
    How can i create a material using this material type? What is the use of material type here?
    Whenever i create material in MM01/MM41, i get the standard material type list.
    Thanks & REgards
    Kapil

    Hi,
    In T.code: OMS2, you can get standard material type list.VERP is the standard material type for packing material.You can copy VERP and rename to ur material type( as it is ur business requriement or else u can use same VERP)
    What is the use of material type here?
    With the help of ur Material Type , u can craete material like The material type,will be used while defining the material
    master.At that time,in Tcode:MM01,first screen we need to
    mention,(material type)it show the nature of material
    ex:-engineering product,finished products,semifinished
    product,etc.,
    It also play vital role on material numbering,material type in comination with plant & valuation class, play vital role in inventory & accoputning.
    To Create Material,use t. Code: MM01,
    Step-1
    Enter Material Code: ( example-Polythene Bag, If External Number Range or leave it blnak)
    Enter Industry Sector: ...................
    Enter Material Type: ..........................(VERP- Packing)
    Step-2
    Select
    Views you required( like eample:basic data-1, like basic data-2,purachsing, purchase order text,General plant data, accounting-1, accounting-2 etc)
    Step-3
    Enter Plant,
    Enter Storage location
    {{{Enter Sales organization & Distribution channel(if sales view selected)}}}
    Step-4
    You will have views like (example-1, basic data, enter Base unit of measure, material group and other details as required field,example-2,Accounting data, enter valuation class, price control; S or V & price)
    Step-5
    Save.
    Note: Before creation material you must know which Industry Sector, Material Type ur going to use and material numbering is internal or external.
    For more, check the following link for creation of material
    http://www.synactive.com/docu_e/doc_multi_mm01.html
    Regards,
    Biju K

  • Capital inv. program position not allowed for measure

    Hi Gurus,
    When I am going to assign top level wbs to investment program position i am getting the error message
    How I can overcome this.
    Quick response will be rewarded and appreciated.
    Cap. investment program position not allowed for measure
    Message no. AP039
    Diagnosis
    You want to assign a measure or appropriation request to an investment program position.  However, the program position does not allow this type of assignment.
    System Response
    The assignment is not allowed.
    Procedure
    Use the detail display in the position to find out what assignments are allowed to it.
    rgds

    HI Sree
    In  im12 I have one general Tab and one Organisational tab.Here I am not getting allowed measures button.
    even though I am unable to create AR when i am assigning WBSE there then I am getting the error message.
    Program type not allowed according to budget profile of measure
    Message no. AP177
    Diagnosis
    You tried to assign a measure to an appropriation request.
    The appropriation request type for the appropriation request specifies that assignment from measures is only possible, if the measures specify that they have to be assigned later to an investment program with program type ZM01.
    However, the budget profile of the measure specifies that it has to be assigned later to an investment program with program type ZC01.
    System Response
    The function cannot be carried out.
    Regards

  • Add-on step types for TestStand?

    I am almost certainly reinventing some wheels with Teststand by creating some basic test types.
    For example, I just wrote a custom step type for taking an analog measurement from a DAQmx instrument. Surely someone has done this before, and surely someone will want to do it again. There's nothing proprietary about code that simple, and I'd be happy to give it away if there was a place to post it.
    Two questions:
    1. Is there an open-source repository for sharing custom step types?
    2. Are there add-ons for purchase with canned step types beyond those which come with TestStand?
    -Arthur

    Hi Jigg, 
    I looked at Averna.com, and I don't see any add-ins available on their website. It looks like they offer services mostly. 
    It's a good point about TS projects being so varied and customized. However, if custom step types are well architected, as the built-in step types are, then they ought to be reusable by others. 
    You're right also that I can accomplish my DAQmx steps easily using an Action step with the LV adapter. My motivation for the custom step is to improve the interface for setting up such an action. In particular, when using an IO channel in TS, I have to manually type in a text string for the DeviceName value, whereas I'd like to choose from a list of global names (e.g. with the global channel list control in LV). I can get this affect by using an Enum in a wrapper VI, which maps to an array of channel constants; but this is fragile if the available channels are changed (e.g. added, removed or renamed in MAX).
    Additionally, a custom step type is better than a step template for my purposes, because I can propagate changes in the step type to instances of steps throughout the test. This is incredibly valuable to me during development and debugging. It saves me time when I want to update a step that I've used many times throughout a test sequence. Although TS isn't itself a programming language, I find that I expect it to share certain traits with programming languages to facilitate development, such as type abstractions and a strict enforcement of congruency between types and instances. But I digress....
    Thanks for your suggestions.

  • Getting multi value error for measures

    We have two queries, (1)  Cost Center (2) PS
    I merged on Company Code, Internal Order, Equipment id
    Record Category are LBR, MTL, Others
    Fields on the report are
    Equip class, Equip Id, Equip ownership, Actual_Amt_Lbr, Budget_Amt_Lbr, Actual_Amt_MTL, Buget_Amt_MTL
    001_eclass
    Actual_Amt_Lbr= If ([Record Typ ]="04" And [Record Category]="LBR") Then Sum([Sum Actual]) Else 0
    Buget_Amt_Lbr= If ([Record Type Id]="01" And [Record Category]="LBR") Then Sum([Sum budget]) Else 0
    Actual_Amt_MTL= If ([Record Typ ]="04" And [Record Category]="MTL") Then Sum([Sum Actual]) Else 0
    Buget_Amt_MTL= If ([Record Type Id]="01" And [Record Category]="MTL") Then Sum([Sum budget]) Else 0
    I am getting multi value for measures i.e. Actual_Amt_Lbr, Budget_Amt_Lbr, Actual_Amt_MTL, Buget_Amt_MTL
    My scenario is
    One Euipment class has many Equipment id with record typ 01 and 04 and the same Equipment id has record category LBR and MTL
    Data is as follows:
    Equip_class, Equip_id, Equip_own, LBR_actual, LBR_Budget, Record_Type, Record_cat
    001_eclass   001       owner       0       2100   01          LBR
    001_Eeclass  001        owner           0       500        01          MTL
    001_eclass   001       owner       0       100   01          others
    001_Eeclass  001        owner           500      0         04          LBR
    001_Eeclass  001        owner           200      0         04          MTL
    001_Eeclass  001        owner           500      0         04          Others
    001_Eeclass  002        owner           500      0         04          LBR
    Used sum([Sum Actual] ForEach ([Record_Type];[Record_cat]) is not working

    Hi
    try this-
    Actual_Amt_Lbr= Sum(If ([Record Typ ]="04" And [Record Category]="LBR") Then [Sum Actual] Else 0)
    Buget_Amt_Lbr= Sum(If ([Record Type Id]="01" And [Record Category]="LBR") Then [Sum budget] Else 0)
    Actual_Amt_MTL= Sum(If ([Record Typ ]="04" And [Record Category]="MTL") Then [Sum Actual] Else 0)
    Buget_Amt_MTL= Sum(If ([Record Type Id]="01" And [Record Category]="MTL") Then [Sum budget] Else 0)
    ~Anuj

  • Any plan for "BIA process types" for Process Chains?

    Hi,
    This morning one of our blades (with Versoin 49) become unresponsive due to memory leak; RFC server on the blade was not releasing the memory. As you know by now, when it happens we restart the server on that blade and things start working until the next time.
    As a preventative measure, we would like to create a program and put in a process chain to restart the RFC and Index servers for all the blades everynight. Do you have any program already to do so? We identfied the api's already but wanted to see if somebody already doing this.
    Or even better, is there any plan for creating new "BIA process types" for the process chains that we can drag/drop instead of writing programs?
    Cheers
    Tansu
    Edited by: tansuaksu on May 4, 2009 6:27 PM

    RSDDTZA_EXECUTE_BIA_ACTIONS
    [OSS Note : 1001091|https://service.sap.com/sap/support/notes/1001091]
    [OSS Note: 1271412|https://service.sap.com/sap/support/notes/1271412]
    See if this helps.

  • Object Type for Bill of Materials

    What is the object type for bill of materials?  I am trying to add the code that updates the finished good item sales weight according to the weight of the Bill of Materials. Only one item in the bill of materials actually contains weight information so there is no conflict regarding cross units of measure. So, the finished good will have the same weight as the raw materials.
    Here is what I have so far. Though I'm not sure what the Object Type is for Bill of Materials. I'm also unsure about some of my code - Please review my code as well.
    IF (@TRANSACTION_TYPE = 'A' OR @TRANSACTION_TYPE = 'U') AND @OBJECT_TYPE = '68'
    BEGIN
         UPDATE OITM SET
              SWeight1 = (SELECT SUM(dbo.OITM.BWeight1) AS Weight
                   FROM dbo.OITM INNER JOIN dbo.ITT1 ON dbo.OITM.ItemCode = dbo.ITT1.Code
                   GROUP BY dbo.ITT1.Father
                   HAVING (dbo.ITT1.Father = @LIST_OF_COLS_VAL_TAB_DEL)),
              SWght1Unit = (SELECT dbo.OITM.BWght1Unit
                   FROM dbo.OITM INNER JOIN dbo.ITT1 ON dbo.OITM.ItemCode = dbo.ITT1.Code
                   GROUP BY dbo.ITT1.Father, dbo.OITM.BWght1Unit
                   HAVING(dbo.ITT1.Father = @LIST_OF_COLS_VAL_TAB_DEL) AND (dbo.OITM.BWght1Unit IS NOT NULL))
         WHERE ItemCode = @LIST_OF_COLS_VAL_TAB_DEL
    END
    Thanks

    I found it. The object type is 66 Product Tree. It appears my code works as well - yeah!

  • Error while determining ref.mov.type for WM via Table 156S: 647/ / / /L/ /

    Guyz,
    Firstly despite the plant+storage location + warehouse no. assignments are done , my replenishment delivery (delivery for stock transport order between plants under same company code) is not picking up storage location and warehouse no and thus stopping me from doing picking and PGI (post goods issue).
    However in VL02N when i'm trying to change storage location for line item, i'm getting following weird error
    *Error while determining ref.mov.type for WM via Table 156S: 647/ / / /L/ /*
    I found a SAP Note(133223) regarding this error and VL02 transaction but that note was specific to older versions. I'm on ECC 6.0
    Any suggestions please ?
    Thanks

    Warehouse managment has its own movement types, most identical to inventory management movement types.
    These WM movement types are determined via reference movement types.
    the error you have just looks like your customizing is not complete.
    IMG > LE > WM > Interfaces > IM > define movement types.

  • Cannot obtain an appropriate JDBC type for class char.

    The above error while deploying...The full error is below. The only datatypes used are: integer, timestamp,string, decimal and date (so no char).  Can anybody help?
    Caught exception during application deployment from SAP J2EE Engine's deploy service:
    java.rmi.RemoteException: Cannot deploy application sap.com/SAPAS12013.. Reason: Cannot obtain an appropriate JDBC type for class char. To store the field with this class in the database, the class must implement java.io.Serializable.; nested exception is: com.sap.engine.services.deploy.container.DeploymentException: <--Localization failed: ResourceBundle='com.sap.engine.services.deploy.DeployResourceBundle', ID='com.sap.engine.services.ejb.exceptions.deployment.EJBDeploymentException: Cannot obtain an appropriate JDBC type for class char. To store the field with this class in the database, the class must implement java.io.Serializable.
    at com.sap.engine.services.ejb.deploy.tools.sql.Mappings.getDefaultSqlTypeForJavaType(Mappings.java:131)
    at com.sap.engine.services.ejb.deploy.xml.CMPParser.fillCmpFieldInfo(CMPParser.java:89)
    at com.sap.engine.services.ejb.deploy.xml.CMPParser.parseCMPFields(CMPParser.java:644)
    at com.sap.engine.services.ejb.deploy.xml.CMPParser.parseFields(CMPParser.java:121)
    at com.sap.engine.services.ejb.deploy.xml.EJBJarParser.parseXml(EJBJarParser.java:173)
    at com.sap.engine.services.ejb.deploy.xml.EJBJarParser.parseXml(EJBJarParser.java:97)
    at com.sap.engine.services.ejb.deploy.DeployAdmin.parseSingleJar(DeployAdmin.java:296)
    at com.sap.engine.services.ejb.deploy.DeployAdmin.generate(DeployAdmin.java:246)
    at com.sap.engine.services.ejb.EJBAdmin.deploy(EJBAdmin.java:2118)
    at com.sap.engine.services.deploy.server.application.DeploymentTransaction.makeComponents(DeploymentTransaction.java:594)
    at com.sap.engine.services.deploy.server.application.DeployUtilTransaction.commonBegin(DeployUtilTransaction.java:379)
    at com.sap.engine.services.deploy.server.application.DeploymentTransaction.begin(DeploymentTransaction.java:296)
    at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:290)
    at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhases(ApplicationTransaction.java:323)
    at com.sap.engine.services.deploy.server.DeployServiceImpl.makeGlobalTransaction(DeployServiceImpl.java:3033)
    at com.sap.engine.services.deploy.server.DeployServiceImpl.deploy(DeployServiceImpl.java:463)
    at com.sap.engine.services.deploy.server.DeployServiceImplp4_Skel.dispatch(DeployServiceImplp4_Skel.java:1555)
    at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:294)
    at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:183)
    at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:119)
    at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)
    at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:162)

    Hi Ashley,
    And yet, apparently you have a cmp-field with type <b>char</b> in one of your CMP entity beans. This is not supported. Please refer to the <a href="http://help.sap.com/saphelp_nw04/helpdata/en/13/dbb2b66146934a9662918755038ea1/frameset.htm">Object/Relational Mapping Rules</a> and especially to the first bullet under the table.
    Hope that helps!
    Vladimir

  • List of wage type for mid year go live

    Dear All,
    I need your help we are going for mid year go live and we are planning to uploaded payroll results .so here iam confissued with the wage types which should be uploaded so kinldy send me any list of wage types for statutory and income tax to be uploaded in results so that they can get statutory forms and form16.
    thks

    Dear Laxman,
    refer the links its use full to you and directs you towards solution
    [Mid year Go-Live (India Payroll);
    [http://help.sap.com/saphelp_47x200/helpdata/en/5a/f57415558f4e52925b05aa57dad09d/content.htm]
    [regarding mid year go-live;
    regards,
    mohammed

  • Associative array type for each blob column in the table

    i am using the code in given link
    http://www.oracle.com/technology/oramag/oracle/07-jan/o17odp.html
    i chnages that code like this
    CREATE TABLE JOBS
    JOB_ID VARCHAR2(10 BYTE),
    JOB_TITLE VARCHAR2(35 BYTE),
    MIN_SALARY NUMBER(6),
    MAX_SALARY NUMBER(6),
    JOBPIC BLOB
    CREATE OR REPLACE PACKAGE associative_array
    AS
    -- define an associative array type for each column in the jobs table
    TYPE t_job_id IS TABLE OF jobs.job_id%TYPE
    INDEX BY PLS_INTEGER;
    TYPE t_job_title IS TABLE OF jobs.job_title%TYPE
    INDEX BY PLS_INTEGER;
    TYPE t_min_salary IS TABLE OF jobs.min_salary%TYPE
    INDEX BY PLS_INTEGER;
    TYPE t_max_salary IS TABLE OF jobs.max_salary%TYPE
    INDEX BY PLS_INTEGER;
    TYPE t_jobpic IS TABLE OF jobs.jobpic%TYPE
    INDEX BY PLS_INTEGER;
    -- define the procedure that will perform the array insert
    PROCEDURE array_insert (
    p_job_id IN t_job_id,
    p_job_title IN t_job_title,
    p_min_salary IN t_min_salary,
    p_max_salary IN t_max_salary,
    p_jobpic IN t_jobpic
    END associative_array;
    CREATE OR REPLACE package body SHC_OLD.associative_array as
    -- implement the procedure that will perform the array insert
    procedure array_insert (p_job_id in t_job_id,
    p_job_title in t_job_title,
    p_min_salary in t_min_salary,
    p_max_salary in t_max_salary,
    P_JOBPIC IN T_JOBPIC
    ) is
    begin
    forall i in p_job_id.first..p_job_id.last
    insert into jobs (job_id,
    job_title,
    min_salary,
    max_salary,
    JOBPIC
    values (p_job_id(i),
    p_job_title(i),
    p_min_salary(i),
    p_max_salary(i),
    P_JOBPIC(i)
    end array_insert;
    end associative_array;
    this procedure is called from .net. from .net sending blob is posiible or not.if yes how

    Ok, that won't work...you need to generate an image tag and provide the contents of the blob column as the src for the image tag.
    If you look at my blog entry -
    http://jes.blogs.shellprompt.net/2007/05/18/apex-delivering-pages-in-3-seconds-or-less/
    and download that Whitepaper that I talk about you will find an example of how to do what you want to do. Note the majority of that whitepaper is discussing other (quite advanced) topics, but there is a small part of it that shows how to display an image stored as a blob in a table.

  • I have a problem while typing in my MacBook pro. it is showing different characters when i type. for example: qw`e§r]t[y=   this is how when we type "qwerty|" can anyone help me pls?

    I have a problem while typing in my MacBook pro. it is showing different characters when i type. for example: qw`e§r]t[y=   this is how when we type "qwerty|" can anyone help me pls?

    You could just try changing your Input Sources under System Preferences>Language & Text:
    But I kind of doubt that's going to work. It may be a hardware problem or a system problem. If you take it into Apple they might be able to determine which and might advise a reinstallation of System software. I would take it to an Apple Store or an AASP but, first, make sure that you have a backup just in case they suggest a clean install of the system.
    Good luck,
    Clinton

Maybe you are looking for

  • How to merge rows with similar values in alv grid display in webdynpro

    Hi experts,                i want to know about how to merge rows with similar values in alv grid display of webdynpro.grouping rows is possible in table display in webdynpro but i am not able to do row grouping in the alv grid display in webdynpro.

  • SAP report incompletion document

    Dear All, Is there any standard SAP report for incompleted sales document providing following details - 1. Document-wise line item-wise incompletion log 2. Detials of incompletion log for each line item in the respective sales document Thanks & Regar

  • TS1543 reset Mac OS X 10.5 password at the

    Overnight my Mac OS X won't accept the password.  Can't get into system to reset. Tried typing at command promtp after restarting with Command S.  System did not recognize the LS users directory. How can I get in by accessing a partition to reset or

  • What does discontinuation of iWeb mean to me?

    I currently use iWeb on my Mountain Lion iMac.  It works fine.  With Apple not supporting it anymore, should I be worried about losing any sites, or is it just a matter of not having support nor a guarantee of compatibility in future OSs? Again, it w

  • How to made this in coldfusion

    Hi users must have the ability to select multiple options from dropdown  when generating reports .  In addition, the user must have the ability to see which options  were selected prior to generating the report. Thanks,