Unique id generation

Hi all,
I need to automatically generate a unique id for table rows.
CAF does not provide this feature and I'd rather not develop some custom table to be used as a counter.
Did anyone solve this problem before? Does the AS java provide some specific api for this purpose?
Thanks, regards
Vincenzo

Hi
Use the givn  code just call the method generateKey().
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.security.SecureRandom;
public class UUIDGenerator
     private UUIDGenerator()
     public static String generateKey()
          StringBuffer buffer = new StringBuffer(16);
          byte addr[] = null;
          try
               addr = InetAddress.getLocalHost().getAddress();
          catch (UnknownHostException e)
               System.out.println("Test");
               e.printStackTrace();
          buffer.append(toHex(toInt(addr), 8));
          buffer.append(toHex(System.identityHashCode(new UUIDGenerator()), 8));
          midValue = buffer.toString();
          seeder = new SecureRandom();
          StringBuffer timeBuffer = new StringBuffer(32);
          timeBuffer.append(toHex((int) (System.currentTimeMillis() & -1L), 8));
          timeBuffer.append(midValue);
          timeBuffer.append(toHex(seeder.nextInt(), 8));
          return timeBuffer.toString();
     private static String toHex(int value, int length)
          char hexDigits[] =
          { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'G', 'F' };
          StringBuffer buffer = new StringBuffer(length);
          int shift = length - 1 << 2;
          for (int i = -1; ++i < length;)
               buffer.append(hexDigits[value >> shift & 0xf]);
               value <<= 4;
          return buffer.toString();
     private static int toInt(byte bytes[])
          int value = 0;
          for (int i = -1; ++i < bytes.length;)
               value <<= 8;
               int b = bytes<i> & 0xff;
               value |= b;
          return value;
     private static SecureRandom seeder;
     private static String midValue;
Best Regards
Satish Kumar

