7 Replies Latest reply: Apr 28, 2010 6:51 AM by 769709 RSS

    How to make a field conditional Read Only

    722529
      Hi,

      There is a "Close date" field. I need to check if the date today, and the "Close date" falls in the same quarter. If it does, then, a particular field has to be made editable otherwise not.
      (Better, if it could be done by using business component user properties)
        • 1. Re: How to make a field conditional Read Only
          673438
          Try this...

          Create a calculated field 'Qtr RO' and set the value as

          IIF(JulianQtr([Close Date]) = JulianQtr(Today()),"N","Y")

          and set the business user property for the field to 'Qtr RO'

          Hope this works.

          -Siebelade
          • 2. Re: How to make a field conditional Read Only
            722529
            Hi,
            Thanks for the suggestion.
            I have an additional condition, which i forgot to mention
            The quarters are mentioned in a LOV - QTR_DET, from where i have to match the values for quarter.
            Can it be still done, as simple as, u have suggested in your reply?
            • 3. Re: How to make a field conditional Read Only
              evtloglvl
              Basically just apply the concept introduce earlier
              1) a calculated field that returns Y when you are matching your case for read only and N otherwise


              In your case you can imagine storing the JulianQuarter in another field of the List Of Value BC and do the comparison on it, or if you have "non Julian" Quarter you should be able to calculate them by some rules, if not then you can consider using S_PERIOD to store your atypical data.

              Pelase remember that JulianQuarter provide a number that is convenient for working with date .

              See
              Siebel Developer's Reference > Operators, Expressions, and Conditions >
              Functions in Calculation Expressions



              2) BC user Property: Field Read Only Field: fieldname
              See Bookshelf Siebel Developer's Reference > User Properties > Business Component User Properties
              • 4. Re: How to make a field conditional Read Only
                722529
                I still need the second question to be answered..
                • 5. Re: How to make a field conditional Read Only
                  673438
                  I guess it can be done, however you'll have to do some analysis / comparison with vlaue returned by JulianQtr for 'Today()' and 'Close Date' with lov that you've, and then you can use 'Lookup' expression in calculation for lov.

                  If you want you can provide me with lov values and if I get some more time I can do some analysis on them but no promises :)

                  -Siebelade
                  • 6. Re: How to make a field conditional Read Only
                    722529
                    Hi,

                    Surely i can give you details.

                    The LOV Type is - QTR_DET which has the following values -

                    1.Description - 04/03/2009 & Display Value - "Q2-2009"
                    2.Description - 07/05/2009 & Display Value - "Q3-2009"
                    3.Description - 10/02/2009 & Display Value - "Q4-2009"

                    These 4 quarter values are updated for every year

                    Hence, I need to compare values, on the basis of these values.

                    The Quarter for the Close Date has to be compared to Quarter which includes "Today"

                    As far as i know, JulianQuarter divides the year into exactly 4 parts, but as you can see, the values are not same as the quarter values, i need to use.

                    It would be surely great if you could help me solve this, as i am new to siebel.

                    I was trying to try with Lookup as well.

                    (The Following way, i was trying, but did not work
                    -Field1 is a calculated field - Lookup(QTR_DET,[Close Date])
                    -Field2 is a calculated field - Lookup(QTR_DET,Today())
                    -InPresentQuarter is a calculated field - IIF((Field1 = Field2), "N", "Y")
                    And this was further used for the Field Read Only Field: [Field Name] to make it read only)

                    Also please let me know, if this is the right way.
                    • 7. Re: How to make a field conditional Read Only
                      769709
                      thanks, useful for me