Browsing all articles tagged with Integration
Mar
17

Diapers.com testing social media, e-mail integration with Responsys’ tool

Digital firm Responsys launched a platform to integrate e-mail marketing and social media on March 16. Client Diapers.com is using the tool to add more social media to its digital marketing mix.



View full post on Latest articles from DMNews News

Mar
8

Microsoft Great Plains Integration Notes

Microsoft Dynamics GP, current version 10.0, deploys MS SQL Server 2005 or earlier versions. If you are software developer, it is probably first that enlightens you – design custom integration with SQL stored procedures or views. However you should first get the idea on the majority of available programming and integration tools to make the best pick for your customization project. Let’s review GP integration options:

1. GP Integration Manager. IM is intuitive integrating tool, which allows end user to design query, map query fields to GP business objects, such as GL account, SOP Invoice and all the other (except probably some exotic ones, typically related to newly acquired modules, very new functionality, or the like). If you need to alter standard GP integration logic, IM allows you to deploy VBA scripting and program events: before query, before document and others. To give you practical example – in before document event VBA script could alter document date, if you would like to issue your integrated invoices twice a month, while integrating every day. Besides VBA scripting you can deploy field value translation – if your integration query gives you customer ID as 100 and in GP it is AARONFIT001, you can import translation table and apply it in your integration. Translation table can be imported in Excel format

2. eConnect. This tool opens integration door to MS Visual Studio .Net C# or VB programmers and among them are eCommerce developers. eConnect core is set of encrypted SQL stored procedures, which replicate GP Dexterity business logic – this means that eConnect “validates” GP logic and it is a way safer than direct SQL scripting. eConnect covers the majority of GP modules and objects, however it doesn’t cover such modules as Invoicing (however it covers Sales Order Processing or SOP module, which is more powerful one)

3. Microsoft Dexterity, former name is Great Plains Dexterity. This IDE and programming language allows you to go into GP heart and utilize its source codes and engines. The example of Dex customization is Albaspectrum Posting Server, which allows eCommerce eConnect developer to post Sales batches directly from eCommerce application, which is not possible in pure eConnect. Dexterity allows you to create all the thinkable integrations, however it requires Dex programming experience and it is not recommended to count on newcomers in Dex.

4. SQL Scripting. If eConnect is not an option for you (where we would strongly recommend you to review eConnect one more time and change possible your mind in favor of eConnect option), you can go ahead with SQL scripts. Review GP table structure in Tools->Resource Description->Tables, then in GP test environment create the transactions you plan to integrate via GP user interface and analyze the records created in the tables. Try to feed one transaction in test company and then try to run check links: Maintenance->Check Links, select your series and work or master tables in them – be sure check links doesn’t produce error report. SQL stored procedures integration is not self evident and here we just give you initial orientation.

need a website? want to be #1 on Google? visit our florida web design company homepage

Mar
5

Microsoft Great Plains 10.0 Integration Options, Part Two

In the previous article “Microsoft Great Plains Integration Notes” we described standard integrating options and tools: GP Integration Manager, eConnect, SQL Stored Procedures and Dexterity. This is addition to the first article and here we will describe advanced scenarios: EDI (Electronic Document Interchange), combining Dexterity with eConnect to address multiple companies in GP user interface, GP integration with Java based applications

1. EDI. It is often considered by software developers as something very complex, where UNIX world is interchanging vendor records, vendor invoices and purchase orders to replenish company inventory or fulfill the order. However if you look at EDI realization, you will often realize that it is simply fixed width text file or combination of fixed width text fields with encrypted numeric fields, where numeric fields you can process and convert into text with relatively simple character processing programming. If you came to the point where on the input side you have fixed width text fields, what you need to do now is to create SQL insert into script and send records into GP tables. The second option is to get formatted fields via select statement and call eConnect methods to send Vendor Invoice into GP for example. In order to parse fixed width text fields in SQL select statement you should read books online and get answer there.

2. Dexterity and eConnect. GP users like Dexterity customizations, as these customizations are seamlessly integrated into GP user interface and security realm. However GP user interface assumes that you as GP user is logged into specific GP company and do your work in this company: enter invoices, post batches, etc. When you are designing customization with eConnect and Dexterity there is simple opportunity to break through single company. Dexterity allows you to call com objects or dll libraries, in turn com object could be written in .Net C# or VB, where you use ADO.Net constructions to switch SQL Server databases, staying for GP companies. As eConnect interface call is stored procedure, this is simple for programmer to call stored procedure in any database he or she likes. Considering legacy technologies, such as VBA scripting with Dex sanscript codes in and Continuum techniques – extension to switch Great Plains Dynamics modules; switching GP companies was always really difficult to accomplish in your integration, so eConnect, Dexterity and DLL combination seems to be very promising

