Posts Tagged LinkedIn SalesLogix RMS Mobile

Look It Up in the HELP file – Are You Kidding??!!??

Nope – I am not!

Anywhere from one to a half-dozen times a day I see  on-line communities/forums where individuals are posting a “help me” type of question. The subject matter runs from something very simple (ex: “.. how do I select a filter….”) to something very complex (ex: “…how do I move my SQL db from on-site to cloud…”).

Now there is NOTHING WRONG with posting to a group to tap into the collective “crowd knowledge” (did I really write that?.. sounds like a good subject for a blog one of these days ;-). However, you are probably missing a source of info which is right at your fingertips (or mouse click away). I am talking about the “HELP” facility that most programs have.

Over the years we have moved from having a manual supplied w/the app to having an icon and/or menu item that connects to the built-in manual – the HELP facility. Most of these help setups are context sensitive and/or have a search mechanism . One such application is Saleslogix. It’s got a really great context-sensitive help facility.. and a lot of internal hyper-links. Every time I poke around it I am amazed as to what I find.

SO – don’t stop posting to on-line communities/forums – but do take a peek at the help facilities that are right in front of you.

Advertisements

, , , , , ,

Leave a comment

IE 10 installs automatically on Windows Updates

If you have Automatic Update turned on:
” Users of Windows 7 Service Pack 1 (SP1), and 64-bit version of Windows Server 2008 R2 SP1 will receive Internet Explorer 10 as an important update if they have Automatic Updates enabled, or if they perform a manual scan for updates on Windows Update.”

