Home | Forums | Contact | Search | Syndication  
 
 [login] [create account]   Friday, June 20, 2025 
 
slxdeveloper.com Community Forums  
   
The Forums on slxdeveloper.com are now retired. The forum archive will remain available for the time being. Thank you for your participation on slxdeveloper.com!
 Architect Forums - SalesLogix Scripting & Customization
Forum to discuss writing script in Architect plugins for SalesLogix & general SalesLogix customization topics (for Windows client only). View the code of conduct for posting guidelines.
Forums RSS Feed


 Back to Forum List | Back to SalesLogix Scripting & Customization | New ThreadView:  Search:  
 Author  Thread: How to generate IDs for tables in Saleslogix without using "SLX_DBIDs"
CGK
Posts: 34
 
How to generate IDs for tables in Saleslogix without using "SLX_DBIDs"Your last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 11 Sep 07 5:35 AM
Hi All!

Can anyone suggest me how I can generate IDs for a table to insert records into it without using SLX_DBIDs.

I'm particular about not using SLX_DBIDs because I'm using an SQLOLEDB.1 and not SLX OleDB.
[Reply][Quote]
Vladimir
Posts: 93
 
Re: How to generate IDs for tables in Saleslogix without using "SLX_DBIDs"Your last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 11 Sep 07 5:44 AM
CREATE PROCEDURE [sysdba].[SLXNEWID](
@TABLE VARCHAR(64) ,
@ID VARCHAR(12) OUTPUT,
@USER VARCHAR(20) = 'SYSDBA',
@SYSID VARCHAR(64) = 'PRIMARY'
) AS
SET NOCOUNT ON
DECLARE @SITE CHAR(4)
DECLARE @VALUE CHAR(7)
DECLARE @CHR CHAR(37)
DECLARE @F INT
DECLARE @C CHAR
DECLARE @TYPE INT
DECLARE @IDFIELD VARCHAR(64)
DECLARE @SQL NVARCHAR(1000)
SELECT @SITE = SITECODE
FROM sysdba.SYSTEMINFO
WHERE SYSTEMINFOID = @SYSID
IF (@SITE IS NULL) BEGIN
RETURN 'WRONG SYSTEMINFOID!'
END
SELECT @VALUE = KEYVALUE,@TYPE=KEYTYPE
FROM sysdba.SITEKEYS
WHERE KEYDESC=@TABLE AND SITECODE=@SITE
IF (@VALUE IS NULL) BEGIN
SELECT @VALUE = KEYVALUE, @TYPE = KEYTYPE
FROM sysdba.SITEKEYS
WHERE KEYDESC = 'OTHER' AND SITECODE=@SITE
END
SET @CHR='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_'
SET @F=7
SET @VALUE=LEFT(@VALUE,6)+SUBSTRING(@CHR,CHARINDEX(RIGHT(@VALUE,1),@CHR)+1,1)
SET @F = CHARINDEX('_',@VALUE)
WHILE @F>0 BEGIN
SET @F=@F-1
IF (@F=0) BEGIN
RETURN 'NO MORE INDEXES!'
END
SET @VALUE=REPLACE(@VALUE,'_','0')
SET @VALUE=LEFT(@VALUE,@F-1)+SUBSTRING(@CHR,CHARINDEX(SUBSTRING(@VALUE,@F,1),@CHR)+1,1)+RIGHT(@VALUE,7-@F)
SET @F = CHARINDEX('_',@VALUE)
END
EXECUTE('UPDATE SYSDBA.SITEKEYS SET KEYVALUE = '''+@VALUE+''' WHERE SITECODE = '''+@SITE+''' AND KEYTYPE = '+@TYPE)
SELECT @IDFIELD=KEYFIELD
FROM sysdba.RESYNCTABLEDEFS
WHERE TABLENAME=@TABLE

IF @IDFIELD IS NOT NULL BEGIN
SET @ID = NULL
SET @ID=
CASE @TABLE
WHEN 'ACCOUNT' THEN 'A'
WHEN 'CONTACT' THEN 'C'
WHEN 'OPPORTUNITY' THEN 'O'
WHEN 'PRODUCT' THEN 'P'
WHEN 'ADDRESS' THEN 'a'
WHEN 'ASSOCIATION' THEN 'B'
WHEN 'ACTIVITY' THEN 'V'
WHEN 'HISTORY' THEN 'H'
WHEN 'EVENT' THEN 'E'
WHEN 'PROCESS' THEN 'P'
WHEN 'LEADSOURCE' THEN 'L'
WHEN 'COMPETITOR' THEN 'Z'
END
IF @ID IS NULL
BEGIN
SET @SQL=N'SELECT TOP 1 @ID = LEFT('+@IDFIELD+',1) FROM '+@USER+'.'+@TABLE+' ORDER BY '+@IDFIELD+' DESC'
EXECUTE sp_executesql @SQL,
N'@ID VARCHAR(12) OUT',
@ID=@ID OUT
END
END
IF (@ID IS NULL) BEGIN
SET @ID='Q'
END
SET @ID=RTRIM(@ID)+@SITE+@VALUE
GO

Using:
DECLARE @MYID VARCHAR(12)
exec sysdba.SLXNEWID 'ADDRESS', @MYID OUTPUT

If you have no remote clients or remote office you can use any unique id
[Reply][Quote]
CGK
Posts: 34
 
Re: How to generate IDs for tables in Saleslogix without using "SLX_DBIDs"Your last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 11 Sep 07 11:31 PM
Thanks Vladimir!
[Reply][Quote]
Thomas Aussem
Posts: 57
 
Re: How to generate IDs for tables in Saleslogix without using "SLX_DBIDs"Your last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 12 Sep 07 1:54 AM
Maybe a possible alternative:

Have you ever think about switching to AUTOINCREMENT ID

See http://www.slxdeveloper.com/page.aspx?action=viewarticle&articleid=87 for details.

Best regards,
Thomas
[Reply][Quote]
Vladimir
Posts: 93
 
Re: How to generate IDs for tables in Saleslogix without using "SLX_DBIDs"Your last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 12 Sep 07 3:31 AM
Maybe I'm not right, but autoincrement work through slxoledb only
[Reply][Quote]
 Page 1 of 1 
  You can subscribe to receive a daily forum digest in your user profile. View the site code of conduct for posting guidelines.

   Forum RSS Feed - Subscribe to the forum RSS feed to keep on top of the latest forum activity!
 

 
 slxdeveloper.com is brought to you courtesy of Ryan Farley & Customer FX Corporation.
 This site, and all contents herein, are Copyright © 2025 Customer FX Corporation. The information and opinions expressed here are not endorsed by Sage Software.

code of conduct | Subscribe to the slxdeveloper.com Latest Article RSS feed
   
 
page cache (param): 6/20/2025 10:42:22 AM