3. GP and Java integrations. Reliable approach is to open eConnect interface via custom web services, which you can call from your EJB, J2EE, Java or Oracle application. Please note that GP is Microsoft realm and if you deploy non-Microsoft technologies such as DB2, PHP websites typically require technology integration testing

need a website? want to be #1 on Google? visit our florida web design company homepage

Mar
5

Distribution Front End Integration With Microsoft Great Plains – Technology Notes

If you are Nationwide distributor and you are accepting sales orders via established and legacy Sales Order Processing application, which you will need to integrate with backoffice ERP, in our scenario with Microsoft Dynamics GP, then we would like to share our Great Plains implementation, customization, programming, report design and business processes mapping experience as well as integrating technology options:

1. Sales System. It is often the case that your sales order processing application sits on Linux or Unix platform and is implemented in Java/EJB, Oracle, Sybase, or PHP/MySQL/Redhat. We assume that you are comfortable in supporting this Unix box, including ongoing data fixes, business logic changes, required in MRP lifecycle

2. Purchasing System. It is often integrated with your legacy Sales system, described in the first paragraph. If you are reseller or integrator, you may utilize vendor drop ship purchase order scenarios, where vendor invoice or shipment notification or bill of lading trigger customer invoice issuance

3. The reasons to implement Microsoft Great Plains. Typical reason is company growth, where you invite outside investors or grow internally – when you formalize your management – typical recommendation is to implement strong ERP application for accounting, and financial reasons

4. Integration bridge. To give you the most typical scenario – GP Integration Manager allows you to integrate text files, exported from your front end business system. IM also can read ODBC data sources, for example if you are on Oracle, you can implement ODBC call to Oracle from IM directly. Another option of integration bridge is Web Service, which in turn deploys eConnect technology to feed and edit records in Great Plains. An obsolete version of web integration is popular in the past http request/response mechanism

5. EDI. If you order goods from large manufacturers, you may need Electronic Document Interchange integration with their ordering systems. As EDI rules are typically simple – fixed length text fields in the text file, consider simple way of formatting SQL select statement output with convert and cast commands

6. Sales Tax. If you sell to all 50 states, Sales Tax calculation accuracy and tax filing should be addressed. In Great Plains it is reasonably straightforward routine and you may deploy Sales Tax web service from various vendors: Avalara would be one of them

7. Reporting. You should be ready to face cross-platform DB queries to address reporting requirements. From MS SQL Server you can create Linked Servers to create distributed queries: SQL Views and Stored Procedures. Then you deploy standard reporting tools: Crystal Reports or Microsoft SQL Server Reporting Services – SRS. In the case of strictly financial reports, including consolidated financial statements, you should consider FRx reporting. FRx is proper tool for Balance Sheet, P&L, Statement of Cash Flow, it allows you to pull GL data from GP databases as well as combine budgets and simple balances from Excel

need a website? want to be #1 on Google? visit our florida web design company homepage

Feb
28

Integration Options for Microsoft Great Plains – Overview

ERP is typically considered as the platform, open for custom integrations, software development, reporting, EDI. Implementation and deployment requires interoperability with multiple computer systems, including legacy applications. Microsoft Dynamics GP, current version 10.0 as of October 2007, has excellent chances to fit your mid-size and even large corporate business requirements. However as you can expect MS Dynamics GP implementation scope goes beyond the software installation, beginning balances entry and users training, we would like to arm you with some initial knowledge about Microsoft Great Plains integration scenarios and options:

1. Great Plains Integration Manager. This tool is very powerful and it is not difficult to get training and become IM professional and support various integrations within your organization as the member of IT team. If you as programmer have VB and VBA skills, IM opens new horizons of integration opportunity for you: you can extend integrations with VBA scripts, allowing you to intercept standard integration logic and. Example – you can change integrated invoice date, based on integration date – make it, let’s say be the first day of the following week. The most popular scenario is when IM works with text tab delimited files, however you can build integration on ODBC connection. Classical example of IM question is how to build integration for GL transactions, based on one file? If you familiarize yourself with grouping techniques, you will get this job done. Sometimes we hear low performance complains – IM in some of its integration components is OLE server, using GP workstation to do the job behind the scenes, this why performance might be disappointing. If IM is too slow for your requirements, read further

2. eConnect integrations. If you are GP user, eConnect is not for you, it is for Microsoft Visual Studio developers: C#, VB is not really important, as you can call eConnect stored procedures from all .Net languages. If IM performance is the concern, eConnect should be doing faster integration, however do not expect things to be 100% perfect: eConnect sort of replicates Microsoft Dexterity business logic in its encrypted stored procedures. Dex is cursor based tool and eConnect has in some cases cursor-oriented logic

3. SQL Stored Procedures. When you need “immediate” transaction processing, both IM and eConnect might be too slow, in this case you kind of drop eConnect business logic validation (restricting your transaction to few simple patterns) and create simplified stored procedures, allowing you to integrate transactions with GP database

