mas 500 migration troubleshooting darrick coles development manager mas 500

32
MAS 500 Migration Troubleshooti ng Darrick Coles Development Manager MAS 500

Upload: justina-turner

Post on 26-Dec-2015

219 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

MAS 500 Migration Troubleshooting

Darrick ColesDevelopment Manager MAS 500

Page 2: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

Agenda

• Introductions• Overview

– What is Data Migrator?

– Goals– Architecture– Key concepts

• Existing migrations• Migration

preparation

• Data tips• Performance tips• A typical

migration

Page 3: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

MAS 500 Data Migrator Overview• Currently supports MAS 90 and MAS 200 versions

3.60, 3.61 and 3.70– MAS 90 and MAS 200cs migrations use ProvideX

ODBC driver– MAS 200 SQL migrations can be from a DB on the

same server or any other server– 3.71 support in MAS 500 version 7.0

• Supports ad hoc migration and is extensible• Part of Assisted Company Setup• Multi-step process

– Extraction– Review, clean-up, etc. of the extracted data– Insertion into MAS 500– Insertion report available for detailed feedback

Page 4: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

Assisted Company Setup

Phases

Steps

Just follow

the steps

in order

Icons for

available

activities

in the

current

step

Have sales and

implementers

read this—it’s

packed with MAS

90 to MAS 500

migration tips

Page 5: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

Enabling an Extraction

If a migration exists, the Migrate button will be enabled

If an extraction exists, this button will be enabled—you can enable it, too

Page 6: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

Goals of Data Migrator

• Provide competitive advantage when upgrading customers from supported products

• Provide migrations of critical and/or voluminous data

• Provide informative feedback • Provide a mechanism to fix problems • Provide a means for others to plug in

their own migration extracts• Publish the insertion APIs• Allow “in-the-field” extension of Data Migrator• Make the delivery of additional migrations easier• Enable customers to modify data using existing,

well-known tools (Excel)

Page 7: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

Supported Migration Configurations

MAS 500Client PC

Source SystemSQL Server

MAS 500SQL Server

MAS 500DatabaseSource System

SQL Database

MAS 500Client PC

MAS 500Client PC

MAS 500Client PC

MAS 500SQL Server

MAS 500SQL Server

MAS 500SQL Server

MAS 500Database

Source SystemSQL Database

MAS 500Database

MAS 500Database

Source SystemFile Server

Other SourceServer

MAS 90 orMAS 200csFiles

Page 8: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

Key Concepts—Staging Tables

• Minimal referential integrity (RI)– Really, only data type is enforced

• IDs instead of keys—both foreign and surrogate

• Most enumerated types replaced by character strings to allow for named values– “Yes”, “No” for 0, 1, etc.

• Flattened, de-normalized structure

Page 9: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

Other Key Concepts

• Extraction– Copying data from a source system to our

staging tables

• Staging Table Scrubbing– Manipulating staging table data—we support:

• By hand, directly in the staging table• Using Microsoft Excel• Applying insertion steps before our insertion steps

• Insertion– Applying business rules to staging table data

and inserting all records that satisfy the rules

Page 10: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

Other Key Concepts (cont.)

• Data migration links– Store information about where the source

data for a migration resides

– Example: \\CompanyServer\AccountingFiles\MAS90\Data

• Metadata– Data that helps define functionality

Page 11: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

Key Points

• We have an API for every migration– All have the same interface

• Extractions grab all data at once (usually)

• Insertions process a subset of records and respond back in a few seconds (usually)

• ACS allows the user to interrupt the asynchronous insertion process

• We support multiple steps on both extraction and insertion

• Our extractions are DLLs, and insertions are stored procedures, but we support both on either side

Page 12: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

So, What Do You Actually Migrate?

Page 13: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

So, What Do You Actually Migrate?

• GL Accounts*• Vendors* and classes• Customers* and classes• Items*• Inventory• Bill of materials and

routings• Tax schedules• Pricing, including:

–Price sheets–Contract–Product group pricing–Customer/product group pricing

• Sales commission plans

• Customer items• Vendor items• Warehouses• Transactions and balances• Open sales orders• GL transactions• GL account history• Posted invoices (open and

closed)• Posted vouchers (open and

closed)• Inventory cost tiers and bin

quantities• Inventory history• Bank transactions

* Including custom fields

Major Entities

Page 14: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

So, What Do You Actually Migrate?

• Tax classes and codes• Processing cycles• Product categories• Commission classes• Natural accounts• Account segments• Budgets• Sales tax accounts• Journals• Allocations• Banks• Bank accounts• Tender types• Buyers

• Shipping methods • Product price groups• Purchase product lines• Sales product lines• Bins• Vendor payment terms• Sales teams• Sales persons• Sales territories• Customer payment terms• Work centers• Operations• Tools• Manufacturing

employees

Other Entities

Page 15: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

Migration Preparation

• MAS 90, MAS 500 market space

• Prepare!– Read the documentation:

MAS 500 Assisted Company Setup has lots of information and hints about the differences between MAS 90/200 and MAS 500

• Clean up before migrating

• Know and use available resources: sales and implementation

• Sales preparation• Sales

– Set expectations– Know their business

and how they use MAS 90– What’s their favorite thing? – What do they take for

granted?– Familiarize yourself

with the differences – Don’t assume this is a

simple upgrade: PLAN, TEST, CHECK PERFORMANCE, SPOT CHECK VALIDATIONS

Page 16: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

Preparation: The Differences

Page 17: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

Preparation: The DifferencesWork Centers

