Set a VO attribute to be untested by method "isTransactionDirty()"

Hi,
I'm using jdev 11.1.1.0.1.
I'm trying to set a VO attribute to be untested by method "DataControl.isTransactionDirty()" : is there any method for this?
In other words, i would like that changing a specifique VO attribute doesn't make the iterator set to "changed".
Thanks in advance
Clément

Hi Franck,
In my usecase, i can't use a transcient attribute : is there any other solution than using a transcient attribute?
I hope there is an other solution.
My use case :
In my ViewRowImpl, i have overriden "protected Object getAttributeInternal(int i)" and use this method to set some attribute (because of a complexe use of a tableTree). The attributes set are FK and have to be initialized.
Clément
Edited by: Clement Visa on 3 mars 2010 14:00

Similar Messages

  • Setting the logonHours attribute for a user in Active Directory

    Hi Anyone,
    I'm a brasilian guy and I need your help. How can I set the logonHours attribute on my Active Directory?
    I have this code but it doesn't works good:
        public void setLogonHours(boolean[] logonHoursBits){
            int i;
            int j;
            int k;
            int index21 = 0;
            int index24 = 0;
            byte[] byteLogonHour = new byte[21];
            byte byte8Hours = 0;
            for(i=0; i <= 6; i++){
                for(j=1; j <= 3; j++){
                    for(k=7; k >= 0; k--){
                        if (i < 6){
                            if (logonHoursBits[i] == (boolean)(index24 == 0) ? true : false){
                                byte8Hours += (byte)Math.pow(2,k);
                        else{
                            if (logonHoursBits[0] == (boolean)(index24 == 0) ? true : false){                           
                                byte8Hours += (byte)Math.pow(2,k);
                        index24++;
                    byteLogonHour[index21] = byte8Hours;
                    index21++;
                index24 = 0;
            try{
                String nome = "CN=Dryelle,OU=Pesquisa,DC=cifya,DC=com,DC=br";
                ctx = new InitialLdapContext(env,null);
                ModificationItem logonHours[] = new ModificationItem[1];
                logonHours[0]= new ModificationItem(DirContext.REPLACE_ATTRIBUTE, new BasicAttribute("logonHours",byteLogonHour));
                ctx.modifyAttributes(name,logonHours);
                System.out.println("Atributo logonHours alterado com sucesso.");
            catch (NamingException e) {
               System.err.println("Problema na altera??o " + e);
        }the code set the attribute but wrong. Can anyone help-me? It's making me crazy.
    Sorry about my poor english.
    Tks.
    Edited by: th_slopes on Aug 15, 2008 5:50 PM

    DirContext ctx = new InitialDirContext(pr);
              BasicAttributes entry = new BasicAttributes(true);
              String entryDN = "cn=CharbelHad,ou=test users,dc=test,dc=dev";
              Attribute cn = new BasicAttribute("cn", "ChHad");
              Attribute street = (new BasicAttribute("streetAddress", "Ach"));
              Attribute loginPreW2k = (new BasicAttribute("sAMAccountName", "[email protected]"));
              Attribute login = (new BasicAttribute("userPrincipalName", "[email protected]"));
              Attribute sn = (new BasicAttribute("sn", "Chl"));
              Attribute pwd = new BasicAttribute("unicodePwd", "\"Ch@341\"".getBytes("UTF-8"));
    Attribute userAccountControl = new BasicAttribute("userAccountControl", "512");
              Attribute oc = new BasicAttribute("objectClass");
              oc.add("top");
              oc.add("person");
              oc.add("organizationalPerson");
              oc.add("user");
              // build the entry
              entry.put(cn);
              entry.put(street);
              entry.put(sn);
              entry.put(userAccountControl);
              entry.put(pwd);
              entry.put(login);
              entry.put(loginPreW2k);
              entry.put(oc);
              ctx.createSubcontext(entryDN, entry);

  • Creation of Service Product with Set Type and Attribute

    Dear All,
    Please guide me with proper step by step process,
    How to create the product with the set type and attribute for service industry in sap crm 7.0
    Regards,

    Hi Nitin,
    Before creating the Service type of product, you have to define the Base category for Service type product. Generally the category for service will be created under the R3 hierarchy R3PRODSTYPE. You can create this category using the TCode:
    COMM_HIERARCHY. Here you have to select the product type as Service and have to assign the set types to the category.
    You can create a service product using the transaction : COMMPR01 -> Click on Service ICON -> Select the Category for Service Type. Then fill in the details for Service Product description, Service ID(Based on number range settings for products), Language.
    Also fill other details like Base Unit of measure, Pricing condition for different sales areas for the service product.
    Since you are using CRM7.0, you can do all these activities using a POWER USER role.
    For more information about Set types and hierarchies please refer the following help link:
    http://help.sap.com/saphelp_crm70/helpdata/EN/46/57672501a208e7e10000000a114a6b/frameset.htm
    Hope this helps!
    Regards,
    Chethan

  • The tag handler gridcolumn does not have a setter for the attribute autoExpand specified in the Tag Library Descriptor.

    I recently moved from coldfusion 8 to coldfusion 9 but all the pages with cfgrid: is throwing the following error. Any suggestion would be of great help
    coldfusion.jsp.JRunTagLibraryInfo$NoSuchAttributeException: The tag handler gridcolumn does not have a setter for the attribute autoExpand specified in the Tag Library Descriptor.
    at coldfusion.jsp.JRunTagLibraryInfo.getPropertyType(JRunTagLibraryInfo.java:627)
    at coldfusion.jsp.JRunTagLibraryInfo.buildTagInfo(JRunTagLibraryInfo.java:585)
    at coldfusion.jsp.JRunTagLibraryInfo.getTag(JRunTagLibraryInfo.java:267)
    at coldfusion.compiler.NeoTranslationContext.findTagName(NeoTranslationContext.java:346)
    at coldfusion.compiler.NeoTranslationContext.isKnownTag(NeoTranslationContext.java:222)
    at coldfusion.compiler.CFMLParserBase.isKnownTagName(CFMLParserBase.java:589)
    at coldfusion.compiler.cfml40TokenManager.TokenLexicalActions(cfml40TokenManager.java:6704)
    at coldfusion.compiler.cfml40TokenManager.getNextToken(cfml40TokenManager.java:6586)
    at coldfusion.compiler.cfml40.getToken(cfml40.java:11879)
    at coldfusion.compiler.CFMLParserBase.isTrivialAngleBracket(CFMLParserBase.java:707)
    at coldfusion.compiler.cfml40.jj_3_1(cfml40.java:9392)
    at coldfusion.compiler.cfml40.jj_3_2(cfml40.java:9460)
    at coldfusion.compiler.cfml40.jj_3R_67(cfml40.java:9500)
    at coldfusion.compiler.cfml40.jj_3_86(cfml40.java:8147)
    at coldfusion.compiler.cfml40.jj_3R_92(cfml40.java:8584)
    at coldfusion.compiler.cfml40.jj_3_85(cfml40.java:8641)
    at coldfusion.compiler.cfml40.jj_2_85(cfml40.java:7619)
    at coldfusion.compiler.cfml40.cfml(cfml40.java:4215)
    at coldfusion.compiler.cfml40.cfif(cfml40.java:311)
    at coldfusion.compiler.cfml40.cfml(cfml40.java:4224)
    at coldfusion.compiler.cfml40.cfif(cfml40.java:311)
    at coldfusion.compiler.cfml40.cfml(cfml40.java:4224)
    at coldfusion.compiler.cfml40.cfelse(cfml40.java:442)
    at coldfusion.compiler.cfml40.cfelseif(cfml40.java:374)
    at coldfusion.compiler.cfml40.cfif(cfml40.java:314)
    at coldfusion.compiler.cfml40.cfml(cfml40.java:4224)
    at coldfusion.compiler.cfml40.start(cfml40.java:4664)
    at coldfusion.compiler.NeoTranslator.parsePage(NeoTranslator.java:667)
    at coldfusion.compiler.NeoTranslator.parsePage(NeoTranslator.java:648)
    at coldfusion.compiler.NeoTranslator.parseAndTransform(NeoTranslator.java:401)
    at coldfusion.compiler.NeoTranslator.translateJava(NeoTranslator.java:343)
    at coldfusion.compiler.NeoTranslator.translateJava(NeoTranslator.java:144)
    at coldfusion.runtime.TemplateClassLoader$TemplateCache$1.fetch(TemplateClassLoader.java:418 )
    at coldfusion.util.LruCache.get(LruCache.java:180)
    at coldfusion.runtime.TemplateClassLoader$TemplateCache.fetchSerial(TemplateClassLoader.java :362)
    at coldfusion.util.AbstractCache.fetch(AbstractCache.java:58)
    at coldfusion.util.SoftCache.get_statsOff(SoftCache.java:133)
    at coldfusion.util.SoftCache.get(SoftCache.java:81)
    at coldfusion.runtime.TemplateClassLoader.findClass(TemplateClassLoader.java:591)
    at coldfusion.filter.PathFilter.invoke(PathFilter.java:80)
    at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70)
    at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:2 8)
    at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
    at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)
    at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
    at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
    at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:53)
    at coldfusion.CfmServlet.service(CfmServlet.java:201)
    at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
    at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
    at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42 )
    at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
    at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
    at jrun.servlet.FilterChain.service(FilterChain.java:101)
    at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
    at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
    at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)
    at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
    at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
    at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320)
    at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
    at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266)
    at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

    Thanks Vishu,
    We are running Coldfusion 9 and attach is the sample code and error message.:
    The tag handler gridcolumn does not have a setter for the attribute autoExpand specified in the Tag Library Descriptor.
    The CFML compiler was processing:
      A cfgrid tag beginning on line 39, column 18.
    The error occurred in E:/Websites/DreData/sobrietytesting/main/Sobrietytesting/Admin/view_users.cfm: line 54
    52 :                     hrefkey="member_id"
    53 :                     bind="cfc:tabledisplay.browseAccessAcountRequests(,,,)"
    54 :                     >
    55 :                    

  • How can I set a VO Attribute value ?

    Hi,
    I'm relatively new to developing OA framework pages, so apologise in advance if my terminology is not quite right at the moment. But I have an experienced Oracle Forms developer so am getting to grips with new tools.
    I've managed to develop a number of simple pages (query page and create single record page). I now want to develop a simple "master-detail" page. I've created a page that has two regions Header region and Lines region. Region styles are set to Header and AdvancedTable (child of Header region). I created some test data in TOAD and have written the code to query back the header and related lines. This works and the correct lines get displays when a new header record is displayed. I coded this in the initQuery methods. But now I'm stuck trying to create detail/line rows from the page.
    I've added the "Add New Rows" to and want to populate the Lines row with the value of my parents primary key (eventually I'll make the child fkey column hidden). For the last few days, I've read lots of forum notes and the OA dev guide. At the moment, I've created a CO on my Lines region and this basically does the following in the processFormRequest :-
    a) Traps the Add Rows Event
    b) Fetches the current row for the parent and parent Id (primary key)
    c) Fetches the current child row
    d) Tries to update the child foreign key attribute using parent's primary key.
    When I pressed the Add Rows button I was getting an error "Attribute set <attribute> failed for ...>.
    I read various notes suggesting that I did not have my EO and VO properties set for the attribute I was updating. So I changed the EO and VO to allow the attribute to always be updateable. Now I don't get the error, but the column is not populated. An empty row appears. I used the messaging and am definately getting a value in the parentKey variable.
    I know I'm in the Add Rows event because I manged to display some dummy messages.
    Below is the code in my Lines CO processFormRequest :
    OAAdvancedTableBean tableBean = (OAAdvancedTableBean) webBean.findChildRecursive("RoutesRN");
    if (tableBean.getName().equals(pageContext.getParameter(SOURCE_PARAM))
    && ADD_ROWS_EVENT.equals(pageContext.getParameter(EVENT_PARAM)))
    OAViewObject parentVO = (OAViewObject)am.findViewObject("XXRPAirlineCreateVO1");
    OARow parentRow = (OARow)parentVO.getCurrentRow();
    String parentKey = (String)parentRow.getAttribute("CompCode");
    OAViewObject childVO = (OAViewObject)am.findViewObject("XXRPRouteFullVO1");
    OARow childRow = (OARow)childVO.getCurrentRow();
    //String childFKey = (String)childRow.getAttribute("CompCode");
    //childRow.setAttribute("CompCode",parentKey);
    childRow.setAttribute("CompCode",parentKey);
    ///// String message = "Pressed Add Rows Button Parent = " + parentKey + " Child = " + childFKey;
    /// // throw new OAException(message, OAException.INFORMATION);
    I guess the above may not be the best way to the "copy" of a parent id into a child foreign key.
    Any help would be really appreciated.
    Thanks
    Ramnik
    The region style for the Header

    Look in the dev guide, Tables --> Adding rows.
    If you are handling the add row event, you need to set autoInsertion off. You need to create a row in the child VO and then set the desired attributes

  • How to set the DFF Attribute Programmatically?

    hi
    how to set the DFF Attribute Programmatically in Process Request of CO
    thanx

    Hi
    Do u want to set the value in DFF Programmatically ?
    u can capture the VO used for DFF and set the the value in controller.
    Thanks

  • How to give  Value set for model attribute?

    Hi all,
           How to give value set for model attribute?
           plz explain me with some sample code.
    Regards,
    Srinu

    Hi Srinivasulu,
    An attribute (of basic data types like integer , string etc) holds a single values.
    Please clarify by what you mean value set ?
    Also, share the structure of context.
    Regards,
    Kartikaye

  • Jdev11G XMLMenuModel : Setting the "destination" attribute for the itemNode

    Hi,
    I am trying to set the "destination" attribute for the itemNode in the metadata.xml.This is the URI to which the user must be taken on clicking that node. But it is unable to pick the URI set for the destination attribute and hence there is no navigation that happens.Using the "action" attribute works fine. But I need to use the "destination" attribute.
    Here are some of the files:
    The metadata.xml (root_menu.xml):
    <?xml version="1.0" encoding="windows-1252" ?>
    <menu xmlns="http://myfaces.apache.org/trinidad/menu">
    <groupNode id="groupNode1" idref="itemNode1" label="Merchant">
    <itemNode id="itemNode1" label="Sites" action="site_action" rendered="#{testBean.test}"
    focusViewId="/common/site/Site.jspx">
    </itemNode>
    <groupNode id="groupNode2" idref="itemNode2" label="Settings">
    <itemNode id="itemNode2" label="Page Template" action="template_action"
    focusViewId="/common/template/TemplateRules.jspx">
    </itemNode>
    <itemNode id="itemNode3" label="Configuration Parameters" destination="http://www.google.com"
    action="config_action" focusViewId="/common/others/ConfigurationParameters.jspx">
    </itemNode>
    </groupNode>
    <groupNode id="groupNode3" idref="itemNode4" label="System Admin">
    <itemNode id="itemNode4" label="Cache Invalidation" destination="/faces/common/others/CacheInvalidation.jspx"
    focusViewId="/common/others/CacheInvalidation.jspx">
    </itemNode>
    </groupNode>
    </groupNode>
    </menu>
    The faces_config.xml:
    <?xml version="1.0" encoding="windows-1252"?>
    <faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee">
    <application>
    <default-render-kit-id>oracle.adf.rich</default-render-kit-id>
    </application>
    <navigation-rule>
    <navigation-case>
    <from-outcome>site_action</from-outcome>
    <to-view-id>/common/site/Site.jspx</to-view-id>
    </navigation-case>
    <navigation-case>
    <from-outcome>template_action</from-outcome>
    <to-view-id>/common/template/TemplateRules.jspx</to-view-id>
    </navigation-case>
    <navigation-case>
    <from-outcome>config_action</from-outcome>
    <to-view-id>/common/others/ConfigurationParameters.jspx</to-view-id>
    </navigation-case>
    <navigation-case>
    <from-outcome>cache_action</from-outcome>
    <to-view-id>/common/others/CacheInvalidation.jspx</to-view-id>
    </navigation-case>
    </navigation-rule>
    <managed-bean>
    <managed-bean-name>root_menu</managed-bean-name>
    <managed-bean-class>org.apache.myfaces.trinidad.model.XMLMenuModel</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
    <managed-property>
    <property-name>createHiddenNodes</property-name>
    <value>false</value>
    </managed-property>
    <managed-property>
    <property-name>source</property-name>
    <property-class>java.lang.String</property-class>
    <value>/WEB-INF/root_menu.xml</value>
    </managed-property>
    </managed-bean>
    <managed-bean>
    <managed-bean-name>testBean</managed-bean-name>
    <managed-bean-class>testBean</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
    </faces-config>
    Can you please tell me what else has to be set for the "destination" attribute to work?
    Thanks,
    Swapna

    The code you sent is not clear, could you send your jspx page.
    Thanks

  • How to set a extended attribute as read-only in runtime

    Hi Team,
    I would like to set a extended attribute as read-only in runtime based in a condition.
    I tried with "Criterion" in a extended model definition, but if the condition is false the content field disappear.
    Best regards

    Hi Bruno,
    About the first part of your problem : User with permission and user without permission.
    To meet your needs I would have defined a Group named "WithPermission" and associated this group to a Member (user) "A"
    While other users would not have been associated with this group.
    When an user login I would have checked what groups that are associated with. If the group "WithPermission" was found I would have allowed the current login user to write "My Example". If the current login user was not associated to group name "WithPermission". The user would not have been able to edit the field.
    I did a search in the metamodel object and I found nothing Method. Following my reading it seems that it is not possible. Read below.
    In Sybase Guide "Customizing and Extending PowerDesigner" - CHAPTER 7: Scripting PowerDesigner you can read the following :
    Manipulating the Repository By Script
    PowerDesigner lets you access the Repository feature via scripting using the RepositoryConnection as BaseObject global property.
    It allows you to retrieve the current repository connection, which is the object that manages the connection to the repository server and provides access to documents and objects stored under the repository.
    The RepositoryConnection is equivalent to the root node in the Repository browser.
    You can access the repository documents, but you cannot access the repository administration objects, like users, groups, configurations, branches, and list of locks. In addition, only the last version of a repository document is accessible using scripting.
    As described by Dirk I think the only thing you can do is to make a check on a specific username. Unfortunately it will be "hard coded" in your program. Or If you can by vb script access the repository tables. You could resolve your problem by checking Group permission associated to each users logged in..

  • Setting Application Context Attributes for Enterprise Users Based on Roles

    Hello,
    We have an Oracle 11g database with a table containing data from multiple sites (a SiteID field identifies the site for a record). Since application users can have access to different subsets of sites, we would like to use Oracle's Virtual Private Database feature to enforce row-level security on the table.
    I did a successful proof-of-concept with database users. I created a role for each site (example: USER_SITE_A, USER_SITE_B, ...), and then assigned the appropriate site roles to each database user. I then created a package (run via a logon trigger) which set application context attributes for each site. If the current database user has been assigned a role for a given site, then the corresponding attribute named "SITE_PRIVILEGE_SiteID" is set to 'Y'... otherwise, it is set to 'N'. Here is the code which worked to set application context attributes for database users:
    -- For each record in my RoleSitePrivileges table, set
    --   an attribute named 'SITE_PRIVILEGE_<SiteID>'.
    --   If the current user has been assigned a role matching
    --   the value in the 'RoleName' field, set the corresponding
    --   attribute to 'Y'... otherwise, set it to 'N'.
    FOR iPrivRec IN (SELECT RoleName, SiteID
                       FROM RoleSitePrivileges
                       ORDER BY SiteID)
       LOOP
          SELECT COUNT(*)
            INTO roleExists
            FROM dba_role_privs
            WHERE granted_role = UPPER(iPrivRec.RoleName)
              AND grantee = USER;
          IF roleExists > 0 THEN
             DBMS_SESSION.set_context(
                         namespace   => 'my_ctx',
                         attribute   => 'SITE_PRIVILEGE_' || iPrivRec.SiteID,
                         value       => 'Y');
          ELSE
             DBMS_SESSION.set_context(
                         namespace   => 'my_ctx',
                         attribute   => 'SITE_PRIVILEGE_' || iPrivRec.SiteID,
                         value       => 'N');
          END IF;
       END LOOP;To finish things off, I created a security policy function for the table which returns the following:
    RETURN 'SiteID IN (SELECT TO_NUMBER(SUBSTR(attribute, 15))
                         FROM session_context
                         WHERE attribute LIKE ''SITE_PRIVILEGE_%''
                            AND value = ''Y'')';This setup worked great for database users. I am now working to do a comparable proof-of-concept for enterprise users created in Oracle Internet Directory (OiD). I have Enterprise User Security (EUS) up and running with OiD, global roles created in the database, enterprise roles defined in EUS with global role assignments, and enterprise roles assigned to OiD users. The enterprise users are able to successfully login to the database, and I can see the appropriate global role assignments when I query the session_roles view.
    I tried using the same application context package, logon trigger, and security policy function with the enterprise users that I had used with the database users. Unfortunately, I found that the application context attributes are not being set correctly. As you can see from the code above, the applicaiton context package was referencing the dba_role_privs view. Apparently, although this view is populated for database users, it is not populated for enterprise users.
    I tried changing the application context package to use invoker's rights and to query the session_roles view instead of the dba_role_privs view. Although this package sets the attributes correctly when called manually, it does not work when called from the logon trigger. That was an oops on my part, as I didn't realize initially that a PL/SQL procedure cannot be called with invoker's rights from a trigger.
    So, I am now wondering, is there another view that I could use in code called from a logon trigger to access the roles assigned to the enterprise user ? If not, is there a better way for me to approach this problem? From a maintenance standpoint, I like the idea of controlling site access from the LDAP directory service via role assignments. But, I am open to other ideas as well.
    Thank you!

    Hello,
    We have an Oracle 11g database with a table containing data from multiple sites (a SiteID field identifies the site for a record). Since application users can have access to different subsets of sites, we would like to use Oracle's Virtual Private Database feature to enforce row-level security on the table.
    I did a successful proof-of-concept with database users. I created a role for each site (example: USER_SITE_A, USER_SITE_B, ...), and then assigned the appropriate site roles to each database user. I then created a package (run via a logon trigger) which set application context attributes for each site. If the current database user has been assigned a role for a given site, then the corresponding attribute named "SITE_PRIVILEGE_SiteID" is set to 'Y'... otherwise, it is set to 'N'. Here is the code which worked to set application context attributes for database users:
    -- For each record in my RoleSitePrivileges table, set
    --   an attribute named 'SITE_PRIVILEGE_<SiteID>'.
    --   If the current user has been assigned a role matching
    --   the value in the 'RoleName' field, set the corresponding
    --   attribute to 'Y'... otherwise, set it to 'N'.
    FOR iPrivRec IN (SELECT RoleName, SiteID
                       FROM RoleSitePrivileges
                       ORDER BY SiteID)
       LOOP
          SELECT COUNT(*)
            INTO roleExists
            FROM dba_role_privs
            WHERE granted_role = UPPER(iPrivRec.RoleName)
              AND grantee = USER;
          IF roleExists > 0 THEN
             DBMS_SESSION.set_context(
                         namespace   => 'my_ctx',
                         attribute   => 'SITE_PRIVILEGE_' || iPrivRec.SiteID,
                         value       => 'Y');
          ELSE
             DBMS_SESSION.set_context(
                         namespace   => 'my_ctx',
                         attribute   => 'SITE_PRIVILEGE_' || iPrivRec.SiteID,
                         value       => 'N');
          END IF;
       END LOOP;To finish things off, I created a security policy function for the table which returns the following:
    RETURN 'SiteID IN (SELECT TO_NUMBER(SUBSTR(attribute, 15))
                         FROM session_context
                         WHERE attribute LIKE ''SITE_PRIVILEGE_%''
                            AND value = ''Y'')';This setup worked great for database users. I am now working to do a comparable proof-of-concept for enterprise users created in Oracle Internet Directory (OiD). I have Enterprise User Security (EUS) up and running with OiD, global roles created in the database, enterprise roles defined in EUS with global role assignments, and enterprise roles assigned to OiD users. The enterprise users are able to successfully login to the database, and I can see the appropriate global role assignments when I query the session_roles view.
    I tried using the same application context package, logon trigger, and security policy function with the enterprise users that I had used with the database users. Unfortunately, I found that the application context attributes are not being set correctly. As you can see from the code above, the applicaiton context package was referencing the dba_role_privs view. Apparently, although this view is populated for database users, it is not populated for enterprise users.
    I tried changing the application context package to use invoker's rights and to query the session_roles view instead of the dba_role_privs view. Although this package sets the attributes correctly when called manually, it does not work when called from the logon trigger. That was an oops on my part, as I didn't realize initially that a PL/SQL procedure cannot be called with invoker's rights from a trigger.
    So, I am now wondering, is there another view that I could use in code called from a logon trigger to access the roles assigned to the enterprise user ? If not, is there a better way for me to approach this problem? From a maintenance standpoint, I like the idea of controlling site access from the LDAP directory service via role assignments. But, I am open to other ideas as well.
    Thank you!

  • IAM-3056160:Modify User Profile request cannot set or change attribute Job Code, since it is not defined in the corresponding data set.

    I am trying to modify the value of the field "Job Code" through API I am getting the following error.(OIM11gr2). I do not get this error when updating the other fields. There is a field by the name USR_JOB_CODE in the database. When I poked around I found that there is no Job Code field in the User Form. Any ideas?
    IAM-3056160:Modify User Profile request cannot set or change attribute Job Code, since it is not defined in the corresponding data set.:Modify User Profile:Job Code
    oracle.iam.identity.exception.ValidationFailedException: IAM-3056160:Modify User Profile request cannot set or change attribute Job Code, since it is not defined in the corresponding data set.:Modify User Profile:Job Code
           at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:237)
           at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348)
           at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
           at oracle.iam.identity.usermgmt.api.UserManager_nimav7_UserManagerRemoteImpl_1036_WLStub.modifyx(Unknown Source)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
           at java.lang.reflect.Method.invoke(Unknown Source)
           at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:85)
           at $Proxy2.modifyx(Unknown Source)
           at oracle.iam.identity.usermgmt.api.UserManagerDelegate.modify(Unknown Source)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke

    THanks for your reply. Here is the snippet from User.xml that contains info about job code.
    <entity-attribute>Job Code</entity-attribute>
    <target-field>usr_job_code</target-field>
    <field name="usr_job_code">
    <type>string</type>
    <required>false</required>
    </field>
    <attribute name="Job Code">
    <type>string</type>
    <required>false</required>
    <searchable>true</searchable>
    <multi-valued>false</multi-valued>
    <MLS>false</MLS>
    <multi-represented>false</multi-represented>
    <attribute-group>Basic</attribute-group>
    <metadata-attachment>
    <metadata>
    <name>multi-valued</name>
    <value>false</value>
    <category>properties</category>
    </metadata>
    <metadata>
    <name>user-searchable</name>
    <value>true</value>
    <category>properties</category>
    </metadata>
    <metadata>
    <name>category</name>
    <value>Preferences</value>
    <category>properties</category>
    </metadata>
    <metadata>
    <name>bulk-updatable</name>
    <value>true</value>
    <category>properties</category>
    </metadata>
    <metadata>
    <name>read-only</name>
    <value>false</value>
    <category>properties</category>
    </metadata>
    <metadata>
    <name>visible</name>
    <value>true</value>
    <category>properties</category>
    </metadata>
    <metadata>
    <name>encryption</name>
    <value>CLEAR</value>
    <category>properties</category>
    </metadata>
    <metadata>
    <name>display-type</name>
    <value>TEXT</value>
    <category>properties</category>
    </metadata>
    <metadata>
    <name>system-controlled</name>
    <value>false</value>
    <category>properties</category>
    </metadata>
    <metadata>
    <name>max-size</name>
    <value>512</value>
    <category>properties</category>
    </metadata>
    <metadata>
    <name>custom</name>
    <value>false</value>
    <category>properties</category>
    </metadata>
    </metadata-attachment>
    </attribute>
    I am able to retrieve the value of the Job Code attribute without any problem with the following code.
    System.out.println("JOB Code: "+user.getAttribute("Job Code"));

  • How to Set / change the attribute of Business Object

    Hi all,
    Say I have a Z Business Object -> ZBO
    Inside the BO, I have an attribute -> ZA1
    And one method -> ZM1
    Is there any way in which  i can set / update the attribute ZA1 (for any particular instance) outside the Business Object (I mean without writing any code in the program of the Business object)?
    Thanks,
    Deb

    >
    Debidutta Mohanty wrote:
    > But Inside the class -> Can be assigned or changed -> Using Method -> Correct ?
    >
    > That means, inside the Business Object aslo, we can have one method to assign or change attribute. Is there any Macro to change the attribute ?
    Yes.
    BOR attribuites are a piece of code. You can see this by hilighting an attribute and clicking on the "Program" button. That code returns the attribute value, usually something from a DB table, something calculated, or a private attribute.
    To change what the attribute returns, you need to change the underlying data. How you do it depends on what your attribute code does in first place. This is why we can't give you an exact answer. If your attribute retrieves a value from a table entry then you need to change the table entry. If it is a calculated value then you need to change the data used in the calculation to make your attribute return something else. If it returns a private attribute value then you need to update this via a method.

  • Validating different sets of required attributes in an XML schema.

    My requirement is to validate an xml with two different validation strategies. In strategy 1, the xml is required to have several instances of an element with certain required attributes. In strategy 2, the xml is required to have several instances of the same element with different required attributes. So, the idea is that there are two different sets of the same element with different set of required attributes for each set. Is there a way to validate this with using only one xsd. My only solution so far is to use two different xsd files to validate. Thank you.

    Define an xsd:choice for the 2 elements.

  • Set Transient VO attribute runtime

    Hi Everyone,
    I am creating new row though create Method in Entity Object. Now the problem is I have to set Transient VO attribute in order to keep the row of advance table editable. Any help would be appreciable.
    Thanks and Regards,
    Sandip

    Hi Sandip,
    As per my understanding we can't create row in create method, it fires automatically when a row will be created.
    Transient attribute can be set when you are creating new row.
    after creating new row, set the transient attribute then insert the row and set the row status.
    I hope it will give you clue.
    Regards,
    Reetesh Sharma

  • Error deploying EJB on weblogic: Unable to set the transaction attribute

    Hi,
    I'm trying to deploy an application in WL10.3.2 and an error occurred during activation of changes.
    Here is the error message from the log file:
    <Jun 6, 2011 1:28:27 PM MDT> <Error> <Deployer> <BEA-149205> <Failed to initialize the application 'serverEAR-2' due to error weblogic.application.ModuleException: Exception preparing module: EJBModule(serverEJB-2.8.0.jar)
    Unable to deploy EJB: C:\oracle\Middleware\user_projects\domains\base_domain\servers\Server_3\tmp\_WL_user\serverEAR-2\1zw7ao\serverEJB-2.8.0.jar from serverEJB-2.8.0.jar:
    Unable to set the transaction attribute for method 'saveActionGroup(EditableActionGroup)' on EJB 'ViewBean'. No matching method could be found. Please verify the method signature specified in the ejb-jar.xml file matches that of your Remote interface for this EJB.
    weblogic.application.ModuleException: Exception preparing module: EJBModule(serverEJB-2.8.0.jar)
    Unable to deploy EJB: C:\oracle\Middleware\user_projects\domains\base_domain\servers\Server_3\tmp\_WL_user\serverEAR-2\1zw7ao\serverEJB-2.8.0.jar from serverEJB-2.8.0.jar:
    Unable to set the transaction attribute for method 'saveActionGroup(EditableActionGroup)' on EJB 'ViewBean'. No matching method could be found. Please verify the method signature specified in the ejb-jar.xml file matches that of your Remote interface for this EJB.
         at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:454)
         at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
         at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:391)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:83)
         at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:59)
         Truncated. see log file for complete stacktrace
    Caused By: weblogic.ejb.container.deployer.DeploymentDescriptorException: Unable to set the transaction attribute for method 'saveActionGroup(EditableActionGroup)' on EJB 'ViewBean'. No matching method could be found. Please verify the method signature specified in the ejb-jar.xml file matches that of your Remote interface for this EJB.
         at weblogic.ejb.container.deployer.MBeanDeploymentInfoImpl.processCTs(MBeanDeploymentInfoImpl.java:1502)
         at weblogic.ejb.container.deployer.MBeanDeploymentInfoImpl.processSpecificMethodCTs(MBeanDeploymentInfoImpl.java:1472)
         at weblogic.ejb.container.deployer.MBeanDeploymentInfoImpl.initializeTransactionAttribute(MBeanDeploymentInfoImpl.java:773)
         at weblogic.ejb.container.deployer.MBeanDeploymentInfoImpl.<init>(MBeanDeploymentInfoImpl.java:259)
         at weblogic.ejb.container.deployer.EJBDeployer.prepare(EJBDeployer.java:1190)
         Truncated. see log file for complete stacktrace
    Please help me...Thanks.

    In your ejb-jar.xml you are referring to a method saveActionGroup(EditableActionGroup) which is not defined in your remote interface.
    Maybe you have made some typo in the configuration. Check your transaction section, i.e.,
    <container-transaction>
                <method>
                    <ejb-name>ViewBean</ejb-name>
                    <method-name>saveActionGroup</method-name>
                    <method-params>
                        <method-param>package.EditableActionGroup</method-param>
                    </method-params>
                </method>
                <trans-attribute>Required</trans-attribute>
    </container-transaction>or something similar. See if the defined methods are corresponding to the methods defined in the remote interface.

Maybe you are looking for

  • SAP PI: Using Variable Header  Binding in Receiver Mail Adapter

    Hello, I try to use Variable Header Bindings in the Receiver Mail Adapter. Therefore I wrote the following User-Defined-Function in a mapping: Java Function Start - DynamicConfiguration conf = (DynamicConfiguration) container     .getTransformationPa

  • Webmail giving some starnge Warning messages! Please Help

    Hi, After upgrading to Snow Leopard Server, I'm getting strange warning messages in my web mail, Find the warning messages below, Looking forward to your support. Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timez

  • Accounts receivables ageing report

    i want to know how to generate accounts receivables ageing report,which T-codes to use

  • Changing system date

    Hi, I have a 11.2 database + oracle EBS on a linux machine with a wrong date time. What will happen to database and ebs if I change the time an hour back from actual?

  • Panerai-replicas, paneria swiss replica, paneriaa swiss replica

    What’utes inside? What’utes not really? Which are the style emblems as well as the stars donning? What’utes converting brains in 2010, and also what’utes not really? Exactly what rubber stamps around the crimson carpets and rugs worldwide? Deciding o