Setting legend layer attributes for SAP Bar Chart Graphics

Hello!
I'm using the SAP Bar Chart for displaying a calendar which is easily printable.
Because the chart contains lines with colored layers without text I need to show a legend at the bottom of a printed page.
I am using the CALL FUNCTION 'BARC_SET_LEGEND_ATTRIB' for setting up the legend and CALL FUNCTION 'BARC_ADD_LEGEND_NODE' to add the nodes/layers and texts to the legend.
The only problem is that the width of each layer displayed in the legend in very narrow. Only ten letters are shown for each legend entry and this is not enough to display the meaning of my colored bars in the chart area.
I tried changing layer-values in the bar chart customizing ( /ocng ) but nothing helped to make the legend entries wider.
Does anyone have an idea?

Hi,
Try this link  
[http://help.sap.com/saphelp_40b/helpdata/fr/52/670cd2439b11d1896f0000e8322d00/content.htm]
You can find sample SAP reports for graph and graphics
[http://www.erpgenie.com/sap-technical/abap/sample-codes-for-sap-graphs-a-graphics]
Ben.

Similar Messages

  • 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

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

  • Setting the default resolution for sap logon

    Hi, ALL!
    I'm terribly tired of SAP interface. It's so uncomfortable for work.
    For example maybe you know khow to set the default resolution for sap logon to make it use its widgets of proper size. e.g. when i work with transfer rules, it has only half of screen for useful area (i use 1400x1050), and right part is just empty, but on the left very many small fields and you should constantly use scrollbars (i think you know it well). Maybe there is system customizing for this purpose.

    Hello Dmitry,
    There is no customizing for this - atleast to my knowledge.
    However, you should have to redo the settings again and again unless you are continuously re-sizing the main window.
    Cheers
    Aneesh

  • Setting a Layer Break for GEAR Pro Mastering Edition with EncoreDVD & IFOEdit

    Setting Layer Breaks Manually for Encore/GEAR Projects
    Although we can write straight to a DVD+R DL disc directly out of EncoreDVD 2.0 and we can also create our Master DLT tapes directly out of EncoreDVD 2.0 also, there are times when these options simply are not sufficient.
    For example - we wish to Verify the successful writing of a DLT Tape, or we wish to create a QC disc for our clients in DVD-R DL format.
    Either way, the "option" of using a +R DL disc is often unacceptable.
    Another very good reason for +R DL discs to be NFG is that they are NOT DVD-Video format, and as such tend to expect the layers 0 and 1 to be of equal size.
    Yet another reason could simply be we are using EncoreDVD 1.01, which does not support direct writing of any DL discs at all.
    The solution is to use GEAR Pro Mastering Edition to create your DLT or DVD-R DL disc directly from your Encore project instead.
    And here's how you do it.
    You are going to need copies of both GEAR Pro Mastering Edition, EncoreDVD (any version) and finally a copy of the freeware application IFOEdit http://www.ifoedit.com/. Additionally, we will also need the GEAR Layer Break Calcuulator, provided for free on their excellent support site at http://www.gearsoftware.com/support/documentation/layerbreakcalculator.xls
    Now we are ready - lets look at how it is all done. Don't be put off by what looks like a lot of math here either - this gets easier every time you do it and all it takes is a little common sense and practise.
    The best way to proceed is to use EncoreDVD to build your project to a folder. This will not make any Layer Break settings at all, and will allow us to create a new DL Project in GEAR and also allows GR+EAR to build the UDF/ISO structure for us.
    So once we have written our tested and checked project to a folder, the next step is to close out of EncoreDVD and launch GPME. By the way - if you're not certain that you need the expense of GPME for a one-off project you can simply download their 30 day trial version and use this as it is 100% fully functional in every way - there are no limitations at all.
    When GEAR loads, select to create a new DVD-Video project and be certain you tick the DVD9 box in this screen too. Another window will appear now asking you to locate the folder where the Video_TS files are stored. Point this at the Video_TS folder and GEAR will create a basic DVD9 project for you.
    Next we need to load up the Excel Spreadsheet with the Layer Break Calculator we downloaded earlier. I always use a different machine for this as I don't have Office installed and any open source application that can read an XLS file will do the job. If you don't have one, I recommend either OpenOffice or Star Office to do this. There are a lot of helpful calculators in XLS mode, and you won't regret it. Just try to keep all this stuff well clear of your authoring system though. But I am rambling, and I'm sorry. Back to buiness.
    Once we have loaded up our Layer Break Calculator, we need to enter in some numbers.
    Back over in GPME, where we have our shiny new DVD9 project sat there waiting for instructions, there is a file structure on the lower left hand side of the project screen. Att the top of the list we should see something very much like "VOLUME (projectname) (DVD-Video ISO/UDF)"
    Right-click on this, and select "Properties". A screen will appear with all sorts of numbers in it, and we ignore the lot of them except for the "Total Volume Size in Sectors" - which we need to write down, nip across the room to our spreadsheet, and type the number in right at the top where it says "Total Volume (project) Size"
    Another set of (probably) meaningless numbers appears - and the 2 we are interested in here are the ones where it says "RULES" and specifically "Layer Break Point must be Greater than .....
    And Less than.....
    Write these 2 numbers down, and hop smartly back across to where we have our GEAR project open on our authoring machine. Or simply minimize the spreadsheet if we are doing all this on the same system.
    We now need to click on the folder marked "Video_TS" in the bottom left of the GEAR screen, and on the lower right we need to click once on the bar in the middle above all the VOB files marked "start sector" to arrange all the files in the sequence they will be on the disc. This makes finding our VTS file so much easier.
    Somewhere in that list there will be a file that has that range of numbers in it. If we are really lucky, there will be more than one, which means that one of these will soon become our Layer Break.
    When we have identified the correct file, take a note of it's name - it will be VTS_01_4.VOB or something with a similar structure name wise.
    Next, we need to write down and enter into the Layer Break Calculator the start sector number of the VTS_xx_1.VOB file that holds our values.
    I will try to explain why. If our Sector range is to be found in the example we gave earlier, say VTS_01_4.VOB, we need to note the start sector of the file VTS_01_1.VOB. This is because all these VTS_xx_x.VOB files are all extensions of the same file. They are just in handy blocks so that the Computer can keep track of them without breaking any rules about file sizes. Anyway, we write down the Start Sector of the file VTS_xx_1.VOB where xx is the file where the Layer Break range is to be found.
    Just to try & make the concept clear, if the range were found in the file VTS_05_5.VOB, our start sector we need to write down is VTS_05_1.VOB
    Enter this into the Calculator/Spreadsheet in the place where it says "Chosen Video Object VTS_xx_1.VOB Start Sector.
    Now this will tell us exactly where we need to look next, and tell us we now need to hunt for a cell start sector between a range of sectors.
    It might be something like "1,148,678 and 2,051,052" sectors.
    This is where IFOEdit comes in.
    Launch IFOEdit - and you may as well go back to GEAR, and close the project - but not the application. Go to the "File" menu, and from the drop dow select "Delete GEAR Project" and delete the one we just created, as we will need to change it anyway. Why you will find out later on.
    From IFOEdit, you will see 2 halves of a screen. Down the bottom left there is an "Open" button. Click on this and locate the Video_TS folder, and specifically the file VTS_xx_1.IFO, where xx is the file we know from earlier the Layer Break will be placed.
    Immediately your head will start to ache, your eyes will glaze over & your brain will wave a little white flag, as some serious mathematics suddenly appears (Well, that's what happened to me the first time. I was too fascinated to be confused - sheer bewilderment is perhaps the best expression. And I still don't know what most of it is for.
    The one we are interested in can be found in the upper half, and is called "VTS_PGCITI".
    Click on this, and a lot of little others will appear immediately below it.
    You will see VTS_PGC_1 and so on until you run out of blocks.
    The odds are high our layer break will be in the longest file - but this does not always hold true, so we start at the top & work our way rapidly down. What we are looking for is twofold.
    1 - A Cell Start Sector within our range defined earlier.
    2 - A cell Start Sector flagged as "NON Seamless playback.
    If we can fill both these criteria, we have our layer break.
    Write this number down, and enter it into our spreadsheet - and close down IFOEdit as we are done with it for today.
    Back in the Spreadsheet we are almost done. Once we enter this number in, it will helpfully calculate exactly where in our Virtual image from earlier that sector lies, and will check to see if it is divisible by 16. Don't worry for now why, just know that it has to do this.
    The chances are high it will not be, so the spreadsheet will tell you how many sectors the whole image has to be shifted forwards by, and what the new Cell Start Sector is in this revised image. This is automatic, and you get 2 figures.
    1 - Offset. This number will be between 0 and 15.
    2 - Layer Break Sector.
    Time to go back to GEAR, and in our "Options" drop-down menu we will have another one called "Preferences". In this, we need to tell GEAR to ask us for the start sector to be entered for each file.
    Now we create our project again - but this time GEAR will ask us for the start sector of VIDEO_TS_IFO, and the figure 640 will be highlighted.
    Add our offset figure we were given earlier to this so if our offset was 11, enter in 651.
    GEAR will do all the rest automatically for you.
    One more job to do now.
    Go Back to "Options/Preferences", and under DVD we need to tell GEAR we are changing the Layer Break. Click on the "Change" button, and use the up/down arrows to arrive at our newly discovered Layer Break Value.
    Save the project - we're done. And write down that offset & Layer Break whatever you do.
    You can now write to DVD-R DL, DLT tapes (and if you right-click on your DLT drive in the lower "Devices" screen, and choose "Properties", you can tell GEAR to verify the tape after writing too. It will write both layers first, then verify each one.
    There is, however, a minor "GOTCHA" in GPME when writing DLT tapes.
    It is allowed to set the IDENT.TXT file to be included on the DLT tape by means of a tick box. However, as this file is not actually required for replication in DVD-Video, but only in DVD-ROM - GEAR will not include the file
    i even if the box is ticked
    but it
    i does
    add a pointer to the file in the DDPID file instead. The upshot of this is that a DLT tape where IDENT.TXT has been selected to be included will be
    i rejected by the factory as unusable.
    This is because when they try to verify the DDP image on the tape it will fail as IDENT.TXT is NOT on the tape.
    You must ensure this box is NEVER TICKED - I fell for this one recently, and had to rework 7 DLT tapes.
    There is yet another way to get a DL project to the factory if you do not have a DLT machine, and do not have access to DL discs in the correct format.
    Write the DDP images to 2 single layer discs instead!
    This requires the use of GEAR Pro Mastering Edition again, and is incredibly easy to do.
    What you need to do here is follow the original guides in the FAQ sections for setting the Layer Break manually, but instead of writing the project to DLT tapes or to DVD-R DL/DVD+R DL media, what we do next is write the project to a DDP file on the HDD instead.
    This will result in 2 folders appearing - Layer 0 and Layer 1.
    Each of these has the necessary information for the replication plant to manufacture the discs - all we need to do is get them onto 2 discs instead of 2 DLT tapes.
    This is simplicity itself.
    Launch your burning application.
    Create a new DVD-ROM project.
    Name it (Project)_Layer_1
    Broswe to the 2 folders with the DDP files in them, and add the contents in this exact order
    DDPID
    CONTROL.DAT
    IMAGE.DAT
    (Checksum.txt - optional)
    (Log file - optional)
    Burn the disc.
    Repeat for Layer 1.
    That is all there is to it.
    What will happen at the factory is the Eclipse verification system will look for the DDPID file at the root level of the disc. If it cannot find it, it will assume it is dealing with a standard DVD-ROM disc instead, but if it is there it will know what is going on, load the files, and ask for Layer 1 after it has finished in the normal manner.
    I hope this helps out - if not, please post in the main forums, and I'll try to help out.

    Hi Ryan,
    Yes, you'll only get the LB sector number when you format with one of the "tape images" (go with DDP 2.0). And unfortunately, Gear doesn't allow transfer of DDP or CMF Images to DLT.
    Gear is working on a version that will incorporate DVD-9 making within the program.
    Meanwhile, If you go with the instructions on their site to create a DVD-9, be sure to add: "correct VTS sectors" in the VIDEO_TS folder with IFOEdit, and set the region info in the VMGM_MAT to "0"; and be sure to flag all instances of a cell properly for the layer break, in the case they reside in any Stories that span the Layers.
    But if I may; It's highly recommended that you hire out tests on the resulting DDP image to make sure the layer break did indeed fall where you expected, and that there are no other issues (Same goes with any DDP image destined for replication, created by any other program).
    Or better yet, consider hiring someone to premaster for you (I wonder who? , who also includes navigation proofing, spec compliance testing (MEI and sometimes with a player bank) and verifying the finished Image (EclipseSuite); all for one low fixed price, i.e. no charge in the event a resubmission to me is required (pre consultation, also included, nips lots of common mistakes in the buds). This insures that only a bullet-proof Image is finally sent in to the replicator.
    There I go with commercials again! But for sure, Gear's current DVD-9 method is not for the faint of head; and premastering in general, is not the innocuous activity it appears to be. Real trouble eventually awaits (unless measures are taken), due to the nature of the critter.
    Take care,
    Trai

  • 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);

  • BC SETS creation and usage for sap mm  point of view

    Hi All,
    Need Information About  BC SETS  creation and usage from sap mm point of view.
    Thanks in advance for sap mm forum guys.
    Regards.
    Parameshwar.

    Hi,
    Customizing settings can be collected by processes into Business Configuration Sets (BC Sets). BC Sets make Customizing more transparent by documenting and analyzing the Customizing settings. They can also be used for a group rollout, where the customizing settings are bundled by the group headquarters and passed on in a structured way to its subsidiaries.
    BC Sets are provided by SAP for selected industry sectors, and customers can also create their own.
    When a BC Set is created, values and combinations of values are copied from the original Customizing tables into the BC Set and can be copied into in the tables, views and view clusters in the customer system. The BC Sets are always transported into the customer system in which Customizing is performed.
    Advantages of using BC Sets:
    1.     Efficient group rollout.
    2.     Industry sector systems are easier to create and maintain.
    3.     Customizing can be performed at a business level.
    4.     Change Management is quicker and safer.
    5.     Upgrade is simpler.
    To create BC sets follow the below step:
    Choose Tools ® Customizing ® Business Configuration Sets® Maintenance in the SAP
    menu, or enter the transaction code SCPR3 in the command field.
    Choose Bus.Conf.Set ® Create.

  • Please, example for Grouped bar chart

    I need to creat grouped bar charts in an Applet. Could you please forward instruction?
    Thanks.

    Try jfreechart
    http://www.jfree.org/jfreechart/

  • I need help setting Win7 Advanced attributes for the USB drive connected to my EA4500 router

    I can drill down to the Permission Entry for [foldername] window for a folder on the USB drive. There I learn that user group Everyone does not have the Full Control permission box checked. When I check the box and then click Apply, I get an Error Applying Security window. If I click Continue there, I get a Windows Security window that says "Unable to save permission changes on [foldername]. Access is denied." with no way out but an OK button.
    I have Administrative authority in Win7, but maybe I need to know some Unix voodoo to come to terms with my router-mounted drive. I put the drive on the router to make always available, and I'd like to get it to work. For example, I can't turn the archive bit off for any file or folder on that drive when it's mounted on the router. Not with ATTRIB -A and not with XCOPY /M.
    Just to stuff it in my face, XCOPY /M returns a two-line error message for every sub-folder that exists in the target folder:
    Access denied
    Unable to create directory - foldername
    Help! And thanks in advance.
    :+)
    Solved!
    Go to Solution.

    Bill Dennes,
    (Solutions/Work-Arounds below this paragraph, but sets up some useful information.)
    As for the Security tab, I'm unsure of exactly why it doesn't appear on the tab itself for folders; however, clicking "Advanced -> Change Permissions -> Edit" will display the permissions; although, this doesn't appear to be a part of the problem in a sense. Additionally, “Everyone” always only has read & execute and is also not a part of the issue. To go further with this, the only users that have delete permission are “0” and “root” and since we can delete, we “should” be logged in as one of them and as such have “Full Control.”
    As for the drive type, I'm unsure of why it "changes" it from FAT32 to NTFS (probably something to do with how it handles permissions); however, this is also not a part of the issue.
    I have a flash drive formatted to FAT32, albeit only a 4GB and on an EA6500 with secure sharing enabled, that it does these both to and "xcopy testfolder Y:\ /e /m" works on it when all files and folders have the A attribute; however, disabling secure sharing makes it fail.
    I’ve looked further into this and there are three ways I know of, as of right now, to make copying files with the bat file work for you:
    The first way is to enable secure sharing and map the drives using it, once that is done you won’t need to enter the password again and your script will work as you currently have it coded. Given you have no need for the secure sharing, but it’s a simple solution. This is also the only way to be able to modify any attributes, although the only ones I know of that it will accept are R and A.
    The second way is to instead use ROBOCOPY with the options /e, /m, and /copy:dt.
    For example: "robocopy testfolder Y:\ /e /m /copy:dt"
    /e = Copy subdirectories, including empty ones. (or use /S which will not copy empty folders)
    /m = Copy only files with the Archive attribute and reset it.
    /copy:dt = Copy data and timestamps, does not copy attributes, security, owner info, or auditing info.
    The only important option to use is /copy:dt, the others can be replaced with whatever you need. Note that things like Song Author will still get copied as they are a part of the data section. I don’t believe XCOPY supports doing this, and in either case robocopy is a better solution that comes with Windows Vista and up, and can be gotten for those below Vista.
    The third way is to add a section to the script to remove attributes from all folders before using xcopy to copy to the NAS, or modify the section that is causing the folders to have the A attribute as xcopy will gladly still copy them with /E or /S enabled.
    The issue seems to be that when secure sharing is off, the server refuses attribute changing of folders, which is what is causing XCOPY to fail, as I suspect it attempts to change the attributes on the folders. Similarly, using robocopy without /copy:dt will also fail but gives you “Error 5 … changing file attributes [folder/path] Access is denied”. This is why I suspect that when XCOPY says “unable to create directory” that it is actually trying to change the attributes of the directory. Furthermore, it seems that the reason this works while secure sharing is on is that while it is on, the server pretends to accept the attributes but in reality ignores all attributes besides R. The server then adds the A attribute to all files put onto it, which you can only modify when secure sharing is enabled for some reason. The exception to this is that in either case, any file with the “H” (hidden) attribute, will not be copied, even if explicitly told to copy it. (This is true for both robocopy and xcopy; you also cannot manually add it afterwards.)
    Is there an issue with the files on the NAS having the A attribute? If so the only way I currently know of to get rid of it is to enable secure sharing and have the script remove the attribute after copying. For example, when you look at the permissions, the user "0" and “root” have full control as I've previously stated. You can tell Windows to specifically use one of them when mapping the drive, which in turn should give you full control; however, the server still refuses modifying attributes without secure sharing on for some strange unknown reason. Although, I am no "UNIX gearhead," so there may in fact be another way that I do not know of. The only time they are not listed as “Full Control” on my end is when a file was previously marked Read-Only, in which case they all share the same limited control. When I said in the beginning that the permissions are not a part of the problem in a sense, it’s more of that for the general case of what you need to do, they aren’t the problem as long as you don't need the R attribute and having the A isn't an issue, as it seems to be more of the server is refusing attributes even though we should have permission; however, they do appear to be a bit weird and are possibly displaying incorrect when secure sharing is disabled.
    I'd like to apologize in advance for any unclear, weirdly stated, or just plain odd things said in this post as I was pulled away to do a bunch of things and ended up editing, adding things, and finishing it late into the night and hope that one of the above is an acceptable resolution to your issue.

  • Newbie - help with a SQL query for a bar chart  - Originally posted in APEX

    I originally posted this in the APEX forum but someone there suggested this is more of a SQL question.  Anyone out there who can provide some assistance?
    Hi,
    I'm a new user on APEX with no real SQL knowledge and I'm trying to build a dashboard with charts into an existing APEX application. Based on another application, I have come up with the following SQL code:
    select null link
    , CATEGORY label
    , count (decode(PROJECT_STATUS,'1',PROJECT_ID))"Active"
    , count (decode(PROJECT_STATUS,'2',PROJECT_ID))"Complete"
    , count (decode(PROJECT_STATUS,'3',PROJECT_ID))"On Hold"
    , count (decode(PROJECT_STATUS,'4',PROJECT_ID))"Pipeline"
    , count (decode(PROJECT_STATUS,'5',PROJECT_ID))"Pending Review"
    from GRAPO_PROHEADTRK
    where (PROJECT_STATUS='1' or PROJECT_STATUS='2' or PROJECT_STATUS='3' or PROJECT_STATUS='4' or PROJECT_STATUS='5' or PROJECT_STATUS='6')
    group by CATEGORY
    Order by COUNT(PROJECT_ID) DESC
    The code from the other app was:
    select null link
    , FUNCTIONAL_AREA label
    , count (decode(PROJECT_STATUS,'Active',PROJECT_ID))"Active"
    , count (decode(PROJECT_STATUS,'Complete',PROJECT_ID))"Complete"
    , count (decode(PROJECT_STATUS,'On Hold',PROJECT_ID)) "On Hold"
    , count (decode(PROJECT_STATUS,'Recurring',PROJECT_ID))"Recurring"
    , count (decode(PROJECT_STATUS,'Pipeline',PROJECT_ID))"Pipeline"
    , count (decode(PROJECT_STATUS,'Not Approved',PROJECT_ID))"Not Approved"
    from PM_V2
    where LOB='S2S' and (FUNCTIONAL_AREA='Accounts Payable' or FUNCTIONAL_AREA='Expense' or FUNCTIONAL_AREA='Procurement' or FUNCTIONAL_AREA='Fixed Assets')
    group by FUNCTIONAL_AREA
    Order by COUNT(PROJECT_ID) DESC
    I'm getting a "Failed to parse SQL query!" error when I try to run validation.
    Is this enough info for some assistance? Any help would really be appreciated.
    Thanks,
    Rachel

    Hi, Rachel,
    user10774102 wrote:
    I originally posted this in the APEX forum but someone there suggested this is more of a SQL question.  Anyone out there who can provide some assistance?
    Hi,
    I'm a new user on APEX with no real SQL knowledge and I'm trying to build a dashboard with charts into an existing APEX application. Based on another application, I have come up with the following SQL code:
    select null link
    , CATEGORY label
    , count (decode(PROJECT_STATUS,'1',PROJECT_ID))"Active"
    , count (decode(PROJECT_STATUS,'2',PROJECT_ID))"Complete"
    , count (decode(PROJECT_STATUS,'3',PROJECT_ID))"On Hold"
    , count (decode(PROJECT_STATUS,'4',PROJECT_ID))"Pipeline"
    , count (decode(PROJECT_STATUS,'5',PROJECT_ID))"Pending Review"
    from GRAPO_PROHEADTRK
    where (PROJECT_STATUS='1' or PROJECT_STATUS='2' or PROJECT_STATUS='3' or PROJECT_STATUS='4' or PROJECT_STATUS='5' or PROJECT_STATUS='6')
    group by CATEGORY
    Order by COUNT(PROJECT_ID) DESCIs there a problem with the code above?
    It's curious that the WHERE clause includes "PROJECT_STATUS='6'", but there is no pivoted column for project_status='6', like there is for '1' through '5'. That's not necessarily a mistake, and it wouldn't raise an error in any case.
    Instead of
    where (PROJECT_STATUS='1' or PROJECT_STATUS='2' or PROJECT_STATUS='3' or PROJECT_STATUS='4' or PROJECT_STATUS='5' or PROJECT_STATUS='6')you could say
    where PROJECT_STATUS  IN ('1', '2', '3', '4', '5', '6')but that probably has nothing to do with your current problem.
    The code from the other app was:
    select null link
    , FUNCTIONAL_AREA label
    , count (decode(PROJECT_STATUS,'Active',PROJECT_ID))"Active"
    , count (decode(PROJECT_STATUS,'Complete',PROJECT_ID))"Complete"
    , count (decode(PROJECT_STATUS,'On Hold',PROJECT_ID)) "On Hold"
    , count (decode(PROJECT_STATUS,'Recurring',PROJECT_ID))"Recurring"
    , count (decode(PROJECT_STATUS,'Pipeline',PROJECT_ID))"Pipeline"
    , count (decode(PROJECT_STATUS,'Not Approved',PROJECT_ID))"Not Approved"
    from PM_V2
    where LOB='S2S' and (FUNCTIONAL_AREA='Accounts Payable' or FUNCTIONAL_AREA='Expense' or FUNCTIONAL_AREA='Procurement' or FUNCTIONAL_AREA='Fixed Assets')
    group by FUNCTIONAL_AREA
    Order by COUNT(PROJECT_ID) DESC
    I'm getting a "Failed to parse SQL query!" error when I try to run validation.Is that an Apex error message? Sorry, I don't know anything about Apex.
    If you can't get a more specific error message from Apex, then try debugging this statement in SQL*Plus. When you get it fixed, then you can copy it back into Apex.
    If this is a SQL problem, then you should be able to re-create the problem in pure SQL.
    If you can't re-create the problem in pure SQL, then it's probably an Apex problem, and belongs in the Apex forum, not here.
    I don't see anything obviously wrong with your code, but I can't tell if, for example, you spelled a column name wrong, or if something has the wrong data type
    Is this enough info for some assistance? Any help would really be appreciated.It wiould be better if you posted a completE script that people could run to re-create the problem, and to test their ideas.
    Whenever you have a problem, please post a little sample data (CREATE TABLE and INSERT statements, relevant columns only) from all tables involved.
    Also post the results you want from that data, and an explanation of how you get those results from that data, with specific examples.
    Always say which version of Oracle (and any other software, such as Apex) you're using.

  • Newbie - need help with a SQL query for a bar chart

    Hi,
    I'm a new user on APEX with no real SQL knowledge and I'm trying to build a dashboard with charts into an existing APEX application. Based on another application, I have come up with the following SQL code:
    select null link
    , CATEGORY label
    , count (decode(PROJECT_STATUS,'1',PROJECT_ID))"Active"
    , count (decode(PROJECT_STATUS,'2',PROJECT_ID))"Complete"
    , count (decode(PROJECT_STATUS,'3',PROJECT_ID))"On Hold"
    , count (decode(PROJECT_STATUS,'4',PROJECT_ID))"Pipeline"
    , count (decode(PROJECT_STATUS,'5',PROJECT_ID))"Pending Review"
    from GRAPO_PROHEADTRK
    where (PROJECT_STATUS='1' or PROJECT_STATUS='2' or PROJECT_STATUS='3' or PROJECT_STATUS='4' or PROJECT_STATUS='5' or PROJECT_STATUS='6')
    group by CATEGORY
    Order by COUNT(PROJECT_ID) DESC
    The code from the other app was:
    select null link
    , FUNCTIONAL_AREA label
    , count (decode(PROJECT_STATUS,'Active',PROJECT_ID))"Active"
    , count (decode(PROJECT_STATUS,'Complete',PROJECT_ID))"Complete"
    , count (decode(PROJECT_STATUS,'On Hold',PROJECT_ID)) "On Hold"
    , count (decode(PROJECT_STATUS,'Recurring',PROJECT_ID))"Recurring"
    , count (decode(PROJECT_STATUS,'Pipeline',PROJECT_ID))"Pipeline"
    , count (decode(PROJECT_STATUS,'Not Approved',PROJECT_ID))"Not Approved"
    from PM_V2
    where LOB='S2S' and (FUNCTIONAL_AREA='Accounts Payable' or FUNCTIONAL_AREA='Expense' or FUNCTIONAL_AREA='Procurement' or FUNCTIONAL_AREA='Fixed Assets')
    group by FUNCTIONAL_AREA
    Order by COUNT(PROJECT_ID) DESC
    I'm getting a "Failed to parse SQL query!" error when I try to run validation.
    Is this enough info for some assistance? Any help would really be appreciated.
    Thanks,
    Rachel

    Hello,
    This is more of an SQL question, rather than specifically APEX-related. It's notable that you say: I'm a new user on APEX with no real SQL knowledgeWhich is fine (we all have to start somewhere, afterall) but it might be worth de-coupling the problem from APEX in the first instance. I'd also strongly recommend either taking a course, reading a book (e.g. http://books.google.co.uk/books?id=r5vbGgz7TFsC&printsec=frontcover&dq=Mastering+Oracle+SQL&hl=en#v=onepage&q=Mastering%20Oracle%20SQL&f=false) or looking for a basic SQL tutorial - it will save you a whole lot of heartache, I promise you. Search the oracle forums for the terms "Basic SQL Tutorial" and you should come up with a bunch of results.
    Given that you've copied your query template from another, I would suggest ensuring that the actual query works first of all. Try running it in either:
    * SQL Editor
    * SQL*Plus
    * an IDE like SQL Developer (available free from the OTN: http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html ) or TOAD or similar.
    You may find there are syntax errors associated with the query - it's difficult to tell without looking at your data model.
    select null link
    , CATEGORY label
    , count (decode(PROJECT_STATUS,'1',PROJECT_ID))"Active"
    , count (decode(PROJECT_STATUS,'2',PROJECT_ID))"Complete"
    , count (decode(PROJECT_STATUS,'3',PROJECT_ID))"On Hold"
    , count (decode(PROJECT_STATUS,'4',PROJECT_ID))"Pipeline"
    , count (decode(PROJECT_STATUS,'5',PROJECT_ID))"Pending Review"
    from GRAPO_PROHEADTRK
    where (PROJECT_STATUS='1' or PROJECT_STATUS='2' or PROJECT_STATUS='3' or PROJECT_STATUS='4' or PROJECT_STATUS='5' or PROJECT_STATUS='6')
    group by CATEGORYNote that your "order by" clause references a field called "PROJECT_ID", which exists in the old query but you've changed other similar references to "PROJECT_STATUS" - is it possible you've just missed this one? The perils of copy-paste coding I'm afraid...

  • How set up visualization attributes for Hierarchy nodes?

    I have a hierarchy for 0ACCOUNT and i see in the report the hierarchy totally expanded but in the Query Designer i can
    set the values for 0ACCOUNT to show the ID only for every account but the hierarchy have more nodes (text nodes in addition to accounts) i need that ONLY TEXT NODES show the Description of Text Nodes instead of Technical Node ID........in query designer you could set for accounts that show Text, ID or both but in for text nodes there´s no way to do this.......in Query execution you could set up this with extended menu....and you could set up that only shows Text for Hierechy nodes.....I hope somebody could help me with this...
    Regards

    You are right, the only way to do that is save the query as workbook, then setup the description, text, etc in the workbook , and finally save the workbook in the way you want to view.
    Regards

  • Anychart bar charts generated for each row of a report

    I am looking for ideas on, or existing examples of how the above requirement could be implemented in Apex 3.2.1.
    My initial thoughts are to:
    - use a pipeline table function as the report region source
    - generate the JavaScript for creating bar charts with one series of 48 points, as a column returned by the table function.
    The source data will be unlikely to be more than 15-20 records pulled from a well indexed underlying record set of several million records.
    My worry is that this may not be a particularly responsive solution and I would like to know if anyone can validate or improve on my approach?
    Cheers
    FunkyMonkey

    You would need to define a separate column to hold the required output for each possible parameter value in the first column.
    Each column would need to be conditional, where the condition is based upon the value in the first column, which you can reference using #column_name# syntax.
    Try that...
    CS

  • Formatting the legend of a stacked bar chart

    Hi,
    Is it possible to change/edit the legend part of a stacked bar chart right now I am getting the legend as"
    [Color Code1]                   Sum of [TableName].Column Name1
    [Color Code2]                   Sum of [Table Name].Column Name2
    [Color Code3]                   Sum of [Table Name].Column Name3
    etc...
    and I would like this to be displayed as
    [Color Code1]                   Column Name1
    [Color Code2]                   Column Name2
    [Color Code3]                   Column Name3
    Thanks,
    ii xi
    Edited by: ii.xii on Jan 9, 2012 4:47 PM

    Well, the only way to edit that is to select the Legend entry (In Preview Mode Only) > Right-click > Edit Axis Label.
    You would need to do this for every Legend entry.
    -Abhilash

  • 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

Maybe you are looking for

  • Help on Initial Context in Weblogic 10

    Please see the following thread Exception in Initial Context Weblogic 10 thx in adv.

  • System Message Settings

    Dear Experts, I've created the Purchase Requisition for 10 units... and PO created for all 10 units... System not allow to change the PR now, for that we can set the system message : Application area - 06 Message - 648.. either as warning or error..

  • Embed Flash

    On Adobe TV I found a vid for embedding movies into a Livecycle form (http://tv.adobe.com/watch/working-with-adobe-livecycle-es2/embed-video-in-a-form/#) but when I try the same steps with a Flash swf file, I fail. I see the text from my flat PDF is

  • Dbms_scheduler job on windows

    Hi Oracle 11gR2 on windows. I am trying to schedule a rman backup job through dbms_scheduler however backup doesnt happen. Note that backup works if I initiate manually (by double clicking hotbackup.bat) Same scripts work in 10g database, not sure wh

  • How can third-party hardware vendors make their hardware show up in Measurement Explorer?

    Is it possible for hardware vendors to write software to an API which allows their hardware to show up in Measurement Explorer. Examples might be Digital Cameras, Motion Controllers, etc.