4. Posting Server. Albaspectrum Posting Server allows you to break through eConnect restrictions to post GP batches and post batches directly from your eCommerce application

need a website? want to be #1 on Google? visit our florida web design company homepage

Feb
26

Great Plains Consultant Los Angeles News: Gp Integration With Microsoft Rms

Microsoft Retail Management System or RMS fits to mid-size retailers and as doing its job in this segment it often requires, or better say needs, integration with back office accounting system.  For mid-market ERP role is often played by Microsoft Dynamics GP or Great Plains.  Out of the box Great Plains has integration with RMS on General Ledger level and it does the job if this is just what you need.  But if you would like to control your sales and inventory in Great Plains, then you need more advanced integration.  In this small publication we would like to give you technical and functional highlights:

 

1.       Microsoft SQL Server DB platform.  Both applications deploy MS SQL Server: Dynamics GP and RMS (Headquarters and Store Operations).  This opens such integration programming tool as SQL Stored Procedures.

 

2.       Great Plains Integration Manager option.  If you have moderate level of retail transactions, then you can consider deploying GP Integration Manager with some VBA scripting, where you import daily sales and then in VBA mark these transactions as being exported.  Another option is to send day from and day to as parameters.  This IM approach is very reliable, however it requires operator intervention to launch integration.  If you have IT programmers, who can automate IM call on macros level, or deploy the tool, sold separately by Microsoft Business Solutions through GP partner channel – then you can achieve complete automation level even with Integration Manager

 

3.       Alba Spectrum GP RMS Integration.  This product is very flexible and is written in SQL stored procedures.  You can target either GP Sales Order Processing module (where Inventory control side is needed) or directly Receivable Management (where the only concern is proper GL distribution, driven by RMS Items classification).  It also addresses Purchase Order Processing side.  It is probably very difficult to define standard logic in Great Plains to RMS integration, this is why this specific integration can be considered as Solution, which should be further customized and tuned to your specific integration requirements

need a website? want to be #1 on Google? visit our florida web design company homepage

Feb
24

Microsoft Great Plains Integration Scenarios – Edi, Ecommerce

Microsoft Dynamics GP, successor of Great Plains Software Dynamics and eEnterprise is very popular ERP platform, deployed as accounting back office and integrated with various business management system. Among the most typical scenarios of GP MRP integration are Electronic Document Interface EDI and eCommerce. Let’s consider and compare the methodologies, integration and software development tools, programming techniques and customization option

1. EDI. Electronic Document Interchange is relatively matured technology and typically it is realized in the form of fixed length text formatted files or text streams. Newer approach may consider new generation of similar to EDI in concept XML streams. When we are talking about GP, we should expect two types of EDI integrations – when you are vendor (in this case you receive EDI formatted either Sales Order Processing orders or invoices or Accounts Receivables invoices); and when you are customer (in this case you place EDI purchase orders to your vendors). From the technology standpoint, EDI is not really difficult in standard and even custom realization and programming. Microsoft Dynamics GP, starting with version 8.0, is supported on the only DB platform – Microsoft SQL Server. Current version of Microsoft Great Plains is 10.0, available on MS SQL Server 2005 or 2000. You program EDI streams with SQL select command, and you format text fields with cast or convert constructions. When you import external EDI streams you, it is when you create SOP Invoices, you should consider utilizing eConnect

2. eCommerce. If you are e-commerce programmer, please invest your time in eConnect technology learning. You probably heard about eConnect and about the fact that it was dedicated initially to e-commerce software developers. We would like to sort of popularize eConnect and say this – if you do eCommerce integration from scratch, you have to feed eCommerce orders and invoices into GP tables: SOP10100, SOP10200. However, you should know that eConnect already has this job done for you in eConnect business objects – encrypted stored procedures. There are several situations when you should break through eConnect restrictions. First one is the fact that eConnect replicates Dexterity business logic (DYNAMICS.DIC is Microsoft Dexterity dictionary, where all the core modules business logic is stored) and even trusting astonishing SQL Server performance, you can still have concerns that eConnect might be a bit slow, if you transactions volume crosses thousand records per session. If eConnect performance is in question, you may consider doing simplified integration in SQL stored procedures using insert into logic. The second eConnect limitation is absence of posting logic – in order to post SOP batches you will need to deploy Albaspectrum posting server

need a website? want to be #1 on Google? visit our florida web design company homepage

Feb
24

Microsoft CRM as Time Logs for Consulting Business: Integration With Great Plains

This article is targeted to programmers, we are providing C# source code for CRM->GP integration. The code provided is not packaged product, but rather “solution”, which needs to be tailored and installed by GP eConnect C# programmers. What integration does:

1. If you log your timesheets as tasks in Microsoft CRM against contract line cases – these tasks will be integrated as GP Sales Order Processing Invoice lines with description cut to one hundred symbols – this is restriction of GP SOP line description

