Login / Register  search  syndication  about

          Ryan Farley's Blog

Ryan Farley on .NET Development with a focus on CRM Development for SalesLogix

Awesome News for the SalesLogix Provider - Support for Auto-Increment Primary Keys in SP1

This is some great news. Just caught an announcement from Stu Carnie, the man behind the provider at SalesLogix, about a huge change in the SalesLogix Provider coming in SP1. This will make SalesLogix imports using DTS really simple now. Awesome stuff!

Auto-increment support for SalesLogix Primary Keys

New to version 6.2 SP1 of SalesLogix is support for auto-increment primary keys, using the standard SalesLogix key generation algorithms.

This support functions exactly how auto-increment (identity) columns work in SQL Server, so when a new record is added to a recordset, but the primary key value is omitted, the OLE DB Provider will automatically generate the key value.   If ADO is being used, it will then populate the primary key in the recordset after calling the Update or Update Batch method of the recordset.  This functionality is achieved with support for the @@IDENTITY variable in the SalesLogix OLE DB Provider.

The @@IDENTITY variable works the same as in SQL Server, where it represents the last auto-increment value executed on this connection.  It is possible to even manually execute a statement like “SELECT * FROM ACCOUNT WHERE ACCOUNTID = @@IDENTITY”, to retrieve the last row that was inserted with an auto-incremented key.

This functionality can be easily demonstrated in ADO tools such as ADO Explorer, by selecting an editable recordset and specifying values for all the necessary columns in the editable grid, except the primary key.  As you move to the next row, to post the inserted record to the database, the primary key value will be displayed in the primary key column, assuming it was included in the SELECT statement.  It is not a requirement to include the primary key in the SELECT.

Metadata in the form of a new column has been added to the SECTABLEDEFS system table, called AUTOINCREMENT.  It should contain either “T”, “F” or NULL and is case-sensitive.  “T” is only supported for the PRIMARY KEY, and consequently it is ignored for any other columns.  A value other than “T” is treated as “F”.
This is represented as a new checkbox for the key column within the DB Manager of the Architect or Admin tools.

What's This?
  
Bookmark and Share

About Ryan Farley

   Ryan Farley is the Director of Development for Customer FX and creator of slxdeveloper.com. He's been blogging regularly about SalesLogix since 2001 and believes in sharing with the community. He loves C#, Javascript, Python, web development, open source, and Linux. He also loves his hobby as an amateur filmmaker.

View the SalesLogix Mobile Seveloper Series
View the SalesLogix SData Developer Series
View the Git for the SalesLogix Developer series



Related Content
   Delivering Data & Schema in SalesLogix Bundles
If you've had any exposure to SalesLogix, you'll have used a bundle. Bundles are great, but when
Posted on Apr 24, 2014 by Ryan Farley to Ryan Farley's Blog
 
   Using a Test Plan
So you have approved the Statement of Work (SOW) for some modifications and are awaiting the delivery of
Posted on Mar 13, 2014 by George Jensen to George Jensen's Blog
 
   Creating a Saleslogix Ticket Pretty Prefix and Suffix in External Applications
Some entities in SalesLogix, such as Tickets, use a "pretty key" as an easier to use value to r
Posted on Feb 28, 2014 by Ryan Farley to Ryan Farley's Blog
 
   Evaluating strings in C# Code snippets
When checking for two (or more) different values for a property in a code snippet, you can't simply l
Posted on Dec 13, 2013 by Jason Buss to Jason Buss' Blog
 
   Updates to the SalesLogix Mobile Developer Toolkit
I've released some updates to the SalesLogix Mobile Developer Toolkit. This new release adds some fix
Posted on Apr 10, 2013 by Ryan Farley to Ryan Farley's Blog
 
Comments

 

Ted Sturr said:

Yes Ryan, this is great news. One thing that occured to me though is how to identify if a system has service pack 2 installed. Your article identifies whether they are on version 6.1 or 6.2, but now I guess we will then have to do a call to find out which version they are on. Have you tested to see if 6.x displays the proper version information? I knew that 5.x never did.
December 3, 2004 5:30 PM
 

Tom said:

Can somebody give me a Example for DTS ActiveX Script?
May 19, 2005 7:50 AM
 

Michael said:

This worked great for me. Just tested synchronization and that worked fine too. It's nice having this option for data transfer and not having to upgrade to Scribe Insight or Inaport. Thanks!
June 3, 2005 12:30 PM
 

Vani said:

Insert is not a problem, but how can update a record?
Can somebody give me a Example.
June 8, 2005 9:15 AM
 

ian said:

It's about time.
June 9, 2005 4:49 AM
 

Ryan Farley said:

Vani,

To update a record you can use any standard method you'd use against the database (SQL Update statement, updateable recordset, command object, etc etc etc)

-Ryan
June 13, 2005 5:58 PM
 

Guillermo Cardona said:

Can someone give an example of inserting data from say an access database to a custom table, and have the ids auto populate?
October 17, 2005 11:52 AM
 

Ryan Farley said:

Guillermo,

It is no different than working with autoincrement fields in SQL or Access. You simply omit the ID field from the insert and it is automatically created (assuming you've turned on AutoIncrement for that particular table).

-Ryan
October 17, 2005 2:00 PM

Leave a Comment

(required)  
(optional)
(required)  
Add
All contents Copyright © 2014 Customer FX Corporation
Customer FX Corporation
2324 University Avenue West, Suite 115
Saint Paul, Minnesota 55114
Tel: 800.728.5783

  Follow @CustomerFX on twitter
Follow the best news, tips, and articles
  Subscribe to Customer FX on youtube
Watch SalesLogix tutorial videos from Customer FX
Login / Register