Home | Forums | Contact | Search | Syndication  
 
 [login] [create account]   Monday, November 25, 2024 
 
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!
 Administration Forums - Synchronization
Forum to discuss SalesLogix synchronization and remote database management. View the code of conduct for posting guidelines.
Forums RSS Feed


 Back to Forum List | Back to Synchronization | New ThreadView:  Search:  
 Author  Thread: Sync Server Error
Rodrigo Ginyaume
Posts: 20
 
Sync Server ErrorYour last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 02 Feb 07 8:00 AM
fiogf49gjkf0d
Hello to all!
I run an agent in the sync ( a script that import data automatically ) and it shows an error like this: ...Variable Undefined: Application, at line...
The lines affedted are:
-Application.GetNewConnection
-Application.GetIdFor..
-Etc
The script executed by the Click Event of a button in the Client works normally!

Could anybody help me? Thanks.

Rodrigo.
[Reply][Quote]
Frank Chaffin
Posts: 475
 
Re: Sync Server ErrorYour last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 02 Feb 07 8:27 AM
fiogf49gjkf0d
When a script is run from an Agent it is run in a special stripped down environment as a detached process. I have found that is is very fussy about syntax. When I debug a script I start small then build it up in steps until I find the problem area.

Check to make sure there a no message boxes. Also make sure all you variables are defined.

BTW, I used to have use complex scripts to do imports. I have converted them all to VB6 programs.
[Reply][Quote]
Frank
Posts: 25
 
Re: Sync Server ErrorYour last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 26 Feb 07 2:04 AM
fiogf49gjkf0d
Hi Rodrigo
what do you select in the action field by create an Agent?

Why my question is: I'll import too any data over the agent but it will not work.
I dont get any error messages. What I see in the syncLog-file is that the agent are started
but nothing happens in the database.

have you mor information about this?

regards
Frank Kress
[Reply][Quote]
Rodrigo Ginyaume
Posts: 20
 
Re: Sync Server ErrorYour last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 26 Feb 07 8:06 AM
fiogf49gjkf0d
Hi Frank,
I had the following problem:
I don´t know exactly why but the sync didn´t recognize me some functions like Application.BasicFuntions.GetNewConnection, A.B.GetIdFor, etc so I had to make my own functions similar to these and it worked. That´s the way I solved it, creating a new ADODB connection and a function that receives a table and returns an ID. If you have the same problem and need some code, let me know.

Kind regards,
Rodrigo.
[Reply][Quote]
Ian Fitzpatrick
Posts: 146
 
Re: Sync Server ErrorYour last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 27 Aug 07 3:34 PM
Rodrigo,
I am facing the same problem and would be interested in some sample code, could you please post it here?

Thank you!
Ian
[Reply][Quote]
Rodrigo Ginyaume
Posts: 20
 
Re: Sync Server ErrorYour last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 30 Aug 07 12:28 PM
Instead of Application.GetNewConnection you can use:

Function GetAgentConnection
Dim SLXConnectionString

SLXConnectionString = "Provider=SalesLogix OLE DB Provider;Integrated Security=""""assword=USERPASSWORDersist Security Info=False;User ID=USERNAME;Initial Catalog=DATABASENAME;Data Source=SERVERNAME;Extended Properties=""PORT=1706;LOG=ON;CASEINSENSITIVEFIND=ON;"";Location="""";Mode=ReadWrite"


Set oConection = CreateObject ("ADODB.Connection")


oConection.ConnectionString = sConnectionString
oConection.Open

Set GetAgentConnection = oConection
End Function


And Instead of Application.BasicFunctions.GetIDFor you can use:

Function ObtenerNuevoID (byVal tabla, byVal PrimerCaracterID)

Dim oConnection
Set oConnection = GetAgentConnection
Dim strSQL
Dim campo
Dim oRecordSet
Dim ID
Id =""
Dim caracteres(36)

campo = tabla & "ID"
strSQL = "Select " & campo & " From " & tabla & " where " _
& "createDate = (Select max(CreateDate) From " & tabla & ")"

OpenRecordSet oRecordSet, oConnection, strSQL

If not oRecordSet.EOF Then
Id = oRecordSet.Fields(0).Value
End If