DifferencesIn MAS 90 and MAS 200, costs are maintained at the operation level; in MAS 500 they are maintained at the work center level. There are several additional differences between how MAS 90 / MAS 200 and MAS 500 handle costs including:• MAS 90 / MAS 200 does not allow for setup costs • MAS 500 does not allow for per-piece costs • MAS 500 does not allow for cost as a percent Before migrating your MAS 90 / MAS 200 manufacturing data, carefully plan your new MAS 500 manufacturing system to take the different costing methods into account.

Migration IssuesThe work center ID in MAS 500 is created by combining the MAS 90 / MAS 200 work center and operation codes to create a unique identifier. The full MAS 90 / MAS 200 work center and operation codes are used for the work center description in MAS 500. No schedule information is migrated from MAS 90 / MAS 200.

List of Work Centers and OperationsFrom Work Order Setup, select Work Center Maintenance, then click the Printer button. From Work Order Setup, select Operation Code Maintenance, then click the Printer button.

Page 18: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

Choose the Right MAS 500

• Small Business Edition– Fewer than 10 users– Microsoft SQL Server Desktop Engine (included)– Up to four companies and four warehouses

• Standard Edition– Fewer than 30 users– Microsoft SQL Server Standard Edition– Up to ten companies and ten warehouses

• Enterprise Edition– Unlimited users– Microsoft SQL Server Enterprise or Standard

Edition– Unlimited companies and warehouses

Page 19: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

Set Customer Expectations

• Not a simple upgrade

• What functionality is different

• What functionality is GAP

• What behavior is different– Fast screen painting in MAS 90

versus fast processing in MAS 500

• Don’t migrate from a “moving target”

Page 20: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

Preparation: Technical

• PSG APIs• Other tools• Documentation• Data cleanup• Server prep• Know data and performance tips

– Bring in-house for review and possible migration

• Backup• Validate• Security

Page 21: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

Data Tips: What’s Being Mapped

• You’ll find detailed answers to all your “mapping” questions in the code …

• SQL to find extract routines– select name from sysobjects o WITH (NOLOCK) WHERE name like

'spMAS%Ext‘

• What’s in the routinesINSERT StgReasonCode (ReasonCodeID, Description, ProcessStatus, SessionKey)SELECT Cancellation_ReasonCode, Description, @NOT_PROCESSED, @_iSessionKey FROM #SO_09CancellationCodeWHERE Cancellation_ReasonCode IS NOT NULL

------------------------------------------------------------------------------

INSERT StgSalesTeam(SessionKey, SalesTeamID, Description, ProcessStatus)SELECT @_iSessionKey, Division, Description, @NOT_PROCESSEDFROM #ARB_DivisionMasterfileWHERE NULLIF(Division, '') IS NOT NULL

Page 22: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

Data Tips: Historical

• Closed invoices, vouchers need history to migrate– MAS 90 customers often purge

• Due to long history with the product • 2 Gig MAS 90 file limit

– Purge helps performance (re: reporting)

Page 23: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

Data Tips: Quirks?

• MAS 200 SQL upgrade may parse some MAS 90 data that MAS 500 cannot handle

• Can’t figure out what’s going on? – Ask your “geek” to look at the transform that’s

occurring on extract (‘spMAS%SO%Ext’)

• MAS 90 Custom Fields ≠ MAS 500 Custom Fields

• MAS 500 APIs are not always appropriate for ongoing insertion of data into MAS 500

Page 24: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

Hey, I Heard that Migrations Are Slow…

...is that true?

Page 25: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

Migration Performance Tips

• Extraction – Be patient—there may be lots of

records– Do you need all that history?– Is all that data being used?

• Insertion—monitor the feedback– Validations occur for each record– Report gives detailed feedback, but

costs cycles• Do you need report on good records?

Page 26: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

MAS 90 ODBC Driver Performance

NOTE: Version 3.7 ODBC driver performs faster than 3.6 and 3.61

See documentation menu: ODBC 3.x at http://pvx.com/ for ODBC setup

Cache Size: Bigger

is better

Dirty Read:Check this, but only do reading with this checked!

Burst Mode:

Will reduce number of times file is locked

Page 27: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

MAS 500 Migration Performance

• Get other traffic/users off the SQL box if possible

• TempDB is highly utilized in migration– Make it large before starting the migration

and avoid resizing by small amounts (or any amount)

– Start with 1 Gig?

• More server memory --> faster migration• Check if other SQL Agent jobs are running

Page 28: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

What’s Involved in a Typical Migration?

• What are some of the issues?– Sales detects a pain– Customer decision– Gap analysis

• Not just an upgrade• Feature gap• Behavior gap

– Project plan– Proof of concept– Migration– Verification/sign off

Page 29: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

A Typical Migration

• Set up a migration link to the source system

• Move through the ACS steps in order– Backup DB before critical steps– Set up options as necessary– Enter data for steps not having migrations– Run migrations– Compare reports from source and

destination

• Pilot the migration to gather any additional supporting data

Page 30: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

MAS 500 Data Migrator Work Flow

Current

Accounting

System

Database

Current

Accounting

System

Database

MAS 500

Staging

Tables

MAS 500

Staging

Tables

MAS 500

Tables

MAS 500

Tables

Page 31: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

Recap

• Become knowledgeable about the similarities and differences

• What Data Migrator is and what it isn’t

• Existing migrations • Data Migrator architecture• Tips and tricks

Page 32: MAS 500 Migration Troubleshooting Darrick Coles Development Manager MAS 500

ODBC

ASP

SQL

DDRK

.Net

C++

VB

OLE DB AIS

IIS

MMC

WBS

XP

DLL

COM

SDK

BIOS

FTP

SNTP

SMTP

HTTP

NetBIOSWinSock

TCP/IP

Win32

QOS

UML

DDL

DML

QA

ERD

OOP

ROLAP

OLAP

SCSI

OLTP

ASCII

USBVGA

IEADSI

LDAP

VM

ANSI

Mouse