NOTE: installations which use “WSUS” – Windows Server Update Services” and control the updates to their installations can easily block this. For individual PC’s NOT being managed by WSUS (most of us 😉 there is a “blocker kit“.

Here is the direct download: IE10-BLOCKER

, , , ,

Leave a comment

SQL Azure vrs. Amazon RDS SQL Server – Which Way?

SQL Server Central recently published an article on the (above) subject on July 11,2012. The author (Peter Marriott) makes an interesting statement:
“..It doesn’t take long to realise that Amazon RDS SQL Server is a very different beast from SQL Azure.”

He goes into features, power and size, Backup and Availability, Administration, and finishes up with a good “pro/con” set of statements on both approaches.

My takeaway was (IMHO) if you really want a “scale-able system”, Amazon is the way to go – NOT Azure! However, I do invite you to go and read the (fairly short and concise) article and comment.

, , , , , , ,

Leave a comment

How Do I Run a VBScript OUTSIDE of SalesLogix?

VBScripts CAN be run completely outside of SalesLogix. BUT you do not have access to the SalesLogix Application object.

First you need to be able to make a connection to the (SalesLogix) Provider. The key part here is to pass in a valid (SalesLogix Provider) connection string. I usually create a “.udl” file to do all the heavy lifting here. This is what the contents of a typical “.udl” looks like:

 [oledb]
; Everything after this line is an OLE DB initstring
Provider=SLXOLEDB.1;Password=mypassword;Persist Security Info=True;User ID=admin;Initial Catalog=SALESLOGIXV754DEV;Data Source=GOBIDEV;Extended Properties="PORT=1706;LOG=ON;CASEINSENSITIVEFIND=ON;AUTOINCBATCHSIZE=1;SVRCERT=;"

Now we need to concentrate on the actual script itself. For this example we assume the “.udl” file is called MyConnection.udl and is located at the root of “C” (C:\MyConnection.udl) :

 
Sub Main
  Dim objCon  'SalesLogix Connection Object
  Dim sConnString
  Dim strSQL00
  Dim objMyRS
  Dim blnNewSlxConnection

  'Get a connection to SalesLogix - Cannot use the Application Object in an Agent or outside of SalesLogix
  ' We have to do all of this "outside"
  sConnString= "File Name=C:\MyConnection.udl"

  'Now connect up
  Set objCon = CreateObject("ADODB.Connection")
  If Err.Number <> 0 Then
    blnNewSlxConnection= False
    If IsObject(objCon) Then
      Set objCon = Nothing
    End If
    Err.Clear
    Exit Sub
  Else
    blnNewSlxConnection= True
    objCon.ConnectionString = sConnString
    objCon.Open
  End If

  'Do some work - get data from USERINFO table
  strSQL00 = "SELECT * FROM sysdba.USERINFO"
  Set objMyRs = CreateObject("ADODB.Recordset")
  With objMyRS
    .CursorType = adOpenStatic
    .CursorLocation = adUseClient
    .LockType = adLockBatchOptimistic
    .Open strSQL00, objCon
  End With
  'Now pull in data from USERINFO... and do something with it
  If Not (objMyRS.EOF Or objMyRS.BOF) Then
    'OK
    With objMyRS
      If .RecordCount > 0 Then
        'We have data - now do work...
        While NOT (.EOF or .BOF)
          strUserID = .Fields("USERID").Value
          strLastName = .Fields("LASTNAME").Value
          'Now do some work w/this data
          Call WriteResultsToTraceFile(strUserID,strLastName)
          .MoveNext
        Wend
     Else
       'No data found...
     End If
  End With
  'All done..close shop
  If IsObject(objMyRS) Then
    objMyRS.Close
  End If
  Set objMyRS = Nothing
  If IsObject(objCon) Then
    objCon.Close
  End If
  Set objCon = Nothing

The above is a very simple framework and certainly can be expanded. I have created an include file that contains several of the key functions:

Function NewSlxConnection(ByVal sConnString, objCon)
Function CloseSlxConnection(objCon)
Function GetRecordSetObj(objCon,ByVal strSQL)
Sub CloseRecordSetObj(objRS)
Function ChkError(strInfo)
Function FixQuote(ByVal sSrcLine)
Function ExecuteSQL(objCon, ByVal sSQL00)
Function GetScalarValue(objCon, ByVal sSQL00)
Function GetMultipleScalarValue(objCon,ByVal strSQL, ByVal iRecCount, strValue)
Function GetMultipleValuesFromDB(objCon, ByVal strSQL, strValue)
Function CreateIdFor(objCon, ByVal sTableName)
Function CreateBlockOfIDFor(objCon,ByVal strTableName, ByVal sRecCount, strRecordID)
Function IsEmptyRecordset(ByRef objRS)
Function GetRecordCount(objCon,ByVal TableName, ByVal PKName, ByVal sWhere)

We use this include file in all our external VBScripts and for a small fee we do license it to anyone who is interested (along with some samples/examples).

, , , , ,

Leave a comment

More HTML5!

A while back I blogged on HTML5 why should you care. The more I dig into it (HTML5) the more I see the power and simplicity of it. THIS is the standard ALL web pages should conform to. It’s time to throw ALL that “junk” out and have pages that meet a OPEN standard.

The best way to to get your hands (and mindset) around this subject is to start searching the net using keywords like: “HTML5, javascript, canvas, samples/code/examples, etc…”.  Here are some of the sites/pages I found out there:

You cannot talk about HTML5 without discussing CSS3. CSS3 is where browsers are even further behind on standards. The site caniuse has some info that is very helpful. You will see that even though IE9 supports a lot of HTML5, it supports very little CSS3.

Just a short word on the “scripting” side of HTML5/CSS3 sites/pages – javascript is the current front leader in how these sites/pages are “programmed”.  I’ll be discussing this a bit more in a later blog along with some examples. For now, jump over to Wikipedia and take a look.

Leave a comment

Trashy Data Bites/Bytes Back!

I was showing someone the new Sage SalesLogix html5 app yesterday on my Droid X and telling him it was connected to my live SalesLogix system (not a demo site). Of course Murphy’s Law jumped right in front of me and it threw up an error dialog immediately when attempting to open up the first lead on the screen:

“A server error occurred while requesting data”

I clicked OK,  then on the back arrow and all was fine. To see if this was a system or data issue, an attempt was made to open the 2nd lead in the list.. it opened fine. Going back to the first.. failed.. again..

Using (Firefox/Firebug), the problem was was quickly traced to the LEAD.LEADSOURCEID containing a “blank” in the LEAD record(s) which were throwing errors (yep.. found about twenty of them). A Simple SQL update statement via ExecuteSQL (in the Admin app so it would synchronize) resolved the issue immediately:

UPDATE LEAD SET LEADSOURCEID = NULL WHERE LEADSOURCEID = ”

This was just one example where “trashy data” can cause you to not obtain desired results. It cannot be stressed enough you MUST constantly be checking your database for “bad data”. Here are a few hints as to what to look for:
A – “blanks” where there should be NULLS (usually a “foreign key” field)
B –  Foreign Key Fields that have valid (looking) values but are pointing to non-existing records (EX: USERID in Activity/History pointing to users that have been deleted from the system).

Leave a comment