12 Replies Latest reply: May 14, 2013 11:32 AM by Indiawasi RSS

    Request Dataset Parameter Information

    932432
      Hi All Expert and Guru,

      I have question about parameter in request dataset.
      Is there any other parameter besides $Form Data?

      I have scenario that requester needs to choose lookup value (using lookup query) but the value depends on requester login.
      But the thing is i don't want to using prepopulate field, cause the field can't be set read only so requester can change the login value and the lookup value can also changed.
      I have tried to hide the prepopulate field but it's for approver only field.
      And also, i've tried to restrict the prepopulate field but unfortunately the result lookup value is empty.

      So is there any parameter that i can use such as $User Definition or other way so the requester can choose the lookup value based on his/her login?

      Thank you.


      Ivan
        • 1. Re: Request Dataset Parameter Information
          Rajiv Dewan
          Requester information was available in OIM 10g, don't remember for OIM 11g.

          User information won't be available for sure because we can have more than 1 beneficiary in a single requests.
          • 2. Re: Request Dataset Parameter Information
            932432
            Hi Rajiv,

            Thank you for your reply.
            So is there any way or work around to have lookup value based on requester/beneficiary login without the requester/beneficiary can't choose other value in lookup by change the prepopulate login field in dataset?
            Cause i think it will not acceptable to have requester/beneficiary can change the prepopulate login field so they can choose other value in lookup.

            For example :
            Requester A has mapping value 1 and 2 in lookup, requester B has mapping value 3 in lookup and requester C has mapping value 4 and 5 in lookup.
            So if requester A choose value in lookup (with prepopulate field filled by beneficiary login), he/she only see 1 and 2. But he/she can change the prepopulate field to login B or C, and can choose the other value 3 or value 4 and 5 in lookup which is not the right value for the requester/beneficiary.

            How to handle this kind of situation or scenario?

            Btw this is for 11g release 1.

            Thank you.



            Ivan

            Edited by: 929429 on Feb 15, 2013 6:34 AM
            • 3. Re: Request Dataset Parameter Information
              Indiawasi
              Hi Ivan,

              Did you get any answer on your query?

              We also have a similar requirement and looking for a solution.

              Please let us know.

              Thanks

              Edited by: GKB on 14-May-2013 04:30
              • 4. Re: Request Dataset Parameter Information
                Kevin Pinsky
                This code will provide you with the requester. We currently use it to pass the person submitted the request as the default manager field for a new user creation request:

                >
                public Serializable prepopulate(RequestData requestData) {
                String userKey = "0";
                UserManager userMgr = Platform.getService(UserManager.class);

                try {
                List<User> users = userMgr.search(new SearchCriteria(UserManagerConstants.AttributeName.USER_LOGIN.getId(), ContextManager.getOIMUser(), SearchCriteria.Operator.EQUAL), null, null);
                userKey = users.get(0).getEntityId();
                } catch (Exception e) {
                e.printStackTrace();
                userKey = "1";
                }
                return userKey;

                }
                >

                As you can see, ContextManager.getOIMUser() is the User ID of the requester.

                If you prepopulate a field, even if it's hidden, you can then limit your query based on that value.

                -Kevin
                • 5. Re: Request Dataset Parameter Information
                  Indiawasi
                  Thanks Kevin.

                  Looks like this code is for a pre-populate plugin. Can you please share the request dataset with lookup query which is using the requester key?

                  The problem we have here is as soon as we are hiding the attribute value, the lookup-query is no longer getting executed as it is not able to find the hidden filed value in request dataset form.

                  Thanks for your help!

                  Edited by: GKB on 14-May-2013 05:52
                  • 6. Re: Request Dataset Parameter Information
                    Kevin Pinsky
                    Here is what the limited lookup query would look like if we have a field called "Field One".

                    AND lkv.LKV_ENCODED = '$Form data.Field One'

                    I have not tried to hide a field. But my suggestion, if hiding the field is an issue, then don't hide it, and make it read only. You might have to just deal with having a field called "Requester Login" or something like that.

                    -Kevin
                    • 7. Re: Request Dataset Parameter Information
                      Indiawasi
                      Thanks Kevin. We are exploring the options to make the values as read-only as well. Do you know how we can make them as read-only?

                      We are having the following lookup query on request dataset which is using requester key(pre-populated field on request dataset):

                      select ugp_key from usg where usr_key ='$Form Data.Requester Key'

                      We need to either hide requester key or to make it as read only.


                      Thanks for quick help.
                      • 8. Re: Request Dataset Parameter Information
                        Kevin Pinsky
                        Optional Properties

                        The following optional attributes can be used to configure AttributeReference:

                        Required: This is a flag property to indicate that data value must be supplied at the time of request submission. Value is of type Boolean.

                        Masked: This is a flag property used to specify if the data value is masked. If the value is set to masked, the request engine always displays it as asterisks. Value is of type Boolean.

                        approver-only: This is a flag property used to specify that data value has to be supplied, edited by approver .By setting this flag, requester is never allowed to supply the corresponding data value. Value is of type Boolean.

                        Entity type: This property is used to associate an entity from which supported data value is derived for selection from the request UI. For example:

                        <AttributeReference name="Organization" attr-ref="act_key" available-in-bulk="false" type="Long" length="20" widget="ENTITY" required="true" entity-type="ORGANIZATION"/>
                        This definition renders all the Organization entity data defined in Oracle Identity Manager. If entity-type property is defined, then the widget must be defined as ENTITY, and UI displays all available entity data in the lookup widget.

                        lookup-code: This property is used to associate available LKU/LKV values as supported data based on a defined lookup-code. Example:

                        <AttributeReference name="Responsibility Name" attr-ref="Name" type="String" length="30" widget="lookup" required="false" available-in-bulk="true" lookup-code="Oracle.Responsibility.Name"/>
                        This definition renders all the encoded/decoded values for the lookup-code Oracle.Responsibility.Name. If the lookup-code property is defined, then widget can be defined as lookup, and UI displays all available entity data in the lookup widget.

                        If lookup-code is defined, the widget can be dropdown as well. For example:

                        <AttributeReference name="Role" attr-ref="Role" available-in-bulk="false" type="String" length="20" widget="dropdown" lookup-code="Lookup.Users.Role" required="true"/>
                        Here, the Role attribute will be displayed as a dropdown, and user can select any of the values.

                        For a limited number of values, you can use dropdown. But for a large number of values, use the lookup widget.

                        itresource-type: This property is used to associate available itresource instance for a defined itresource-type. Example:

                        <AttributeReference name="Server" attr-ref="Server Name" type="String" widget="itresource-lookup" required="true" itresource-type="EBIZServer" available-in-bulk="true" length="20"/>
                        This definition renders all IT resource instances for the EBIZServer itresource-type. If the itresource-type property is defined, widget must be defined as itresource-lookup, and UI displays all available entity data in the lookup widget.

                        primary: This is a flag property used to specify if the dataset attribute can have more than one value. This flag can be set for a dataset attribute only in the context of child table.

                        Read Only: This is a flag property used to specify that the approver can only view and not modify the data value. Value is of type Boolean.

                        mls: This is a flag property used to specify if the dataset attribute is of type Multi-Language Support (MLS). Value is of type Boolean.

                        entitlement: This is a flag property used to specify if the dataset attribute is of type entitlement. Value is of type Boolean

                        Hidden: This is a flag property used to specify if the data value is hidden from the approver. This data value is not visible only to the approver but data can be collected from the requester at the time of submitting the request or by other means. Value is of type Boolean.

                        -Kevin
                        • 9. Re: Request Dataset Parameter Information
                          Indiawasi
                          Yes Kevin, we have look through these properties. None of these properties allows to hide the field for the requester and at the same time make the value available for SQL query.

                          Thanks.
                          • 10. Re: Request Dataset Parameter Information
                            Kevin Pinsky
                            You asked " Do you know how we can make them as read-only?".

                            -Kevin
                            • 11. Re: Request Dataset Parameter Information
                              Indiawasi
                              Ya.. but read only for the requester not for the approver :)

                              Thanks
                              • 12. Re: Request Dataset Parameter Information
                                Indiawasi
                                Anyone knows how to achieve this, please share.

                                Thanks in advance.