2. In GP sales invoices are created automatically by overnight integration when you close the case in CRM. If you close several cases for the same customer, let’s say QA, development, onsite consulting, all the cases and corresponding tasks will be combined in one invoice per customer

3. Additional possibilities in MS Dynamics CRM. If you log time against the cases, linked to contract lines, you can create very powerful consultant time tracking report and project status report.

4. Additional Comments. Microsoft Dynamics GP eConnect 10.0 SDK doesn’t have source code for Sales Invoice integration C# demo project. We worked out this project and its code is incorporated in the provided demo C# code, please look at the procedure: SerializeSalesOrderObject

Below you see the code listing:

using System;

using System.IO;

using System.Collections;

using System.Data;

using System.Diagnostics;

using System.Data.SqlClient;

using System.Xml;

using System.Text;

using System.Xml.Serialization;

using Microsoft.Dynamics.GP.eConnect;

using Microsoft.Dynamics.GP.eConnect.Serialization;

using Microsoft.Dynamics.GP.eConnect.MiscRoutines;

namespace Integration

{

sealed public class OrderApp

{

public static string outerSelectString;// = “SELECT DISTINCT SQLSERVER, DATABASENAME FROM ALBANEWTIMELOG”;

public static string innerSelectString;// = “SELECT AccountNumber,BillableTime,UnitPrice,LineTotalPrice,[Description],ItemNumber,SQLSERVER,DATABASENAME, IncidentId FROM ALBANEWTIMELOG WHERE DATABASENAME=”;

public static string connectionString ;//= “Integrated Security = true;Data Source = CRMSERVER; Initial Catalog = CRMCUSTOMIZATION;”;

public static DataTable TableLines; // the datasource of the datagrid called DataLines.

// Error handling variables

public static string sErrMsg;

public static int lErrCode;

public static int lRetCode;

static string sDatabaseName, sServerName, sUserName, sPassword;

static string description, itemnumber, accountNumber, sCustomerPO;

static char char39=(char)39; //to immitate ‘ symbol

static System.Data.SqlTypes.SqlGuid incidentId;

// ****************************************************************************

// This is the application entry point

// ****************************************************************************

public static void Main()

{

string sCustomerDocument;

string sSalesOrder;

string sXsdSchema;

string sConnectionString;

string NAME=”";

string CONTACT=”";

string ADDRESS1=”";

string ADDRESS2=”";

string CITY=”";

string STATE=”";

string ZIP=”";

string currentCustomer = “”;

sConnectionString = @”data source=ALBASERVER;initial catalog=ALBA;integrated security=SSPI;persist security info=False;packet size=4096″;

StreamReader re = File.OpenText(“C:\_IntegrationGP\Integration\Settings.txt”);

connectionString = re.ReadLine();

outerSelectString=re.ReadLine();

innerSelectString=re.ReadLine();

sUserName = re.ReadLine();

sPassword = re.ReadLine();

String crmConnectionString = re.ReadLine();

String customerSelectString = re.ReadLine();

String timeLogSelectString = re.ReadLine();

re.Close();

SqlConnection outerConnection = new SqlConnection();

outerConnection.ConnectionString = connectionString;

outerConnection.Open();

SqlCommand outerCommand = new SqlCommand();

outerCommand.CommandType = System.Data.CommandType.Text;

outerCommand.CommandText = outerSelectString;

outerCommand.Connection = outerConnection;

SqlDataReader outerReader = outerCommand.ExecuteReader();

while(outerReader.Read())

{

sServerName=”";

sDatabaseName=”";

//reading databases-companie and their server names in timelog

sServerName=outerReader.GetSqlString(0).ToString();

sDatabaseName=outerReader.GetSqlString(1).ToString();

sServerName=sServerName.Trim();

sDatabaseName=sDatabaseName.Trim();

SqlConnection connection = new SqlConnection();

connection.ConnectionString = connectionString;

connection.Open();

SqlCommand command = new SqlCommand();

command.CommandType = System.Data.CommandType.Text;

command.CommandText = innerSelectString+char39+sDatabaseName+char39+” order by AccountNumber”;

command.Connection = connection;

SqlDataReader reader = command.ExecuteReader();

while(reader.Read())

{

decimal billableTime, unitPrice, lineTotal;

double bTime, uPrice;

description=”";

itemnumber=”";

accountNumber=”";

sCustomerPO=”";

Console.WriteLine(“Record:”);

//reading from timelog

accountNumber=reader.GetSqlString(0).ToString();

billableTime=reader.GetSqlDecimal(1).Value;

unitPrice=reader.GetSqlDecimal(2).Value;

lineTotal=reader.GetSqlDecimal(3).Value;

description=reader.GetSqlString(4).ToString();

itemnumber=reader.GetSqlString(5).ToString();

incidentId=reader.GetSqlGuid(8);

sCustomerPO=reader.GetSqlString(9).ToString();

//add fields

bTime=(double)billableTime;

uPrice=(double)unitPrice;

Console.WriteLine(billableTime);

Console.WriteLine(billableTime.ToString());

Console.WriteLine(unitPrice.ToString());

Console.WriteLine(lineTotal.ToString());

Console.WriteLine(description.ToString());

Console.WriteLine(itemnumber.ToString ());

Console.WriteLine(sCustomerPO.ToString ());

Console.WriteLine();

try

{

if (String.Compare(currentCustomer, accountNumber) != 0)

{

using (eConnectMethods e = new eConnectMethods())

{

//-Update-Create Customer——————————————————-

//——————————————————————————–

try

{

//Read Customer info from CRM

SqlConnection crmConnection = new SqlConnection();

crmConnection.ConnectionString = crmConnectionString;

crmConnection.Open();

SqlCommand commandCustomer = new SqlCommand();

commandCustomer.CommandType = System.Data.CommandType.Text;

commandCustomer.CommandText = customerSelectString + char39 + accountNumber + char39 + ” order by a.AccountNumber”;

commandCustomer.Connection = crmConnection;

SqlDataReader readerCustomer = commandCustomer.ExecuteReader();

if (!readerCustomer.Read()) return;

readerCustomer.GetSqlString(0).ToString();

string sName = readerCustomer.GetSqlString(1).ToString();

if (String.Compare(sName, “Null”) == 0) sName = “”;

NAME = sName;

string sContact = readerCustomer.GetSqlString(4).ToString();

if (String.Compare(sContact, “Null”) == 0) sContact = “”;

CONTACT = sContact;

string sLine1 = readerCustomer.GetSqlString(5).ToString();

if (String.Compare(sLine1, “Null”) == 0) sLine1 = “”;

ADDRESS1 = sLine1;

string sLine2 = readerCustomer.GetSqlString(6).ToString();

if (String.Compare(sLine2, “Null”) == 0) sLine2 = “”;

ADDRESS2 = sLine2;

string sCity = readerCustomer.GetSqlString(7).ToString();

if (String.Compare(sCity, “Null”) == 0) sCity = “”;

CITY = sCity;

string sState = readerCustomer.GetSqlString(8).ToString();

if (String.Compare(sState, “Null”) == 0) sState = “”;

STATE = sState;

string sZip = readerCustomer.GetSqlString(9).ToString();

ZIP = sZip;

if (String.Compare(sZip, “Null”) == 0) sZip = “”;

string sCountry = readerCustomer.GetSqlString(10).ToString();

if (String.Compare(sCountry, “Null”) == 0) sCountry = “”;

readerCustomer.Close();

commandCustomer.Dispose();

crmConnection.Close();

crmConnection.Dispose();

// Create the customer data file

SerializeCustomerObject(“Customer.xml”, accountNumber, sName, sContact, sLine1, sLine2, “MAIN”, sCity, sState, sZip, sCountry);

// Use an XML document to create a string representation of the customer

XmlDocument xmldoc = new XmlDocument();

xmldoc.Load(“Customer.xml”);

sCustomerDocument = xmldoc.OuterXml;

// Create an XML Document object for the schema

XmlDocument XsdDoc = new XmlDocument();

// Create a string representing the eConnect schema

sXsdSchema = XsdDoc.OuterXml;

// Pass in xsdSchema to validate against.

e.eConnect_EntryPoint(sConnectionString, EnumTypes.ConnectionStringType.SqlClient, sCustomerDocument, EnumTypes.SchemaValidationType.None, sXsdSchema);

}

// The eConnectException class will catch eConnect business logic errors.

// display the error message on the console

catch (eConnectException exc)

{

Console.Write(exc.ToString());

}

} // end of using statement

//End Update-Create Customer

//———————————————————–

//Sales Invoice begins———————–

//——————————————–

using (eConnectMethods e = new eConnectMethods())

{

try

{

GetSopNumber mySopNumber = new GetSopNumber();

string SOPNUMBE = mySopNumber.GetNextSopNumber(3, “INV”, sConnectionString);

eConnectType eConnect = new eConnectType();

//Read Customer info from CRM

SqlConnection crmConnection = new SqlConnection();

crmConnection.ConnectionString = crmConnectionString;

crmConnection.Open();

SqlCommand commandSalesOrder = new SqlCommand();

commandSalesOrder.CommandType = System.Data.CommandType.Text;

commandSalesOrder.CommandText = timeLogSelectString + char39 + accountNumber + char39 + ” order by a.AccountNumber”;

commandSalesOrder.Connection = crmConnection;

SqlDataReader readerSalesOrder = commandSalesOrder.ExecuteReader();

taSopLineIvcInsert_ItemsTaSopLineIvcInsert[] items = new taSopLineIvcInsert_ItemsTaSopLineIvcInsert[0];

decimal SUBTOTAL = 0;

int iSO = 0;

while (readerSalesOrder.Read())

{

decimal hours = readerSalesOrder.GetSqlDecimal(0).Value;

string sDescription = readerSalesOrder.GetSqlString(1).ToString();

if (String.Compare(sDescription, “Null”) == 0) sDescription = “miscellaneous”;

decimal rate = readerSalesOrder.GetSqlDecimal(2).Value;

taSopLineIvcInsert_ItemsTaSopLineIvcInsert item = new taSopLineIvcInsert_ItemsTaSopLineIvcInsert();

hours = Decimal.Round(hours, 2);

rate = Decimal.Round(rate, 2);

if (rate

rate = (decimal)0.60;

item.SOPNUMBE = SOPNUMBE;

item.SOPTYPE = 3;

item.CUSTNMBR = accountNumber;

item.DOCID = “INV”;

item.QUANTITY = hours;

item.ITEMNMBR = “SERVICE”;

item.ITEMDESC = sDescription;

item.UNITPRCE = rate;

item.XTNDPRCE = hours * rate;

item.DOCDATE = System.DateTime.Today.Date.ToString();

item.NONINVEN = 1;

//items[iSO] = item;

SUBTOTAL += hours * rate;

iSO++;

if (items.Length

}

readerSalesOrder.Close();

commandSalesOrder.Dispose();

crmConnection.Close();

crmConnection.Dispose();

SOPTransactionType SopOrder = new SOPTransactionType();

XmlSerializer serializer = new XmlSerializer(eConnect.GetType());

SopOrder.taSopLineIvcInsert_Items = items;

taSopHdrIvcInsert header = new taSopHdrIvcInsert();

header.SOPTYPE = 3;

header.SOPNUMBE = SOPNUMBE;

header.DOCID = “INV”;

header.BACHNUMB = “ECONNECT”;

header.CUSTNMBR = accountNumber;

header.CUSTNAME = NAME;

//header.ShipToName = “WAREHOUSE”;

header.ADDRESS1 = ADDRESS1;

header.CNTCPRSN = CONTACT;

// header.FAXNUMBR = “13125550150″;

header.CITY = CITY;

header.STATE = STATE;

header.ZIPCODE = ZIP;

// header.COUNTRY = “USA”;

header.SUBTOTAL = SUBTOTAL;

header.DOCAMNT = SUBTOTAL;

// header.USINGHEADERLEVELTAXES = 0;

// header.PYMTRMID = “Net 30″;

header.DOCDATE = System.DateTime.Today.Date.ToString();

SopOrder.taSopHdrIvcInsert = header;

SOPTransactionType[] mySOPOrder = { SopOrder };

eConnect.SOPTransactionType = mySOPOrder;

FileStream fs = new FileStream(“SalesOrder.xml”, FileMode.Create);

XmlTextWriter writer = new XmlTextWriter(fs, new UTF8Encoding());

serializer.Serialize(writer, eConnect);

writer.Close();

XmlDocument xmldoc = new XmlDocument();

xmldoc.Load(“SalesOrder.xml”);

sSalesOrder = xmldoc.OuterXml;

XmlDocument XsdDoc = new XmlDocument();

sXsdSchema = XsdDoc.OuterXml;

e.eConnect_EntryPoint(sConnectionString, EnumTypes.ConnectionStringType.SqlClient, sSalesOrder, EnumTypes.SchemaValidationType.None, sXsdSchema);

}

catch (eConnectException exc)

{

Console.Write(exc.ToString());

}

}

//Sales Invoice ends———————–

//——————————————–

}

{ //Marking case as imported

SqlConnection updateConnection = new SqlConnection();

updateConnection.ConnectionString = connectionString;

updateConnection.Open();

SqlCommand commandUpdate = new SqlCommand();

commandUpdate.CommandType = System.Data.CommandType.StoredProcedure;

commandUpdate.CommandText = “sp_UpdateImportedCase”;

commandUpdate.Parameters.Add(“@incidentId”, SqlDbType.UniqueIdentifier);

commandUpdate.Parameters["@incidentId"].Value = incidentId;

commandUpdate.Connection = updateConnection;

commandUpdate.ExecuteNonQuery();

commandUpdate.Dispose();

updateConnection.Close();

updateConnection.Dispose();

}

}

catch { }

currentCustomer = accountNumber;

}

reader.Close();

command.Dispose();

connection.Close();

connection.Dispose();

}

}

public static void SerializeCustomerObject(string filename, string custnumbr, string name, string cntcprsn,string address1, string address2, string adrscode, string city, string state, string zip, string country)

{

try

{

// Instantiate an eConnectType schema object

eConnectType eConnect = new eConnectType();

// Instantiate a RMCustomerMasterType schema object

RMCustomerMasterType customertype = new RMCustomerMasterType();

// Instantiate a taUpdateCreateCustomerRcd XML node object

taUpdateCreateCustomerRcd customer = new taUpdateCreateCustomerRcd();

// Create an XML serializer object

XmlSerializer serializer = new XmlSerializer(eConnect.GetType());

// Populate elements of the taUpdateCreateCustomerRcd XML node object

customer.CUSTNMBR = custnumbr;

customer.CUSTNAME = name;

customer.CNTCPRSN = cntcprsn;

customer.ADDRESS1 = address1;

customer.ADDRESS2 = address2;

customer.ADRSCODE = adrscode;

customer.CITY = city;

customer.STATE = state;

customer.ZIPCODE = zip;

customer.COUNTRY = country;

customer.CUSTPRIORITY = 1;

customer.CUSTPRIORITYSpecified = true;

// Populate the RMCustomerMasterType schema with the taUpdateCreateCustomerRcd XML node

customertype.taUpdateCreateCustomerRcd = customer;

RMCustomerMasterType[] mySMCustomerMaster = { customertype };

// Populate the eConnectType object with the RMCustomerMasterType schema object

eConnect.RMCustomerMasterType = mySMCustomerMaster;

// Create objects to create file and write the customer XML to the file

FileStream fs = new FileStream(filename, FileMode.Create);

XmlTextWriter writer = new XmlTextWriter(fs, new UTF8Encoding());

// Serialize the eConnectType object to a file using the XmlTextWriter.

serializer.Serialize(writer, eConnect);

writer.Close();

}

// catch any errors that occur and display them to the console

catch (System.Exception ex)

{

Console.Write(ex.ToString());

}

}

//the following function is for demo only, not in use

public static void SerializeSalesOrderObject(string filename)

{

try

{

// Instantiate an eConnectType schema object

eConnectType eConnect = new eConnectType();

taSopLineIvcInsert_ItemsTaSopLineIvcInsert[] items = new taSopLineIvcInsert_ItemsTaSopLineIvcInsert[1];

taSopLineIvcInsert_ItemsTaSopLineIvcInsert item = new taSopLineIvcInsert_ItemsTaSopLineIvcInsert();

item.ADDRESS1 = “2345 Main St.”;

item.CUSTNMBR = “CONTOSOL0001″;

item.SOPNUMBE = “000001″;

item.CITY = “Aurora”;

item.SOPTYPE = 3;

item.DOCID = “STDINV”;

item.QUANTITY = 2;

item.ITEMNMBR = “ACCS-CRD-12WH”;

item.ITEMDESC = “Phone Cord – 12′ White”;

item.UNITPRCE = (decimal)10.95;

item.XTNDPRCE = (decimal)21.9;

item.LOCNCODE = “WAREHOUSE”;

item.DOCDATE = “04/12/2017″;// ‘Today

items[0] = item;

SOPTransactionType SopOrder = new SOPTransactionType();

XmlSerializer serializer = new XmlSerializer(eConnect.GetType());

SopOrder.taSopLineIvcInsert_Items = items;

taSopHdrIvcInsert header = new taSopHdrIvcInsert();

header.SOPTYPE = 3;

header.SOPNUMBE = “000001″;

header.DOCID = “STDINV”;

header.BACHNUMB = “ECONNECT “;

header.TAXSCHID = “USASTCITY-6*”;

header.FRTSCHID = “USASTCITY-6*”;

header.MSCSCHID = “USASTCITY-6*”;

header.LOCNCODE = “WAREHOUSE”;

header.DOCDATE = “04/12/2017″;

header.CUSTNMBR = “CONTOSOL0001″;

header.CUSTNAME = “Contoso, Ltd.”;

header.ShipToName = “WAREHOUSE”;

header.ADDRESS1 = “2345 Main St.”;

header.CNTCPRSN = “Joe Healy”;

header.FAXNUMBR = “13125550150″;

header.CITY = “Aurora”;

header.STATE = “IL”;

header.ZIPCODE = “65700″;

header.COUNTRY = “USA”;

header.SUBTOTAL = (decimal)21.9;

header.DOCAMNT = (decimal)21.9;

header.USINGHEADERLEVELTAXES = 0;

header.PYMTRMID = “Net 30″;

SopOrder.taSopHdrIvcInsert = header;

// Populate the RMCustomerMasterType schema with the taUpdateCreateCustomerRcd XML node

//customertype.taUpdateCreateCustomerRcd = customer;

//RMCustomerMasterType[] mySMCustomerMaster = { customertype };

SOPTransactionType[] mySOPOrder = { SopOrder };

eConnect.SOPTransactionType = mySOPOrder;

// Populate the eConnectType object with the RMCustomerMasterType schema object

//eConnect.RMCustomerMasterType = mySMCustomerMaster;

// Create objects to create file and write the customer XML to the file

FileStream fs = new FileStream(filename, FileMode.Create);

XmlTextWriter writer = new XmlTextWriter(fs, new UTF8Encoding());

// Serialize the eConnectType object to a file using the XmlTextWriter.

serializer.Serialize(writer, eConnect);

writer.Close();

}

// catch any errors that occur and display them to the console

catch (System.Exception ex)

{

Console.Write(ex.ToString());

}

}

//this function allows us to increase Array length on the fly – we use it when we reading n=lines for Sales Invoice

public static Array ExpandArray(Array arr, object newElement)

{

int length = 1;

System.Type type = newElement.GetType();

if (arr != null)

{

length += arr.Length;

type = arr.GetType().GetElementType();

}

Array result = Array.CreateInstance(type, length);

if (arr != null)

{

arr.CopyTo(result, 0);

}

result.SetValue(newElement, result.Length – 1);

return result;

}

}

}

need a website? want to be #1 on Google? visit our florida web design company homepage

Feb
23

Microsoft Small Business Financials: Support, Upgrade, Integration Overview for Consultant

SBF is part of Microsoft Dynamics GP family of ERP application, in the past this product was introduced by Great Plains Software as Small Business Manager. This application was originally initially created from the same code base as regular Great Plains Dynamics and so it is Great Plains Dexterity coded with the options if being modified in Microsoft Dexterity

1. SBF Support. User training is relatively simple in Small Business Financials and often users are reading the manual and discover the system on their own. Security model is also straight forward. Real support needs are typically related to data repair on SQL scripting level. You can also use traditional for GP data fixing technologies as check links. We recommend you to use consultant or programmer who could quickly help you via web sessions or remote desktop connection, meaning that these people do not have to be local

2. Version update. In comparison to Microsoft Great Plains Dynamics GP, Small Business Financials is easier to upgrade, and it is less sensitive to Service packs application in upgrading process. Current version is 9.0 as of April 2008, typical upgrade path is from version 6.0 to 7.5 and then to 9.0. GP latest version is 10.0, where Microsoft Business Solutions completely redesigned user security model, this is probably one of the reasons that SBF is still on 9.0

3. Integration. You should consider such technologies as SQL stored procedures, if you have support from MBS VAR, who is comfortable with Microsoft Dexterity, you can deploy Dex customizations in integrating SBF with external legacy application or in EDI environments

4. Reporting. SBF utilizes GP ReportWriter for integrated reports and FRx reports for Financial reporting. Report Writer stores modified reports in Reports.dic dictionary file, you should be aware about this file, when you install new user workstation. It is also good idea to share reports dictionary for all the users on the server, in this case you should modify Dynamics.set file – the line, where reports.dic file path is specified

5. Backup Strategies. As SBF is typically for small businesses, where IT support is limited, we recommend you to setup automatic backup via SQL Server Agent maintenance plans. Then backup files should be taken by tape backup, or alternatively you can deploy Windows backup utility to backup on external USB hard drive. You should include into backup the following databases: Dynamics, company, master

need a website? want to be #1 on Google? visit our florida web design company homepage

Feb
20

Microsoft Dynamics Gp Great Plains Integration and Upgrade in Chicago

Former Great Plains Software, later on Microsoft Business Solutions Great Plains and currently finally Microsoft Dynamics GP ERP application serves to midsize and large US businesses, also it has Canadian and French Canadian versions, supporting Canadian Payroll. Plus GP is available for Central and Latin American markets, including Mexico and Spanish speaking Caribbean. Alba Spectrum Group, being international GP integrator, has strong presence in Chicagoland and we would like to invite existing and new potential Great Plains customers to become our clients. Let us give you the likely Great Plains data recovery, customization, reporting, consulting scenarios:

1. Great Plains Accounting for DOS walk away scenario. GPA is still in use, even considering the fact that Great Plains Software discontinued GPA support in around 1999. If you are on GPA and would like your respected business to face the future, please consider migration from GPA to Microsoft Dynamics GP Business Ready

2. Great Plains EDI or Electronic Document Interchange. EDI is known battle field for in-house programmers. However in our opinion EDI could be formalized and easily or at least quickly implemented for such Microsoft SQL Server based MRP applications as Microsoft Great Plains

3. Great Plains Dynamics GP version update considerations. Great Plains Utilities do the upgrade job, you should be aware and plus research GP upgrade path – this will allow you not to expose your company to the ERP using suspension risk

4. Chicago downtown services: upgrade, integration, customization, reporting, and data conversion scenarios. If you are in Chicago suburbs, please give us a call on service options and rates

5. Great Plains Dexterity customizations and software programming scenarios. GP Dex or current name is Microsoft Dexterity is semi-proprietary IDE and programming language. If you are programmer or software developer, you should be familiar with Dex architecture, if you plan to support GP internally for your company

6. GP Industries. Great Plains can automate accounting and so serve as ERP systems in the following industries: Wholesale & Retail, Transportation & Logistics, Recruiting & Placement.

need a website? want to be #1 on Google? visit our florida web design company homepage

Click to Advertise here!
Follow us on Twitter! Follow us on Twitter!

Archives

Categories

Recent Posts

Views

Resources

Recent Comments