Archive for April 20th, 2007

Posted on Apr 20th, 2007

What is Open Source Software?

Open Source Software (OSS) is software that is available under a special license that allows everyone to access the program code as well as the executable program. This means that anyone is able to edit the program code and therefore customise the software for their own needs.

This ability to access the source code is protected by the license under which the software is released. There is a great many Open Source licenses, but they all have one thing in common, they protect the right of the user of the software to access and modify it in any way they desire.

This ability to modify applications is in direct contrast to the Closed Source Software model. In Closed Source only the creator of the application has access to the source code, and therefore, only the creator is able to modify the application.

Being able to change the way an Open Source Software application operates is critical in many business environments. No two businesses are identical and therefore it is unlikely that any one piece of software will satisfy the needs of all potential users. Without the ability to modify their software a company is restricted in its operations by that software.

While it is true that no two businesses are identical, it is also true that there are a great many common business practices that are repeated across organisations. These common practices can be well served by "standard" software. The remaining practices, those that are different from competitors are, typically, the ones that give a business an advantage in the marketplace.

Since these non-standard practices are key to the organisations success it is critical that any software solutions adopted by the company also support these non-standard processes. It is in this need to adapt software to a companies specific needs that makes Open Source Software attractive. Since the company has access to the source, the application can be freely adapted to suit the unique requirements of each user.

Who Pays for Open Source Development?

The ability to customise software is critical to allow an organisation to continue to improve their business processes, but how does a company afford to pay for such customisations?

One of the side effects of allowing any user access to the source code is that the cost of acquiring the software in the first instance is massively reduced. In most cases the source code is available for no cost. This enables the user to divert resources normally allocated to pay software license fees into enhancing the software.

A successful Open Source Software project has a large community of software developers. Many of these developers work as independent contractors and can be employed to customise the software, alternatively, if a company has internal developer resources, they can leverage those skills to perform the customisations.

Does it Really Work?

This all sounds fantastic, but does it really work? Are there Open Source Applications in use in the real world?

Here are a few facts to convince you that it most certainly does work:

- Around 70% of web sites are served by the Open Source Apache HTTPD server.

- In a 2002 survey it was found over 31% of UK and nearly 42% of German companies were using or planning to use OSS.

- In 2001, Debian (an Open Source Operating System), contained over 55 million lines of code and was estimated to have consumed over 14,000 person years in development time. That is a development cost of around 1.89 Billion Dollars (US) yet it is still available with no license fees.

Scott Morris manages the site on satellite code.

Posted on Apr 20th, 2007

1.  Replace Dexterity cursor with SQL Stored Procedure

Dexterity was designed as multiplatform technology (primarily Btrieve, Ctree, SQL Server, potentially Oracle).  Dexterity data retrieving mechanism is based on Range start, Range End, Get First and Get Next clauses.  It  is in fact similar, however a little bit slower to cursors in Transact SQL.  Long ranges in Dexterity are good candidates for replacement by SQL stored procedures with update clause.

For example, consider to replace following Dexterity code:

Range clear SOP_HDR_WORK.

Clear ‘SOP Type’ of table SOP_HDR_WORK.

Clear ‘SOP Number’ of table SOP_HDR_WORK.

Range start table SOP_HDR_WORK.

Get first table SOP_HDR_WORK.

While errEOF do

                If ‘Salesperson ID’ of table SOP_HDR_WORK = “ERIC” then

                                Edit table SOP_HDR_WORK.

Set ‘Salesperson ID’ of table SOP_HDR_WORK to “BILL”.

                Save table SOP_HDR_WORK.

End if.

Get next table SOP_HDR_WORK.

End while.

 

With the following SQL code

 

Update SOP10100 set SLPRSNID=”BILL” where SLPRSNID=”ERIC”

 

Bringing new data into a table in Dexterity is based on change/edit table clauses, in SQL they are equivalent (by performance) to inserting one record at the time.

When having long cycle of change/edit table in Dexterity, consider replacement by SQL stored procedure with Insert Into clause.

 

2.  Use Crystal Reports, call them from via VBA in Modified form

The easy way to call Crystal Report from your VBA code from your modified form:

Const RPT = "D:\Clients\TheClient\Invoice Status.rpt"

Public crwApplication As CRPEAuto.Application

Public crwReport As CRPEAuto.Report

Private Sub Print_BeforeUserChanged(KeepFocus As Boolean, CancelLogic As Boolean)

If SalesTransactionInquiryZoo.Type = "Invoice" Then

If crwApplication Is Nothing Then

                                Set crwApplication = CreateObject("Crystal.CRPE.Application")

End If

Set crwReport = crwApplication.OpenReport(RPT)

crwReport.ParameterFields(1).SetCurrentValue (DocumentNo)

crwReport.Preview

End If

3.  Use Direct .Net Web Publishing from Great Plains Database

The easiest and safest way is to use eConnect - SDK with VB samples, created for eCommerce programmers and web designers to call the functionality in Microsoft Great Plains.  If your company can not afford eConnect - create your own set of stored procedures to address Great Plains database and go ahead with Visual Studio.Net to do the web publishing.

Happy upgrading and customizing! if you want us to do the job - give us a call 1-866-528-0577! help@albaspectrum.com

 

Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies – USA nationwide Microsoft CRM, Microsoft Great Plains customization company, based in Chicago, California, Texas, New York, Georgia, Arizona, Minnesota, Washington, Colorado and Florida and having locations in multiple states and internationally (www.albaspectrum.com), he is Dexterity, SQL, C#.Net, Crystal Reports and Microsoft CRM SDK developer.