Setting a global attribute

Can a global attribute be set from a child entity that is contained within the global entity?

Yes, you need to ensure that conditions applied to the child entities will result in determining only one value for the global attribute (otherwise, uncertain will be the attribute's value). For example, "the household's oldest person" using the maximum age of the people in the household.

Similar Messages

  • Global attributes in a template project

    Hello folks,
    We are setting up a demo of global template functionalites in SM. In the template project we have created we need advice on how to go about with the following.
    1) What do the attributes - global, local, harmonized etc.mean from a businesss perspective. The help documentation provided by SAP is not clear enough. Can someone share their practical expericence regarding this.
    2) In the project structure created - on what criteria should the project/business team set the appropriate global attribute.
    3) What is the effect of setting up of this global attributes - should any implementation projects created in the future has to refer the master template proj.
    Probably I am asking quite a lot but the questions seem to be related .
    Thank you.
    ^
    Mark

    Hi Mark,
    First of all, it is advised to use this functionality only if you foresee a case of 'active' rollout based projects leveraging these templates. If, a Template Project is created merely to hold an inventory of process definitions, with future usage only as a 'possibility', you need not activate the 'Global Rollout' functionality and attend to the decision making on it at a much later date, when necessity arises. This is not something mandatory to take up right upfront, unless there is a case for it.
    1) In terms of practical use in project, I have rarely come across projects which have sought to use the whole range of these attributes; I have been using SolMan since May 2004 and since those days, the usual ones I have had a need to use are at extreme ends of the spectrum - Global or Initial. All those in between vary in their nuances and normally not as much missed ! In early days (SolMan 3.1, there weren't as many varieties).
    With regard to the specific ways in which these vary,
    [this link|http://help.sap.com/saphelp_sm40/helpdata/en/45/5af1f3e5f81dece10000000a155369/content.htm] in SAP Online help is the best source to find how these attributes impact. Of course, you may have already seen this.
    2) The Project Team should have one main consideration - whether to control the structure and content of a delivered scenario centrally or to allow some changes at local rollout level. Accordingly, set the attribute and pass on the same attributes to all layers below that node in one stroke (if the attribute is to remain the same for all contents underneath)
    3) The effect is in 'changeability' or the flexibility to adapt the scenario borrowed from Template to suit local rollout/implementation needs.  For instance, if the Global Template team has spent thousands of man hours in coming up with a Finance scenario that's Sarbanes-Oxley compliance or GRC proofed, with all local requirements already fed into the Template, it makes sense to define the Scenario or Process as 'Global' and expect all rollouts to make use of it exactly the same way.
    If, on the other hand, there is a CRM/ SCM scenario on optimising Order fulfilment, an Asia-Pacific plant rollout may considerably differ in process steps from North American and such scenarios/ processes can be Initial or Local
    Trust this helps.
    Regards,
    Srini

  • Declaring and accessing custom global attributes of component controller

    Hi,
    I want to declare some global attributes for Component Controller and initialize them in WdDoInit() method.
    I have declared them under Component Controller --> Attributes tab --> after wd_context and wd_this (say G_MESSAGE).
    However,  when I am trying to set them in wdDoInit() method, I get compilation error saying G_MYMESSAGE is unknown and its not defined using data statement.
    How do I access these attributes?
    Thanks and regards,
    Amey

    Hello Amey,
    You need to access the variable by "wd_this->g_mymessage"
    Since wd_this attribute in each controller refers to interface of local controller. you could read the description of that attribute in attribute tab.
    Regards
    Anurag Chopra

  • Global attribute wierdness

    I am running across some unexplainable behavior with Global attributes.
    I have a simple field form and a update workflow. When I check out the user view, it correctly populates all my form fields with the current values. I'm using a simple "userView.accounts[LDAP].gid" format for each field. No problems there. The problem is if I change a value on the form, then pass to a checkinView in the workflow.
    <Action id='1' application='com.waveset.session.WorkflowServices'>
    <Argument name='op' value='checkinView'/>
    <Argument name='view' value='$(userView)'/>
    </Action>
    The updates are not propogated. Using debug, I find in the passed view that the accounts[LDAP].gid has the correct value, but the userView.global.gid has the old value. Furthermore, it is intermittent. Some globals only have null, and it still isn't being updated. The waveset.accounts[LDAP].attributes.gid has the old value as expect.
    If I add the following just prior to the check in, then every thing is okay. This seems wasteful, and I do not want to have to enumerate through every possible field in order to populate global, and I eventually may have the need to assign slightly different values to different resources.
    <set name='userView.global.gid'>
    <ref>userView.accounts[LDAP].gid</ref>
    </set>
    Straight from the manual it says namespace "accounts": Stores the read/write copies of the account attributes. Updatable fields should point to this namespace.
    Has anyone else experienced this and how have you overcome the problem?
    Thanks in advance,
    Jeremy

    Oh I see. Sorry, I misread your original posting. I've had a sort of similar issue with globals but it involved the global name space being populated with data from one resource (of my five) in a different order than in other cases. In the majority of cases the global name space was loaded from the first resource that contained the attribute but because I have five resources the order of the resources as enumerated by IDM mattered.
    For example, if the attribute was called "uname" and IDM loaded my resources in the order of "R1, R2, R3, R4, R5" and uname was only available as attributes on R3 and R4 then global.uname was effectively the same as accounts[R3].uname since it was the first in the list. This meant that by using the global name space R3 was the authoritative resource for the attribute "uname". The problem I had was every now and then IDM would load in the resources in the wrong or a different order. In very rare cases it would load them in "R1, R2, R4, R3, R5". This meant that if there was ever a mis-match between the uname attribute between R4 and R3 (that is if the uname attribute on R4 was "old" and the uname attribute on R3 was "new") then the "old" value was getting pushed in to the global name space (since R4 was first) and thus into all resources that supported "uname". So it's similar to what you're experiencing though not quite the same.
    I'm just speculating... "gid" might be one of those reserved attribute names that you shouldn't use. Just like "accountId" and "password" are one of those attribute names you just shouldn't use since it conflicts with IDMs own internal data structures. That might also be what's biting you. (Of course it's not terribly well documented which ones you should avoid.) My best practice has been to prefix all attribute on a resource with a short resource name or code. (Eg. "LDAP_gid", or "AD_gid" or "myresource_gid" rather than just "gid".) But this effectively kills the global name space since each attribute has a unique name across all resource.
    So, having written all of that, your solution looks like the only way out unfortunately.  :( It's also what I end up typically doing. I determine which resource is authoritative and then use that resource to set the values for all other resources that support the attribute using the accounts[] name space as well as the global name space. (With the global name space set last.) In a form I'll have large blocks of expansions setting the field value of the attribute and in a workflow it will be contained within a single action statement's block expression.
    It's what I call "superstitious" code. It might be overkill but having been bitten by it enough times I always do it now.

  • Setting the value of an Application Item (setting a global variable);

    In APEX 3.2.0.00.27, I need to initialize a global variable to 0 to implement a variable for testing to see if anything on the page has changed. Will update to 1 when certain select lists on the page are changed. Have read through some similar questions and replies within the forum as well as other blogs and sites. So, I believe what I am doing is the way to go about this. Unfortunately, my initialization of an application item/global isn't happening yet. here's a rundown of what has been implemented:
    1) created an application item, G_CLASSIFICATION_ID_NEW in the shared components;
    2) created Javascript (JS) function called by addLoadEvent in the page html header region so when the page loads, the G_CLASSIFICATION_ID_NEW global/application item should get set to 0 with the following JS and using AJAX and htmldb_GET:
    <script type="text/javascript">
    function initVars()
    alert("before get initvars");
    var get = new htmldb_Get(null,$x('pFlowId').value,null,22);
    get.add('G_CLASSIFICATION_ID_NEW', 0);
    gReturn = get.get();
    if(gReturn){
    alert(gReturn.value);
    get = null;
    alert("after get initvars");
    alert("before call to initpage");
    addLoadEvent(initVars());
    </script>
    I've used the htmldb_Get with success for populating other global variables and running On Demand Processes with onchange JS calls in the html form element attributes within select lists on the page. Afterwards, I can check the globals via the Session window and searching on Application Items. Unfortunately, I'm missing something because my G_CLASSIFICATION_ID_NEW never gets populated when I load the page. The alerts all popup when the page is loaded, so I know the script is being executed when the page loads. the alert(gReturn.value) comes back undefined. And, needless to say, the G_CLASSIFICATION_ID_NEW to 0 is not occurring.
    I've tried the htmldb_Get with it calling an application process and without (set to null). From what I've read, you shouldn't need to call an on demand process to have the get.add set the global variable. Then again, this could be where I'm going wrong. however, as I've mentioned, this works for other functions called from an onchange to populate an application item, but the page has already loaded when the onchange(s) get executed. They may work because the page is already loaded when the onchange is called. My point here is that my other On demand processes are NOT setting or changing the global variables at all. The globals are getting set with the get.add(<app item>, <value>) portion of my other JS functions within the HTML Header region. So, I'm inclined to believe that I don't need the 'application_process=<some_odp>' parameter set, but if that's not true, please let me know. if so, what would need to be in the on demand process--ie, what would be the purpose of the get.add(<application item>, <value>) if I set the global variable in the on demand process because that's the only thing I could think of doing within an on demand process for this?
    If somebody can point out what I'm not understanding or failing to do here, that would be great. I'm doing fine with APEX, but wouldn't consider myself a guru with it just yet. I'm definitely not a JS/AJAX guru, and when things like this go astray, I get bogged down because I'm not sure of the problem. So, I'm hoping you gurus who monitor this forum can get me going in the right direction.
    thanks,
    bob

    Hi Jari,
    Does that javascript work if you place it some of region footer on page 22 ?Yes. I cut it out of the html header of the page, and put it in the footer of the first region on the page. It initializes the variable. Putting it into the footer of the first region on the page should work for me instead of having an extra region on the page that's being picked up from page 0.
    Is your page 22 authentication public ?No. This particular page is set for an ADMINISTRATOR only. That said, I am logged in as an administrator. So, I cannot see why setting authentication should make a difference as long as I have that authentication/authorization. Also, there will be other pages where I want to use this script or a similar script, but again, those pages will not be open to the public. the authentication will be "role" based where a user will not necessarily have to be an administrator, but they will have to have a certain role to access the page. Is there a known problem or something that precludes a html header JS script from doing an addloadevent when authentication is NOT public?
    thank you,
    bob

  • Access global attribute in webdynpro component?

    Hi all i have 2 webdynpro components
    Comp1
    Comp2
    Now i have declared a global attribute in comp1 in component controller.
    I have embedded both component together to share values
    I want to change the global attribute of comp1 from comp2
    Let me know how to proceed.
    Thanks

    There are different ways you can accomplish this. Using an interface method as Jitendra Yadav mentioned above is one. Another way, you can define an interface node in comp1 component controller. This node will be visible in comp2 (provided you declared comp1 usage in comp2). Then, you can set values of all of the interface node's elements.

  • 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!

  • Local attributes - global attributes tradeoff

    Hi, MDM experts.
    Can you, please, share your experience on business partners repository modeling.
    I build custom business partners repository. While creating it I came to a question - whether local system attributes of business partner should be modelled in that repository?
    Intrinsic attributes like Full Name, State Identity Number and so on should be definitely modeled. Attributes specific to our organization but those that span many of our systems should also be modeled I think.
    But what's about some specific attributes that are relevant only for one of the systems being integrated? To be concrete, imagine we have SAP ERP system as one of the systems in landscape and such attribute of our business partner as 'Purchasing organization'. In our case this table is SAP ERP specific and none of our other systems have such entity in their data model.
    <b>The question is - is it reasonable to have local system attributes and lookup tables implemented in central MDM repository?</b>
    If yes then isn't our repository going to be overloaded with all that local attributes and lookup tables of every client system?
    If no, then how should process of central creation of business partner look like? The problem is in this case Creator won't be be able to assign all attributes he would like to and he will have to login to each of local system and assign these values after central creation. Moreover, client systems can refuse to create new record automatically in case some of attributes are missing. For example such situation is typical for Idoc inbound processing .
    Have you any suggestions on streamlining the data model and BP central creation process ?
    Regards,
    Vadim Kalabin

    Hi vadim,
    These are my thoughts on your issue.
    I feel both the attributes should find place in the same repository.
    This is not going to overload the system. In some typical MDM Implementation the volume of Main table records will very huge and the Local and global attributes will only occupy a less share only on the total records.
    Also the practice is that MDM DB Server and the core server runs separately.
    Pl find if this Article is use for you.
    <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d0d8aa53-b11d-2a10-aca2-ff2bd42a8692">MDM Data modelling do's and dont's</a>
    Regards,
    Vijay

  • Setting value for attribute  'PO_NUMBER_SOLD'  using setter method

    Hi Experts,
    I need to set the value of a screen field according to some condition. I am using setter method of this attribute to set the value but it is not getting changed.
    I have written following code in DO_PREPARE_OUTPUT method of implementation class ZL_ZZBT131I_ZCREDITCHECK_IMPL using setter method of attribute
    Get Referral Authorization Code
          lv_val1 = me->typed_context->crechkresph->get_po_number( attribute_path = 'PO_NUMBER' ).
          me->typed_context->crechkresph->set_po_number( attribute_path = 'PO_NUMBER'
                                                            value     = ' ' ).
    while debugging I found that in method set_po_number set_property method has been used:--
    current->set_property(
                          iv_attr_name = 'PO_NUMBER_SOLD' "#EC NOTEXT
                          iv_value     = <nval> ).
    In set_property method  following code is getting executed
    if ME->IS_CHANGEABLE( ) = ABAP_TRUE and
               LV_PROPS_OBJ->GET_PROPERTY_BY_IDX( LV_IDX ) ne IF_GENIL_OBJ_ATTR_PROPERTIES=>READ_ONLY.
              if <VALUE> ne IV_VALUE.
                if ME->MY_MANAGER_ENTRY->DELTA_FLAG is initial.
                first 'change' -> proof that entity is locked
                  if ME->MY_MANAGER_ENTRY->LOCKED = FALSE.
                    if ME->LOCK( ) = FALSE.
                      return.
                    endif.
                  endif.
                flag entity as modified
                  ME->MY_MANAGER_ENTRY->DELTA_FLAG = IF_GENIL_CONTAINER_OBJECT=>DELTA_CHANGED.
                endif.
                ME->ACTIVATE_SENDING( ).
              change value
                <VALUE> = IV_VALUE.
              log change
                set bit LV_IDX of ME->CHANGE_LOG->* to INDICATOR_SET.
              endif.
            else.
            check if it is a real read-only field or a display mode violation
              assert id BOL_ASSERTS subkey 'READ-ONLY_VIOLATION'
                     fields ME->MY_INSTANCE_KEY->OBJECT_NAME
                            IV_ATTR_NAME
                     condition ME->CHANGEABLE = ABAP_TRUE.
            endif.
    and in debugging I found that if part ( ME->IS_CHANGEABLE( ) = ABAP_TRUE and
               LV_PROPS_OBJ->GET_PROPERTY_BY_IDX( LV_IDX ) ne IF_GENIL_OBJ_ATTR_PROPERTIES=>READ_ONLY) fails and hence else part is getting executed and hence my field a real read-only field or a display mode violation is happening according to comments in code.
    What shall I do so that I would be able to change the screen field value?
    Any help would be highly appreciated.
    Regards,
    Vimal

    Hi,
    Try this:
    data: lr_entity type cl_crm_bol_entity.
    lr_entity = me->typed_context->crechkresph->collection_wrapper->get_current( ).
    lr_entity->set_property( iv_attr_name = 'PO_NUMBER' value = '').
    Also, make sure the field is not read-only.
    Regards
    Prasenjit

  • Can you set a global EntityResolver (via system property, or static method)

    I'm trying to set a customized EntityResolver (telling the xml parser where to look for XML schema files).
    Usually, you'd use the standard syntax - somehting like:
    SaxParser parser=new SaxParser();
    parser.parser.setEntityResolver(myResolver);
    However, I was wondering whether you can set a "global" EntityResolver, to be used as default for all parsers ?
    Maybe this can be done through some system property, or a static method somewhere in the parsing XML ?
    (BTW, I need it because I'm using some third-party API, that encapsulates a SaxParser, but won't let me access it, so I can't configure it directly).
    thanks.

    I don't think you can.
    What is possible is to set content on the folder resource itself; that would be returned instead of the page you mentioned.

  • How can i set a global error page for all error cod

    how can i set a global error page for all error code?
    i don't want to leave a long list in the web.xml file.could any one help me?
    thanks

    If u have a common Error JSP named as ErrorPage.jsp
    You need to have the following piece of code in the JSP as :
    <%@ page isErrorPage ="true"%>
    This makes it as the Common Error Page for the Application. Now all you need to do is from other JSP's throw the Exception to teh container. The container will redirect to this Page and process accordingly.
    Thanks and regards,
    Pazhanikanthan. P

  • 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

  • Global attributes

    Hi there!
    I´m starting to work with IDM and I have some basic doubts. For example: for using global attributes... Do we have to define it? Do the attribute have to be present in all resources?
    Another cuestion is the population of the user view from SAP. I would like to know the simplest way to do and test it.
    My problem is than I just had an complex enviroment and I only have self-formation I could get with sun docs... but it´s so extense that I haven´t yet a good vision of main process.
    Thanks and regards.

    Global attributes do not have to be present in all resources. But resources that have a mapping for the attribute will use the value. So if you write something to "global.firstname", every resource (including Lighthouse), will be updated.
    This is for writing. For reading the value and displaying it, I use the following field syntax:
    <Field name='global.firstname'>
      <Default>
          <ref>attributes[Lighthouse].firstname</ref>
       </Default>
    </Field>

Maybe you are looking for