Looks like Microsoft Great Plains becomes more and more popular, partly because of Microsoft muscles behind it. Now it is targeted to the whole spectrum of horizontal and vertical market clientele. Small companies use Small Business Manager (which is based on the same technology - Great Plains Dexterity dictionary and runtime), Great Plains Standard on MSDE is for small to midsize clients, and then Great Plains serves the rest of the market up to big corporations.
If you are developer who is asked: how do we convert our old system data for initial Great Plains setup - read this and you will have the clues on where to look further.
Great Plains Integration Manager - this is rather end-user tool - it is very intuitive, it validates 100% of business logic, brings in/updates master records (accounts, employees, customers, vendors. etc.) brings in transactions into work tables. The limitation of Integration Manager - it does use GP windows behind the scenes without showing them - so it is relatively slow - you can bring 100 records for ongoing integration - for one-time conversion/integration you are probably OK with IM. By the way you can program Integration Manager with VBA.
eConnect - it is type of Software Development Kit with samples in VB.Net. Obviously the development environment should be Visual Studio.Net. eConnect will allow you to integrate master records - such as new customers, vendors, employees, etc., plus you can bring transactions into so called Great Plains work tables (eConnect doesn’t allow you to bring open or historical records - you need to post work records in Great Plains, the same limitation applies to Integration Manager above). eConnect is rather for ongoing integration. It was initially created for eCommerce application integration to Great Plains.
SQL Stored Procedures. Obviously you have unlimited control and possibilities with SQL queries. You need to know Great Plains tables structure and data flow. Launch Great Plains and go to Tools->Resource Description->Tables. Find the table in the proper series. If you are looking for the customers - it should be RM00101 - customer master file. If you need historical Sales Order Processing documents - they are in SOP30200 - Sales History Header file, etc. Do not change existing tables - do not create new fields, etc. Also you need to realize that each GP table has DEX_ROW_ID - identity column. For ongoing integrations - sometimes it is good idea to use inbound/outbound XML in the parameters - then you can deploy web service as a middle party between two systems.
Data Transformation Services (DTS) - Good tool for importing your third party data into staging tables in GP - then you can pull them in using either stored procs of Integration Manager. You can also deploy this tool for EDI export/import.
Great Plains Dexterity Conversion Utilities. If your legacy data sits in old Dexterity customization on Ctree/Pervasice.SQL/Btrieve - you can create custom Dexterity conversion utility, which will read the table in Ctree/Btrieve and will move it to SQL based new custom Dexterity table. In this scenario - you need Dexterity customization upgrade as well. (Great Plains Dexterity - is programming language and technology of former Great Plains Software - Microsoft Great Plains is written in Dexterity)
MS Access - if you are doing one time conversion and your legacy has old ODBC compliant platform - you can use MS Access to create linked tables there - or import into MS Access.
SQL Linked Servers - you can do direct SQL queries to other ODBC compliant platform via SQL Linked Server (including ORACLE, UNIDATA, Pervasive SQL, Ctree, etc) - you may need to familiarize yourself with OPENROWSET command in Transact SQL. This is also good option if you need cross-platform Crystal Report - pulling data from SQL Server and third party databases on the same report.
MS Excel - yes - sometime you can use it for legacy data massage before feeding it into Great Plains.
Warning - do not place existing GP tables into Replication! - you will have upgrade issues.
Happy converting! if you want us to do the job - give us a call!
About The Author
Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies - USA nationwide Great Plains, Microsoft CRM customization company, based in Chicago, California, Arizona, Minnesota, Texas, Florida, New York, Washington, Georgia, Canada, UK, Australia and having locations in multiple states and internationally (www.albaspectrum.com), he is CMA, Great Plains Certified Master, Dexterity, SQL, C#.Net, Crystal Reports and Microsoft CRM SDK developer. You can contact Andrew: andrewk@albaspectrum.com
akarasev@albaspectrum.com
1-866-528-0577
Does Microsoft Have any Real Competition? Copyright (c) 2003 Gregory S. Diehl In a word, yes.
And I think they are about to get more.
Microsoft primarily dominates in operating systems and office productivity software.
Windows is going to be the dominant OS for some time. But I think things will get much more interesting with the Novell/SuSE merger. The giant IBM was already behind Linux. (People forget that if IBM’s software division were a separate company, it would be number two only to Microsoft.) Now, they face the challenge from a company that knows how to market to the enterprise, which Red Hat does not. SuSE gets the channels and business partners it needs worldwide; Novell can assure its survival beyond NetWare as a competitor to the hated Microsoft. (Novell feels about as strongly about the folks from the Northwest as Sun does.)
And speaking of Sun, they are aggressively pushing StarOffice as an alternative to Microsoft Office. It offers file compatibility, so anyone on a budget may want to at least consider it. Corel is also hanging in there with WordPerfect and other products, and Novell has GroupWise. So there is at least a little competition in office productivity, although admittedly not much. StarOffice is now available in the retail channel, so that may change.
With Sun and IBM pushing Java/J2EE as the platform for Web services, .NET is getting all the competition it can handle. For dynamic Web publishing (updating from a database) I seem to see at least as many pages with .jsp (Java Server Pages) or .php (Hypertext Preprocessor) as I do .asp (Active Server Pages, from Microsoft) on the file name. (If you’ve ever wondered what those strange things were that were not .htm or .html, that’s it!)
There are two areas where Microsoft is not even close to first place.
Most Web servers are Apache running under Linux, not Microsoft’s Internet Information Server on a Windows box.
In the database arena, Microsoft really faces stiff competition. IBM is still number one with DB2, and Oracle is close behind. While SQL Server 2000 is much more robust and enterprise-ready than its predecessors, it is still in third place. (Albeit a tighter third place with the scalability and other features of SQL Server 2000.) On the charts with a bullet is MySQL, the Linux of the database world that is gaining more market share in enterprises not needing the features of a DB2 or Oracle.
So, does Microsoft have competition? Yes, even in areas of near-monopoly, there is at least some competition.
About the author:
Gregory S. Diehl has almost 35 years experience in applying technology to solve business problems and expand opportunities. He has worked as a systems analyst, programmer, technical writer, Web developer and numerous other roles. A Master CIW Designer, he is currently starting a Web design and development firm in Las Vegas.
http://www.gsdweb.net
http://www.lonewolfreviews.com
webmaster@gsdweb.net
Microsoft bought Navision, Denmark based software development company, along with Great Plains Software. Now Microsoft Business Solutions offers following ERP applications: Navision (former Navision Attain), Microsoft Great Plains (former Great Plains Dynamics/eEnterprise), Solomon, Axapta. In this small article we’ll give you our thoughts on dealing with Navision implementation, support and development on Spanish and in general Southern European market.
There are several factors to consider:
- Consulting Companies Consolidation - this process is pretty much over in the USA and is almost completed in Europe. It is partially related to recession and economy slow down. Small consulting companies have to merge with large multi-directional service firms (usually we see auditing, tax services, assets management) who are willing to purchase small technology consulting businesses and have them work for their clientele.
- Consulting Rates Increase - well, this is indirect effect of market consolidation, larger companies are willing to deal with larger clients and move consulting rates up. And as number of small consulting firms shrinks - there are no balancing forces to push rates down. This is a little bit paradoxical, because Microsoft Business Solutions products historically were targeted to middle market and even small companies
- Weak Economy - clientele really can not afford high rates. There is very large gap between what German consulting companies could offer (1150 Euro per day/consultant) and what Spanish clients could pay (up to 500 Euro per day/consultant) and there are certain needs in consulting services in Spain but with lower rates.
Possible Solutions:
- Hold on for new implementation - stick to existing legacy accounting system, do not plan Navision modification, integration and tune up. This is usual way for recession time
- Rescue to South American support - By one reason or another - Latin America has Microsoft Great Plains strong presence. Currently Microsoft Business Solutions is launching very active marketing campaign in Brazil to gain market share with Navision. Consulting rates in Brazil are very moderate - even in Sao Paulo and majority of Brazilian consultants speak good Spanish
Good luck with implementation, customizing and reports design and if you have issues or concerns - we are here to help! If you want us to do the job - give us a call So Paulo 55-11-3826-3449, Deutschland (0177) 8349 806, Moscow (095) 918 3314, USA 1-866-528-0577! help@albaspectrum.com
About The Author
Andrew Karasev is Navision Specialist in Microsoft Business Solutions Partner Alba Spectrum Technologies - Navision, Great Plains, Microsoft CRM customization company, serving client in Madrid, Barcelona, Toledo, Malaga, Seville, Buenos Aires, Mexico and having locations in multiple states and internationally ( http://www.albaspectrum.com ).
|
|
Introduction
Originally, I wrote a C++ parser which was used to parse given MS Word documents and put them into some form of a structure that was more useful for data processing. After I wrote the parser, I started working with .NET and C# to re-create the parser. In the process, I also wrote my first article for Code Project, Automating MS Word Using Visual Studio .NET. Several people have requested to see the C++ version of the application, hence, I finally got some time to put something together. I have written this article with the intention of making it easier for someone who is looking for quick answers. I hope that people can benefit from the information provided and help them get started faster.
Background
No special background is necessary. Just have some hands on experience with C++.
Using the code
I think the best way to present the code would be to first give you the critical sections which you need to get an instance of MS Word, and then give you snapshots of code that perform specific functions. I believe this way will help you get started faster in developing your own programs.
The following block is the header portion of the CPP file.
Note: The most important include files are and . These are used for COM and OLE.
// Vahe Karamian - 04-20-2004 - For Code Project
//—————————————————————————
#include
#pragma hdrstop
// We need this for the OLE object
#include
#include
#include “Unit1.h”
#include
//—————————————————————————
#pragma package(smart_init)
#pragma resource “*.dfm”
TForm1 *Form1;
The following block creates MS Word COM Object. This is the object which will be used to access MS Word application functions. To see what functions are available, you can do within MS Word. Refer to the first article, Automating MS Word Using Visual Studio .NET.
As before, you can either make a Windows Forms Application or a Command Line application, the process is the same. The code below is based on a Windows Forms application, that has a button to start the process. When the user clicks the button, the Button1Click(TObject *Sender) event will be called and the code executed.
Note: To better understand the code, ignore everything in the code except the portions that are in bold.
TForm1 *Form1;
//—————————————————————————
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//—————————————————————————
void __fastcall TForm1::Button1Click(TObject *Sender)
{
.
.
.
// used for the file name
OleVariant fileName;
fileName = openDialog->FileName;
Variant my_word;
Variant my_docs;
// create word object
my_word = Variant::CreateObject( “word.application” );
// make word visible, to make invisible put false
my_word.OlePropertySet( “Visible”, (Variant) true );
// get document object
my_docs = my_word.OlePropertyGet( “documents” );
Variant wordActiveDocument = my_docs.OleFunction( “open”, fileName );
.
.
.
So a brief explanation, we define a OleVariant data type called fileName, we assign a file path to our fileName variable. In the code above, this is done using a OpenDialog object. Of course, you can just assign a whole path for testing if you like, i.e., c:\test.doc.
Next, we define two Variant data types called my_word, and my_docs. my_word will be used to create a word.application object and my_docs will be used to create a documents object.
Next, we define another Variant data type called myActiveDocument. Using this referenced object, we can now do what we want! In this case, we are going to open the given MS Word document.
Notice that most of the variables are of type Variant.
At this point, we have a Word document that we can start performing functions on. At first, it might take a while for you to see how it works, but once you get a hang of it, anything in MS Word domain is possible.
Let’s take a look at the following code, it is going to be dealing with tables within a MS Word document.
.
.
Variant wordTables = wordActiveDocument.OlePropertyGet( “Tables” );
long table_count = wordTables.OlePropertyGet( “count” );
.
.
As I mentioned before, all your data types are going to be of Variant. So we declare a Variant data type called wordTables to represent Tables object in our Document object.
Variant wordTables = wordActiveDocument.OlePropertyGet( “Tables” );
The line above will return all Table objects that are within our active Document object. Since Tables is a property of a Document object, we have to use the OlePropertyGet( “Tables” ); to get the value.
long table_count = wordTables.OlePropertyGet( “count” );
The line above will return the number of tables in out Tables object. This is done by calling the OlePropertyGet( “count” ); to return us the value.
You might be wondering where do I get this information from? The answer to that question is in the first article: Automating MS Word Using Visual Studio .NET.
The next block of code will demonstrate how to extract content from the Tables object.
.
.
.
int t, r, c;
try
{
for( t=1; t<=table_count; t++ )
{
Variant wordTable1 = wordTables.OleFunction( “Item”, (Variant) t );
Variant tableRows = wordTable1.OlePropertyGet( “Rows” );
Variant tableCols = wordTable1.OlePropertyGet( “Columns” );
long row_count, col_count;
row_count = tableRows.OlePropertyGet( “count” );
col_count = tableCols.OlePropertyGet( “count” );
// LET’S GET THE CONTENT FROM THE TABLES
// THIS IS GOING TO BE FUN!!!
for( r=1; r<=row_count; r++ )
{
Variant tableRow = tableRows.OleFunction( “Item”, (Variant) r );
tableRow.OleProcedure( “Select” );
Variant rowSelection = my_word.OlePropertyGet( “Selection” );
Variant rowColumns = rowSelection.OlePropertyGet( “Columns” );
Variant selectionRows = rowSelection.OlePropertyGet( “Rows” );
long rowColumn = rowColumns.OlePropertyGet( “count” );
for( c=1; c<=rowColumn; c++ ) //col_count; c++ )
{
Variant rowCells = tableRow.OlePropertyGet( “cells” );
Variant wordCell = wordTable1.OleFunction( “Cell”,
(Variant) r, (Variant) c );
Variant cellRange = wordCell.OlePropertyGet( “Range” );
Variant rangeWords = cellRange.OlePropertyGet( “Words” );
long words_count = rangeWords.OlePropertyGet( “count” );
AnsiString test = ‘”‘;
for( int v=1; v<=words_count; v++ )
{
test = test + rangeWords.OleFunction( “Item”,
(Variant) v ) + ” “;
}
test = test + ‘”‘;
}
}
}
my_word.OleFunction( “Quit” );
}
catch( Exception &e )
{
ShowMessage( e.Message + “nType: ” + __ThrowExceptionName() +
“nFile: “+ __ThrowFileName() +
“nLine: ” + AnsiString(__ThrowLineNumber()) );
}
.
.
.
Okay, so above we have the code that actually will go through all of the tables in the Document object and extract the content from them. So we have tables, and tables have rows and columns. To go through all of the Tables object in a document, we do a count and get the number of tables within a document.
So we have three nested for loops. The first one is used for the actual Table object, and the 2nd and 3rd are used for the rows and columns of the current Table object. We create three new Variant data types called wordTable1, tableRows, and tableCols.
Note: Notice that wordTable1 comes from the wordTables object. We get out table by calling wordTables.OleFunction( “Item”, (Variant) t );. This returns us a unique Table object from the Tables object.
Next, we get the Rows and Columns object of the given Table object. And this is done by calling OlePropertyGet( “Rows” ); and OlePropertyGet( “Columns” ); of the wordTable1 object!
Next, we get a count of rows and columns in the given Rows and Columns objects which belong to the wordTable1 object. We are ready to step through them and get the content.
Now, we will have to define four new Variant data types called tableRow, rowSelection, rowColumsn, and selectionRows. Now, we can start going from column to column in the selected row to get the content.
In the most inner for loop, the final one, we again define four new Variant data types called rowCells, wordCell, cellRange, and rangeWords. Yes, it is tedious, but we have to do it.
Let’s sum what we did so far:
We got a collection of Tables object within the current Document object.
We got a collection of Rows and Columns in the current Table object.
We went through each row and got the number of columns it has.
We get the column and the cells, and step through the cells to get to the content of the table.
Note: Yes, some steps are repeated, but the reason behind it is because not all tables in a given document are uniform! I.e., it does not necessarily mean that if row 1 has 3 columns, then row 2 must have 3 columns as well. More than likely, it will have different number of columns. You can thank the document authors/owners.
So then the final step will just step through the cells and get the content and concatenate it for a single string output.
And finally, we want to quit Word and close all documents.
…
my_word.OleFunction( “Quit” );
…
That is pretty much it. The code does sometimes get pretty tedious and messy. The best way to approach automating/using Word is by first knowing what it is that you exactly want to do. Once you know what you want to achieve, then you will need to find out what objects or properties you need to use to perform what you want. That’s the tricky part, you will have to read the documentation: Automating MS Word Using Visual Studio .NET.
In the next code block, I will show you how to open an existing document, create a new document, select content from the existing document and paste it in the new document using Paste Special function, then do clean up, i.e., Find and Replace function.
Before you look at the block of code, the following list will identify which variable is used to identify what object and the function that can be applied to them.
Variables and representations:
vk_filename: existing document name
vk_converted_filename: new document name
vk_this_doc: existing document object
vk_converted_document: new document object
vk_this_doc_select: existing document selected object
vk_this_doc_selection: existing document selection
vk_converted_document_select: new document selected object
vk_converted_document_selection: new document selection
wordSelectionFind: Find and Replace object
// Get the filename from the list of files in the OpenDialog
vk_filename = openDialog->Files->Strings[i];
vk_converted_filename = openDialog->Files->Strings[i] + “_c.doc”;
// Open the given Word file
vk_this_doc = vk_word_doc.OleFunction( “Open”, vk_filename );
statusBar->Panels->Items[2]->Text = “READING”;
// ——————————————————————-
// Vahe Karamian - 10-10-2003
// This portion of the code will convert the word document into
// unformatted text, and do extensive clean up
statusBar->Panels->Items[0]->Text = “Converting to text…”;
vk_timerTimer( Sender );
// Create a new document
Variant vk_converted_document = vk_word_doc.OleFunction( “Add” );
// Select text from the original document
Variant vk_this_doc_select = vk_this_doc.OleFunction( “Select” );
Variant vk_this_doc_selection = vk_word_app.OlePropertyGet( “Selection” );
// Copy the selected text
vk_this_doc_selection.OleFunction( “Copy” );
// Paste selected text into the new document
Variant vk_converted_document_select =
vk_converted_document.OleFunction( “Select” );
Variant vk_converted_document_selection =
vk_word_app.OlePropertyGet( “Selection” );
vk_converted_document_selection.OleFunction( “PasteSpecial”,
0, false, 0, false, 2 );
// Re-Select the text in the new document
vk_converted_document_select =
vk_converted_document.OleFunction( “Select” );
vk_converted_document_selection =
vk_word_app.OlePropertyGet( “Selection” );
// Close the original document
vk_this_doc.OleProcedure( “Close” );
// Let’s do out clean-up here …
Variant wordSelectionFind =
vk_converted_document_selection.OlePropertyGet( “Find” );
statusBar->Panels->Items[0]->Text = “Find & Replace…”;
vk_timerTimer( Sender );
wordSelectionFind.OleFunction( “Execute”, “^l”,
false, false, false, false, false, true, 1, false,
” “, 2, false, false, false, false );
wordSelectionFind.OleFunction( “Execute”, “^p”, false,
false, false, false, false, true, 1, false,
” “, 2, false, false, false, false );
// Save the new document
vk_converted_document.OleFunction( “SaveAs”, vk_converted_filename );
// Close the new document
vk_converted_document.OleProcedure( “Close” );
// ——————————————————————-
So what we are doing in the code above, we are opening an existing document with vk_this_doc = vk_word_doc.OleFunction( “Open”, vk_filename );. Next we add a new document with Variant vk_converted_document = vk_word_doc.OleFunction( “Add” );. Then we want to select the content from the existing document and paste them in our new document. This portion is done by Variant vk_this_doc_select = vk_this_doc.OleFunction( “Select” ); to get a select object and Variant vk_this_doc_selection = vk_word_app.OlePropertyGet( “Selection” ); to get a reference to the actual selection. Then we have to copy the selection using vk_this_doc_selection.OleFunction( “Copy” );. Next, we perform the same task for the new document with Variant vk_converted_document_select = vk_converted_document.OleFunction( “Select” ); and Variant vk_converted_document_selection = vk_word_app.OlePropertyGet( “Selection” );. At this time, we have a selection object for the existing document and the new document. Now, we are going to be using them both to do our special paste using vk_converted_document_selection.OleFunction( “PasteSpecial”, 0, false, 0, false, 2 );. Now, we have our original content pasted in a special format in the newly created document. We have to do a new select call in the new document before we do our find and replace. To do so, we simply use the same calls vk_converted_document_select = vk_converted_document.OleFunction( “Select” ); and vk_converted_document_selection = vk_word_app.OlePropertyGet( “Selection” );. Next, we create a Find object with Variant wordSelectionFind = vk_converted_document_selection.OlePropertyGet( “Find” ); and finally, we can use our find object to perform our find and replace with wordSelectionFind.OleFunction( “Execute”, “^l”, false, false, false, false, false, true, 1, false, ” “, 2, false, false, false, false );.
That’s all there is to it!
Points of Interest
Putting structure to a Word document is a challenging task, given that many people have different ways of authoring documents. Nevertheless, it would help for organizations to start modeling their documents. This will allow them to apply XML schema to their documents and make extracting content from them much easier. This is a challenging task for most companies; usually, either they are lacking the expertise or the resources. And such projects are huge in scale due to the fact that they will affect more than one functional business area. But on the long run, it will be beneficial to the organization as a whole. The fact that your documents are driven by structured data and not by formatting and lose documents has a lot of value added to your business.
As we see Microsoft Great Plains 9.0 or new name of the project Microsoft Dynamics GP is marching across the US, U.K. Australia, Latin America, South Africa, parts of continental Europe: France, Germany, Holland, Belgium and Poland - we would like to point out to new support options, available with Microsoft Dynamics GP 9.0 - as it leverages new Microsoft technologies, such as MS Sharepoint, integration with Microsoft CRM/Microsoft Dynamics CRM, Microsoft Business Portal (locomotive of Microsoft Dynamics or Microsoft Project Green). Potential clients or Microsoft Great Plains / Great Plains Software Dynamics, eEnterprise or even DOS based Great Plains Accounting orphan (without support) clients should know their options in getting Great Plains remote support. In this small article we will try to educate the clientele
• Remote Support Technology. There are three options in your disposition: Citrix/Windows Remote Desktop connection (with VPN or without VPN - directly by static or dynamic IP), second option is web session - multiple web sessions vendors are out there on the market, the third option is PCAnywhere - this is the veteran on the remote support market, now it faces strong competition from the side of “free” remote support options (coming with Windows XP Pro license)
• Business Portal. It is web portal by the technology, and so - it could be supported remotely. Additional comments: Microsoft Project Green, targeting to merge Microsoft ERP applications: Navision (Microsoft Dynamics NAV), Axapta (Microsoft Dynamics AX), Solomon (Microsoft Dynamics SL), MS CRM (Microsoft Dynamics CRM), Great Plains (Microsoft Dynamics GP) should enable more tools for Microsoft Dynamics products remote support
• Competition. As Microsoft Business Solutions admits - SAP Business One and Oracle (Oracle E-Business Suite lite version) are major competitors. We are not talking about BestSoftware here - this is subject for separate article
• International MRP Market. Where you have localization questions and challenges. Localization usually deals with French, German, Portuguese, Spanish, Italian language translation plus local country tax engine automation (especially for such unique tax legislations as Brazilian, Chinese, Indian, French)
• Customization. Especially in the USA we see a lot of clients and orphans who have Microsoft Dexterity (or Great Plains Dexterity) customizations. Dexterity, being designed in earlier 1990th has modular structure. This means that original Great Plains Software code (DYNAMICS.DIC) is separated from third parties (later purchased by GPS and incorporated into GP as Manufacturing, Project Accounting, Service Advantage Suite). With version 6.0 GPS renamed products and dictionaries and this is now the dilemma for clients, using old version of Microsoft Dynamics to bring their customization up to the current version (Microsoft Dynamics 9.0). We recommend technology approach, when Dexterity pieces should be analyzed and upgraded or recustomized with newer technologies, such as eConnect, web services, Integration Manager VBA (subject to be phase out) and Continuum (subject to be phased out)
• eOrder. Please be informed that eOrder will not be upgraded to version 9.0. eOrder was legacy IIS ASP application, not integrated with Great Plains Business Portal
Please do not hesitate to call or email us: USA 1-866-528-0577, 1-630-961-5918 help@albaspectrum.com
Andrew Karasev is Chief Technology Officer at Alba Spectrum Technologies ( http://www.albaspectrum.com and http://www.enterlogix.com.br ) - Microsoft Business Solutions Great Plains, Navision, Axapta MS CRM, Oracle Financials and IBM Lotus Domino Partner, serving corporate customers in the following industries: Aerospace & Defense, Medical & Healthcare, Distribution & Logistics, Hospitality, Banking & Finance, Wholesale & Retail, Chemicals, Oil & Gas, Placement & Recruiting, Advertising & Publishing, Textile, Pharmaceutical, Non-Profit, Beverages, Conglomerates, Apparels, Durables, Manufacturing and having locations in multiple states and internationally.
We are serving USA Nationwide: CA, IL, NY, FL, AZ, CO, TX, WI, WA, MI, MA, MO, LA, NM, MN, Europe: Germany, France, Belgium, Poland, Russia, Middle East (Egypt, Saudi Arabia, OAE, Bahrain), Asia: China, Australia, New Zealand, Oceania, South & Central America: Mexico, Peru, Brazil, Venezuela, Columbia, Ecuador, Chili, Paraguay, Uruguay, Argentina, Dominican Republic, Puerto Rico
Overview :
Supply Chain Management Solution is popularly known as SCM also. Supply Chain Management Solution also known as Demand Chain Management Solution or DCM also.
What is Supply Chain Management Solution ?
A supply chain is between Manufacturers and many other departments inside companies linked by a flow of goods, information, and funds. It not only includes the company, but also its suppliers, buyers, vendors, customers, and others with whom it interacts.
Why Supply Chain Management Solution ?
There are four dimensions to integrated Supply Chain Management Solution
- Integration of purchasing, manufacturing, transportation and warehousing activities.
- Integration of above activities across vendors, facilities, and markets
- Integration of these activities over strategic, tactical and operational planning
- Enterprise integration
Benefits of Supply Chain Management Solution
Companies can forecast
- production planning
- flow and process management
- inventory management
- customer delivery
- after-sales support and service
- trucks and ships tracking systems
How Supply Chain Management Solution software can help Small Business Companies?
Small business companies can use Supply Chain Management Solution software to access their data from various locations. Companies can use various Supply Chain Management Solution softwares for different different perpose and use solution to access data from their own web server’s database and use in local offline software.
I’m sure you have heard this from a friend before, even some of your computer literate friends; but what I want to warn you of is that this is a dangerous question to be asking. You for sure know about viruses and that anyone today is vulnerable to them if they haven’t taken appropriate efforts to protect themselves, but other than that (if you are like most people you don’t really know what is out there (lots more than just viruses) and how to really protect yourself properly. In the next few paragraphs I want to tell you some critical information to save you lots of time and money and tears.
So viruses are, just like their biological counterpart, parasites in that they use a host to exist and more importantly to replicate. A virus is made up of computer code that is written in such a way as to insert itself into existing code of (most often) an executable file that already exists on the host computer. It uses the internet mostly to travel but can and has been transferred by removable forms of media like floppy disks, smart cards, etc. Like viruses, worms use the computer as a host, but only in order to use the hardware, as they do not need the host computers software to replicate. Trojan Horses are another example of malicious software or malware that use techniques that evade the natural and built up defenses on a computer. The point is that there is more than just viruses that you need protection from and not all anti virus software (especially free anti virus software) provide the comprehensive coverage that you need.
The sad thing about free anti virus software is that it lulls computer users into complacency and they end up as bad or worse off than when they were virus free. The companies that offer these freebies are doing it more or less as an advertising ploy, bringing more traffic to their sales page.
Now there is a caveat to this that I would like to explain and that is that free anti virus software is better than having nothing at all. So, if you are too poor to purchase your own security software package than by all means get it on your computer. However I seriously doubt that if you are able to purchase a computer you would not also be able to get anti virus protection. Consider it nothing more than a necessary maintenance cost, kind of like putting oil in your car every once in a while.
Trenton Martkes has been helping average PC users get to know their machines and how to protect them. He is the voice of reason for many the computer illiterate user. Learn more about free anti virus software at www.freeantivirusdeal.info.
Spyware is a broad category of malicious software designed to intercept or take partial control of a computer’s operation without the informed consent of that machine’s owner or legitimate user. Spyware differs from viruses and worms in that it does not usually self-replicate. Like many recent viruses, however, spyware - by design - exploits infected computers for commercial gain.
Spy ware has become more a problem than most common computer viruses. Spy ware and Adware have tripled in the threats compared to an common .exe virus. Anti Virus programs have all got good at detecting a virus however not all spy ware software has the process of catching spy ware and adware as well. Many of those spyware programs have a problem of false positive hits on non spyware cookies and such. And then those true spyware files that do infect some computer also alter your registry and not all anti spyware software will clean your registry of those illegal lines.
On line free spyware scanning is almost useless. They do little more than try and give a false high count of possible spyware and adware just to sell the software. I am very impressed with Aluria and its software for spyware. It gives very few false warnings of spyware and it will also automatically clean an infected registry with just a click of the mouse. Aluria Software also offers routine updates for new spyware and adware just as soon as they are identified. I have Aluria on 4 computers and from Windows 98SE and XP neither has shown any signs at all of any conflicts. Aluria is one of the only spyware/adware software programs that offer an actual tech support team for any problems you should encounter.
I have tried numerous other adware/spyware programs and I have to say this is the best I have personally found. I have recommended it to many friends and associates and not one regrets installing it. This is a free download that is the full version limited only in the length of time you can use it. I recommend you give it a try.
Spyware is similar to a Trojan horse in that users unwittingly install the product when they install something else. A common way to become a victim of spyware is to download certain peer-to-peer file swapping products that are available today. Spyware applications are typically bundled as a hidden component of freeware or shareware programs that can be downloaded from the Internet; however, it should be noted that the majority of shareware and freeware applications do not come with spyware. Once installed, the spyware monitors user activity on the Internet and transmits that information in the background to someone else. Spyware can also gather information about e-mail addresses and even passwords and credit card numbers.
Dennis Evans has been testing spyware programs for the past 2 years and has found great success in his research. Check my website about spyware and adware. http://spywaremasters.com/
In this small article we will be looking at the new opportunities for Microsoft Small Business Server specialists, but rather look at the global business strategy and possible ways of future ERP modules standardizing and interoperability. This is important to get into consideration for midsize and large corporate business IT decision makers. Let’s look at the chronology and possible future development.
• Great Plains Software acquisition. When Microsoft took leading position on the operating system market and released stable and reliable Windows 2000 Server, the next logical step would be getting into ERP market. Microsoft decided to try midsize market, and the reason is probably this - it is wise to create small accounting as the extension to Microsoft Office, not to purchase existing small application. However if you plan to try midmarket - you better purchase something established with broad client base. Developing midsize package from scratch might deplete all the resources. As the stake on Great Plains was high - Microsoft formed business systems subdivision - Microsoft Great Plains Business Solutions, later on Great Plains name was taken off and now we see Microsoft Business Solutions.
• Navision Software Acquisition. There are multiple opinions among the MBS partners. Considering the fact that Navision Attain had strong clientele in Europe, and the fact that currently MBS promotes Navision on the majority of emerging markets: East Europe, Russia, Brazil - the point of view that Microsoft got very large pool of clients in Europe and one of the goals of Navision acquisition was geographic expansion.
• Axapta. Navision Software was indeed very robust and it was one of the Danish software “dragons” (in the good sense of this word), the other nice company was MacHanza. We would like here to credit Danish ERP vendors. Axapta was new product on the moment of acquisition and it is rich-functionality ERP and so - a rival to SAP, Oracle Financials, PeopleSoft
• Small Business Manager/Small Business Financials. This was natural way of downsizing the functionality of Great Plains Dynamics/Microsoft Great Plains to gain small business market. Small Business Financials is Great Plains Dexterity written accounting package. You see similar marketing moves from SAP and Oracle sides.
• Small Business Accounting 2006. It took Microsoft about four years to feel itself comfortable on the ERP market before it decided to create its own small business package, targeted to take over market share from QuickBooks, MYOB, PeachTree. Small Business Accounting 2006 is really nice application, which is excellently integrated with Microsoft Office/Microsoft Outlook. Microsoft is right - majority of Windows users spend their computer time in Microsoft Outlook and Microsoft Excel. And it create accounting application, allowing you to do 50% of work from Microsoft Outlook directly
• Microsoft POS. As you know that there are several thousand small retail businesses in the USA, using just one cash register and these folks have to use a lot of small Retail Management applications, which are competing on this market for a long time. And it is a good momentum to take over this unreliable and turbulent market offering cheap and solid rock solution, working with POS devises. Please, take into account that Microsoft has another high-end Retail Management system - Microsoft RMS, which can automate midsize and huge retail stores and chains.
• Market is taken over? Well - the last flint of Microsoft Small Business Accounting and Microsoft POS give customer an option to stay in Microsoft framework from the company inception till going public as a large corporation. This fact would be very difficult to ignore for such folks out there on the market as BestSoftware, SAP, Oracle, Sun.
Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies ( http://www.albaspectrum.com ) - USA nationwide Great Plains, Navision, Axapta, Microsoft CRM customization company, serving clients in the following industries: Aerospace & Defence, Logistics & Distribution, Freight forwarding & Transportation, Pharmaceutical, Manufacturing, Wholesale & Retail, Education, Biotechnology, Chemicals, Healthcare, Beverages, Conglomerates, Food & Drugs.
MS CRM is very close to document workflow automation, including Microsoft Office documents: Words, Excel, etc. The document workflow was perfectly automated about 10 years ago in Lotus Notes Domino. In this small article we describe the solution based on MS CRM integration with MS SharePoint.
Microsoft CRM is new player on CRM applications market and it is gaining its market share. Having different paradigm in its design (it stakes on Microsoft OS and technologies and completely disregards alternative platform, such as UNIX, Linux, Oracle, etc. based). Microsoft CRM market is very diversified: from small (5 users) to large (several hundred MS CRM User licenses) and it serves variety of industries: Transportation, Logistics, Lawyers, Pension Funds, High-Tech, and many others. Deploying technologies, like Windows Active Directory, Microsoft Exchange 2003/2000, SQL Server, Crystal Reports Enterprise, Biztalk, Microsoft Outlook, Internet Explorer, Microsoft Great Plains and Navision in close future - makes CRM a beloved system for Microsoft oriented IT departments.
Let’s go right to the topic.
Major issue with storing documents in MS CRM in the form of attachments to Activity is inability to work on these attached files in cooperation with other colleagues, who do not have to use CRM. When several service people serve requests from the same client this is required. Currently you can use alternative way when you store office documents in the folders of your file system and when modifying document, you save it and reattach to CRM. This is inconvenient, because first it requires all your editing users to have CRM licenses, which delays CRM implementation.
We seem increasing popularity of document storage systems, like Microsoft SharePoint, Oracle Files, etc. Such systems, being implemented gives you time savings, related to documents revisions and versioning, approval cycles and workflows, web access through web-portals systems and the like.
The target of our product is Microsoft SharePoint integration with MS CRM for document storage. Let’s take a look at the high level technical realization details:
•Main modification from the MS CRM side is standard system behavior change when you open attachment in Activity. Standard unmodified CRM suggests you to store documents in the file system. Modified version sores document in SharePoint Document Library (the required library is subject for setup by MS CRM system administrator) or keep it in MS CRM as is (for documents of minor importance). From the moment of saving the document in SharePoint Document Library it is not stored in MS CRM - CRM will now store only the link/reference to the document. Also you are given the ability to open and modify the document at the place of opening, which speeds up MS CRM user performance substantially.
•Table, storing the links to the documents sits in separate database and doesn’t deal with MS CRM tables (you know that you are banned to do structure changes in MS CRM db)
•Document saving into MS SharePoint process occurs in MS CRM and with its assistance - SharePoint bridge, which does addition and update for the existing document into destination Document Library with MS SharePoint Web Services calls
•Upon the addition into Document Library, MS CRM - SharePoint bridge registers the document in the special table for the future data extraction or notification mechanism registration
•Then, interested users can work with the documents just using MS Office 2003 or other programs/editing tools, assuming these tools have access to MS SharePoint
•Feedback is provided by MS SharePoint Event Handler component. This is special handler, inspecting document change status, transferred from MS CRM to document storage (SharePoint), and report Activity owner on the changes with home page notifications (User home page in MS CRM). User in turn can review the history of the document editing - who, when and where is the change
•Opening Activity, where document is “attached”, and in fact placed into MS SharePoint Document Library, and pressing opening button, MS CRM user gets live version of the data
•This approach allows you seamless work with MS CRM document in the whole informational space of your company
•Additional enhancements to this product might be document library management directly from MS CRM (web interface - meaning remotely), administrative interface for MS Sharepoint documents revision, ability to create reports on the document storage status, rights/access management (Author, Reader, Contributor etc) from MS CRM, portal pages integration into MS CRM to name a few.
Happy programming, implementation, customization and modification! If you want us to do the job - call use 1-630-961-5918, 1-866-528-0577! help@albaspectrum.com
Boris Makushkin is Lead Software Developer in Alba Spectrum Technologies - USA nationwide Oracle, Navision, Microsoft CRM, Microsoft Great Plains customization company, serving Chicago, California, Arizona, Colorado, Texas, Georgia, Florida, New York, Canada, Australia, UK, Russia, Europe and internationally ( http://www.albaspectrum.com ), he is Oracle, Unix, Microsoft CRM SDK, Navision, C#, VB.Net, SQL developer.