If (Id = "") OR (isnull(Id)) Then
Id = PrimerCaracterId & "00000000000"
ObtenerNuevoId = Id
Exit Function
End If

Caracteres(1) = "0"
Caracteres(2) = "1"
Caracteres(3) = "2"
Caracteres(4) = "3"
Caracteres(5) = "4"
Caracteres(6) = "5"
Caracteres(7) = "6"
Caracteres(8) = "7"
Caracteres(9) = "8"
Caracteres(10) = "9"
Caracteres(11) = "A"
Caracteres(12) = "B"
Caracteres(13) = "C"
Caracteres(14) = "D"
Caracteres(15) = "E"
Caracteres(16) = "F"
Caracteres(17) = "G"
Caracteres(18) = "H"
Caracteres(19) = "I"
Caracteres(20) = "J"
Caracteres(21) = "K"
Caracteres(22) = "L"
Caracteres(23) = "M"
Caracteres(24) = "N"
Caracteres(25) = "O"
Caracteres(26) = "P"
Caracteres(27) = "Q"
Caracteres(28) = "R"
Caracteres(29) = "S"
Caracteres(30) = "T"
Caracteres(31) = "U"
Caracteres(32) = "V"
Caracteres(33) = "W"
Caracteres(34) = "X"
Caracteres(35) = "Y"
Caracteres(36) = "Z"

Dim Id2(12)
Dim i
Dim Salir

For i=1 to 12
Id2(i) = Mid (Id,i,1)
Next
If Id2(12) <> "Z" Then
Salir = False
For i=1 to Ubound(Caracteres)
If Id2(12) = Caracteres(i) and Not (Salir) Then
Id2(12) = Caracteres(i+1)
Salir = True
End If
Next
Else
Salir = False

Dim y
For y = 11 to 2 Step -1
If Id2(y) <> "Z" Then
For i=1 to Ubound(Caracteres)
If Id2(y) = Caracteres(i) and Not(Salir) Then
Id2(y) = Caracteres(i+1)
Id2(y+1) = 0
Salir = True
End If
Next
End If
Next

End If

Id = ""
For i=1 to Ubound(Id2)
Id = Id & Id2(i)
Next
ObtenerNuevoId = Id

End Function

You could improve this function by checking and updating the SITEKEYS table.


[Reply][Quote]
Bob (RJ)Ledger
Posts: 1103
Top 10 forum poster: 1103 posts
 
Re: Sync Server ErrorYour last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 03 Sep 07 8:37 AM
Quote:
Originally posted by Rodrigo Ginyaume

Instead of Application.GetNewConnection you can use:

Function GetAgentConnection
Dim SLXConnectionString

SLXConnectionString = "Provider=SalesLogix OLE DB Provider;Integrated Security=""""assword=USERPASSWORDersist Security Info=False;User ID=USERNAME;Initial Catalog=DATABASENAME;Data Source=SERVERNAME;Extended Properties=""PORT=1706;LOG=ON;CASEINSENSITIVEFIND=ON;"";Location="""";Mode=ReadWrite"


Set oConection = CreateObject ("ADODB.Connection")


oConection.ConnectionString = sConnectionString
oConection.Open

Set GetAgentConnection = oConection
End Function


And Instead of Application.BasicFunctions.GetIDFor you can use:

......

End Function

You could improve this function by checking and updating the SITEKEYS table.




Since you are creating a connection via the provider I'd highly recommend you call the special SalesLogix procedure "slx_DBIDS" and not try to make up your own. It's very dangerous to mess w/SITEKEYS.

EX: (Not tested.. but should work)


Function CreateIDFor(strTableName)
Dim cnnSLX
Dim rstDBID
Dim strRecordID

strRecordID = ""
Set cnnSLX = GetAgentConnection
Set rstDBID = cnnSLX.Execute("slx_DBIDs('" & strTableName & "',1)")
If Not rstDBID.EOF Then
strRecordID = rstDBID.Fields(0)
End If
rstDBID.Close
cnnSLX.Close
Set rstDBID = Nothing
Set cnnSLX = Nothing

CreateIDFor = strRecordID
End Function


--
rjl
[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 © 2024 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): 11/25/2024 8:25:24 PM