Retriving user list from ldap (username - first and last, dn, cn)

Hi,
I tried connecting LDAP server and succesfully connected and now i need to get userlist from LDAP can anyone give me a sample code to get userlist from LDAP.
public static boolean testLDAP() {
               InitialDirContext ctx = null;
               try {
                       Hashtable htbl = new Hashtable();
                       htbl.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
                       htbl.put(Context.PROVIDER_URL, "ldap://padl:389");
                       htbl.put(Context.URL_PKG_PREFIXES, "com.sun.jndi.url");
                       htbl.put(Context.REFERRAL, "ignore");
                       htbl.put(Context.SECURITY_AUTHENTICATION, "simple");
                       htbl.put(Context.SECURITY_PRINCIPAL, "cn=administrator");
                       htbl.put(Context.SECURITY_CREDENTIALS, "password");
                       ctx = new InitialDirContext(htbl);                       
                       if (ctx != null) {
                               ctx.close();
                               return true;
               catch (NamingException e) {
                       System.out.println("Error Connecting to LDAP Server.");
                       System.out.println(e.toString());
                       ctx=null;
                       return false;
               return false;
       }Thank You.

Ok here is the code to fetch userlist(First Name, Last Name, cn, dn, mail) from LDAP.
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.NameNotFoundException;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.directory.Attributes;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
import javax.naming.directory.SearchControls;
import javax.naming.directory.SearchResult;
public class UserListFromLDAP
   public static void main(String args[])
      Hashtable env = new Hashtable();
      env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
      env.put(Context.PROVIDER_URL,"ldap://host:389");
      DirContext ctx;
      try {
         ctx = new InitialDirContext(env);
      } catch (NamingException e) {
         throw new RuntimeException(e);
      NamingEnumeration results = null;
      try {
         SearchControls controls = new SearchControls();
         controls.setSearchScope(SearchControls.SUBTREE_SCOPE);
         results = ctx.search("", "(objectclass=person)", controls);
         while (results.hasMore()) {
            SearchResult searchResult = (SearchResult) results.next();           
            Attributes attributes = searchResult.getAttributes(); 
            System.out.println("dn----------> "+searchResult.getName());
            System.out.println("cn----------> "+attributes.get("cn").get());
            if (attributes.get("givenName")!=null)
                 System.out.println("First Name--> "+attributes.get("givenName").get());
            System.out.println("Last Name---> "+attributes.get("sn").get());
            System.out.println("Mail--------> "+attributes.get("mail").get()+"\n\n");
      } catch (NameNotFoundException e) {
           System.out.println("Error : "+e);
      } catch (NamingException e) {
         throw new RuntimeException(e);
      } finally {
         if (results != null) {
            try {
               results.close();
            } catch (Exception e) {
                 System.out.println("Error : "+e);
         if (ctx != null) {
            try {
               ctx.close();
            } catch (Exception e) {
                 System.out.println("Error : "+e);
}Here is the code to search user from LDAP based on cn and sn
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.NameNotFoundException;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.directory.Attributes;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
import javax.naming.directory.SearchControls;
import javax.naming.directory.SearchResult;
public class LDAPUserSearch
   public static void main(String args[])
      Hashtable env = new Hashtable();
      env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
      env.put(Context.PROVIDER_URL,"ldap://host:10389");
      DirContext ctx;
      try {
         ctx = new InitialDirContext(env);
      } catch (NamingException e) {
         throw new RuntimeException(e);
      NamingEnumeration results = null;
      // give either cn or sn to check     
      String cn = "Common Name";
      String sn = "lastName";
      try {
         SearchControls controls = new SearchControls();
         controls.setSearchScope(SearchControls.SUBTREE_SCOPE);
         if(!cn.equalsIgnoreCase("") && !sn.equalsIgnoreCase("")){
              System.out.println("Please test with either cn or sn");
         else if(cn!=null && !cn.equalsIgnoreCase("")){
              System.out.println("Result based on cn:");
              results = ctx.search("", "(cn="+cn+")", controls);
         else if(sn!=null && !sn.equalsIgnoreCase("")){
              System.out.println("Result based on sn:");
              results = ctx.search("", "(sn="+sn+")", controls);
         else{
              System.out.println("No results found");
         while (results.hasMore()) {
             SearchResult searchResult = (SearchResult) results.next();
             Attributes attributes = searchResult.getAttributes();
             System.out.println("Full Name:--------> "+attributes.get("cn").get());
             if(attributes.get("givenName")!=null)
                  System.out.println("First Name:-------> "+attributes.get("givenName").get());
             System.out.println("Last Name:--------> "+attributes.get("sn").get());
             System.out.println("Mail:-------------> "+attributes.get("mail").get());
      } catch (NullPointerException e) {
           // Leave this...
      catch (NameNotFoundException e) {
         System.out.println("Error : "+e);
      } catch (NamingException e) {
         throw new RuntimeException(e);
      } finally {
         if (results != null) {
            try {
               results.close();
            } catch (Exception e) {
                 System.out.println("Error : "+e);
         if (ctx != null) {
            try {
               ctx.close();
            } catch (Exception e) {
                 System.out.println("Error : "+e);
   public static void common() {
}

Similar Messages

  • Retriving user details from user rofile in portal database

    HI all,
    any one knows how to retrive user details from user rpofile in portal database. I am using webdynpro appliction.Please reply.
    Thank you
    Maruthi

    Hi maruti Rao ,
    All Gives U gud Idea..here i give u some brief procedure.First of all u need to add 2 jar file in ur project structure for proper working of "com.sap.security.api.IUser" Interface. After that for retriving Users data Stored on LDAP Server.
    If you are using an LDAP directory as a data source for your user-related data, the ‘logical’ attribute names used by the Java application programming interface (API) of SAP User Management Engine (UME) must be mapped to the ‘physical’ attribute names used in the schema of your corporate LDAP directory.
    Example Data-Source File is as Below From Where U can Get All The Information of Logged user...
    <dataSources>
    <dataSource id="CORP_LDAP"
        className="com.sap.security.core.persistence.datasource.imp.LDAPPersistence"
        isReadonly="false"
        isPrimary="true">
      <responsibleFor>
        <principal type="account">
        </principal>
        <principal type="user">
          <nameSpaces>
            <nameSpace name="com.sap.security.core.usermanagement">
              <attributes>
                <attribute name="firstname" populateInitially="true"/>
                <attribute name="displayname" populateInitially="true"/>
                <attribute name="lastname" populateInitially="true"/>
                <attribute name="fax"/>
                <attribute name="email"/>
                <attribute name="title"/>
                <attribute name="department"/>
                <attribute name="description"/>
                <attribute name="mobile"/>
                <attribute name="telephone"/>
                <attribute name="streetaddress"/>
                <attribute name="uniquename" populateInitially="true"/>
              </attributes>
            </nameSpace>
          </nameSpaces>
        </principal>
          <principal type="group">
          </principal>
      </responsibleFor>
      <attributeMapping>
        <principals>
          <principal type="account">
          </principal>
          <principal type="user">
            <nameSpaces>
              <nameSpace name="com.sap.security.core.usermanagement">
                <attributes>
                  <attribute name="firstname">
                    <physicalAttribute name="givenname"/>
                  </attribute>
                  <attribute name="displayname">
                    <physicalAttribute name="displayname"/>
                  </attribute>
                  <attribute name="lastname">
                    <physicalAttribute name="sn"/>
                  </attribute>
                  <attribute name="fax">
                    <physicalAttribute name="facsimiletelephonenumber"/>
                  </attribute>
                  <attribute name="uniquename">
                    <physicalAttribute name="uid"/>
                  </attribute>
                  <attribute name="loginid">
                    <physicalAttribute name="null"/>
                  </attribute>
                  <attribute name="email">
                    <physicalAttribute name="mail"/>
                  </attribute>
                  <attribute name="mobile">
                    <physicalAttribute name="mobile"/>
                  </attribute>
                  <attribute name="telephone">
                    <physicalAttribute name="telephonenumber"/>
                  </attribute>
                  <attribute name="department">
                    <physicalAttribute name="ou"/>
                  </attribute>
                  <attribute name="description">
                    <physicalAttribute name="description"/>
                  </attribute>
                  <attribute name="streetadress">
                    <physicalAttribute name="postaladdress"/>
                  </attribute>
                  <attribute name="pobox">
                    <physicalAttribute name="postofficebox"/>
                  </attribute>
                  <attribute name="preferredlanguage">
                    <physicalAttribute name="preferredlanguage"/>
                  </attribute>
                </attributes>
              </nameSpace>
            </nameSpaces>
          </principal>
          <principal type="group">
          </principal>
        </principals>
      </attributeMapping>
    </dataSources>
    regard's
    Dheerendra Shukla

  • Extract user list from NT 4.0 Domain

    Hi All,
    I am in the process of upgrading the NT4 domain to Active Directory.
    Can someone please provide a a way to generate a topology diagram for Windows NT infrastructure. 
    I know this is a very old technology, however i am now handicapped since none of the tools, like (hyena, AD Manager, DS Query, etc) are working. 
    Is there any method to run a topology diagramming similar to Active Directory Topology Diagramming in NT4.0 domain.
    Also i want a way to extract the active user list from NT Domain as well.
    OS version is windows NT 4.0 SP6
    Regards, Triyambak

    Hi Paul, Thank you for reverting it back. I think i do have one of the member server 2003 joined into the NT4 domain. I will surely give it a try. Does it need to be a DC, if yes, how can a DC be promoted in an NT4 environment.
    In my current scenario there are around 2000 servers joined into the NT domain  and I need to upgrade the NT to active directory. There are few things as per the design so far.
    >The members are all static IP addressing
    > there is no DNS in NT so they use a dns suffixes to a different domain (2008 functional level)
    > NT 4 is used only as authentication source.
    > Not sure if there are any NT Domain service accounts configured in the member servers.
    Complex isnt it..

  • How to generate Operating system user list from windows server

    Hi,
    is it possible to extract the following report from windows server, if yes how to do it,
    1) Operating system User list from the server along with following details User Name, User Permission, Last Login date, User Status, 
    2) is it possible to include staff id, and staff name while creating any Operating system user

    Hi FBMUIIa,
    Would you please let us know current situation of this issue? Please refer to Mr X’s suggestion and check if
    can help you.
    Please also refer to following article and check if this script can help you.
    List Local
    User Accounts Using WMI
    In addition, regarding your current requirement, it seems that scripts will help you to achieve the target better.
    I suggest that you would post the question in
    Official Scripting Guys Forum or
    PowerShell Forum. I believe we will get a better assistance there.
    Hope this helps.
    Best regards,
    Justin Gu
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Support, contact [email protected]

  • Displaying current user's first and last name on a report.

    I would like to dispay the current user's name on a report. I've tried using User() and NQ_SESSION current user .
    These two options display the User ID (i.e. User name is Jon Smith. there ID is COMP/JSMITH.
    Using the two methods above the ID (COMP/JSMITH) is displayed. Is there a way I could display Jon Smith?
    I thought their might be a way to use Full Name or First and Last Name.
    Message was edited by:
    user618827

    VALUEOF(NQ_SESSION.DISPLAYNAME) will do the trick
    Mike L

  • How to show the First and Last name of the user instead of user name

    Gurus,
    We have the full email id of the user as the portal user name. Right now we are using the "Item Attributes - Current User" to show the user name. We don't want to show this anymore. We would like to show the First and Last name of the user on the Portal page. How can i do this. Please post a reply if you have some idea about it.
    Thanks
    Raj
    ---------

    I believe this is possible using the security APIs. See http://portalstudio.oracle.com/pls/ops/docs/FOLDER/COMMUNITY/PDK/PLSQL/DOC/PLDOC_9026/INDEX.HTML and look for person_info (Returns user information, given a user name)
    under wwsec_api
    Suggest posting any follow-up questions to the Security forum - http://forums.oracle.com/forums/forum.jsp?forum=6

  • Chunk expressions: Need the first and last char position from member.word[x]?

    I need to build a linear list of the string positions of the
    first and last character of each word in a string. For example if I
    have the string myPet = “DOG CAT FISH” then myList =
    [[1,3],[5,7],[9,12]]
    myPet.word[x] will let me access the individual words but
    I’m not sure how to get the char position of the beginning
    and end of each. Please help, it’s Friday and my brain has
    left for the weekend.

    Touche, Sean.
    "Sean Wilson" <[email protected]> wrote in
    message
    news:fqa8ap$bga$[email protected]..
    > Hi Craig,
    >
    > Your's fails if any word is repeated. Try it with "DOG
    CAT FISH DOG"
    >
    > This one seems to work, although there are probably more
    efficient ways to
    > go about it. A regular expression and the PRegEx xtra
    would certainly be
    > quicker, especially as the string gets longer
    >
    > on mGetWordBoundaries aString
    > -- basic error check
    > if stringP(aString) = 0 then return []
    > if length(aString) = 0 then return []
    >
    > lWhitespace = [SPACE, TAB, RETURN, numToChar(10)]
    > tStart = 1
    > tChar = aString.char[tStart]
    > repeat while lWhitespace.getPos(tChar)
    > tStart = tStart + 1
    > tChar = aString.char[tStart]
    > end repeat
    >
    > lPositions = []
    > repeat with w = 1 to aString.word.count
    > tEnd = tStart + aString.word[w].char.count - 1
    > lPositions.append([tStart, tEnd])
    > tStart = tEnd + 1
    > tChar = aString.char[tStart]
    > repeat while lWhitespace.getPos(tChar)
    > tStart = tStart + 1
    > tChar = aString.char[tStart]
    > end repeat
    > end repeat
    > return lPositions
    > end

  • Detect first and last spark list items

    Hi,
    I have a custom item renderer with a background image for each item in a list. the thing is I'm trying to have a different background for the first and last items (curved respectively) and I'm not sure how to do that.
    Any help will be appreciated.

    If you are scrolling, will you change which ones have the different
    background?
    If not, look at ButtonBar.  It is based on ListBase and assigns different
    skins to the first and last renderer.

  • How do i erase a corrupt contact list from iCloud,iPhone, iPad and MacBook Pro and restore Address Book backup to all devices and cloud?

    how do i erase a corrupt contact list from iCloud,iPhone, iPad and MacBook Pro and restore Address Book backup to all devices and cloud?
    I saved a corrected, most up to date version of my master Address Book Contacts as a back-up on my Mac Book Pro.
    then in an effort to "simplify my life"  i attempted to sync my I phone contacts - ( pre clean-up version) with my clean list on Mac Book Pro, New I pad and newly available icloud. DUH!! Using iTunes to do the sync caused the clean MacBOOK Pro list to be commingled with the dirty iphone contacts. amd now the whole mess is in the cloud. 
    I need to clear out the contaminated lists from all iplaces, and startover with Back-up on my macbook pro. BUT HOW???
    Help
    Karen

    I had exported an address book backup: abbu
    so since i wrote, i have found my way into the cloud: selected all entries - deleted them all from the cloud.
    This wiped out contacts on my iphone and i pad, and MBP, as well as on the cloud.  I then imported the abbu back into my now empty address book. 
    To repopulate the crowd, i selected all in my address book and created a single card vCard for export to my desktop.  I then dragged that vcard into my empty cloud.  Now my cloud has the same clean contacts as my MBP addressbook.  The cloud then pushed the clean contacts into my empty ipad and iphone contacts. 
    I had to go back to Address Book>preferences>Accounts and Add an I cloud account - but if you accidentally create a second i cloud account - all of a sudden your address book will duplicate itself.  I quickly reversed it by deleting one of the icloud accounts in my Address Book>preferences>Accounts. 
    I created a new entry on my MBP and it is now on all devices and in cloud
    I also created a new entry on my iPhone and it is now in the address book on my MBP.
    I feel empowered!!
    Have i missed anything??

  • Select first and last records in grouped results - Oracle 11g

    Say I have the following information in an Oracle 11g table:
    Qty
    Production order
    Date and time
    20
    00000000000000001
    12-JAN-14 00:02
    20
    00000000000000001
    12-JAN-14 00:05
    20
    00000000000000001
    12-JAN-14 00:07
    20
    00000000000000001
    13-JAN-14 00:09
    30
    00000000000000002
    12-JAN-14 00:11
    30
    00000000000000002
    12-JAN-14 00:15
    30
    00000000000000002
    12-JAN-14 00:20
    30
    00000000000000002
    14-JAN-14 00:29
    I would like to write a query that would return the following:
    Qty
    Production order
    First
    Last
    80
    00000000000000001
    12-JAN-14 00:02
    13-JAN-14 00:09
    120
    00000000000000002
    12-JAN-14 00:11
    14-JAN-14 00:29
    That is, the sum of the Qty column grouped by Production order, and the date/time of the first and last records for each Production order.
    I came up with a query that yielded this result:
    Qty
    Production order
    First
    Last
    80
    00000000000000001
    12-JAN-14 00:02
    14-JAN-14 00:29
    120
    00000000000000002
    12-JAN-14 00:02
    14-JAN-14 00:29
    Which means that the First and Last columns show the overall first and last date / time of the whole table. Please note that this is a dummy table. Sorry I am now allowed to write the actual query
    I came up with since work policies do not allow me to share it. Also, I tried with windowing functions such as rank()and row_number() but my user does not have enough privileges to do so.
    Any help or hints will be greatly appreciated.

    Due to the fact that Oracle does not record the rows in any particular order, it would be wrong that the "first date" would be the first row processed by the query.
    Therefore you would have to supply some other column if you do not want to consider the table as ordered by date.
    Also, any analytical functions will need you to supply the "order by" and if its the date, then just a simple query will do:
    SQL>WITH Tab1 (Qty, Production_Order, Pdate)
      2       AS (SELECT 20, '00000000000000001', TO_DATE ( '12-JAN-14 00:02', 'DD-MON-YY HH24:MI') FROM DUAL UNION ALL
      3           SELECT 20, '00000000000000001', TO_DATE ( '12-JAN-14 00:05', 'DD-MON-YY HH24:MI') FROM DUAL UNION ALL
      4           SELECT 20, '00000000000000001', TO_DATE ( '12-JAN-14 00:07', 'DD-MON-YY HH24:MI') FROM DUAL UNION ALL
      5           SELECT 20, '00000000000000001', TO_DATE ( '13-JAN-14 00:09', 'DD-MON-YY HH24:MI') FROM DUAL UNION ALL
      6           SELECT 30, '00000000000000002', TO_DATE ( '12-JAN-14 00:11', 'DD-MON-YY HH24:MI') FROM DUAL UNION ALL
      7           SELECT 30, '00000000000000002', TO_DATE ( '12-JAN-14 00:15', 'DD-MON-YY HH24:MI') FROM DUAL UNION ALL
      8           SELECT 30, '00000000000000002', TO_DATE ( '12-JAN-14 00:20', 'DD-MON-YY HH24:MI') FROM DUAL UNION ALL
      9           SELECT 30, '00000000000000002', TO_DATE ( '14-JAN-14 00:29', 'DD-MON-YY HH24:MI') FROM DUAL)
    10  SELECT   SUM ( Qty), Production_Order, MIN ( Pdate), MAX ( Pdate)
    11      FROM Tab1
    12  GROUP BY Production_Order
    13* ORDER BY Production_Order
    SQL> /
      SUM(QTY) PRODUCTION_ORDER     MIN(PDATE)                    MAX(PDATE)
            80 00000000000000001    12-Jan-2014 00:02:00          13-Jan-2014 00:09:00
           120 00000000000000002    12-Jan-2014 00:11:00          14-Jan-2014 00:29:00

  • Is it possible to select multiple layers by selecting first and last layers?

    I frequently get Illustrator files in that have individual objects such as paths on individual layers that could be grouped to make the layers more concise. I find that I have to shift click each individual layer to select it to eventually group it. At times, I have 25 or so layers that I need to select. Is there a way to select the first and last layer in the layers palette, and have Illustrator select all layers in between?

    Katrina,
    And I guess it's the way I work. 1) I routinely select objects by selecting them from the layers palette, and not the canvas, so that I can't accidentally move an object that is the clients artwork. I prefer to work this way, as I consider it "safer". (I lock layers I'm not using) I routinely run into artists work that for instance, converted fonts to outline, and now each compound layer that is an individual letter is an object on it's own layer. 2) I need things grouped together and titled so that if I need to come back to this file and quickly fix something on press, I can tell what layer holds what object. 
    3) Therefore, I frequently need to select objects in a two mile long (slight exaggeration ) list of layers/sublayers and group them, retaining them in their same layers in the event an effect has been applied at the top hiearchy of that layer.
    It would be great if a key, or combination of keys, would allow me to select the top object, scroll down and select the last object, and have Illustrator select all between those two.
    If you create and use selections as suggested in post #12, you do have to select individual objects when they share layers with other objects (but you can select whole layers as well) in exactly the way you are used to (1), but you only have to do it once instead of having to repeat it (3), and you have them collected with a title so you can find them again (2).
    At least it is part of the way.

  • I've bought the season 1 of "The Wire" (7episodes), when I synchronize with my PC, it only charge the first and last episodes and not the 5 episodes in between ??

    I've bought the season 1 of "The Wire" (7episodes), when I synchronize with my PC, it only charge the first and last episodes and not the 5 episodes in between ??

    Hello spinozette,
    I am sure you are eager to download and watch Season 1 of The Wire.  I found a couple of resources that might help with downloading this purchase.
    First, I recommend checking to see if the download was interrupted.  You can use the steps in this article:
    iTunes: How to resume interrupted iTunes Store downloads
    http://support.apple.com/kb/HT1725
    If the episodes do not download after following the steps in that article, I recommend trying to download the episodes from the list of past purchases. You can find the steps to do this in the section titled "Apps, Books, Music, Movies, or TV shows on a computer" in the following article:
    Downloading past purchases from the App Store, iBookstore, and iTunes Store
    http://support.apple.com/kb/HT2519
    If you are still not able to download the rest of the season, I recommend reporting this issue to the iTunes Store:
    How to report an issue with your iTunes Store, App Store, Mac App Store, or iBooks Store purchase
    http://support.apple.com/kb/HT1933
    Thank you for using Apple Support Communities.
    Best,
    Sheila M.

  • Query to find first and last call made by selected number for date range

    Hi,
    query to find first and last call made by selected number for date range
    according to filter:
    mobile_no : 989.....
    call_date_from : 25-april-2013
    call_date_to : 26-april-2013
    Please help

    Hi,
    It sounds like you want a Top-N Query , something like this:
    WITH    got_nums   AS
         SELECT     table_x.*     -- or list columns wanted
         ,     ROW_NUMBER () OVER (ORDER BY  call_date      ) AS a_num
         ,     ROW_NUMBER () OVER (ORDER BY  call_date  DESC) AS d_num
         FROM     table_x
         WHERE     mobile_no     = 989
         AND     call_date     >= DATE '2013-04-25'
         AND     call_date     <  DATE '2013-04-26' + 1
    SELECT  *     -- or list all columns except a_num and d_num
    FROM     got_nums
    WHERE     1     IN (a_num, d_num)
    ;This forum is devoted to the SQL*Plus and iSQL*Plus front ends. This question doesn't have anything to do with any front end, does it? In the future, you'll get better response if you post questions like this in the PL/SQL.
    I hope this answers your question.
    If not, post a little sample data (CREATE TABLE and INSERT statements, relevant columns only), and also post the results you want from that data.
    Explain, using specific examples, how you get those results from that data.
    Always say which version of Oracle you're using (e.g., 11.2.0.2.0).
    See the SQL forum FAQ {message:id=9360002}

  • How to split 'Firstname Lastname' into 2 columns 'First' and 'Last'?

    I import a .csv file from PayPal that throws the customer's First name, MI and Last Name all in one column. I have no problem going through and deleting the middle initial to make just two words separated with a space.
    How can I split the First and Last names that are separated by a space into two separate columns? It's a piece of cake in Excel, but for some stupid reason, I can't use Excel 08 for Mac to do it. Keeps saying that there is data in column #XX without a heading (there is no data there) when I try to import to PayPal Multi-order shipping.
    Please help! I'm desperate. Taking me for ever to cut and past each last name into the new column.
    Thanks for any help with this!
    Marcus

    Here is a script which does the trick.
    --[SCRIPT splitfirst_lastname]
    Enregistrer le script en tant que Script ou Application : splitfirst_lastname.xxx
    déplacer le fichier ainsi créé dans le dossier
    <VolumeDeDémarrage>:Users:<votreCompte>:Library:Scripts:Applications:Numbers:
    Il vous faudra peut-être créer le dossier Numbers et peut-être même le dossier Applications.
    Sélectionner la colonne de chaînes à découper (et éventuellement davantage pour définir la colonne recevant les noms propres).
    Aller au menu Scripts , choisir Numbers puis choisir splitfirst_lastname
    Le script découpe les chaînes sources au premier espace.
    Le prénom remplace la chaîne initiale.
    Le reste est déposé dans la cellule adjacente à droite ou dans la cellule de la denière colonne sélectionnée.
    --=====
    L'aide du Finder explique:
    L'Utilitaire AppleScript permet d'activer le Menu des scripts :
    Ouvrez l'Utilitaire AppleScript situé dans le dossier Applications/AppleScript.
    Cochez la case "Afficher le menu des scripts dans la barre de menus".
    Sous 10.6.x,
    aller dans le panneau "Général" du dialogue Préférences de l'Éditeur Applescript
    puis cocher la case "Afficher le menu des scripts dans la barre des menus".
    --=====
    Save the script as a Script or an Application : splitfirst_lastname.xxx
    Move the newly created file into the folder:
    <startup Volume>:Users:<yourAccount>:Library:Scripts:Applications:Numbers:
    Maybe you would have to create the folder Numbers and even the folder Applications by yourself.
    Select a column of strings to split (and maybe more columns to define the column receiving lastNames).
    Go to the Scripts Menu, choose Numbers, then choose "splitfirst_lastname"
    The script split the source strings on the first embedded space.
    The FirstName replace the original string.
    The reminder is stored in the cell adjacent on the right (or in the last column of the selected range.
    --=====
    The Finder's Help explains:
    To make the Script menu appear:
    Open the AppleScript utility located in Applications/AppleScript.
    Select the "Show Script Menu in menu bar" checkbox.
    Under 10.6.x,
    go to the General panel of AppleScript Editor’s Preferences dialog box
    and check the “Show Script menu in menu bar” option.
    --=====
    Yvan KOENIG (VALLAURIS, France)
    2011/02/23
    --=====
    on run
    run script doyourduty
    end run
    --=====
    script doyourduty
    set {dName, sName, tName, rname, rowNum1, colNum1, rowNum2, colNum2} to my getSelParams()
    if colNum2 = colNum1 then set colNum2 to colNum1 + 1
    tell application "Numbers" to tell document dName to tell sheet sName to tell table tName
    repeat with r from rowNum1 to rowNum2
    tell row r
    set first_last to value of cell colNum1
    if (first_last is not 0.0) and first_last contains space then
    set in_pieces to my decoupe(first_last, space)
    set value of cell colNum1 to item 1 of in_pieces
    set value of cell colNum2 to my recolle(items 2 thru -1 of in_pieces, space)
    end if
    end tell -- row
    end repeat
    end tell -- Numbers
    end script
    --=====
    set {rowNum1, colNum1, rowNum2, colNum2} to my getCellsAddresses(dname,s_name,t_name,arange)
    on getCellsAddresses(d_Name, s_Name, t_Name, r_Name)
    local two_Names, row_Num1, col_Num1, row_Num2, col_Num2
    tell application "Numbers"
    set d_Name to name of document d_Name (* useful if we passed a number *)
    tell document d_Name
    set s_Name to name of sheet s_Name (* useful if we passed a number *)
    tell sheet s_Name
    set t_Name to name of table t_Name (* useful if we passed a number *)
    end tell -- sheet
    end tell -- document
    end tell -- Numbers
    if r_Name contains ":" then
    set two_Names to my decoupe(r_Name, ":")
    set {row_Num1, col_Num1} to my decipher(d_Name, s_Name, t_Name, item 1 of two_Names)
    if item 2 of two_Names = item 1 of two_Names then
    set {row_Num2, col_Num2} to {row_Num1, col_Num1}
    else
    set {row_Num2, col_Num2} to my decipher(d_Name, s_Name, t_Name, item 2 of two_Names)
    end if
    else
    set {row_Num1, col_Num1} to my decipher(d_Name, s_Name, t_Name, r_Name)
    set {row_Num2, col_Num2} to {row_Num1, col_Num1}
    end if -- r_Name contains…
    return {row_Num1, col_Num1, row_Num2, col_Num2}
    end getCellsAddresses
    --=====
    set { dName, sName, tName, rname, rowNum1, colNum1, rowNum2, colNum2} to my getSelParams()
    on getSelParams()
    local r_Name, t_Name, s_Name, d_Name
    set {d_Name, s_Name, t_Name, r_Name} to my getSelection()
    if r_Name is missing value then
    if my parleAnglais() then
    error "No selected cells"
    else
    error "Il n'y a pas de cellule sélectionnée !"
    end if
    end if
    return {d_Name, s_Name, t_Name, r_Name} & my getCellsAddresses(d_Name, s_Name, t_Name, r_Name)
    end getSelParams
    --=====
    set {rowNumber, columnNumber} to my decipher(docName,sheetName,tableName,cellRef)
    apply to named row or named column !
    on decipher(d, s, t, n)
    tell application "Numbers" to tell document d to tell sheet s to tell table t to ¬
    return {address of row of cell n, address of column of cell n}
    end decipher
    --=====
    set { d_Name, s_Name, t_Name, r_Name} to my getSelection()
    on getSelection()
    local _, theRange, theTable, theSheet, theDoc, errMsg, errNum
    tell application "Numbers" to tell document 1
    repeat with i from 1 to the count of sheets
    tell sheet i
    set x to the count of tables
    if x > 0 then
    repeat with y from 1 to x
    try
    (selection range of table y) as text
    on error errMsg number errNum
    set {_, theRange, _, theTable, _, theSheet, _, theDoc} to my decoupe(errMsg, quote)
    return {theDoc, theSheet, theTable, theRange}
    end try
    end repeat -- y
    end if -- x>0
    end tell -- sheet
    end repeat -- i
    end tell -- document
    return {missing value, missing value, missing value, missing value}
    end getSelection
    --=====
    on parleAnglais()
    local z
    try
    tell application "Numbers" to set z to localized string "Cancel"
    on error
    set z to "Cancel"
    end try
    return (z is not "Annuler")
    end parleAnglais
    --=====
    on decoupe(t, d)
    local oTIDs, l
    set oTIDs to AppleScript's text item delimiters
    set AppleScript's text item delimiters to d
    set l to text items of t
    set AppleScript's text item delimiters to oTIDs
    return l
    end decoupe
    --=====
    on recolle(l, d)
    local oTIDs, t
    set oTIDs to AppleScript's text item delimiters
    set AppleScript's text item delimiters to d
    set t to l as text
    set AppleScript's text item delimiters to oTIDs
    return t
    end recolle
    --=====
    --[/SCRIPT]
    Yvan KOENIG (VALLAURIS, France) mercredi 23 février 2011 10:18:36

  • First and Last Date.  Is is possible in Essbase?

    Hello All,<BR><BR>Here are the dimensions in my outline:<BR>- User<BR>- Application<BR>- Dates<BR>- Measures (Count, FirstLoginDate, LastLoginDate)<BR><BR>I am trying to create a report in Essbase that shows the first and last date that each user accessed each Essbase application. I created an ETL process that builds a relational table with one record for each unique combination of User/Application/Day where a user was logged into an application. This process gets its source data from the Essbase application log files. I am loading a count of 1 to each intersection of User/Application/Day. I also want to add the first and last day to the cube but can not figure out how.<BR><BR>1) Is there an easier way to get at the source data then the application log files?<BR>2) If the application log files are the way to go, how do I indicate in the cube what the first and last login days are for each combination of User/Application?<BR><BR>I was thinking of loading the serial dates to the FirstLoginDate and LastLoginDate measures. The trouble I am having is where to load the dates data. Do I load it to level 0 (individual dates) and then use time balance to get the dates up to the higher levels (month, year) or load it at the higher levels? If I should load it at the higher levels, do I assume correctly I will need to create another relational table with one record for each User/Application/Month and User/Application/Year that shows the first and last dates? Any other ideas?<BR><BR>Thank you in advance,<BR><BR>Bill Handelman<BR>847-989-1758<BR>[email protected]<BR><BR>

    While you may have natural ordering in your date dimensions, Essbase doesn't handle first and last dates well. The one area where ther is at least some funcionality in date manipulation is inattribute dimensions, however, the easy use there allows only one date attribute using normal date processing. It gets a great deal more complex using two dates.<BR><BR>Look up the DBAG references to the date type of attribute dimensions, you might find it a partial solution to your problem.<BR><BR>If you go the serial date method, load at level 0 and want to use time balance to bring the values up, you still need a time dimension. If I were designing something, I might use the first access date as a time dimension and the last access date in an attribute dimension, but I'm rambling rather than analyzing.<BR><BR>In any case, look at the date type attribute dimension as one possible option for your cube.

Maybe you are looking for

  • Error running comparison report

    In a Demo instance for release 12.1.2 I run the extract for Profiles selection set, then on the same instance, changed some of the profile values and re-run the same extract. When I run the comparison report using both extract files I get the followi

  • Cross linking javadoc references {@link}, etc. using netbeans

    I've read the javadoc manuals and FAQ, but can't figure out how to properly speficy the directories for the -link command to javadoc I want to use relative addresses, so other developers don't have to change their nbproject setups. When I use a hardc

  • Insert Fields From INSPECTOR DOCUMENT INFO into Pages Document

    I was able to do this since the DOS version of MS Word and would be rather surprised if there is no way to do it in Pages. Is there a way to insert "Document Info" about the present document into the present document? Am trying to work up my own temp

  • 404-Errors when accessing servlets with accented characters or umlauts as a parameter

    When accessing the following url http://test.sdm.de:8080/servlets/testservlet?la=Constitucion , the servlet works quite well and produces the desired response. The accented character is recieved by the servlet, and can be processed and displayed. But

  • Why is siri slow an 4g but fast on wifi

    Hi, I have a 4s I need to now why is siri not fast on 4g but great on wifi, if there is a soultion please help me, thanks.