Similar Messages

  • Unique ID generation in OIM 11.1.1.5

    Dear All,
    I would like to generate the automatic unique ID during the user creation in OIM 11.1.1.5. Can any one please suggest me to do the customization for it and share some documents which can be helpful to me.
    Thanks
    Harry
    Edited by: Harry-Harry on Nov 5, 2012 12:35 AM

    If you have specific format for the ID generation then you will have to use post-process event handler for this.
    In this case 1st you will process record with some random ID and afterword will process it to get required formatted id.
    Refer
    http://docs.oracle.com/cd/E14571_01/doc.1111/e14309/oper.htm

  • Unique code generation in iBooks

    Is it possible to have a page in my iBook where each person who purchases the book will receive a unique code or serial number for using in competition entries?

    Books from the store are not unique in that manner. You can't track readers/users without their interaction.
    Unless you can come up with an HTML Widget of some sort that does what you need, you may be better suited making an app instead.

  • Unique username generation when creating new user via FIM Portal?

    Hi,
    Is it possible to create a new user using the FIM Portal, and have FIM create the unique username upon submission of the request in the Portal?
    So effectively, when you create a new user in the Portal, the 'accountName' attribute would not be a mandatory field and therefore removed from the GUI using RCDC , and instead be generated based upon the unique AD username rules.
    Thank you.

    Just my 2 cents worth ... make sure you identify and test the "edge cases" for whatever solution you end up implementing, and don't just assume a solution that works for someone else will automatically work for you in 100% of cases (this is most likely why
    this feature is not OOTB, even though most people would want something like this from the get-go).
    To be specific, I have implemented option #2 myself with success, after initially implementing option #3 and running into grief with a particular use case (education environment end-of-school year roll-over involving large numbers of concurrent leavers/joiners
    in the same import/sync cycle).  To be specific, when implementing a workflow-based solution to do this there is a small but nonetheless realistic chance that 2 user requests being processed in parallel calculate exactly the same AccountName value, and
    of course one will succeed and the other will fail ... and of course by default this will fail the entire request.
    I solved the problem in my case by adoption option #2 using an approach where I reserved a unique accountName in the MV (downside is that in some cases the user may never end up being provisioned to AD if this is in advance of the actual hire date), thereby
    avoiding clashes by getting the FIM Sync Service to control integrity rather than the FIM Service where parallelism is a design feature :).
    So just make sure you understand the pros and cons of each approach when deciding what is best for you.  Note that this discussion has come up many times before on previous posts on this forum, and it will be worth looking through these if you are still
    in the early stages of formulating your approach.
    Bob Bradley (FIMBob @
    TheFIMTeam.com) ... now using FIM Event Broker for just-in-time delivery of FIM 2010 policy via the sync engine, and continuous compliance for FIM

  • Unique ID's in java - interessting theoretical problem

    Hey all,
    I'm am trying to generate completely unique id's in java. These ID's should be provable unique within different processes and different systems. The machines IP address should not be assumed unique because, for example, two machine in a different subnet could have the same IP. The ethernet MAC address would be a better alternative (alltough also theoretically not unique). Regretably, the ethernet address cannot be acquired with java (as far as i know). I could use a central unique key generation server that all server have to conctact to get keys. This solution is not ideal because in some cases, easy network connection between the different machines is guaranteed.
    Regardsn
    Lennart

    I think what you are looking for is something like microsoft's concept of a GUID. A 128 bits of information that is unique in both time and space. I've read some posts on other forums that seem to indicate that this is theoritically impossible in Java due to limitations the VM blah blah blah. I'm not the kind of guy that takes no for an answer so I gave a pure java GUID my best shot. It may not be exactly unique in time and space, but its probably close enough. You could probably make it better with some kind of cryptographic Random number generator.
    *  Just a stand alone class that I posted to a forum
    *  Copyright (C) 2004 Todd Clark [email protected]
    *  This library is free software; you can redistribute it and/or modify it
    *  under the terms of the GNU Lesser General Public License as published by the Free
    *  Software Foundation; either version 2.1 of the License, or (at your option)
    *  any later version.
    *  This library is distributed in the hope that it will be useful, but
    *  WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
    *  or FITfNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
    *  for more details.
    *  You should have received a copy of the GNU Lesser General Public License
    *  along with this program; if not, write to the Free Software
    *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
    *  If you make changes or improvements to the this class I ask that you you
    *  post them to a forum thread and email the improvements to [email protected]
    *  and that you leave my name intact in the header comments.
    *  If you use this code in an application that you distribute. I require that you
    *  include my name in the credits of your application.
    public class PlatformIndependentGuidGen
      private static PlatformIndependentGuidGen _TheInstance = null;
      private Random _RandomForSpace = null;
      private Random _RandomForTime = null;
       * Note: the first time you call this function it is very expensive
       * @return PlatformIndependentGuidGen the instace of the Guid generator
      public static synchronized PlatformIndependentGuidGen getInstance()
        if (_TheInstance == null)
          _TheInstance = new PlatformIndependentGuidGen();
        return _TheInstance;
       * @return String a new Guid
      public String genNewGuid()
        long uniqueInSpace = _RandomForSpace.nextLong();
        long uniqueInTime = _RandomForTime.nextLong();
        return Long.toHexString(uniqueInSpace) +
            "-" + Long.toHexString(uniqueInTime);
      private PlatformIndependentGuidGen()
        long uniqueSpaceSeed = createUniqueSpaceSeed();
        long uniqueTimeSeed = System.currentTimeMillis();
        _RandomForSpace = new Random(uniqueSpaceSeed);
        _RandomForTime = new Random(uniqueTimeSeed);
       * Does the best job it can to produce a number that is dependent on the machine
       * on which this code is running
       * @return long
      private long createUniqueSpaceSeed()
        String hashingString = ""; //Contains the conglomeration of as much machine or
                                   //or config dependant stuff as I could come up with
        Properties systemProps = System.getProperties();
        Enumeration systemPropKeys = systemProps.keys();
        String systemPropKey = null;
        Locale[] locales = Locale.getAvailableLocales();
        int iCounter = 0;
        Runtime runtime = Runtime.getRuntime();
        InetAddress myAddress = null;
        //Loop through all the system properties and add them to the hashingString
        while(systemPropKeys.hasMoreElements())
          systemPropKey = (String) systemPropKeys.nextElement();
          //Append the system prop to the hashing string
          hashingString = hashingString + " " + systemPropKey + " = " +
              systemProps.getProperty(systemPropKey) + "\n";
        //Do a hardware dependent test and add the result to the hashingString
        hashingString = hashingString + "Cycle Test = " +
            cpuCycleTest() + "\n";
        //Loop through all the locales that are installed and add them to the hashingString
        for (iCounter = 0; iCounter < locales.length; iCounter++)
          hashingString = hashingString +
              locales[iCounter].getCountry() + " " +
              locales[iCounter].getDisplayCountry() + " " +
              locales[iCounter].getDisplayName() + "\n";
        //Get as much machine dependent stuff out of the runtime as
        //you can and add them to the hashingString
        hashingString = hashingString + "Available proc = " +
            runtime.availableProcessors() + "\n";
        hashingString = hashingString + "free memory = " +
            runtime.freeMemory() + "\n";
        hashingString = hashingString + "max memory = " +
            runtime.maxMemory() + "\n";
        hashingString = hashingString + "total memory = " +
            runtime.totalMemory() + "\n";
        //try to get my IP address and add to the hashingString
        try
          myAddress = InetAddress.getLocalHost();
          hashingString = hashingString + "my IP address = " +
              myAddress.toString();
        catch(Exception e)
          //Do nothing
        //System.out.println(hashingString);
        return hashingString.hashCode();
       * how high can we count in 10 msec
       * @return long
      private long cpuCycleTest()
        long returnValue = 0;
        long startTime = System.currentTimeMillis();
        long rightNow = System.currentTimeMillis();
        //Do this for thirty millisec
        while( (rightNow - startTime) < 10 &&
               returnValue < (Long.MAX_VALUE - 10) )
          returnValue++;
          rightNow = System.currentTimeMillis();
        return returnValue;
    }

  • Unique device identifier (uuid) before enrollment?

    Hello,
    Does there exist a way to get the Unique Device Id (uuid) or any other identifier for that matter before (Certificate) enrollment?
    My use case is that I'd like to check if a device was already enrolled and I cannot find a way to do that, because I don't know what to base that criteria on. We only get the (uuid) after the workspace setup is complete.
    Any ideas?
    Thanks

    Hi Eric,
    I'll have a look on that, although I'm not sure whether the MAC would really help.
    We are using Federated auth policy with a WAB that implements some specific authentication routines like unique token generation, verification, etc. What we basically want to do is to show a notification to the user during the WAB step, if a device has already
    been enrolled or not. Also we have a case where we don't want certain previously enrolled devices to be enrolled again. There's no problem to post a query to our SyncML server, but we have no way of knowing which device is sending that query.

  • Email notification to specific user when processing multiple files at a time

    Hi 
    I am new to SSIS and error mail notification ,can some please provide details for my urgent and prioritized task in my project.
    below is the requirement
    I have a package for multiple file processing using for each file enumerator .each file having same column definition but for different
    users and different name .
    i have some mandatory fields to form unique id on combination
    1.when files processing any data missed on mandatory fields it should alert users saying following line and fields are missing mandatory
    information 
    2.email notification should send to respective users based on file name.
    example :
    file1:bitunimous.xls 
    file 2.oxford.xls
    each file having following fields
    file 1:bitunimous.xls
    claim no: claimant: subclaim:
    1001 abc 0 
    1002 abc 1 
    1002 abe 0 
    1004 0
    here bitunimous.xls missed claimant value for 4th line then email needs to send to [email protected] as
    line no 4 missed claimant information for unique key generation like that.
    file 2.oxford.xls
    claim no: claimant: subclaim:
    2001 det 0 
    2002 pre 1 
    pqr 0 
    2004 frc
    here oxford.xls missed claimno value for 3rd line then email needs to send to [email protected] as
    line no 3 missed claimno information for unique key generation like that.
    can anybody please provide solution 
    Thanks .
    Ambed

    You need to have a package with below work flow
    1. ForEachLoop container with file enumerator to loop through files
     Have variable inside loop to get the filename during each iteration. Create another variable called emailaddress, set EvaluateAsExpression property to true and set expression as
    REPLACE(@[User::FileName],".xls","") + (DT_STR,20,1252) "@xyx.com"
    2. Add tasks for validating data. Capture details of error on a string variable @[User::Error]
    3. link a sent mail task to previous task and choose expression and constraint option. Set Constraint as On Completion and Expression as LEN(@Error) > 0
    Inside Sent mail task set expression for ToLine and MessageSource properties to map to variables @[User::EmailAddress] and @{User::Error] respectively to sent notifications
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • Regarding Performance Increment

    At my clients place, there are three grades A , B and C Based on Grades A , B and C Company would like to give Increment...
    Could you please let me know How to do that in Performance Appraisal Module?
    Edited by: My SAP Cronies on Dec 18, 2011 6:49 AM

    Good point. If any error occurs during insertion -
    the sequence will be broken. Bucause, even if your
    transaction failed sequence will generate the new
    sequence number. But, as a result of that error -
    insertion won't be taken into place. Thus, break your
    continous chain.It is probably good point (depending on requirements) irregardless of that.
    Sequences ARE NOT for CONTINUOUS number generation.
    Sequences ARE for UNIQUE number generation.
    Continous chain will break also at least rollback (always) and DB restart as well (unless you haven't specified sequence as nocache which generally is silly idea).
    Gints Plivna
    http://www.gplivna.eu

  • Regarding auto increment

    how can i auto increment the number in my table while inserting the data

    Good point. If any error occurs during insertion -
    the sequence will be broken. Bucause, even if your
    transaction failed sequence will generate the new
    sequence number. But, as a result of that error -
    insertion won't be taken into place. Thus, break your
    continous chain.It is probably good point (depending on requirements) irregardless of that.
    Sequences ARE NOT for CONTINUOUS number generation.
    Sequences ARE for UNIQUE number generation.
    Continous chain will break also at least rollback (always) and DB restart as well (unless you haven't specified sequence as nocache which generally is silly idea).
    Gints Plivna
    http://www.gplivna.eu

  • Sleep and current Time

    Hi, i'm involved in a routine to get uids based on time that looks like that..
            long timeInMillis;
            timeInMillis = System.currentTimeMillis();       // A
            try {
                Thread.sleep(30);
            } catch (InterruptedException e) {
                e.printStackTrace();
            timeInMillis = System.currentTimeMillis();      // B  the problem is that value of timeInMillis is the same on A and B...
    ( and no exception is thrown )

    It depends on what you are using it for.
    After all, an unique ID is just an ID that you haven't used before.
    The simplest way is to have a global integer "id=0".
    So, the first ID is 0. The next ID is 1. The next ID is 2...
    If your application is using a database, you should use
    the database's unique ID generation. All databases have it,
    since they need it for table keys and stuff.
    If your application is security, then you don't want to use 1, 2, 3...
    since people can guess what the IDs are. You will want to apply
    some salted hashing or other cryptographic transformations.
    It depends on what you are using it for.

  • Unique 4 digit alphanumeric code generation.

    Hi Everyone,
    Please look into this code and suggest me, how should I approach to change this streak.
    My DB version is
    BANNER                                                       
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi
    PL/SQL Release 10.2.0.1.0 - Production                         
    CORE 10.2.0.1.0 Production                                       
    TNS for Linux: Version 10.2.0.1.0 - Production                 
    NLSRTL Version 10.2.0.1.0 - Production         
    Please look into this unique 4 digit alphanumeric code generation.
    9999999999999 is just for reference. This is the current behavior.
    If I will put round instead of trunc, will it work for long run, though it's working for few sequence numbers.
    Can I change the order of numbers and alphabets? Please suggest something.
    As per the requirement these alphabets are restricted for the code generation and they are (I, L O, B, Q)
    If you run this code this will give the value as 3688. But 3688 is already exists so it should return something else and it should be full proof in the long run.
    Declare
    VC_SEQ_NUMBER varchar2(4) := NULL;
    BEGIN
    -- First digit (highest) of the alphanumeric
    vc_seq_NUMBER := vc_seq_NUMBER ||
       CASE TO_CHAR (MOD (TRUNC (TRUNC (TRUNC (9999999999999 / 31, 0) / 31,0) /31,0),31))
                    WHEN '0' THEN '0'
                    WHEN '1' THEN '1'
                    WHEN '2' THEN '2'
                    WHEN '3' THEN '3'
                    WHEN '4' THEN '4'
                    WHEN '5' THEN '5'
                    WHEN '6' THEN '6'
                    WHEN '7' THEN '7'
                    WHEN '8' THEN '8'
                    WHEN '9' THEN '9'
                    WHEN '10' THEN 'A'
                    WHEN '11' THEN 'C'
                    WHEN '12' THEN 'D'
                    WHEN '13' THEN 'E'
                    WHEN '14' THEN 'F'
                    WHEN '15' THEN 'G'
                    WHEN '16' THEN 'H'
                    WHEN '17' THEN 'J'
                    WHEN '18' THEN 'K'
                    WHEN '19' THEN 'M'
                    WHEN '20' THEN 'N'
                    WHEN '21' THEN 'P'
                    WHEN '22' THEN 'R'
                    WHEN '23' THEN 'S'
                    WHEN '24' THEN 'T'
                    WHEN '25' THEN 'U'
                    WHEN '26' THEN 'V'
                    WHEN '27' THEN 'W'
                    WHEN '28' THEN 'X'
                    WHEN '29' THEN 'Y'
                    WHEN '30' THEN 'Z'
                 END;
    -- Second digit of the alphanumeric
    vc_seq_NUMBER := vc_seq_NUMBER ||
              CASE TO_CHAR (MOD (TRUNC (TRUNC (9999999999999 / 31, 0) / 31, 0), 31))
                 WHEN '0' THEN '0'
                 WHEN '1' THEN '1'
                 WHEN '2' THEN '2'
                 WHEN '3' THEN '3'
                 WHEN '4' THEN '4'
                 WHEN '5' THEN '5'
                 WHEN '6' THEN '6'
                 WHEN '7' THEN '7'
                 WHEN '8' THEN '8'
                 WHEN '9' THEN '9'
                 WHEN '10' THEN 'A'
                 WHEN '11' THEN 'C'
                 WHEN '12' THEN 'D'
                 WHEN '13' THEN 'E'
                 WHEN '14' THEN 'F'
                 WHEN '15' THEN 'G'
                 WHEN '16' THEN 'H'
                 WHEN '17' THEN 'J'
                 WHEN '18' THEN 'K'
                 WHEN '19' THEN 'M'
                 WHEN '20' THEN 'N'
                 WHEN '21' THEN 'P'
                 WHEN '22' THEN 'R'
                 WHEN '23' THEN 'S'
                 WHEN '24' THEN 'T'
                 WHEN '25' THEN 'U'
                 WHEN '26' THEN 'V'
                 WHEN '27' THEN 'W'
                 WHEN '28' THEN 'X'
                 WHEN '29' THEN 'Y'
                 WHEN '30' THEN 'Z'
              END;
    -- Third digit  of the alphanumeric
    vc_seq_NUMBER := vc_seq_NUMBER ||
              CASE TO_CHAR (MOD (TRUNC (9999999999999 / 31, 0), 31))
                 WHEN '0' THEN '0'
                 WHEN '1' THEN '1'
                 WHEN '2' THEN '2'
                 WHEN '3' THEN '3'
                 WHEN '4' THEN '4'
                 WHEN '5' THEN '5'
                 WHEN '6' THEN '6'
                 WHEN '7' THEN '7'
                 WHEN '8' THEN '8'
                 WHEN '9' THEN '9'
                 WHEN '10' THEN 'A'
                 WHEN '11' THEN 'C'
                 WHEN '12' THEN 'D'
                 WHEN '13' THEN 'E'
                 WHEN '14' THEN 'F'
                 WHEN '15' THEN 'G'
                 WHEN '16' THEN 'H'
                 WHEN '17' THEN 'J'
                 WHEN '18' THEN 'K'
                 WHEN '19' THEN 'M'
                 WHEN '20' THEN 'N'
                 WHEN '21' THEN 'P'
                 WHEN '22' THEN 'R'
                 WHEN '23' THEN 'S'
                 WHEN '24' THEN 'T'
                 WHEN '25' THEN 'U'
                 WHEN '26' THEN 'V'
                 WHEN '27' THEN 'W'
                 WHEN '28' THEN 'X'
                 WHEN '29' THEN 'Y'
                 WHEN '30' THEN 'Z'
              END;
    --Fourth digit OF the alphanumeric
    vc_seq_NUMBER  := vc_seq_NUMBER ||
              CASE TO_CHAR (TRUNC (MOD (9999999999999 , 31), 0) )
                 WHEN '0' THEN '0'
                 WHEN '1' THEN '1'
                 WHEN '2' THEN '2'
                 WHEN '3' THEN '3'
                 WHEN '4' THEN '4'
                 WHEN '5' THEN '5'
                 WHEN '6' THEN '6'
                 WHEN '7' THEN '7'
                 WHEN '8' THEN '8'
                 WHEN '9' THEN '9'
                 WHEN '10' THEN 'A'
                 WHEN '11' THEN 'C'
                 WHEN '12' THEN 'D'
                 WHEN '13' THEN 'E'
                 WHEN '14' THEN 'F'
                 WHEN '15' THEN 'G'
                 WHEN '16' THEN 'H'
                 WHEN '17' THEN 'J'
                 WHEN '18' THEN 'K'
                 WHEN '19' THEN 'M'
                 WHEN '20' THEN 'N'
                 WHEN '21' THEN 'P'
                 WHEN '22' THEN 'R'
                 WHEN '23' THEN 'S'
                 WHEN '24' THEN 'T'
                 WHEN '25' THEN 'U'
                 WHEN '26' THEN 'V'
                 WHEN '27' THEN 'W'
                 WHEN '28' THEN 'X'
                 WHEN '29' THEN 'Y'
                 WHEN '30' THEN 'Z'
              END;
      DBMS_OUTPUT.PUT_LINE('vc_seq_NUMBER : ' || vc_seq_NUMBER);
    END;
    Regards,
    BS2012.

    BluShadow has demonstrated a way to generate Four digit base 36 alphanumeric sequence. I am not sure how much can it scale in a multi user environment. You can take it as a reference to use Sequences in order to be useful in a Multi user env.
    Alphanumeric sequence number generator

  • Generation of Unique Transcation Numbers

    I am working on a online transcation system there are about 100
    users,
    when e user opens the data entry form he is given a transcation
    number, this is same practice for all users, what is the best
    strategy that i generate numbers (transcation number) that are
    unuiqe and without any missings in the number
    please provide me the idea for generating unique and unbroken
    numbers in an oltp system

    I would advise against using a sequence if your application
    design can not tolerate gaps in the number. If a transaction
    fails and you've already executed "myseq.nextval" then the
    number is lost. If you must not have any missing numbers, you'd
    probably have to create a table to store the number. This may
    introduce locking issues though if many users are frequently
    requesting a new number.

  • Issue in BIP Report Generation - Issue gets fixed when the rtf is opened and re-saved

    Hi,
    We are facing a unique case in BIP reports generation at a Customer site. The BIP installed is a part of the OBIEE 11g installation. The customer report generates most of the times, however there are instances where we get a techinical details error ( custom error ) -  The only way to 'fix' this issue currently is to open the rtf file, hit the spacebar and save this file ( ie re-save this file ) and the report starts to generate correctly again for
    Has anyone else faced such a problem ?
    Also, not sure if this helps - the corresponding xdo has nested tags
    Thanks in Advance
    Orjun - Oracle Financial Services

    Your server file handling has nothing, and really nothing to do with Adobe software. If files don't get locked for (over-)writing and/or lose connection to the program opening them, then your server is misconfigured. It's as plain and simple and that. Anything from "known file types"/ file associations not being set correctly, MIME types being botched, crooked user privileges and file permissions, missing Mac server extensions, delayed file writing on the server, generic network timeout issues and what have you. Either way, you have written a longwinded post with no real value since you haven't bothered to provide any proper technical info, most notably about the alleged server. Either way, the only way you can "fix" it is by straightening out your server and network configuration, not some magic switch in Adobe's software.
    Mylenium

  • File name collision during build that includes Report Generation toolkit. How to correct?

    When I switched to LV 8.6 (it's also in 8.6.1) I started getting a file name collision warning when building an installer that included the Report Generation toolkit. The executable works, but I don't like to leave warnings uninvestigated. I don't understand 1) why it's happening now and 2) what it's recommending for the fix. Here's part of the actual warning it gives.
    LabVIEW prevented a file name collision during the
    build. Duplicate file names cannot be copied to the same destination. You can
    rename files as part of the build process to avoid name conflicts.
    The following files were moved to a unique
    location:
    C:\Program Files\National Instruments\LabVIEW
    8.6\vi.lib\Utility\NIReport.llb\Append Control Image to Report.vi
    C:\Program
    Files\National Instruments\LabVIEW 8.6\vi.lib\Utility\NIReport.llb\HTML\Append
    Control Image to Report.vi
    C:\Program Files\National Instruments\LabVIEW
    8.6\vi.lib\Utility\NIReport.llb\Append File to Report.vi
    C:\Program
    Files\National Instruments\LabVIEW 8.6\vi.lib\Utility\NIReport.llb\HTML\Append
    File to Report.vi
    C:\Program Files\National Instruments\LabVIEW
    8.6\vi.lib\Utility\NIReport.llb\Append Horizontal Line to Report.vi...........

    Hi GS,
    The architecture of the Report Generation Toolkit was changed in LabVIEW 8.6 to utilize LabVIEW Classes.  As such, there are some warnings during an EXE build because the class VIs have identical names.  Classes were not used in the toolkit in LabVIEW 8.5 and previous...that's why you didn't see any warnings during the build until now.
    Your EXE should still function properly, and you shouldn't have to change anything about your build.  The purpose of the warnings is to let you know that the duplicate-named VIs needed to be handled differently during the build.
    -D
    Darren Nattinger, CLA
    LabVIEW Artisan and Nugget Penman

  • Difference between diadem and LabVIEW Report Generation Toolkit

    I want to expand LabVIEW's reporting capabilities.  Can someone tell me what the difference is between DIAdem and the LabVIEW Report Generation Toolkit for Microsoft Office.

    Hello Mr Bean,
    There are several major differences between the two solutions. I'll try and outline them as good as I can ...
    The biggest different is that LabVIEW and its toolkits are programming tools and DIAdem is a ready to run application.
    The LabVIEW Report Generation Toolkit basically provides an extensive library of VIs that allow you to connect LabVIEW to the MS Office library and create and edit reports in Word and Excel.
    DIAdem is a stand alone application that was designed to post-process data from various sources. The tools included in DIAdem are:
    1. NAVIGATOR: Allows you to import data from files (ASCII, binary, Excel, etc.) as well as DataBases (SQL/ODBC, Citadel, ASAM, etc.). The unique DataPlugin technology available within DIAdem allows you to import vitually and data file by creating a DataPlugin that describes the data format and gets linked to DIAdem. More information at: http://www.ni.com/diadem/dataplugins.htm
    2. VIEW: Graphical and Numerical data inspection tool. Use cursors to zoom and scroll through your data, edit your data graphically and numerically and compare different tests.
    3. ANALYSIS: DIAdem has a wide range of analysis functions, ranging from simple functions like integration and differentiation to FFTs, Order analysis and 3D data analysis.
    4. REPORT: The DIAdem REPORT tool allows you to create reusable report layouts that can contain multiple axis systems (2D, 3D and polar plots) as well as tables (2D and 3D) and variables. The REPORT tool generates templates that can be usedwith multiple data sets due to the inclusion of automatic (or manula if required) scaling as well as extensive use of variables for annotations. Finished reports can be exported to printers, graphics files, the Windows Clipboard, HTML pages and PDF files (PDF writing is build into DIAdem, no extra software required). Using Scripts, it is also possible to create Word, Excel or Powerpoint reports from DIAdem automatically.
    5. SCRIPT: The DIAdem scripting tools allows users to record macros or write scripts that automate complete sequences, for the import of data, via extensive analysis, to creating a publication ready report. Scripts can make reports "intelligent" by modifying the appearance of a report based on the data or calculation results that are going to be displayed in the report.
    I recommend you check out the following link for more information: http://www.ni.com/diadem/
    DIAdem is an extremly powerful tool for report generation. I am leaving to go on a business trip to Asia, but I would be more than happy to give you an Web presentation on DIAdem after I have returned. We could use your data and create a DIAdem report Script together online. My Email address is [email protected] and I will be back the week of Thanksgiving.
          Otmar
    Otmar D. Foehner
    Business Development Manager
    DIAdem and Test Data Management
    National Instruments
    Austin, TX - USA
    "For an optimist the glass is half full, for a pessimist it's half empty, and for an engineer is twice bigger than necessary."

Maybe you are looking for

  • How do I make the most of contacts for iPhone?

    Hi, I've had the iPhone 4 since Dec, 2009. So I know very well how to use it. I've been re-watching the iPhone adds, and I really like how well the contacts are organized on the ads, and I was wondering, how can I make my contacts list look good and

  • XML parser Exception

              Hi           I try to deploy a servlet that serve as a MapPoint web services client. So the           servlet receive a post with latitude and longitude then it try it to retrieve           a Map showing the location from MapPoint through w

  • Sharing files with macbook

    how do I import address book from my Macbook wirelessly? Thanks.

  • "DOWNLOAD FILE" MAC OS X Snow Leopard

    I have what is probably a stupid question, but here it: When i download something it goes into a file call "downloads" however when i attempt to find that file through the "finder" it doesnt bring anything up, but if i type in the name of a download

  • Please fix the Wifi Issues

    I owned a Galaxy S-3 and never had a issue with my Wi-Fi. But since I have switched over to the S-4 I cannot keep a connection to my Wi-Fi at my home.  My Wireless Router is Not out of date and No changes have been Made. My IPod and my laptop connect