External Unique Id

hi,
I have 2 opportunity records with external id value 12345. i have line editied the vales.
External id at record level is a text field, i would edit the value.
External id as a mapping key needs to be unique(correct me if i am wrong?)
Question : Mapping key is field value opportunity type or any other to import record (external id value is 12345) & set overwrite. Will it throw an error, or just overwrite the external id?
Thanks in advance

Hi,
Though the system doesn't throw error when you are editing the application through standard OnDemand UI, it throws error when you try to overwrite the data using manual import or using WS when there are multiple records with same external id field present and @ the time of import you decide to choose uniqueness by "External Id" instead of "OnDemand predefined fields". The error you would get is "Unable to import the record because multiple duplicated records are found in the database."
-- Venky CRMIT

Similar Messages

  • External Unique ID VS Contact ID (Row ID)

    We're using Web Services to load contacts and opportunities into CRM. Contacts have an External Unique ID. We also create new contacts / opportunities from the user interface as well. I first noticed while testing in Analytics I get a different behavior for the opportunities created online than the ones that are loaded with an External System ID. When I am under Opportunity History (and adding Contact info such as Prov/State and Country), the opportunities entered online are showing in the metrics but not the ones that were loaded using the External Unique ID. I need metrics on # Opp created for specific Campaign name and have counts based on Country and Province (for imported opportunities from other systems as well as opportunities enter using the application).
    Also, on the application, when Opportunity is related to the Contact using the Primary Contact ID (i.e. record entered on line), I can see the opportunity displayed when I am on the contact screen. But not when it is related to Contact using the External ID (when using Web Services).
    It is a big issue for us at the moment as we are trying to produce metrics for marteking campaigns based on markets, and we cannot for some reason have all records accounted for in the same report.
    Are we having an integration issue here or should we change something in the settings to be able to report on all records? I know that it is suggested that records that do not have an External Unique ID to be defaulted to Row_id. I think that this is a good idea (not sure where to go to set this default) but I don't think that this would change the fact that our opportunities loaded using external unique id are not being "attached" using Primay contact ID which seems to be needed for Analytics to get the metrics on these opportunities.
    Would there be any recommendations on how to correct this issue? It is not a visibility issue. Both the user used to enter contacts/opps and myself are Admins.
    Thanks.

    Hi,
    Firstly be careful in reporting with the data model, in some subject areas adding Account/Contact information to your report will drop records in your report if no Account/Contact record has been added against that Opportunity. I would build a report which has Opportunity.Row Id and Opportunity.External ID and run this on it's own. This will verify that all your Opportunities are in fact loaded. Then if you add Contact Id to your report and records are dropped there is your problem.
    I would then check to see what's going on with your web service. Import an Opportunity (using the wizard) and Associate a Contact to Opportunity (Using the Primary Contact Id) in the import. Check this record in the application and ensure the Contact is associated as you would expect, then run the above report and check the record exists. I would then repeat this for your web service, it could be the web service isn't associating Contacts correctly.
    I don't think it's the External ID's causing you issues here.. as a general rule of thumb I ensure all Accounts, Contacts, Opportunities, Leads have External ID's. This is especially if you're doing a Marketing deployment as records are much easier to segment and re-import against using the wizard. Also, you'll find without External ID's you can't import certain record types against campaigns and through the application. I default the External ID's based on the Row ID for these records and update those which are currently blank (unless you have an external system field). Try that and let me know...
    Thanks
    Oli @ Innoveer

  • Account external unique id default field value

    Hi everyone,
    I am not so experienced in writing expressions so if anyone has created an expression to use when new accounts are created in the system to autopopulate the Integration ID into the External Unique ID field then kindly share.
    I have tried
    [<ExternalSystemId>] = [<IntegrationId>]
    [<ExternalSystemId>] = IntegrationId()
    Thanks,
    Søren

    [<IntegrationId>]
    This should work.

  • Changing External Unique Id on Product records

    Will there be an issue if we change the external unique id field on our product records? Does that have any link to existing opportunities? I just want to make sure nothing 'breaks'

    HI David,
    From our experience, the external unique ID fields are not that unique. It is a simple text field that does not get carried anywhere. We have even been able to have the same value for 2 separate records.

  • Unique ID during upload through WebADI integrator

    Hi All,
    Is there any unique ID generated for each upload through a custom Integrator (similar to fnd_global.conc_request_id for concurrent programs)?
    Thanks,
    Sumanth

    JE,
    Normally we use row id or integration id for this, we populate this value in the external id field (for the records created manually) so that we can do bulk update. My personal experience is row id's are more reliable than integration id's and it has always worked for me :) (my technical team also prefers to use the row id for WS as this value cannot be changed). What kind of linking problem did your people face by using row id?
    If you are looking for some other unique single value identifier, I dont think any other than row id, integration id and external unique id exists. Else you need to go with “On Demand predefined fields” option (First Name, Last Name, Email, Work Phone # for contact records).

  • How to use (greater than) in web services call

    Hello, I am trying to query a set of assets where the external unique ID is greater than 400,000. My existing code looks like
    qryIn.ListOfAsset(0).ExternalSystemId = ">'400000'"
    However, using this will return any asset record starting with a 5 or above as far as I can tell, I assume b/c it is comparing string data due to the single quotes infering data of type text (string). Is it possible to use comparison operators with numeric data correctly?
    I posed this question to support and received the below answer:
    <?xml version="1.0" encoding="UTF-8" standalone="no"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <AssetWS_AssetQueryPage_Input xmlns="urn:crmondemand/ws/asset/"> <ListOfAsset xmlns="urn:/crmondemand/xml/asset"> <Asset> <AssetId /> <PurchaseDate/> <OwnerAccountId /> <ExternalSystemId>&gt; '400000'</ExternalSystemId> </Asset> </ListOfAsset> </AssetWS_AssetQueryPage_Input> </soap:Body> </soap:Envelope>
    Basically, instructing me to use &gt. I'm doing coding in .NET visual studio and not using the XML as above. However, I did try the following:
    qryIn.ListOfAsset(0).ExternalSystemId = "&gt;'400000'" which returned an error in the compiler.
    Any help would be appreciated. Thanks.

    Thanks for the reply. I would assume "external system id" is an integer, but, I will test on a custom field that I now is of type integer.
    Could you take your same code and use a non-zero value for the operand? For example, could you try
    objAccQryParam.ListOfAccount[0].CustomInteger0 = ">= '10'"; and let me know if that returns values that are greater than or equal to 10. Using a two digit number is important. Assuming you have data greater than 10.
    Thanks!

  • How to convert string to 16 characters.

    My external unique id is too long, more then 30 characters.
    How to convert it to 30 characters using sql?

    You should find another extranal system id in order to mantain uniqueness, but you could also use the name field (that supports 50 characters), but it deppends of which entity you are using.
    Which is the entity? and...if the only way to insert data is by web services the you could use more than one field to verify uniqueness since you can query more than one field at the time.
    Hope it helps
    Kim.

  • Packing a Delivery via function modules or BAPI's

    Does anyone know the correct function modules to call in order to pack an outbound delivery.  The HU is already been entered into the delivery.  I just need to pack all the items into this HU and PGI the delivery.  I've tried the following function modules:
    SD_DELIVERY_UPDATE_PACKING
    V51P_FIND_HEADER
    V51P_NEUE_HU_PRO
    I'm not sure what I'm doing wrong but the delivery doesn't get packed.  Anyone have a clue?
    Thank you,

    The problem resides in external unique number assignement for handling units:
    in SPRO:
    > Logistics - General
      > Handling Unit Management
        > External Identification
          > Set Unique Number Assignment for HU Identification
    Simply flag the checkbox and Save!
    Without this flag BAPI's raise this info message (HUDIALOG 038). Even if it is an info message and the number is returned at the end the handling unit won't be created!
    Just flag it!

  • Opportunity Product default

    I am attempting to default the External Unique ID on the Product Revenue record to the Row ID. The only options I see in Application Customization is for Revenue. I set up the External Unique ID on the revenue record to be defaulted to the ProductRevenueId(with and without Post Default checked). I also created a workflow using the same fields to accomplish the task when a record is changed, in case someone tried to change the ID.
    The workflow works fine, but the default value does not populate.

    I think populating Row id to External Id should be possible. I remember i have done the same.
    make sure it should be post default. sign out and sign in again.

  • Report with information about release documents in VKM1

    Hello
    I need to know if exists some report that gives me more information about release documents in transaction VKM1. What user releases some document? How many documents a credit account had been release or block in a year or between dates?
    The transaction VKM2 just gives the release date of the document and not the user.
    Where I can find more information?
    Regards
    Daniel Teles

    Hi,
    There is a field to know which account is the parent account, but you can't have others informations from the parent account except the name. In the new R16, you have others field called "Parent Account external unique ID" and "Parent Integration ID". What can I do with this field? Is it possible to display the parent account phone field in the report?
    regards

  • Can't create a new record via Import using Integration ID

    I have custom object records (+Assets+) that includes data attributes from another custom object (+Acme Products+ - not the same as CRMOD Products object). I would like to create new Asset records that pulls data in from the Acme Products object via the Import process, but I cannot always use the "Acme Products: External Unique ID" field to connect the data because Products don't always get created externally, most are created directly in the user interface. I'd like to use the "Acme Products:Integration ID", but that field doesn't appear when I'm mapping the fields on Step 3. Is there another way to connect the data?
    Edited by: user2320847 on May 27, 2011 3:14 PM

    You could use web services. Post this question on the CRM On Demand Integration Development Forum.

  • Data loader : Import -- creating duplicate records ?

    Hi all,
    does anyone have also encountered the behaviour with Oracle Data Loader that duplicate records are created (also if i set the option: duplicatecheckoption=externalid) When i am checking the "import request queue - view" the request parameters of the job looks fine! ->
    Duplicate Checking Method == External Unique ID
    Action Taken if Duplicate Found == Overwrite Existing Records
    but data loader have created new records where the "External Unique ID" is already existent..
    Very strange is that when i create the import manually (by using Import Wizard) exactly the same import does work correct! Here the duplicate checking method works correct and the record is updated....
    I know the data loader has 2 methods, one for update and the other for import, however i do not expect that the import creates duplicates if the record is already existing, rather doing nothing!
    Anyone else experiencing the same ?? I hope that this is not expected behaviour!! - by the way method - "Update" works fine.
    thanks in advance, Juergen
    Edited by: 791265 on 27.08.2010 07:25
    Edited by: 791265 on 27.08.2010 07:26

    Sorry to hear about your duplicate records, Juergen. Hopefully you performed a small test load first, before a full load, which is a best practice for data import that we recommend in our documentation and courses.
    Sorry also to inform you that this is expected behavior --- Data Loader does not check for duplicates when inserting (aka importing). It only checks for duplicates when updating (aka overwriting). This is extensively documented in the Data Loader User Guide, the Data Loader FAQ, and in the Data Import Options Overview document.
    You should review all documentation on Oracle Data Loader On Demand before using it.
    These resources (and a recommended learning path for Data Loader) can all be found on the Data Import Resources page of the Training and Support Center. At the top right of the CRM On Demand application, click Training and Support, and search for "*data import resources*". This should bring you to the page.
    Pete

  • Error:41453 in log file even when the account data is imported successfully

    Hi,
    As a beginner, I tried importing ‘Accounts’ record type with 2 records, by taking below 4 fields:
    Account Name, Account Type, City, Owner
    The email received for the account import request completion has below details:
    Total Records: 2
    Successfully Imported: 0
    Partially Imported: 0
    Duplicate Records Ignored: 0
    Failed: 2
    Against both the records, error : 41453 is mentioned in the log file, with error description as - An unexpected error occurred during the import of the following row: 'Account Name: <name of account>'
    However when I query for the records under Account tab, the records are all created properly (with all the values correctly present). I am not sure why am I getting this error if the records are successfully imported? Any help on this would be appreciated.
    In import wizard below selection was made-
    Select the method Import should use to uniquely identify matching records. You can use either the External Unique ID or On Demand Row ID or the following On Demand predefined fields: Account Name, Location
    * External Unique ID
    If the unique record identifier of the record being imported matches a record already in On Demand:
    * Don't Import Duplicate Records
    If the unique record identifier of the record being imported does not match a record already in On Demand:
    * Create New Record
    The import process may encounter field values that do not match the picklist values for fields in Oracle CRM On Demand. Please decide how to resolve these conflicts:
    * Don't Import Field Value
    This option allows you to decide if import should create a new record for missing associations (related records) in your data file.
    For the current import, this option will apply to the following associated record fields: Parent Account
    * Create Associated Record
    Thanks,
    Gunjan

    *'Create Associated Record’ & ‘Don't Create Associated Record’*
    If you are inserting Contacts. Account for that Contact is an Associated Record.
    And if you gave 'Create Associated Record’ it will create Accounts for that Contact if it didn't find a matching Account and insert the Contact.
    If you gave ‘Don't Create Associated Record’ it will not create Account and the Contact.
    Its better to give ‘Don't Create Associated Record’ since the Account you gave in contact is case sensitive.
    So if u give 'Create Associated Record’ then while inserting contact if the account is not exactly matching even though it exist in some other case(lower/upper)
    it wont map to that account which you meant and will create a new Account and map it to that contact.
    Hope you got some idea.
    Regards,
    Lemu

  • Insert OR Update with Data Loader?

    Hello,
    can i Insert OR Update at same time with Data Loader?
    How can i do this?
    Thanks.

    The GUI loader wizard does allow for this including automatically adding values to the PICKLIST fields.
    However, if you mean the command line bulk loader, the answer is no. And to compound the problem, the command line version will actually create duplicates for some of the objects. It appears that the "External Unique Id" is not really "unique" (as in constrained via unique index) for some of the objects. So be very careful when you prototype something with the GUI loader and then reuse the map on the command line version.
    You will find that some objects can work well with the command line loader (some objects will not).
    Works well (just a few examples):
    Account (assuming your NAME,LOCATION fields are unique).
    Financial Product
    Financial Account
    Financial Transaction
    Will definitely create duplicates via command line bulk loader:
    Contact
    Asset
    Also be aware that you might hear that during a go-live that Oracle will remove the 30k record limit on bulks loads (temporarily). I have not had any luck with Oracle Support making that change (2 clients specifically in the last 12 months).

  • Powershell script for average message size and message sent

    Regarding this script from a Technet blog:
    #mjolinor
    #02/24/2011
    #requires -version 2.0
    $today = get-date
    $rundate = $($today.adddays(-1)).toshortdatestring()
    $outfile_date = ([datetime]$rundate).tostring("yyyy_MM_dd")
    $outfile = "email_stats_" + $outfile_date + ".csv"
    $dl_stat_file = "DL_stats.csv"
    $accepted_domains = Get-AcceptedDomain |% {$_.domainname.domain}
    [regex]$dom_rgx = "`(?i)(?:" + (($accepted_domains |% {"@" + [regex]::escape($_)}) -join "|") + ")$"
    $mbx_servers = Get-ExchangeServer |? {$_.serverrole -match "Mailbox"}|% {$_.fqdn}
    [regex]$mbx_rgx = "`(?i)(?:" + (($mbx_servers |% {"@" + [regex]::escape($_)}) -join "|") + ")\>$"
    $msgid_rgx = "^\<.+@.+\..+\>$"
    $hts = get-exchangeserver |? {$_.serverrole -match "hubtransport"} |% {$_.name}
    $exch_addrs = @{}
    $msgrec = @{}
    $bytesrec = @{}
    $msgrec_exch = @{}
    $bytesrec_exch = @{}
    $msgrec_smtpext = @{}
    $bytesrec_smtpext = @{}
    $total_msgsent = @{}
    $total_bytessent = @{}
    $unique_msgsent = @{}
    $unique_bytessent = @{}
    $total_msgsent_exch = @{}
    $total_bytessent_exch = @{}
    $unique_msgsent_exch = @{}
    $unique_bytessent_exch = @{}
    $total_msgsent_smtpext = @{}
    $total_bytessent_smtpext = @{}
    $unique_msgsent_smtpext=@{}
    $unique_bytessent_smtpext = @{}
    $dl = @{}
    $obj_table = {
    Date = $rundate
    User = $($address.split("@")[0])
    Domain = $($address.split("@")[1])
    Sent Total = $(0 + $total_msgsent[$address])
    Sent MB Total = $("{0:F2}" -f $($total_bytessent[$address]/1mb))
    Received Total = $(0 + $msgrec[$address])
    Received MB Total = $("{0:F2}" -f $($bytesrec[$address]/1mb))
    Sent Internal = $(0 + $total_msgsent_exch[$address])
    Sent Internal MB = $("{0:F2}" -f $($total_bytessent_exch[$address]/1mb))
    Sent External = $(0 + $total_msgsent_smtpext[$address])
    Sent External MB = $("{0:F2}" -f $($total_bytessent_smtpext[$address]/1mb))
    Received Internal = $(0 + $msgrec_exch[$address])
    Received Internal MB = $("{0:F2}" -f $($bytesrec_exch[$address]/1mb))
    Received External = $(0 + $msgrec_smtpext[$address])
    Received External MB = $("{0:F2}" -f $($bytesrec_smtpext[$address]/1mb))
    Sent Unique Total = $(0 + $unique_msgsent[$address])
    Sent Unique MB Total = $("{0:F2}" -f $($unique_bytessent[$address]/1mb))
    Sent Internal Unique = $(0 + $unique_msgsent_exch[$address])
    Sent Internal Unique MB = $("{0:F2}" -f $($unique_bytessent_exch[$address]/1mb))
    Sent External Unique = $(0 + $unique_msgsent_smtpext[$address])
    Sent External Unique MB = $("{0:F2}" -f $($unique_bytessent_smtpext[$address]/1mb))
    $props = $obj_table.ToString().Split("`n")|% {if ($_ -match "(.+)="){$matches[1].trim()}}
    $stat_recs = @()
    function time_pipeline {
    param ($increment = 1000)
    begin{$i=0;$timer = [diagnostics.stopwatch]::startnew()}
    process {
    $i++
    if (!($i % $increment)){Write-host “`rProcessed $i in $($timer.elapsed.totalseconds) seconds” -nonewline}
    $_
    end {
    write-host “`rProcessed $i log records in $($timer.elapsed.totalseconds) seconds”
    Write-Host " Average rate: $([int]($i/$timer.elapsed.totalseconds)) log recs/sec."
    foreach ($ht in $hts){
    Write-Host "`nStarted processing $ht"
    get-messagetrackinglog -Server $ht -Start "$rundate" -End "$rundate 11:59:59 PM" -resultsize unlimited |
    time_pipeline |%{
    if ($_.eventid -eq "DELIVER" -and $_.source -eq "STOREDRIVER"){
    if ($_.messageid -match $mbx_rgx -and $_.sender -match $dom_rgx) {
    $total_msgsent[$_.sender] += $_.recipientcount
    $total_bytessent[$_.sender] += ($_.recipientcount * $_.totalbytes)
    $total_msgsent_exch[$_.sender] += $_.recipientcount
    $total_bytessent_exch[$_.sender] += ($_.totalbytes * $_.recipientcount)
    foreach ($rcpt in $_.recipients){
    $exch_addrs[$rcpt] ++
    $msgrec[$rcpt] ++
    $bytesrec[$rcpt] += $_.totalbytes
    $msgrec_exch[$rcpt] ++
    $bytesrec_exch[$rcpt] += $_.totalbytes
    else {
    if ($_messageid -match $messageid_rgx){
    foreach ($rcpt in $_.recipients){
    $msgrec[$rcpt] ++
    $bytesrec[$rcpt] += $_.totalbytes
    $msgrec_smtpext[$rcpt] ++
    $bytesrec_smtpext[$rcpt] += $_.totalbytes
    if ($_.eventid -eq "RECEIVE" -and $_.source -eq "STOREDRIVER"){
    $exch_addrs[$_.sender] ++
    $unique_msgsent[$_.sender] ++
    $unique_bytessent[$_.sender] += $_.totalbytes
    if ($_.recipients -match $dom_rgx){
    $unique_msgsent_exch[$_.sender] ++
    $unique_bytessent_exch[$_.sender] += $_.totalbytes
    if ($_.recipients -notmatch $dom_rgx){
    $ext_count = ($_.recipients -notmatch $dom_rgx).count
    $unique_msgsent_smtpext[$_.sender] ++
    $unique_bytessent_smtpext[$_.sender] += $_.totalbytes
    $total_msgsent[$_.sender] += $ext_count
    $total_bytessent[$_.sender] += ($ext_count * $_.totalbytes)
    $total_msgsent_smtpext[$_.sender] += $ext_count
    $total_bytessent_smtpext[$_.sender] += ($ext_count * $_.totalbytes)
    if ($_.eventid -eq "expand"){
    $dl[$_.relatedrecipientaddress] ++
    foreach ($address in $exch_addrs.keys){
    $stat_rec = (new-object psobject -property (ConvertFrom-StringData (&$obj_table)))
    $stat_recs += $stat_rec | select $props
    $stat_recs | export-csv $outfile -notype
    if (Test-Path $dl_stat_file){
    $DL_stats = Import-Csv $dl_stat_file
    $dl_list = $dl_stats |% {$_.address}
    else {
    $dl_list = @()
    $DL_stats = @()
    $DL_stats |% {
    if ($dl[$_.address]){
    if ([datetime]$_.lastused -le [datetime]$rundate){
    $_.used = [int]$_.used + [int]$dl[$_.address]
    $_.lastused = $rundate
    $dl.keys |% {
    if ($dl_list -notcontains $_){
    $new_rec = "" | select Address,Used,Since,LastUsed
    $new_rec.address = $_
    $new_rec.used = $dl[$_]
    $new_rec.Since = $rundate
    $new_rec.lastused = $rundate
    $dl_stats += @($new_rec)
    $dl_stats | Export-Csv $dl_stat_file -NoTypeInformation -force
    Write-Host "`nRun time was $(((get-date) - $today).totalseconds) seconds."
    Write-Host "Email stats file is $outfile"
    Write-Host "DL usage stats file is $dl_stat_file"
    #Contact information
    #[string](0..33|%{[char][int](46+("686552495351636652556262185355647068516270555358646562655775 0645570").substring(($_*2),2))})-replace " "
    I would to target just one specific HT server in the environment, instead of all of them.
    How do I do this?

    I believe the line I need to target is this line:
    $hts = get-exchangeserver |? {$_.serverrole -match "hubtransport"} |% {$_.name
    But I'm not entirely sure how to target just one specific HT server?

Maybe you are looking for

  • How to capture videos with my BB8320 curve

    I am now using BlackBerry Desktop Manager software version 4.60. But I dont see any video capture out there. Is this below one device software 4.50 I found the old version? I want to record videos and read html emails. Thank you for advice.  Features

  • Set hyperlink in excel

    I am importing one excel file INPUT.xls which contain one columnl with hyperlink which opens a PDF file. From this file i am generating a new file with that hyperlinked column Which contain the same link as INPUT.xls file has. How can i get that link

  • Question about not working CPU

    How would I know if the CPU is not working on my laptop?

  • IP4700 discontinued?

    I have an iP4700 from many years ago.  It is still going strong and I love it.  I was looking to buy another for a Christmas gift but it appears to be discontinued.  Is that right and if yes, what is the closest replacement model?  A wireless version

  • How do you convert mov to wav files?

    How do you convert .mov files to .wav files in iMovie 10? I can no longer find the Share/Quicktime/Options tabs.